From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: Re: [BUG] [new exporter] \cite and \ref in odt export Date: Mon, 18 Jun 2012 08:59:11 +0200 Message-ID: <87k3z5ayww.fsf@med.uni-goettingen.de> References: <87wr35bqs2.fsf@med.uni-goettingen.de> <4FDECD70.1040105@christianmoe.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:40537) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SgVwx-0000xK-Np for emacs-orgmode@gnu.org; Mon, 18 Jun 2012 03:00:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SgVwq-0001oc-Tt for emacs-orgmode@gnu.org; Mon, 18 Jun 2012 03:00:35 -0400 Received: from plane.gmane.org ([80.91.229.3]:46169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SgVwq-0001oP-Im for emacs-orgmode@gnu.org; Mon, 18 Jun 2012 03:00:28 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1SgVwk-00064c-Pz for emacs-orgmode@gnu.org; Mon, 18 Jun 2012 09:00:22 +0200 Received: from genepi110.genepi.med.uni-goettingen.de ([134.76.140.110]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 18 Jun 2012 09:00:22 +0200 Received: from andreas.leha by genepi110.genepi.med.uni-goettingen.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 18 Jun 2012 09:00:22 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi Christian, thanks for looking into this. > Could you say what behavior you expect when exporting \cite commands > to ODT? I would say: Minimal expectation: error-free export Maximal expectation: LaTeX-like reference ;-) Realistic expectation: literal export (e.g. \cite{xxx}) as in the ascii export Regards, Andreas > > Yours, > Christian > > On 6/17/12 10:57 PM, Andreas Leha wrote: >> Hi all, >> >> I experience problems when using \ref and \cite in documents, and then >> exporting to odt. >> >> I can replace the \ref{uuu} with [[uuu]] (breaking compatibility with >> the legacy exporter), but how would I replace \cite? >> >> My only 'solution' momentarily is to export with #+OPTIONS: LaTeX:nil >> >> >> I guess this is a bug? >> >> Regards, >> Andreas >> >> PS: >> Here follows an example: >> >> Use this bib-file: >> >> ,----[ literature.bib ] >> | @article{schulte:2012, >> | author = "Eric Schulte and Dan Davison and Thomas Dye and >> | Carsten Dominik", >> | title = "A Multi-Language Computing Environment for Literate >> | Programming and Reproducible Research", >> | journal = "Journal of Statistical Software", >> | volume = "46", >> | number = "3", >> | pages = "1--24", >> | day = "25", >> | month = "1", >> | year = "2012", >> | CODEN = "JSSOBK", >> | ISSN = "1548-7660", >> | bibdate = "2011-10-03", >> | URL = "http://www.jstatsoft.org/v46/i03", >> | accepted = "2011-10-03", >> | acknowledgement ="", >> | keywords = "", >> | submitted = "2010-12-22", >> | } >> `---- >> >> When I try to export this file to odt: >> >> ,---- >> | #+TITLE: Citations in non-LaTeX >> | >> | >> | * Related Work... >> | can be found in \cite{schulte:2012}. >> | >> | >> | >> | #+LATEX_HEADER: \usepackage[natbib,backref,backend=bibtex,style=authoryear,isbn=false,url=false,eprint=false]{biblatex} >> | #+LATEX_HEADER: \bibliography{literature} >> | #+LATEX_HEADER: \setlength{\bibhang}{1em} >> | #+LATEX_HEADER: \usepackage{hyperref} >> `---- >> >> I get this backtrace: >> >> ,---- >> | Debugger entered--Lisp error: (wrong-type-argument stringp nil) >> | expand-file-name(nil "/home/andreas/org/") >> | (let* ((src-file (expand-file-name path (file-name-directory >> | org-current-export-file))) (target-dir (format "Formula-%04d/" >> | (incf org-e-odt-embedded-formulas-count))) (target-file (concat >> | target-dir "content.xml"))) (message "Embedding %s as %s ..." >> | (substring-no-properties path) target-file) (make-directory >> | target-dir) (org-e-odt-create-manifest-file-entry >> | "application/vnd.oasis.opendocument.formula" target-dir "1.2") >> | (case (org-e-odt-is-formula-link-p src-file) (mathml (copy-file >> | src-file target-file (quote overwrite))) (odf >> | (org-e-odt-zip-extract-one src-file "content.xml" target-dir)) (t >> | (error "%s is not a formula file" src-file))) >> | (org-e-odt-create-manifest-file-entry "text/xml" target-file) >> | target-file) >> | org-e-odt-copy-formula-file(nil) >> | (file-name-directory (org-e-odt-copy-formula-file src)) >> | (org-e-odt-format-tags "> | xlink:type=\"simple\" xlink:show=\"embed\" >> | xlink:actuate=\"onLoad\"/>" "" (file-name-directory >> | (org-e-odt-copy-formula-file src))) >> | (let* ((src (cond ((eq (org-element-type element) (quote link)) >> | (let* ((type ...) (raw-path ...)) (cond (... ...) (t raw-path)))) >> | ((member (org-element-type element) (quote (latex-fragment >> | latex-environment))) (let* ((latex-frag ...) (formula-link ...)) >> | (and formula-link (string-match "file:\\([^]]*\\)" formula-link) >> | (match-string 1 formula-link)))) (t (error "what is this?")))) >> | (caption-from (case (org-element-type element) (link >> | (org-export-get-parent-element element)) (t element))) (captions >> | (org-e-odt-format-label caption-from info (quote definition))) >> | (caption (car captions)) (href (org-e-odt-format-tags >> | "> | xlink:show=\"embed\" xlink:actuate=\"onLoad\"/>" "" >> | (file-name-directory (org-e-odt-copy-formula-file src)))) >> | (embed-as (if > caption (quote paragraph) (quote character))) width height) (cond > ((eq embed-as (quote character)) (org-e-odt-format-entity > "InlineFormula" href width height)) (t (let ((table-info nil) > (table-info (quote (:alignment ["c" "c"] :column-groups [nil nil] > :row-groups ... :special-column-p nil :width [8 1]))) > (org-lparse-table-ncols 2)) (org-e-odt-list-table (list (list > (org-e-odt-format-entity "CaptionedDisplayFormula" href width height > captions) (let* ... ...))) (quote (table (:attr_odt ...))) info))))) >> | org-e-odt-format-formula((latex-fragment (:value >> | "\\cite{schulte:2012}" :begin 70 :end 89 :post-blank 0 :parent >> | (paragraph (:begin 54 :end 94 :contents-begin 54 :contents-end 90 >> | :post-blank 3 :parent (section (:begin 54 :end 336 :contents-begin >> | 54 :contents-end 336 :post-blank 0 :parent (headline (:raw-value >> | "Related Work..." :title ... :begin 36 :end 336 :pre-blank 0 >> | :hiddenp nil :contents-begin 54 :contents-end 336 :level 1 >> | :priority nil :tags nil :todo-keyword nil :todo-type nil >> | :scheduled nil :deadline nil :timestamp nil :clock nil :post-blank >> | 0 :footnote-section-p nil :archivedp nil :commentedp nil :quotedp >> | nil :category nil :parent ...) #4)) #2 (keyword (:key >> | "LATEX_HEADER" :value >> | "\\usepackage[natbib,backref,backend=bibtex,style=authoryear,isbn=false,url=false,eprint=false]{bi > blatex}" :begin 94 :end 214 :post-blank 0 :parent #4)) (keyword (:key > "LATEX_HEADER" :value "\\bibliography{literature}" :begin 214 :end 256 > :post-blank 0 :parent #4)) (keyword (:key "LATEX_HEADER" : > value "\\setlength{\\bibhang}{1em}" :begin 256 :end 298 :post-blank 0 > :parent #4)) (keyword (:key "LATEX_HEADER" :value > "\\usepackage{hyperref}" :begin 298 :end 336 :post-blank 0 :parent > #4)))) "can be found in " #0 "."))) (:author "Andreas Leha" :creator > "Generated by Org mode 7.8.11 in Emacs 24.1.50.1." :date nil > :description nil :email "andreas@werner" :exclude-tags ("noexport") > :headline-levels 3 :keywords nil :language "en" :preserve-breaks nil > :section-numbers t :select-tags ("export") :time-stamp-file t :title > ("Citations in non-LaTeX") :with-archived-trees headline :with-author > t :with-clocks nil :with-creator comment :with-drawers nil :with-email > nil :with-emphasize t :with-entities t :with-fixed-width t > :with-footnotes t :with-plannings nil ...)) >> | .... >> | .... >> | .... >> | org-export-dispatch() >> | call-interactively(org-export-dispatch record nil) >> | command-execute(org-export-dispatch record) >> | execute-extended-command(nil "org-export-dispatch") >> | call-interactively(execute-extended-command nil nil) >> `---- >> >> >>