From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Elston Subject: Re: Bug: Incorrect escaping of braces on LaTeX export [6.33trans (release_6.33f.122.g7062a.dirty)] Date: Fri, 18 Dec 2009 10:13:53 -0800 Message-ID: <4B2BC661.4020404@comcast.net> References: <4B2975DA.5060008@comcast.net> <2B4C5268-9A5D-453F-9B0A-3FD3D6B703CC@gmail.com> <4B2ABBE5.6090905@comcast.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NLhLD-0003l4-Oo for emacs-orgmode@gnu.org; Fri, 18 Dec 2009 13:14:15 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NLhLB-0003iS-Uy for emacs-orgmode@gnu.org; Fri, 18 Dec 2009 13:14:15 -0500 Received: from [199.232.76.173] (port=57744 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NLhLB-0003i7-PP for emacs-orgmode@gnu.org; Fri, 18 Dec 2009 13:14:13 -0500 Received: from qmta08.emeryville.ca.mail.comcast.net ([76.96.30.80]:41243) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NLhL9-0006G5-TN for emacs-orgmode@gnu.org; Fri, 18 Dec 2009 13:14:13 -0500 In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: emacs-orgmode@gnu.org Thank you very much, Carsten. I can confirm it works perfectly now. Mark Carsten Dominik wrote: > Hi Mark, > > On Dec 18, 2009, at 12:16 AM, Mark Elston wrote: > >> Carsten, >> >> Notice the title line in the generated latex code. It looks like: >> >> \title{ABC Class Notes\} >> ^^ > > Ah, yes, it was actually in your first email, only further down that I > expected. Sorry about this. > > This problem is now fixed. > > - Carsten > >> >> The closing brace is escaped. >> >> Mark >> >> Carsten Dominik wrote: >>> Hi Mark, >>> what is the error you are getting? >>> - Carsten >>> On Dec 17, 2009, at 1:05 AM, Mark Elston wrote: >>>> >>>> Remember to cover the basics, that is, what you expected to happen and >>>> what in fact did happen. You don't know how to make a good report? >>>> See >>>> >>>> http://orgmode.org/manual/Feedback.html#Feedback >>>> >>>> Your bug report will be posted to the Org-mode mailing list. >>>> ------------------------------------------------------------------------ >>>> >>>> >>>> While attempting to generate some notes for a class I give I ran into >>>> an error in the generated latex file. I use memoir for my notes since >>>> this package gives me the particular formatting I like without any >>>> hassle so I created an org-export-latex-class to make use of it. >>>> Since my boilerplate for my notes includes a number of lines after the >>>> \begin{document} line I have added these to #+TEXT entries in the org >>>> file. >>>> >>>> I use the memoir titlingpage facility as it gives me the control and >>>> look I want without a lot of code. However, this causes a problem >>>> with org export since the \maketitle line must be inside a titlingpage >>>> environment. To accomplish this I have set the #+TITLE: directive to >>>> an empty value and put the entire titlingpage environment (3 lines) in >>>> #+TEXT lines. >>>> >>>> I have included a simple ErrorSample latex class in my configuration >>>> which demonstrates the problem without as much being generated. >>>> >>>> A sample org file looks like this: >>>> >>>> ----------------------------------------------------------------------- >>>> #+TITLE: >>>> #+OPTIONS: toc:nil >>>> #+LaTeX_CLASS: ErrorSample >>>> #+TEXT: \title{ABC Class Notes} >>>> #+TEXT: \begin{titlingpage} >>>> #+TEXT: \maketitle >>>> #+TEXT: \end{titlingpage} >>>> #+TEXT: \maxtocdepth{subsection} >>>> #+TEXT: \pagenumbering{roman} >>>> #+TEXT: \cleartooddpage >>>> #+TEXT: \tableofcontents >>>> #+TEXT: \cleartooddpage >>>> #+TEXT: \chapterstyle{companion} >>>> #+TEXT: \pagestyle{companion} >>>> #+TEXT: \aliaspagestyle{part}{companion} >>>> #+TEXT: \aliaspagestyle{chapter}{headings} >>>> #+TEXT: \aliaspagestyle{cleared}{companion} >>>> #+TEXT: \include{Preface} >>>> #+TEXT: \pagenumbering{arabic} >>>> >>>> * Simple First Heading >>>> Some text. >>>> >>>> * Simple Second Heading >>>> Other text. >>>> ----------------------------------------------------------------------- >>>> >>>> The generated tex file is shown next. Notice the escaped closing >>>> brace on the \title{} instruction: >>>> >>>> ----------------------------------------------------------------------- >>>> % Created 2009-12-16 Wed 15:54 >>>> \documentclass[letter,twoside,openright]{memoir} >>>> \usepackage{varioref} >>>> \usepackage{shorttoc} >>>> \usepackage{color} >>>> \usepackage{graphicx} >>>> \usepackage{bbding} >>>> >>>> \setlength{\parindent}{0pt} >>>> \setlength{\parskip}{1ex} >>>> >>>> >>>> \title{} >>>> \author{Mark Elston} >>>> \date{16 December 2009} >>>> >>>> \begin{document} >>>> >>>> >>>> >>>> \title{ABC Class Notes\} >>>> \begin{titlingpage} >>>> \maketitle >>>> \end{titlingpage} >>>> \maxtocdepth{subsection} >>>> \pagenumbering{roman} >>>> \cleartooddpage >>>> \tableofcontents >>>> \cleartooddpage >>>> \chapterstyle{companion} >>>> \pagestyle{companion} >>>> \aliaspagestyle{part}{companion} >>>> \aliaspagestyle{chapter}{headings} >>>> \aliaspagestyle{cleared}{companion} >>>> \include{Preface} >>>> \pagenumbering{arabic} >>>> >>>> >>>> \chapter{Simple First Heading} >>>> \label{sec-1} >>>> >>>> Some text. >>>> \chapter{Simple Second Heading} >>>> \label{sec-2} >>>> >>>> Other text. >>>> >>>> \end{document} >>>> >>>> ----------------------------------------------------------------------- >>>> >>>> Emacs : GNU Emacs 23.1.1 (i386-mingw-nt6.0.6002) >>>> of 2009-07-29 on SOFT-MJASON >>>> Package: Org-mode version 6.33trans (release_6.33f.122.g7062a.dirty) >>>> >>>> current state: >>>> ============== >>>> (setq >>>> org-log-done 'time >>>> org-export-latex-after-initial-vars-hook >>>> '(org-beamer-after-initial-vars) >>>> org-agenda-custom-commands '(("S" "Schedule for the week" ((agenda >>>> "") (todo "TODO")))) >>>> org-agenda-files '("~/org") >>>> org-agenda-include-diary t >>>> org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent >>>> org-block-todo-from-checkboxes) >>>> org-list-demote-modify-bullet '(("-" . "+") ("+" . "-")) >>>> org-fontify-whole-heading-line t >>>> org-metaup-hook '(org-babel-load-in-session-maybe) >>>> org-agenda-skip-timestamp-if-done t >>>> org-after-todo-state-change-hook '(org-clock-out-if-current) >>>> org-babel-interpreters '("R" "asymptote" "dot" "ditaa" "python" "sh" >>>> "emacs-lisp") >>>> org-export-latex-format-toc-function >>>> 'org-export-latex-format-toc-default >>>> org-protocol-protocol-alist '(("Fireforg get bibtex entry: >>>> fireforg-bibtex-entry://" :protocol >>>> "fireforg-bibtex-entry" :function org-fireforg-receive-bibtex-entry) >>>> ("Fireforg show annotation: >>>> fireforg-show-annotation:///
" >>>> :protocol "fireforg-show-annotation" :function >>>> org-fireforg-show-annotation) >>>> ) >>>> org-agenda-skip-scheduled-if-done t >>>> org-export-preprocess-hook '(org-export-blocks-preprocess) >>>> org-tab-first-hook '(yas/org-very-safe-expand >>>> org-babel-hide-result-toggle-maybe >>>> org-hide-block-toggle-maybe) >>>> org-src-mode-hook '(org-src-mode-configure-edit-buffer) >>>> org-confirm-shell-link-function 'yes-or-no-p >>>> org-export-first-hook '(org-beamer-initialize-open-trackers) >>>> org-agenda-before-write-hook '(org-agenda-add-entry-text) >>>> org-directory "~/org/" >>>> org-cycle-hook '(org-cycle-hide-archived-subtrees >>>> org-cycle-hide-drawers >>>> org-cycle-show-empty-lines >>>> org-optimize-window-after-visibility-change) >>>> org-export-latex-classes '(("article" >>>> "\\documentclass[11pt]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage[T1]{fontenc}\n\\usepackage{graphicx}\n\\usepackage{longtable}\n\\usepackage{float}\n\\usepackage{wrapfig}\n\\usepackage{soul}\n\\usepackage{amssymb}\n\\usepackage{hyperref}" >>>> >>>> ("\\section{%s}" . "\\section*{%s}") >>>> ("\\subsection{%s}" . "\\subsection*{%s}") >>>> ("\\subsubsection{%s}" . >>>> "\\subsubsection*{%s}") >>>> ("\\paragraph{%s}" . "\\paragraph*{%s}") >>>> ("\\subparagraph{%s}" . >>>> "\\subparagraph*{%s}")) >>>> ("report" >>>> "\\documentclass[11pt]{report}\n\\usepackage[utf8]{inputenc}\n\\usepackage[T1]{fontenc}\n\\usepackage{graphicx}\n\\usepackage{longtable}\n\\usepackage{float}\n\\usepackage{wrapfig}\n\\usepackage{soul}\n\\usepackage{amssymb}\n\\usepackage{hyperref}" >>>> >>>> ("\\part{%s}" . "\\part*{%s}") >>>> ("\\chapter{%s}" . "\\chapter*{%s}") >>>> ("\\section{%s}" . "\\section*{%s}") >>>> ("\\subsection{%s}" . "\\subsection*{%s}") >>>> ("\\subsubsection{%s}" . >>>> "\\subsubsection*{%s}")) >>>> ("book" >>>> "\\documentclass[11pt]{book}\n\\usepackage[utf8]{inputenc}\n\\usepackage[T1]{fontenc}\n\\usepackage{graphicx}\n\\usepackage{longtable}\n\\usepackage{float}\n\\usepackage{wrapfig}\n\\usepackage{soul}\n\\usepackage{amssymb}\n\\usepackage{hyperref}" >>>> >>>> ("\\part{%s}" . "\\part*{%s}") >>>> ("\\chapter{%s}" . "\\chapter*{%s}") >>>> ("\\section{%s}" . "\\section*{%s}") >>>> ("\\subsection{%s}" . "\\subsection*{%s}") >>>> ("\\subsubsection{%s}" . >>>> "\\subsubsection*{%s}")) >>>> ("ClassNotes" >>>> "\\documentclass[letter,twoside,openright]{memoir}\n\\usepackage{varioref}\n\\usepackage{shorttoc}\n\\usepackage{color}\n\\usepackage{graphicx}\n\\usepackage{biblestudy}\n\\usepackage[polutonikogreek,english]{babel}\n\\usepackage{cjhebrew}\n\\usepackage{bbding}\n\n\\newcommand\\checkmark{\\Checkmark}\n\\newcommand\\xmark{\\XSolidBold}\n\n\\newcommand\\gr[1]{\\begingroup%\n >>>> \\selectlanguage{greek}#1%\n >>>> \\endgroup}\n\n\\newcommand\\heb[1]{\\begingroup%\n \\cjRL{#1}%\n >>>> \\endgroup}\n\n\\setlength{\\parindent}{0pt}\n\\setlength{\\parskip}{1ex}" >>>> >>>> ("\\chapter{%s}" . "\\chapter*{%s}") >>>> ("\\section{%s}" . "\\section*{%s}") >>>> ("\\subsection{%s}" . "\\subsection*{%s}") >>>> ("\\subsubsection{%s}" . >>>> "\\subsubsection*{%s}")) >>>> ("ErrorSample" >>>> "\\documentclass[letter,twoside,openright]{memoir}\n\\usepackage{varioref}\n\\usepackage{shorttoc}\n\\usepackage{color}\n\\usepackage{graphicx}\n\\usepackage{bbding}\n\n\\setlength{\\parindent}{0pt}\n\\setlength{\\parskip}{1ex}" >>>> >>>> ("\\chapter{%s}" . "\\chapter*{%s}") >>>> ("\\section{%s}" . "\\section*{%s}") >>>> ("\\subsection{%s}" . "\\subsection*{%s}") >>>> ("\\subsubsection{%s}" . >>>> "\\subsubsection*{%s}")) >>>> ) >>>> org-use-speed-commands t >>>> org-mode-hook '((lambda nil >>>> (setq org-mouse-context-menu-function (quote >>>> org-mouse-context-menu)) >>>> (when (memq (quote context-menu) org-mouse-features) >>>> (define-key org-mouse-map >>>> (if (featurep (quote xemacs)) [button3] [mouse-3]) >>>> nil) >>>> (define-key org-mode-map [mouse-3] >>>> (quote org-mouse-show-context-menu)) >>>> ) >>>> (define-key org-mode-map [down-mouse-1] (quote >>>> org-mouse-down-mouse)) >>>> (when (memq (quote context-menu) org-mouse-features) >>>> (define-key org-mouse-map [C-drag-mouse-1] >>>> (quote org-mouse-move-tree)) >>>> (define-key org-mouse-map [C-down-mouse-1] >>>> (quote org-mouse-move-tree-start)) >>>> ) >>>> (when (memq (quote yank-link) org-mouse-features) >>>> (define-key org-mode-map [S-mouse-2] (quote >>>> org-mouse-yank-link)) >>>> (define-key org-mode-map [drag-mouse-3] (quote >>>> org-mouse-yank-link))) >>>> (when (memq (quote move-tree) org-mouse-features) >>>> (define-key org-mouse-map [drag-mouse-3] (quote >>>> org-mouse-move-tree)) >>>> (define-key org-mouse-map [down-mouse-3] >>>> (quote org-mouse-move-tree-start)) >>>> ) >>>> (when (memq (quote activate-stars) org-mouse-features) >>>> (font-lock-add-keywords nil >>>> (\` >>>> (((\, outline-regexp) 0 >>>> (\` >>>> (face org-link mouse-face highlight keymap (\, >>>> org-mouse-map))) >>>> (quote prepend)) >>>> ) >>>> ) >>>> t) >>>> ) >>>> (when (memq (quote activate-bullets) >>>> org-mouse-features) >>>> (font-lock-add-keywords nil >>>> (\` >>>> (("^[ ]*\\([-+*]\\|[0-9]+[.)]\\) +" >>>> (1 >>>> (\` >>>> (face org-link keymap (\, org-mouse-map) >>>> mouse-face highlight)) >>>> (quote prepend)) >>>> ) >>>> ) >>>> ) >>>> t) >>>> ) >>>> (when (memq (quote activate-checkboxes) >>>> org-mouse-features) >>>> (font-lock-add-keywords nil >>>> (\` >>>> (("^[ ]*\\([-+*]\\|[0-9]+[.)]\\) +\\(\\[[ >>>> X]\\]\\)" >>>> (2 >>>> (\` (face bold keymap (\, org-mouse-map) >>>> mouse-face highlight)) >>>> t) >>>> ) >>>> ) >>>> ) >>>> t) >>>> ) >>>> (defadvice org-open-at-point (around >>>> org-mouse-open-at-point activate) >>>> (let ((context (org-context))) >>>> (cond ((assq :headline-stars context) (org-cycle)) >>>> ((assq :checkbox context) (org-toggle-checkbox)) >>>> ((assq :item-bullet context) >>>> (let ((org-cycle-include-plain-lists t)) >>>> (org-cycle))) >>>> (t ad-do-it)) >>>> ) >>>> ) >>>> ) >>>> #[nil "\302\300!\210\303\304\305\306\"\210\307 >>>> \310\311#\207" >>>> [yas/trigger-key yas/keymap >>>> make-variable-buffer-local [tab] >>>> add-to-list org-tab-first-hook >>>> yas/org-very-safe-expand define-key >>>> [tab] yas/next-field] >>>> 4] >>>> (lambda nil >>>> (org-add-hook (quote change-major-mode-hook) >>>> (quote org-babel-show-result-all) (quote append) >>>> (quote local)) >>>> ) >>>> org-babel-result-hide-spec org-babel-hide-all-hashes >>>> (lambda nil >>>> (add-hook (quote after-save-hook) (quote >>>> org-fireforg-registry-update) >>>> t t) >>>> ) >>>> #[nil "\300\301\302\303\304$\207" >>>> [org-add-hook change-major-mode-hook >>>> org-show-block-all append local] >>>> 5] >>>> ) >>>> org-ctrl-c-ctrl-c-hook '(org-babel-lob-execute-maybe >>>> org-babel-hash-at-point >>>> org-babel-execute-src-block-maybe) >>>> org-confirm-elisp-link-function 'yes-or-no-p >>>> org-agenda-mode-hook '((lambda nil >>>> (setq org-mouse-context-menu-function >>>> (quote org-mouse-agenda-context-menu)) >>>> (define-key org-agenda-mode-map >>>> (if (featurep (quote xemacs)) [button3] >>>> [mouse-3]) >>>> (quote org-mouse-show-context-menu)) >>>> (define-key org-agenda-mode-map [down-mouse-3] >>>> (quote org-mouse-move-tree-start)) >>>> (define-key org-agenda-mode-map >>>> (if (featurep (quote xemacs)) [(control >>>> mouse-4)] [C-mouse-4]) >>>> (quote org-agenda-earlier)) >>>> (define-key org-agenda-mode-map >>>> (if (featurep (quote xemacs)) [(control >>>> mouse-5)] [C-mouse-5]) >>>> (quote org-agenda-later)) >>>> (define-key org-agenda-mode-map [drag-mouse-3] >>>> (quote >>>> (lambda (event) (interactive "e") >>>> (case (org-mouse-get-gesture event) >>>> (:left (org-agenda-earlier 1)) >>>> (:right (org-agenda-later 1))) >>>> ) >>>> ) >>>> ) >>>> ) >>>> ) >>>> org-agenda-start-on-weekday nil >>>> org-export-interblocks '((lob org-babel-exp-lob-one-liners) >>>> (src org-babel-exp-inline-src-blocks)) >>>> org-agenda-skip-deadline-if-done t >>>> org-enforce-todo-dependencies t >>>> org-occur-hook '(org-first-headline-recenter) >>>> org-from-is-user-regexp nil >>>> org-export-preprocess-before-selecting-backend-code-hook >>>> '(org-beamer-select-beamer-code) >>>> org-remember-templates '(("Todo" 116 "* TODO %?\n %i\n %a\n" >>>> "~/org/TODO.org" "Tasks") >>>> ("Journal" 106 "* %U %?\n\n %i\n %a\n" >>>> "~/org/JOURNAL.org") >>>> ("Idea" 105 "* %^{Title}\n %i\n %a\n" >>>> "~/org/JOURNAL.org" >>>> "New Ideas") >>>> ("Project" 112 "* %^{Title}\n %i\n %a\n" >>>> "~/org/ProjectNotes.org" "Project Notes") >>>> ("Browser" 119 "* %^{Title}\n %u\n\n >>>> Source: %c\n\n %i" >>>> "~/org/Notes.org" "Notes") >>>> ) >>>> org-export-latex-final-hook '(org-beamer-amend-header >>>> org-beamer-fix-toc >>>> org-beamer-auto-fragile-frames >>>> >>>> org-beamer-place-default-actions-for-lists) >>>> org-enforce-todo-checkbox-dependencies t >>>> org-metadown-hook '(org-babel-pop-to-session-maybe) >>>> org-export-blocks '((src org-babel-exp-src-blocks nil) >>>> (comment org-export-blocks-format-comment t) >>>> (ditaa org-export-blocks-format-ditaa nil) >>>> (dot org-export-blocks-format-dot nil)) >>>> ) >>>> >>>> >>>> >>>> _______________________________________________ >>>> Emacs-orgmode mailing list >>>> Please use `Reply All' to send replies to the list. >>>> Emacs-orgmode@gnu.org >>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>> - Carsten >> > > - Carsten > > > >