Browse Source

Optional \caption argument for LaTeX export

Aloha all,

The attached patch initializes the existing variable shortn, adds it to
two caption situations in addition to the one already coded, and adds
some description to the manual.

With this patch, #+CAPTION: [Short caption]{Long caption.} in the
Org-mode source exports to \caption[Short caption]{Long caption.} in the
LaTeX export, which is, I think, as it should be.

Many thanks to Nick Dokos who made me understand why earlier patches
hadn't shown up on the patchwork server (wrong mime type, evil mail
client).  This one sent with gnus and fingers crossed.

All the best,
Tom

>From 9dc65f7e598dd171ebce9448cd39c4062f7cafff Mon Sep 17 00:00:00 2001
From: Tom Dye <tsd@tsdye.com>
Date: Sun, 8 May 2011 06:56:25 -1000
Subject: [PATCH] optional caption arguments in LaTeX export
Thomas S. Dye 14 years ago
parent
commit
cd05598dcd
3 changed files with 8 additions and 3 deletions
  1. 5 0
      doc/org.texi
  2. 1 1
      lisp/org-exp.el
  3. 2 2
      lisp/org-latex.el

+ 5 - 0
doc/org.texi

@@ -8817,6 +8817,11 @@ the object with @code{\ref@{tab:basic-data@}}:
    |-----|----|
 @end example
 
+Optionally, the caption can take the form:
+@example
+#+CAPTION: [Caption for list of figures]{Caption for table (or link).}
+@end example
+
 @cindex inlined images, markup rules
 Some backends (HTML, @LaTeX{}, and DocBook) allow you to directly include
 images into the exported document.  Org does this, if a link to an image

+ 1 - 1
lisp/org-exp.el

@@ -1871,7 +1871,7 @@ table line.  If it is a link, add it to the line containing the link."
 				   'org-label label))
 	(if label (push (cons label label) target-alist))
 	(goto-char end)
-	(setq cap nil attr nil label nil)))))
+	(setq cap nil shortn nil attr nil label nil)))))
   target-alist)
 
 (defun org-export-remove-comment-blocks-and-subtrees ()

+ 2 - 2
lisp/org-latex.el

@@ -2199,12 +2199,12 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
 	   (multicolumnp "\\begin{figure*}%placement
 \\centering
 \\includegraphics[%attr]{%path}
-\\caption{%labelcmd%caption}
+\\caption%shortn{%labelcmd%caption}
 \\end{figure*}")
 	   (floatp "\\begin{figure}%placement
 \\centering
 \\includegraphics[%attr]{%path}
-\\caption{%labelcmd%caption}
+\\caption%shortn{%labelcmd%caption}
 \\end{figure}")
 	   (t "\\includegraphics[%attr]{%path}")))