* http://doc.norang.ca/org-mode.html @ 2009-06-08 20:59 Carsten Dominik 2009-06-09 0:41 ` Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] Nick Dokos 2009-06-10 16:11 ` http://doc.norang.ca/org-mode.html Eraldo Helal 0 siblings, 2 replies; 6+ messages in thread From: Carsten Dominik @ 2009-06-08 20:59 UTC (permalink / raw) To: emacs-orgmode mailing list Hi everyone, I would like to encourage you all to take another looks at Bernt's nearly completed document over at http://doc.norang.ca/org-mode.html If you are serious about using Org-mode to get organized, this is simply an awesome resource of ideas, customization snippets, tips and tricks. I am learning looking at that, too. Thanks for doing this, Bernt. - Carsten ^ permalink raw reply [flat|nested] 6+ messages in thread
* Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] 2009-06-08 20:59 http://doc.norang.ca/org-mode.html Carsten Dominik @ 2009-06-09 0:41 ` Nick Dokos 2009-06-09 4:28 ` Carsten Dominik 2009-06-09 13:29 ` Bernt Hansen 2009-06-10 16:11 ` http://doc.norang.ca/org-mode.html Eraldo Helal 1 sibling, 2 replies; 6+ messages in thread From: Nick Dokos @ 2009-06-09 0:41 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-orgmode mailing list Carsten Dominik <carsten.dominik@gmail.com> wrote: > I would like to encourage you all to take another looks at Bernt's > nearly completed document over at > > http://doc.norang.ca/org-mode.html > > If you are serious about using Org-mode to get organized, this > is simply an awesome resource of ideas, customization snippets, > tips and tricks. I am learning looking at that, too. > > Thanks for doing this, Bernt. > Seconded, thirded and fourthed: thanks Bernt! And while we are on the subject of Bernt's document: I haven't looked at the most recent incarnation on Bernt's website, but I got his org file from worg the other day and I tried to export it to LaTeX/PDF and print a copy to read (I prefer paper for documents that I'd like to read carefully - in this case, I can also put the printed document under my pillow: I hear it's the only way for hopeless cases like me to get organized !-) But I ran into a problem with the LaTeX exporter. Bernt uses code emphasis in a bunch of places, e.g. with TODO keywords, like the following: ,---- | *** Normal Task States | Normal tasks go through the sequence =TODO= -> =STARTED= -> =DONE=. | The second sequence is really just a convenient collection of odd-ball | states for tasks (=WAITING=, =SOMEDAY=, =CANCELLED=). `---- but also in headings, like this: ,---- | *** Using =STARTED= for clocked tasks | Tasks automatically change to =STARTED= whenever they are clocked in. `---- The LaTeX exporter turns these into the following: ,---- | \subsubsection{Normal Task States} | \label{sec-3.1.1} | | Normal tasks go through the sequence \verb~TODO~ -> \verb~STARTED~ -> \verb~DONE~. | The second sequence is really just a convenient collection of odd-ball | states for tasks (\verb~WAITING~, \verb~SOMEDAY~, \verb~CANCELLED~). `---- and ,---- | \subsubsection{Using \verb~STARTED~ for clocked tasks} | \label{sec-3.3.1} | | Tasks automatically change to \verb~STARTED~ whenever they are clocked in. `---- But \verb is a "fragile" command and cannot be used in a moving argument (e.g. a subsubsection heading - it's a "moving" argument because it's going to be "moved around" on its way to the table of contents and its expansion has to be timed correctly), so LaTeX complains about the \verb in the \subsubsection title above. The standard way to deal with this problem is to \protect the fragile command: use \protect\verb instead of \verb in the moving argument. I did something simpler: I tweaked the exporter to \protect every \verb - afaik, this might be inefficient, but it should not cause a problem. I did that with the following patch: --- a/lisp/org-latex.el +++ b/lisp/org-latex.el @@ -1377,7 +1385,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER." (if (not (string-match (regexp-quote (substring ll i (1+ i))) string)) (progn - (setq format (concat "\\verb" (substring ll i (1+ i)) + (setq format (concat "\\protect\\verb" (substring ll i (1+ i)) "%s" (substring ll i (1+ i)))) (throw 'exit nil)))))))) (setq string (org-export-latex-protect-string The resulting LaTeX document has every \verb properly (NOT!) \protect'ed. But LaTeX sure does not like the result: ,---- | This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2009.2.9) 8 JUN 2009 18:17 | entering extended mode | %&-line parsing enabled. | **org-mode.tex | (./org-mode.tex | LaTeX2e <2005/12/01> | Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh | yphenation, pinyin, loaded. | (/usr/share/texmf-texlive/tex/latex/base/article.cls | Document Class: article 2005/09/16 v1.4f Standard LaTeX document class | | ....lots of stuff elided .... | | [15] [16] [17] | Runaway argument? | the \protect \relax \hbox {}#I\catcode `\ \active \<let>-command \csname\endcsn | ame | ! Paragraph ended before \HyPsd@@ProtectSpaces was complete. | <to be read again> | \par | l.918 ...ct\verb~STARTED~ task list under control} | | ? `---- The funny thing is that there are four instances of this construct in Bernt's document: ,---- | ... | \subsubsection{Using \protect\verb~STARTED~ for clocked tasks} | ... | \subsubsection{Why keep it all on the \protect\verb~STARTED~ list?} | ... | \subsection{Keeping the \protect\verb~STARTED~ task list under control} | ... | \subsubsection{\textbf{UNFINISHED} Using \protect\verb~f5~} | ... `---- and it's only the third one that causes a problem: if I get rid of the markup on that one, pdfLaTeX finishes normally. Aha! I noted that the problem is a \subsection argument, whereas the others are \subsubsection arguments - the former appears in the TOC, whereas the latter do not by default - but if I change the \tocdepth from the default 2 to 3, then subsubsections get added to the table of contents and then LaTeX barfs on those too: \protect is a bust. After doing a little research, I found out that \verb is not just "fragile": it's *special* (see e.g. http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbwithin where I find: This is why the LaTeX book insists that verbatim commands must not appear in the argument of any other command; they aren’t just fragile, they’re quite unusable in any command parameter, regardless of \protection. (The \verb command tries hard to detect if you’re misusing it; unfortunately, it can’t always do so, and the error message is therefore not a reliable indication of problems.) The suggested workaround is to actually use \texttt{foo}, instead of \verb~foo~ where the two would give identical results. This has problems of its own: the main one is things like underscores which would need to be escaped. But I wonder if the LaTeX exporter should go this way, rather than fighting with \verb all the way (and losing). Or if we can distinguish between body instances and section heading instances, do the \texttt{foo} transformation only on the latter. Comments? Thanks, Nick ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] 2009-06-09 0:41 ` Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] Nick Dokos @ 2009-06-09 4:28 ` Carsten Dominik 2009-06-09 5:03 ` Nick Dokos 2009-06-09 13:29 ` Bernt Hansen 1 sibling, 1 reply; 6+ messages in thread From: Carsten Dominik @ 2009-06-09 4:28 UTC (permalink / raw) To: nicholas.dokos; +Cc: emacs-orgmode mailing list Hi Nick, that was educational! :-) I have pushed a tentative fix, please verify. - Carsten On Jun 9, 2009, at 2:41 AM, Nick Dokos wrote: > Carsten Dominik <carsten.dominik@gmail.com> wrote: > >> I would like to encourage you all to take another looks at Bernt's >> nearly completed document over at >> >> http://doc.norang.ca/org-mode.html >> >> If you are serious about using Org-mode to get organized, this >> is simply an awesome resource of ideas, customization snippets, >> tips and tricks. I am learning looking at that, too. >> >> Thanks for doing this, Bernt. >> > > Seconded, thirded and fourthed: thanks Bernt! > > And while we are on the subject of Bernt's document: I haven't > looked at > the most recent incarnation on Bernt's website, but I got his org file > from worg the other day and I tried to export it to LaTeX/PDF and > print > a copy to read (I prefer paper for documents that I'd like to read > carefully - in this case, I can also put the printed document under my > pillow: I hear it's the only way for hopeless cases like me to get > organized !-) > > But I ran into a problem with the LaTeX exporter. > > Bernt uses code emphasis in a bunch of places, e.g. with TODO > keywords, > like the following: > > ,---- > | *** Normal Task States > | Normal tasks go through the sequence =TODO= -> =STARTED= -> =DONE=. > | The second sequence is really just a convenient collection of odd- > ball > | states for tasks (=WAITING=, =SOMEDAY=, =CANCELLED=). > `---- > > but also in headings, like this: > > ,---- > | *** Using =STARTED= for clocked tasks > | Tasks automatically change to =STARTED= whenever they are > clocked in. > `---- > > The LaTeX exporter turns these into the following: > > ,---- > | \subsubsection{Normal Task States} > | \label{sec-3.1.1} > | > | Normal tasks go through the sequence \verb~TODO~ -> \verb~STARTED~ > -> \verb~DONE~. > | The second sequence is really just a convenient collection of odd- > ball > | states for tasks (\verb~WAITING~, \verb~SOMEDAY~, \verb~CANCELLED~). > `---- > > and > > ,---- > | \subsubsection{Using \verb~STARTED~ for clocked tasks} > | \label{sec-3.3.1} > | > | Tasks automatically change to \verb~STARTED~ whenever they are > clocked in. > `---- > > But \verb is a "fragile" command and cannot be used in a moving > argument > (e.g. a subsubsection heading - it's a "moving" argument because it's > going to be "moved around" on its way to the table of contents and its > expansion has to be timed correctly), so LaTeX complains about the > \verb > in the \subsubsection title above. The standard way to deal with this > problem is to \protect the fragile command: use \protect\verb > instead of > \verb in the moving argument. I did something simpler: I tweaked the > exporter to \protect every \verb - afaik, this might be inefficient, > but > it should not cause a problem. I did that with the following patch: > > --- a/lisp/org-latex.el > +++ b/lisp/org-latex.el > @@ -1377,7 +1385,7 @@ The conversion is made depending of STRING- > BEFORE and STRING-AFTER." > (if (not (string-match (regexp-quote (substring ll i (1+ i))) > string)) > (progn > - (setq format (concat "\\verb" (substring ll i (1+ i)) > + (setq format (concat "\\protect\\verb" (substring ll i (1+ > i)) > "%s" (substring ll i (1+ i)))) > (throw 'exit nil)))))))) > (setq string (org-export-latex-protect-string > > The resulting LaTeX document has every \verb properly (NOT!) > \protect'ed. But LaTeX sure does not like the result: > > ,---- > | This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) > (format=pdflatex 2009.2.9) 8 JUN 2009 18:17 > | entering extended mode > | %&-line parsing enabled. > | **org-mode.tex > | (./org-mode.tex > | LaTeX2e <2005/12/01> > | Babel <v3.8h> and hyphenation patterns for english, usenglishmax, > dumylang, noh > | yphenation, pinyin, loaded. > | (/usr/share/texmf-texlive/tex/latex/base/article.cls > | Document Class: article 2005/09/16 v1.4f Standard LaTeX document > class > | > | ....lots of stuff elided .... > | > | [15] [16] [17] > | Runaway argument? > | the \protect \relax \hbox {}#I\catcode `\ \active \<let>-command > \csname\endcsn > | ame > | ! Paragraph ended before \HyPsd@@ProtectSpaces was complete. > | <to be read again> > | \par > | l.918 ...ct\verb~STARTED~ task list under control} > | > | ? > `---- > > The funny thing is that there are four instances of this construct in > Bernt's document: > > ,---- > | ... > | \subsubsection{Using \protect\verb~STARTED~ for clocked tasks} > | ... > | \subsubsection{Why keep it all on the \protect\verb~STARTED~ list?} > | ... > | \subsection{Keeping the \protect\verb~STARTED~ task list under > control} > | ... > | \subsubsection{\textbf{UNFINISHED} Using \protect\verb~f5~} > | ... > `---- > > and it's only the third one that causes a problem: if I get rid of the > markup on that one, pdfLaTeX finishes normally. Aha! I noted that > the problem > is a \subsection argument, whereas the others are \subsubsection > arguments - the former appears in the TOC, whereas the latter do not > by > default - but if I change the \tocdepth from the default 2 to 3, > then subsubsections > get added to the table of contents and then LaTeX barfs on those > too: \protect is > a bust. > > After doing a little research, I found out that \verb is not just > "fragile": > it's *special* (see e.g. http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbwithin > where I find: > > This is why the LaTeX book insists that verbatim commands must > not > appear in the argument of any other command; they aren’t just > fragile, they’re quite unusable in any command parameter, > regardless of \protection. (The \verb command tries hard to > detect > if you’re misusing it; unfortunately, it can’t always do so, and > the error message is therefore not a reliable indication of > problems.) > > The suggested workaround is to actually use \texttt{foo}, instead of > \verb~foo~ where the two would give identical results. This has > problems of its own: the main one is things like underscores which > would > need to be escaped. But I wonder if the LaTeX exporter should go this > way, rather than fighting with \verb all the way (and losing). Or if > we > can distinguish between body instances and section heading > instances, do > the \texttt{foo} transformation only on the latter. > > Comments? > > Thanks, > Nick > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] 2009-06-09 4:28 ` Carsten Dominik @ 2009-06-09 5:03 ` Nick Dokos 0 siblings, 0 replies; 6+ messages in thread From: Nick Dokos @ 2009-06-09 5:03 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-orgmode mailing list Carsten Dominik <carsten.dominik@gmail.com> wrote: > that was educational! :-) :-) > > I have pushed a tentative fix, please verify. > I tried it on (the old version of) Bernt's document and it worked fine. I also tried it on a document with underscores: no problems there either. Thanks! Nick ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] 2009-06-09 0:41 ` Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] Nick Dokos 2009-06-09 4:28 ` Carsten Dominik @ 2009-06-09 13:29 ` Bernt Hansen 1 sibling, 0 replies; 6+ messages in thread From: Bernt Hansen @ 2009-06-09 13:29 UTC (permalink / raw) To: nicholas.dokos; +Cc: emacs-orgmode mailing list, Carsten Dominik Nick Dokos <nicholas.dokos@hp.com> writes: > Carsten Dominik <carsten.dominik@gmail.com> wrote: > >> I would like to encourage you all to take another looks at Bernt's >> nearly completed document over at >> >> http://doc.norang.ca/org-mode.html >> >> If you are serious about using Org-mode to get organized, this >> is simply an awesome resource of ideas, customization snippets, >> tips and tricks. I am learning looking at that, too. >> >> Thanks for doing this, Bernt. >> > > Seconded, thirded and fourthed: thanks Bernt! > Thanks for the encouragement guys :) I'm hoping to fill out the unfinished sections of this document soon. As long as there are sections marked UNFINISHED I expect this document to be updated at least once a week. The last export time for the document is at the bottom of the file so you can quickly see if there is any new content since the last time you viewed it. This document has turned into a bit of a monster with a life of its own it seems. It's _way_ longer than I originally intended. I'm not sure it'll ever be _truly_ finished though ... I'm finding that when I tweak my workflow I just keep updating this document. When I try some new workflow that might improve things for me I schedule a task to describe this new workflow a month in the future -- this way the new workflow can mature or die and I'm only documenting things that really work well for me. You'll probably see new items about some of the following in the next 30 days: - Why I have special key bindings - Combining refile targets into one - Limiting time spent on tasks Regards, Bernt ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: http://doc.norang.ca/org-mode.html 2009-06-08 20:59 http://doc.norang.ca/org-mode.html Carsten Dominik 2009-06-09 0:41 ` Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] Nick Dokos @ 2009-06-10 16:11 ` Eraldo Helal 1 sibling, 0 replies; 6+ messages in thread From: Eraldo Helal @ 2009-06-10 16:11 UTC (permalink / raw) To: Carsten Dominik; +Cc: emacs-orgmode mailing list Great work! ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-06-10 16:12 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-06-08 20:59 http://doc.norang.ca/org-mode.html Carsten Dominik 2009-06-09 0:41 ` Bernt's document and LaTeX [was: Re: http://doc.norang.ca/org-mode.html ] Nick Dokos 2009-06-09 4:28 ` Carsten Dominik 2009-06-09 5:03 ` Nick Dokos 2009-06-09 13:29 ` Bernt Hansen 2009-06-10 16:11 ` http://doc.norang.ca/org-mode.html Eraldo Helal
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).