The attached patch fixes this bug.
diff --git a/lisp/org-latex.el b/lisp/org-latex.el index d725fc8..180c498 100644 --- a/lisp/org-latex.el +++ b/lisp/org-latex.el @@ -1894,7 +1894,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER." (t (insert "\\texttt{" desc "}"))))))) -(defun org-export-latex-format-image (path caption label attr) +(defun org-export-latex-format-image (path caption label attr &optional shortn) "Format the image element, depending on user settings." (let (ind floatp wrapp multicolumnp placement figenv) (setq floatp (or caption label))
Best -- Eric
Tassilo Horn <tass...@member.fsf.org> writes: > 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. > ------------------------------------------------------------------------ > > Since I updated my org version to the current git HEAD today, the org > latex export errors on image-links. Here's a test document: > > #+STARTUP: beamer > #+LaTeX_CLASS: beamer > #+TITLE: Test > #+AUTHOR: Tassilo Horn > #+EMAIL: f...@bar.de > #+LANGUAGE: de > #+BEAMER_FRAME_LEVEL: 2 > #+LaTeX_CLASS_OPTIONS: [presentation] > #+BEAMER_HEADER_EXTRA: \usetheme{Madrid} \institute{IST, University Koblenz} > > * Implementieren > > ** Abstract Factory (Erzeugungsmuster) > > #+ATTR_LaTeX: height=0.85\textheight > [[./abstract-factory.png]] > > The error backtrace is this: > > Debugger entered--Lisp error: (wrong-number-of-arguments #[(path caption > label attr) > "\306\211\211\211\211\211....2\206..3.\307\310\311.4#.5\203c.5;\203c.\312\313.5\"\203;.\314.\306.\315\316\314\211.5$.5\312\317.5\"\203P.\306.\314.\315\316\314\211.5$.5\312\320.5\"\203c.\314.\315\316\314\211.5$.5\203k.\321\202t. > > \203s.\322\202t.\316.5\203\227.5;\203\227.\312\323.5\"\203\227.\324\325.5\".\315\316\314\211.5$.5.5\205\240.\326.5!\211.5\203\256.5G\310U\203\302. > \203\266.\327\202\300.\203\276.\330\202\300.5.5\203\312.\331\202\333. > \203\322.\332\202\333. > \203\332.\333\202\333.\334.\335\336\337\340\"\212\341\325!\210\342\343!\210\340\324\310!P)#.3\204.2\204.\312\344\"\203.\315\316\314\211$.\345\346\347\350.4!\203.\351.4!\202.4B\352.5B\353.6\2032.\354\355.6\"\2023.\316B\356.3\203B.\354\357.3\"\202C.\316B\360.2\206K.\316B\361 > \206R.\316B\257.\"\306\311.$..\207" [figenv placement multicolumnp > wrapp floatp ind nil org-get-text-property-any 0 original-indentation > string-match "[ ]*\\<wrap\\>" t replace-match "" "[ ]*\\<float\\>" > "[ ]*\\<multicolumn\\>" "{l}{0.5\\textwidth}" "[htb]" "[ > ]*\\<placement=\\(\\S-+\\)" match-string 1 org-trim "width=0.7\\textwidth" > "width=0.48\\textwidth" "\\begin{wrapfigure}%placement > \\centering > \\includegraphics[%attr]{%path} > \\caption%shortn{%labelcmd%caption} > \\end{wrapfigure}" "\\begin{figure*}%placement > \\centering > \\includegraphics[%attr]{%path} > \\caption{%labelcmd%caption} > \\end{figure*}" "\\begin{figure}%placement > \\centering > \\includegraphics[%attr]{%path} > \\caption{%labelcmd%caption} > \\end{figure}" "\\includegraphics[%attr]{%path}" mapconcat identity > split-string " > " beginning-of-line looking-at "[ ]*" "^\\\\caption{.* > " org-add-props org-fill-template "path" file-name-absolute-p > expand-file-name "attr" "shortn" format "[%s]" "labelcmd" "\\label{%s}" > "caption" "placement" caption label path attr shortn] 11 > ("/home/horn/repos/el/org-mode/lisp/org-latex.elc" . 59858)] 5) > org-export-latex-format-image(#("./abstract-factory.png" 0 22 > (org-no-description t org-protected t fontified nil org-category > "impl-integ-install" org-caption nil org-caption-shortn nil org-attributes > #("height=0.85\\textheight" 0 22 ...) org-label nil face org-link org-attr > nil)) nil nil #("height=0.85\\textheight" 0 22 (org-category > "impl-integ-install" fontified nil)) nil) > org-export-latex-links() > org-export-latex-content(#("\n\n > [[./abstract-factory.png][./abstract-factory.png]]\n\n" 0 2 (fontified nil > org-category "impl-integ-install") 2 5 (fontified nil org-category > "impl-integ-install" org-caption nil org-caption-shortn nil org-attributes > #("height=0.85\\textheight" 0 22 ...) org-label nil) 5 7 (face org-link) 7 29 > (org-no-description t org-protected t fontified nil org-category > "impl-integ-install" org-caption nil org-caption-shortn nil org-attributes > #("height=0.85\\textheight" 0 22 ...) org-label nil face org-link) 29 31 > (face org-link) 31 53 (org-label nil org-attributes > #("height=0.85\\textheight" 0 22 ...) org-caption-shortn nil org-caption nil > org-category "impl-integ-install" fontified nil face org-link) 53 55 (face > org-link) 55 57 (fontified nil org-category "impl-integ-install"))) > org-export-latex-subcontent(((pos . 1176) (level . 2) (occur . 3) (heading > . #(" Abstract Factory (Erzeugungsmuster)" 1 36 ...)) (content . #("\n\n > [[./abstract-factory.png][./abstract-factory.png]]\n\n" 0 2 ... 2 5 ... 5 7 > ... 7 29 ... 29 31 ... 31 53 ... 53 55 ... 55 57 ...)) (subcontent)) t) > #[(x) "\302 \"\207" [x num org-export-latex-subcontent] 3](((pos . > 1176) (level . 2) (occur . 3) (heading . #(" Abstract Factory > (Erzeugungsmuster)" 1 36 ...)) (content . #("\n\n > [[./abstract-factory.png][./abstract-factory.png]]\n\n" 0 2 ... 2 5 ... 5 7 > ... 7 29 ... 29 31 ... 31 53 ... 53 55 ... 55 57 ...)) (subcontent))) > mapc(#[(x) "\302 \"\207" [x num org-export-latex-subcontent] 3] (((pos . > 21) (level . 2) (occur . 1) (heading . #(" Situation" 1 10 ...)) (content . > #("\n\n - Zu erstellendes System ist nach /Analyse/ und /Entwurf/ > hinreichend\n spezifiziert\n - Aufgabe der *Implementationsphase*: > Programmierung des spezifizierten\n Entwurfs in der festgelegten > Zielsprache\n - *Programmieren im Kleinen*\n - Heute immer öfter: > Einsatz von *Generierungstechniken*\n\n" 0 1 ... 1 39 ... 39 48 ... 48 53 ... > 53 62 ... 62 110 ... 110 132 ... 132 214 ... 214 311 ...)) (subcontent)) > ((pos . 345) (level . 2) (occur . 2) (heading . #(" Implementieren" 1 15 > ...)) (content . #("\n\n - *Implementieren* i.e. S. umfasst /Entwerfen/ > i.w.S., /Programmieren/ und\n /Validieren/ eines (im allgemeinen nicht > weiter zerlegten) Bausteins.\n\n - *Programmierung im Kleinen* (Programming > in the small) vgl. die\n Vorlesungen:\n - Objekt-orientierte > Programmierung und Modellierung\n - Algorithmen & Datenstrukturen\n - > Programmierung\n\n - *Coding Styles*, z.B. > [[http://java.sun.com/docs/codeconv/][http://java.sun.com/docs/codeconv/]]\n\n > - Beim Implementieren dienen *Design Patterns* zur Anpassung des Entwurfs > an\n technische Randbedingungen\n - /Design Patterns: Elements of > Reusable Object-Oriented Software/, Erich\n Gamma, Richard Helm, Ralph > Johnson, John M. Vlissides, 1994\n - 23 Patterns (Creational Patterns, > Structural Patterns, Behavioral\n patterns)\n\n" 0 387 ... 387 388 ... > 388 390 ... 390 394 ... 394 395 ... 395 424 ... 424 425 ... 425 426 ... 426 > 430 ... 430 431 ... 431 460 ... 460 461 ... 461 462 ... 462 813 ...)) > (subcontent)) ((pos . 1176) (level . 2) (occur . 3) (heading . #(" Abstract > Factory (Erzeugungsmuster)" 1 36 ...)) (content . #("\n\n > [[./abstract-factory.png][./abstract-factory.png]]\n\n" 0 2 ... 2 5 ... 5 7 > ... 7 29 ... 29 31 ... 31 53 ... 53 55 ... 55 57 ...)) (subcontent)) ((pos . > 1272) (level . 2) (occur . 4) (heading . #(" Composite Pattern > (Strukturmuster)" 1 35 ...)) (content . #("\n\n > [[./composite-pattern.png][./composite-pattern.png]]\n\n - Beispiele:\n > - MenuItem (Component), Entry (Leaf), Menu (Composite)\n - FSItem > (Component), File (Leaf), Directory (Composite)\n\n" 0 2 ... 2 5 ... 5 7 ... > 7 30 ... 30 32 ... 32 55 ... 55 57 ... 57 198 ...)) (subcontent)) ((pos . > 1508) (level . 2) (occur . 5) (heading . #(" Visitor Pattern > (Verhaltensmuster)" 1 35 ...)) (content . #("\n\n > [[./visitor-pattern.png][./visitor-pattern.png]]\n\n" 0 2 ... 2 5 ... 5 7 ... > 7 28 ... 28 30 ... 30 51 ... 51 53 ... 53 55 ...)) (subcontent)) ((pos . > 1601) (level . 2) (occur . 6) (heading . #(" Visitor Pattern > (Verhaltensmuster)" 1 35 ...)) (content . #("\n\n - Trennt Datenmodell von > darauf arbeitenden Algorithmen (Prinzip: /Trennung der Belange/)\n - > simuliert Double-Dispatching\n - Typische Anwendungen:\n - Export von > Datenmodellen\n - Pretty Printer\n - Compiler\n\n" 0 232 ...)) > (subcontent)) ((pos . 1871) (level . 2) (occur . 7) (heading . #(" Visitor > Pattern (Verhaltensmuster)" 1 35 ...)) (content . #("\n\n > [[./visitor-pattern-concrete.png][./visitor-pattern-concrete.png]]\n\n" 0 2 > ... 2 5 ... 5 7 ... 7 37 ... 37 39 ... 39 69 ... 69 71 ... 71 72 ... 72 73 > ...)) (subcontent)) ((pos . 1982) (level . 2) (occur . 8) (heading . #(" > Prinzipien berücksichtigen!" 1 28 ...)) (content . #("\n\n - Auch bei > kleinen Systemen müssen die Prinzipien der Softwaretechnik\n > berücksichtigt werden!\n\n - Ständig die \"interne\" Qualität des Codes > sicherstellen, ohne die\n Schnittstelle zu ändern oder neue Features > einzubauen => *Refactoring*\n\n - /Refactoring: Improving the Design of > Existing Code/, Martin Fowler,\n Kent Beck, John Brant, and William > Opdyke, 1999\n\n" 0 1 ... 1 236 ... 236 249 ... 249 258 ... 258 310 ... 310 > 383 ...)) (subcontent)) ((pos . 2396) (level . 2) (occur . 9) (heading . #(" > Exkurs: Vom Klassendiagramm zum Code" 1 37 ...)) (content . #("\n\n\n\n" 0 1 > ... 1 4 ...)) (subcontent)))) > org-export-latex-sub((((pos . 21) (level . 2) (occur . 1) (heading . #(" > Situation" 1 10 ...)) (content . #("\n\n - Zu erstellendes System ist nach > /Analyse/ und /Entwurf/ hinreichend\n spezifiziert\n - Aufgabe der > *Implementationsphase*: Programmierung des spezifizierten\n Entwurfs in > der festgelegten Zielsprache\n - *Programmieren im Kleinen*\n - Heute > immer öfter: Einsatz von *Generierungstechniken*\n\n" 0 1 ... 1 39 ... 39 48 > ... 48 53 ... 53 62 ... 62 110 ... 110 132 ... 132 214 ... 214 311 ...)) > (subcontent)) ((pos . 345) (level . 2) (occur . 2) (heading . #(" > Implementieren" 1 15 ...)) (content . #("\n\n - *Implementieren* i.e. S. > umfasst /Entwerfen/ i.w.S., /Programmieren/ und\n /Validieren/ eines (im > allgemeinen nicht weiter zerlegten) Bausteins.\n\n - *Programmierung im > Kleinen* (Programming in the small) vgl. die\n Vorlesungen:\n - > Objekt-orientierte Programmierung und Modellierung\n - Algorithmen & > Datenstrukturen\n - Programmierung\n\n - *Coding Styles*, z.B. > [[http://java.sun.com/docs/codeconv/][http://java.sun.com/docs/codeconv/]]\n\n > - Beim Implementieren dienen *Design Patterns* zur Anpassung des Entwurfs > an\n technische Randbedingungen\n - /Design Patterns: Elements of > Reusable Object-Oriented Software/, Erich\n Gamma, Richard Helm, Ralph > Johnson, John M. Vlissides, 1994\n - 23 Patterns (Creational Patterns, > Structural Patterns, Behavioral\n patterns)\n\n" 0 387 ... 387 388 ... > 388 390 ... 390 394 ... 394 395 ... 395 424 ... 424 425 ... 425 426 ... 426 > 430 ... 430 431 ... 431 460 ... 460 461 ... 461 462 ... 462 813 ...)) > (subcontent)) ((pos . 1176) (level . 2) (occur . 3) (heading . #(" Abstract > Factory (Erzeugungsmuster)" 1 36 ...)) (content . #("\n\n > [[./abstract-factory.png][./abstract-factory.png]]\n\n" 0 2 ... 2 5 ... 5 7 > ... 7 29 ... 29 31 ... 31 53 ... 53 55 ... 55 57 ...)) (subcontent)) ((pos . > 1272) (level . 2) (occur . 4) (heading . #(" Composite Pattern > (Strukturmuster)" 1 35 ...)) (content . #("\n\n > [[./composite-pattern.png][./composite-pattern.png]]\n\n - Beispiele:\n > - MenuItem (Component), Entry (Leaf), Menu (Composite)\n - FSItem > (Component), File (Leaf), Directory (Composite)\n\n" 0 2 ... 2 5 ... 5 7 ... > 7 30 ... 30 32 ... 32 55 ... 55 57 ... 57 198 ...)) (subcontent)) ((pos . > 1508) (level . 2) (occur . 5) (heading . #(" Visitor Pattern > (Verhaltensmuster)" 1 35 ...)) (content . #("\n\n > [[./visitor-pattern.png][./visitor-pattern.png]]\n\n" 0 2 ... 2 5 ... 5 7 ... > 7 28 ... 28 30 ... 30 51 ... 51 53 ... 53 55 ...)) (subcontent)) ((pos . > 1601) (level . 2) (occur . 6) (heading . #(" Visitor Pattern > (Verhaltensmuster)" 1 35 ...)) (content . #("\n\n - Trennt Datenmodell von > darauf arbeitenden Algorithmen (Prinzip: /Trennung der Belange/)\n - > simuliert Double-Dispatching\n - Typische Anwendungen:\n - Export von > Datenmodellen\n - Pretty Printer\n - Compiler\n\n" 0 232 ...)) > (subcontent)) ((pos . 1871) (level . 2) (occur . 7) (heading . #(" Visitor > Pattern (Verhaltensmuster)" 1 35 ...)) (content . #("\n\n > [[./visitor-pattern-concrete.png][./visitor-pattern-concrete.png]]\n\n" 0 2 > ... 2 5 ... 5 7 ... 7 37 ... 37 39 ... 39 69 ... 69 71 ... 71 72 ... 72 73 > ...)) (subcontent)) ((pos . 1982) (level . 2) (occur . 8) (heading . #(" > Prinzipien berücksichtigen!" 1 28 ...)) (content . #("\n\n - Auch bei > kleinen Systemen müssen die Prinzipien der Softwaretechnik\n > berücksichtigt werden!\n\n - Ständig die \"interne\" Qualität des Codes > sicherstellen, ohne die\n Schnittstelle zu ändern oder neue Features > einzubauen => *Refactoring*\n\n - /Refactoring: Improving the Design of > Existing Code/, Martin Fowler,\n Kent Beck, John Brant, and William > Opdyke, 1999\n\n" 0 1 ... 1 236 ... 236 249 ... 249 258 ... 258 310 ... 310 > 383 ...)) (subcontent)) ((pos . 2396) (level . 2) (occur . 9) (heading . #(" > Exkurs: Vom Klassendiagramm zum Code" 1 37 ...)) (content . #("\n\n\n\n" 0 1 > ... 1 4 ...)) (subcontent)))) > org-export-latex-subcontent(((pos . 2) (level . 1) (occur . 1) (heading . > #(" Implementieren" 1 15 ...)) (content . #("\n\n" 0 1 ... 1 2 ...)) > (subcontent (... ... ... ... ... ... ... ... ...))) t) > #[(x) "\302 \"\207" [x num org-export-latex-subcontent] 3](((pos . > 2) (level . 1) (occur . 1) (heading . #(" Implementieren" 1 15 ...)) (content > . #("\n\n" 0 1 ... 1 2 ...)) (subcontent (... ... ... ... ... ... ... ... > ...)))) > mapc(#[(x) "\302 \"\207" [x num org-export-latex-subcontent] 3] (((pos . > 2) (level . 1) (occur . 1) (heading . #(" Implementieren" 1 15 ...)) (content > . #("\n\n" 0 1 ... 1 2 ...)) (subcontent ...)) ((pos . 2440) (level . 1) > (occur . 2) (heading . #(" Integrieren" 1 12 ...)) (content . #("\n\n" 0 1 > ... 1 2 ...)) (subcontent)) ((pos . 2456) (level . 1) (occur . 3) (heading . > #(" Installieren" 1 13 ...)) (content . #("\n\n" 0 1 ... 1 2 ...)) > (subcontent ...)))) > org-export-latex-sub((((pos . 2) (level . 1) (occur . 1) (heading . #(" > Implementieren" 1 15 ...)) (content . #("\n\n" 0 1 ... 1 2 ...)) (subcontent > ...)) ((pos . 2440) (level . 1) (occur . 2) (heading . #(" Integrieren" 1 12 > ...)) (content . #("\n\n" 0 1 ... 1 2 ...)) (subcontent)) ((pos . 2456) > (level . 1) (occur . 3) (heading . #(" Installieren" 1 13 ...)) (content . > #("\n\n" 0 1 ... 1 2 ...)) (subcontent ...)))) > org-export-latex-global((((... ... ... ... ... ...) (... ... ... ... ... > ...) (... ... ... ... ... ...)))) > org-export-as-latex(nil nil nil nil nil nil) > org-export-as-pdf(nil) > call-interactively(org-export-as-pdf nil nil) > > Emacs : GNU Emacs 24.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1) > of 2010-06-29 on thinkpad > Package: Org-mode version 6.36trans (release_6.36.509.g9e9b) > > current state: > ============== > (setq > org-log-done 'time > org-archive-default-command 'org-archive-set-tag > org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars) > org-link-frame-setup '((vm . vm-visit-folder) (gnus . org-gnus-no-new-news) > (file . find-file-other-window)) > org-special-ctrl-a/e 'reversed > org-agenda-files '("/home/horn/repos/org") > org-agenda-include-diary t > org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent) > org-gnus-prefer-web-links t > org-fontify-whole-heading-line t > org-metaup-hook '(org-babel-load-in-session-maybe) > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-attach-directory "/home/horn/repos/org/attachments" > org-special-ctrl-k t > org-agenda-time-leading-zero t > org-export-blocks-postblock-hook '(org-exp-res/src-name-cleanup) > org-agenda-restore-windows-after-quit t > org-export-latex-format-toc-function 'org-export-latex-format-toc-default > org-export-preprocess-hook '(org-export-blocks-preprocess) > org-tab-first-hook '(org-hide-block-toggle-maybe > org-babel-hide-result-toggle-maybe) > org-src-mode-hook '(org-src-mode-configure-edit-buffer) > org-finalize-agenda-hook '(th-org-agenda-to-appt) > org-confirm-shell-link-function 'yes-or-no-p > org-export-first-hook '(org-beamer-initialize-open-trackers) > org-todo-keywords '((sequence "TODO(t)" "STARTED(s)" "DELEGATED(g)" > "IDEA(i)" "|" "DONE(d)" "CANCELLED(c)")) > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-directory "/home/horn/repos/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-preprocess-before-normalizing-links-hook > '(org-remove-file-link-modifiers) > org-mode-hook '(th-org-mode-init > #[nil "\300\301\302\303\304$\207" > [org-add-hook change-major-mode-hook org-show-block-all > append local] 5] > #[nil "\300\301\302\303\304$\207" > [org-add-hook change-major-mode-hook > org-babel-show-result-all append local] 5] > org-babel-result-hide-spec org-babel-hide-all-hashes) > org-refile-targets '((org-agenda-files :maxlevel . 5)) > org-ctrl-c-ctrl-c-hook '(org-babel-lob-execute-maybe org-babel-hash-at-point > org-babel-execute-src-block-maybe) > org-complete-tags-always-offer-all-agenda-tags t > org-return-follows-link t > org-confirm-elisp-link-function 'yes-or-no-p > org-refile-use-outline-path 'file > org-log-into-drawer "LOGBOOK" > org-icalendar-categories '(all-tags category) > org-agenda-mode-hook '(th-org-agenda-mode-init) > org-export-interblocks '((lob org-babel-exp-lob-one-liners) (src > org-babel-exp-inline-src-blocks)) > org-enforce-todo-dependencies t > org-refile-allow-creating-parent-nodes 'confirm > org-occur-hook '(org-first-headline-recenter) > org-icalendar-include-body t > org-agenda-skip-additional-timestamps-same-entry nil > org-export-preprocess-before-selecting-backend-code-hook > '(org-beamer-select-beamer-code) > org-modules '(org-attach org-protocol org-id org-bbdb org-bibtex org-docview > org-gnus org-info org-jsinfo org-irc > org-w3m) > org-columns-default-format "%50ITEM %TODO %ALLTAGS %SCHEDULED %DEADLINE" > outline-minor-mode-hook '(th-outline-minor-mode-init) > 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-metadown-hook '(org-babel-pop-to-session-maybe) > org-attach-method 'mv > 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
_______________________________________________ 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