From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jambunathan K Subject: Re: [BUG] [new exporter] \cite and \ref in odt export Date: Fri, 14 Sep 2012 03:03:39 +0530 Message-ID: <87zk4tehfw.fsf@gmail.com> References: <87wr35bqs2.fsf@med.uni-goettingen.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:34489) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCH1h-0007qe-8o for emacs-orgmode@gnu.org; Thu, 13 Sep 2012 17:32:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCH1f-0000pg-EK for emacs-orgmode@gnu.org; Thu, 13 Sep 2012 17:32:45 -0400 Received: from mail-pb0-f41.google.com ([209.85.160.41]:43173) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCH1f-0000pc-4k for emacs-orgmode@gnu.org; Thu, 13 Sep 2012 17:32:43 -0400 Received: by pbbro12 with SMTP id ro12so5279915pbb.0 for ; Thu, 13 Sep 2012 14:32:42 -0700 (PDT) In-Reply-To: <87wr35bqs2.fsf@med.uni-goettingen.de> (Andreas Leha's message of "Sun, 17 Jun 2012 22:57:17 +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: Andreas Leha Cc: emacs-orgmode@gnu.org Andreas This has been pending for quite a while and is now fixed with following commit/org-version. ,---- | Org-mode version 7.9.1 (release_7.9.1-212-gdd44a62) `---- LaTeX fragments like \cite and \ref which cannot be converted to images or mathml files will be transferred as such in to ODT export. As for getting bibtex/citation support with ODT export, I have some ideas. It requires some help from org-element/org-export framework. We can initiate some discussion with Nicolas Goaziou and check whether his availability for changes around this area. Do let me know if something is broken with new exporter. Jambunathan K. Andreas Leha writes: > 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:href=\"%s\" xlink:type=\"simple\" 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]{biblatex}" > | :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) > `---- > > > --