Re: [O] Avoid escaping braces in LaTeX export?
Hello, Richard Lawrence richard.lawre...@berkeley.edu writes: Eric S Fraga e.fr...@ucl.ac.uk writes: Richard Lawrence richard.lawre...@berkeley.edu writes: Org is not latex, for better or for worse. However, it does allow you to mix the two in various ways. The inline approach is limited to {text} that is on the same line. You could try using visual-line-mode and have all paragraphs be single lines. Alternative, you could try (untested): blah blah blah #+LATEX: \ic{ some text for the inline comment #+LATEX: } more blah Thanks, Eric; that works, too. I think for now the best thing is for me to put longer comments in a custom environment. Then I can use Org's block syntax, and have other export backends do the right thing, if I ever use them instead of LaTeX. I did dig into the exporter code a bit, so in case anyone is bitten by a similar issue that doesn't have a ready workaround, the places to look seem to be: - org-element.el:org-element-latex-or-entity-successor. This is where LaTeX fragments are identified. (As Eric notes, multi-line commands will not have their arguments parsed as part of a latex-fragment; instead, the argument and surrounding braces are parsed as text in the surrounding paragraph.) - ox-latex.el:org-latex-plain-text. This is where special characters that don't get parsed as part of a LaTeX fragment are protected/escaped. I still think it might be nice if each of the protections in org-latex-plain-text could be toggled via an #+OPTIONS keyword, since more often than not, I find that characters are escaped in LaTeX export when I would prefer they weren't. But that might be a peculiar fact about how I use Org. Since for now I don't require this behavior, I'm not going to try to implement it myself, but if anyone else would also find it useful, let me know and I will take a stab at writing a patch. Thanks, all, for the help! As Eric said, Org format is not LaTeX, and I would add that Org mode is not Auctex mode. You can already write raw LaTeX code with appropriate markers. There's no point in allowing more LaTeX code without markers. Regards, -- Nicolas Goaziou
Re: [O] Avoid escaping braces in LaTeX export?
Richard Lawrence richard.lawre...@berkeley.edu writes: [...] Still, this won't work directly for cases where I have loaded a LaTeX package that provides a command which uses curly braces. (I could redefine such commands, as above, but that could get real ugly, real fast...). It seems like this a general problem that the exporter should have a way to handle. Org is not latex, for better or for worse. However, it does allow you to mix the two in various ways. The inline approach is limited to {text} that is on the same line. You could try using visual-line-mode and have all paragraphs be single lines. Alternative, you could try (untested): blah blah blah #+LATEX: \ic{ some text for the inline comment #+LATEX: } more blah HTH, eric -- : Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D : in Emacs 24.3.50.1 and Org release_8.0.3-193-g334581
Re: [O] Avoid escaping braces in LaTeX export?
Eric S Fraga e.fr...@ucl.ac.uk writes: Richard Lawrence richard.lawre...@berkeley.edu writes: Org is not latex, for better or for worse. However, it does allow you to mix the two in various ways. The inline approach is limited to {text} that is on the same line. You could try using visual-line-mode and have all paragraphs be single lines. Alternative, you could try (untested): blah blah blah #+LATEX: \ic{ some text for the inline comment #+LATEX: } more blah Thanks, Eric; that works, too. I think for now the best thing is for me to put longer comments in a custom environment. Then I can use Org's block syntax, and have other export backends do the right thing, if I ever use them instead of LaTeX. I did dig into the exporter code a bit, so in case anyone is bitten by a similar issue that doesn't have a ready workaround, the places to look seem to be: - org-element.el:org-element-latex-or-entity-successor. This is where LaTeX fragments are identified. (As Eric notes, multi-line commands will not have their arguments parsed as part of a latex-fragment; instead, the argument and surrounding braces are parsed as text in the surrounding paragraph.) - ox-latex.el:org-latex-plain-text. This is where special characters that don't get parsed as part of a LaTeX fragment are protected/escaped. I still think it might be nice if each of the protections in org-latex-plain-text could be toggled via an #+OPTIONS keyword, since more often than not, I find that characters are escaped in LaTeX export when I would prefer they weren't. But that might be a peculiar fact about how I use Org. Since for now I don't require this behavior, I'm not going to try to implement it myself, but if anyone else would also find it useful, let me know and I will take a stab at writing a patch. Thanks, all, for the help! -- Best, Richard
[O] Avoid escaping braces in LaTeX export?
Hi all, I'm wondering if there is a way to prevent the LaTeX exporter from escaping { and } characters. There are export options to control the behavior of a number of other special characters, but I don't see any way to control export of braces in the documentation. Am I just missing it? If not, I'd like to request this as a feature. Here's my use case. I often create new commands in LaTeX to abstract over some common pattern so I can easily type it and change it later if necessary. For example, when taking notes on readings, I have a command that makes its argument into an `inline comment' (basically an aside to myself) defined as follows: #+LATEX_HEADER: \newcommand{\ic}[1]{{\footnotesize [~#1~]}} Then in my notes I have things like: Marcus' point is more subtle, though, than that the substitutional reading validates these inferences or theorems while the objectual reading does not. \ic{This would not persuade Quine, for example: the failure of existential generalization in modal contexts is for Quine a reason to reject quantified modal logic, rather than give the existential quantifier a different reading.} The new exporter exports this as: Marcus' point is more subtle, though, than that the substitutional reading validates these inferences or theorems while the objectual reading does not. \ic\{This would not persuade Quine, for example: the failure of existential generalization in modal contexts is for Quine a reason to reject quantified modal logic, rather than give the existential quantifier a different reading.\} with the braces wrapping the argument for my custom command escaped. This breaks the custom command in the export. I can't test it at the moment, but I believe the old exporter did not escape these braces, as I used this command regularly and it compiled correctly. I would like to be able to get the old behavior back. I don't mind manually escaping braces when necessary, because I almost always do not want them escaped. I understand if this is not a reasonable default, but it would be nice for me if it were something I could set on an #+OPTIONS line. If others are interested in this, I can look into creating a patch. (By the way, it looks like there was a patch for a similar issue in commit c6fd49726f2eaf417361b190b37e2d8ffb5864fc, but that is from April 2009 and therefore would apply to the old exporter.) Thanks for your insights! -- Best, Richard
Re: [O] Avoid escaping braces in LaTeX export?
Dnia 2013-06-07, o godz. 10:26:31 Richard Lawrence richard.lawre...@berkeley.edu napisał(a): Here's my use case. I often create new commands in LaTeX to abstract over some common pattern so I can easily type it and change it later if necessary. For example, when taking notes on readings, I have a command that makes its argument into an `inline comment' (basically an aside to myself) defined as follows: #+LATEX_HEADER: \newcommand{\ic}[1]{{\footnotesize [~#1~]}} Then in my notes I have things like: Marcus' point is more subtle, though, than that the substitutional reading validates these inferences or theorems while the objectual reading does not. \ic{This would not persuade Quine, for example: the failure of existential generalization in modal contexts is for Quine a reason to reject quantified modal logic, rather than give the existential quantifier a different reading.} Quick and dirty workaround (untested): #+LATEX_HEADER: \def\ic!#1!{{\footnotesize [~#1~]}} Marcus' point is more subtle, though, than that the substitutional reading validates these inferences or theorems while the objectual reading does not. \ic!This would not persuade Quine, for example: the failure of existential generalization in modal contexts is for Quine a reason to reject quantified modal logic, rather than give the existential quantifier a different reading.! Of course, you may do \def\ic(#1){...}, \def\ic~#1~{...} etc. The delimiter characters may not appear in the argument, though (nesting is not supported!). This is very un-LaTeX-y (it is much lower-level TeX syntax), but it is occasionaly useful (and heavily used by LaTeX itself, btw - this is used among others for delimiting optional arguments). Hth, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Adam Mickiewicz University
Re: [O] Avoid escaping braces in LaTeX export?
Marcin Borkowski mb...@wmi.amu.edu.pl writes: Dnia 2013-06-07, o godz. 10:26:31 Richard Lawrence richard.lawre...@berkeley.edu napisał(a): Here's my use case. I often create new commands in LaTeX to abstract over some common pattern so I can easily type it and change it later if necessary. For example, when taking notes on readings, I have a command that makes its argument into an `inline comment' (basically an aside to myself) defined as follows: #+LATEX_HEADER: \newcommand{\ic}[1]{{\footnotesize [~#1~]}} Quick and dirty workaround (untested): #+LATEX_HEADER: \def\ic!#1!{{\footnotesize [~#1~]}} Of course, you may do \def\ic(#1){...}, \def\ic~#1~{...} etc. The delimiter characters may not appear in the argument, though (nesting is not supported!). This is very un-LaTeX-y (it is much lower-level TeX syntax), but it is occasionaly useful (and heavily used by LaTeX itself, btw - this is used among others for delimiting optional arguments). Hmm, that does work for this case, thanks! Still, this won't work directly for cases where I have loaded a LaTeX package that provides a command which uses curly braces. (I could redefine such commands, as above, but that could get real ugly, real fast...). It seems like this a general problem that the exporter should have a way to handle. -- Best, Richard