Commit Graph

273 Commits

Author SHA1 Message Date
Rasmus 18dff8d3fa ox-latex: Fix typo
* lisp/ox-latex.el (org-latex-compiler-file-string): Fix typo.

Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/104836>
2016-02-06 15:52:29 +01:00
Alan Schmitt 06a1fea109 ox-latex.el: Fix minted inline
* lisp/ox-latex.el (org-latex-inline-src-block): Output minted code that
  correctly formats code inline.
2016-02-06 09:48:44 +01:00
Nicolas Goaziou 094f46c203 Merge branch 'maint' 2016-01-31 23:32:07 +01:00
Nicolas Goaziou 3aa355c037 ox-latex: Fix numbering of source blocks
* lisp/ox-latex.el (org-latex-src-block): Fix numbering reset on source
  blocks when using the listings package.

Reported-by: P-O Gustafsson <kullager@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104650>
2016-01-31 23:30:49 +01:00
Nicolas Goaziou 4ebb6cea39 ox-latex: Use `cl-subseq' instead of `org-sublist'
* lisp/ox-latex.el (org-latex-compile): Use `cl-subseq' instead of
  `org-sublist'.
2016-01-26 23:05:04 +01:00
Nicolas Goaziou 03cbcf41ed Merge branch 'maint' 2016-01-26 23:03:11 +01:00
Anthony Cowley a37996910e ox-latex: PDF generation timestamp check
* lisp/ox-latex.el (org-latex-compile): Improve timestamp check on HFS+
  filesystem by only considering 1-second clock resolution.

Previously, the call to (current-time) could return a timestamp with
a non-zero microsecond or picosecond fields, while the file attribute
always has zeros for these fields.  The check that the generated file is
newer than the reference timestamp only succeeded when the time to
generate the file crossed a 1-second clock interval.

TINYCHANGE
2016-01-26 23:02:21 +01:00
Alan Schmitt 4fe777fdae ox-latex: Add option support to custom environment
* lisp/ox-latex.el (org-latex-src-block): make the options from
  attr_latex available to the custom environment using %o.
2016-01-16 15:09:10 +01:00
Kyle Meyer 6345de2d05 Merge branch 'maint' 2016-01-09 17:43:27 -05:00
Kyle Meyer 6bc48c5f41 Update copyright years 2016-01-09 17:12:03 -05:00
Nicolas Goaziou 54318add34 Change export block syntax
* lisp/org-element.el (org-element-export-block-parser):
(org-element--current-element): Use new syntax for export blocks.
(org-element-block-name-alist): Remove.

* lisp/ox.el (org-export-register-backend):
(org-export-define-derived-backend): Remove :export-block keyword from
back-end's definition.
(org-export-expand-include-keyword): Use new syntax for include
keywords.

* lisp/ox-ascii.el (ascii):
* lisp/ox-beamer.el (beamer):
* lisp/ox-html.el (html):
* lisp/ox-latex.el (latex):
(org-latex-prefer-user-labels):
* lisp/ox-man.el (man):
* lisp/ox-md.el (md):
* lisp/ox-odt.el (odt):
* lisp/ox-texinfo.el (texinfo): Propagate changes to "ox.el".

* lisp/ob-core.el (org-babel-insert-result):
* lisp/ob-haskell.el (org-babel-haskell-export-to-lhs): Use new syntax.

* lisp/org.el (org-structure-template-alist): Use new syntax.
(org-protecting-blocks): Add "export" to protected blocks.  Remove
  back-ends blocks, which are now special blocks.
(org-fontify-meta-lines-and-blocks-1): Fontify correctly new blocks.

* lisp/org-footnote.el (org-footnote-forbidden-blocks):
* lisp/org-list.el (org-list-forbidden-blocks): Add "export" to
  forbidden blocks.  Remove back-ends blocks, which are now special
  blocks.

* contrib/lisp/ox-extra.el: Update comments.

* testing/lisp/test-org-element.el (test-org-element/export-block-parser):
(test-org-element/export-block-interpreter):
* testing/lisp/test-ob.el (test-ob/org-babel-remove-result--results-html):
(test-ob/org-babel-remove-result--results-latex):
* testing/lisp/test-ox.el (test-org-export/expand-include): Update tests.

Export blocks are explicitly marked as such at the syntax level to
disambiguate their parsing from special blocks.  The new syntax is

  #+BEGIN_EXPORT backend
  ...
  #+END_EXPORT

instead of

  #+BEGIN_backend
  ...
  #+END_backend

As a consequence, =INCLUDE= keywords syntax is modified, e.g.,

  #+INCLUDE: "file.org" HTML

becomes

  #+INCLUDE: "file.org" export html
2015-12-20 21:56:27 +01:00
Kyle Meyer f57778090e Update for change in letrec behavior
* lisp/ox-latex.el (org-latex--delayed-footnotes-definitions):
* lisp/ox.el (org-export--selected-trees):
(org-export--prune-tree):
(org-export--merge-external-footnote-definitions):
(org-export--footnote-reference-map): Provide nil value for binders.

Using

  (letrec ((SYMBOL)) ...)

to bind SYMBOL to nil relies on (setq SYMBOL) setting SYMBOL to nil.  As
of 5d93a89 (Byte compiler: on setq with an odd number of arguments,
generate a `signal', 2015-11-26) in the Emacs repo, setq signals an
error when given an odd number of arguments.

Reported-by: Zack Piper <zack@apertron.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/103539>
<http://permalink.gmane.org/gmane.emacs.devel/196182>
2015-12-12 22:46:24 -05:00
Alan Schmitt b2eb53f27d ox-latex: Make org-latex-custom-lang-environments a defcustom
* ox-latex.el (org-latex-custom-lang-environments): Change from defvar
  into a defcustom.
2015-12-01 09:16:06 +01:00
Alan Schmitt 2aa80849da ox-latex: Extend custom-lang-environments
* ox-latex.el (org-latex-custom-lang-environments): Extend the
  documentation string.
* ox-latex.el (org-latex-src-block): Allow a custom language environment
  to be a format string to be directly inserted.
2015-11-30 12:59:12 +01:00
Nicolas Goaziou cdfc96f47c ox-latex: Do not merge consecutive $$...$$
* lisp/ox-latex.el (org-latex-latex-fragment): Since $$..$$ snippets are
  not wrapped within a math-block, do not remove markers.
(org-latex--wrap-latex-math-block): Do not wrap $$...$$ LaTeX snippets.
2015-11-06 23:01:03 +01:00
Nicolas Goaziou a274c21419 ox-latex: Fix "void function nil" error
* lisp/ox-latex.el (org-latex--delayed-footnotes-definitions): Fix "void
  function nil" error.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102477>
2015-11-02 20:58:50 +01:00
Nicolas Goaziou 8bccb21313 ox-latex: Use lexical binding
* lisp/ox-latex.el (org-latex-format-drawer-function):
(org-latex-bold):
(org-latex-clock):
(org-latex-code):
(org-latex-entity):
(org-latex-example-block):
(org-latex-export-block):
(org-latex-export-snippet):
(org-latex-fixed-width):
(org-latex-footnote-reference):
(org-latex-format-headline-default-function):
(org-latex-horizontal-rule):
(org-latex-inline-src-block):
(org-latex-format-inlinetask-default-function):
(org-latex-italic):
(org-latex-keyword):
(org-latex-latex-environment):
(org-latex-latex-fragment):
(org-latex-line-break):
(org-latex-node-property):
(org-latex-paragraph):
(org-latex-planning):
(org-latex-property-drawer):
(org-latex-matrices):
(org-latex-matrices-tree-filter):
(org-latex-math-block-tree-filter):
(org-latex-math-block-options-filter):
(org-latex-math-block):
(org-latex-section):
(org-latex-src-block):
(org-latex-statistics-cookie):
(org-latex-strike-through):
(org-latex--script-size):
(org-latex-subscript):
(org-latex-superscript):
(org-latex-target):
(org-latex-timestamp):
(org-latex-underline):
(org-latex-verbatim):
(org-latex-compile): Silence byte-compiler.  Refactor `mapc' + `lambda'
into `dolist'.
2015-10-29 19:08:26 +01:00
Marco Wahl ca8a0234fc ox-latex: Fix typo in docstring 2015-10-26 21:38:04 +01:00
Rasmus 385f2381f9 ox-latex: Add mapping for R src blocks with minted
* ox-latex.el (org-latex-listings-langs): Add mapping for R.
2015-10-26 15:39:52 +01:00
Rasmus 002499b26b ox-latex: Small refactor
* ox-latex.el (org-latex--make-preamble): Renamed
org-latex--make-header.
(org-latex--insert-compiler): New function.
(org-latex-template):
* ox-koma-letter.el: Use new function.
2015-10-04 15:54:28 +02:00
Rasmus 45b01819e0 Improve docstrings regarding latex_compiler
* org.el (org-latex-default-packages-alist):
* ox-latex.el (org-latex-compiler, org-latex-compilers)
  (org-latex-compiler-file-string, org-latex-bib-compiler)
  (org-latex--remove-packages): Improve docstring wrt. latex_compiler.
2015-10-04 15:54:21 +02:00
Rasmus 679adcaa64 ox-latex: Fix typo in 1e4b7e4bec
* ox-latex.el (org-latex--remove-packages): Fix typo.
2015-09-29 19:39:01 +02:00
Rasmus f6187deca5 ox-latex: Small refactor
* ox-latex.el (org-latex-compile): Use format-spec.
2015-09-27 23:49:32 +02:00
Rasmus 74da3bc10f ox-latex: Support arbitrary bibtex-like program
* ox-latex.el (org-latex-bib-compiler): New defcustom.
  (org-latex-pdf-process): Update docstring.
  (org-latex-compile): Use new defcustom.
* org.texi (@LaTeX{} and PDF export): Add documentation.
2015-09-27 23:49:32 +02:00
Rasmus 1e4b7e4bec ox-latex: Support changable TeX compilers
* org.el (org-latex-default-packages-alist): Only use inputenc
and fontenc in pdftex.
* ox-latex.el (latex): Add :latex-compiler.
(org-latex-compiler): New defcustom.
(org-latex-compilers): New defconst.
(org-latex--remove-packages): New function.
(org-latex-template): Use new function and variables.
(org-latex-pdf-process): Update to use %latex shorthand.
(org-latex-compile): Check and use intended compiler.
* org.texi (@LaTeX{} and PDF export): Document changes.
* ORG-NEWS: Add entry.

Adds #+latex_compiler: keyword.

Note, rubber is dropped from `org-latex-pdf-process' since it does not
allow arbitrary latex commands.

Suggested-by: Suvayu Ali <fatkasuvayu+linux@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/98921>
2015-09-27 23:49:32 +02:00
Paul Eggert c86a10b0bc Backport commit 284c470 from Emacs master branch
Backslash cleanup in Elisp source files
284c470ef752967fcd8bae6a450dc138462b1e49
Paul Eggert
Thu Sep 17 16:09:39 2015 -0700
2015-09-21 18:38:39 -04:00
Kyle Meyer 0839dc4322 Protect remaining apostrophes in docstrings
Protect apostrophes not covered by the last backport.  Convert
expressions like '(...)  to \\='(...)  and symbols written as 'name to
`name'.  (In addition to ensuring the correct display, the latter also
improves consistency with many Org docstrings.)

If these aren't protected, Emacs 25 may display them as curved quotes in
the help buffer, depending on the value of text-quoting-style.
2015-09-21 18:38:39 -04:00
Kyle Meyer d77a52a502 Backport quote-related commits from Emacs
These changes are the combination of the commits below (in order
applied).  Unlike other backports, these are applied in one commit
because they are closely related and because some of the later commits
reverse changes in earlier commits.  Changes to message and help quote
display for Emacs 25 seem to be here to stay.  The quote protections are
required to ensure grave accents and apostrophes are displayed as
intended in Emacs 25, and they should not affect earlier versions.

  Quoting fixes in lisp/org
  6cd2629bd1b3ce77d29ac28e29237c94a4197116
  Paul Eggert
  Mon Aug 31 00:29:40 2015 -0700

  More-conservative ‘format’ quote restyling
  fbb5531fa11d13854b274d28ccd329c9b6652cfc
  Paul Eggert
  Sun Aug 23 22:39:06 2015 -0700

  Prefer directed to neutral quotes
  875a5d0ead827d3da32ecbd30e739a29f07bbc87
  Paul Eggert
  Mon Aug 24 23:57:25 2015 -0700

  Escape ` and ' in doc
  19532d147b431a4fe34f088d6de07891c48e2c5c
  Paul Eggert
  Tue Sep 1 18:23:21 2015 -0700

  Fix some more docstring etc. quoting problems
  26bd978d87dfbf9baa115cd961a67d42b416c4bf
  Paul Eggert
  Thu Sep 3 15:32:54 2015 -0700

  Go back to grave quoting in source-code docstrings etc.
  6afef3f6ca2f3009c722b84e249903b7f807b044
  Paul Eggert
  Mon Sep 7 16:09:27 2015 -0700
2015-09-21 18:38:18 -04:00
Nicolas Goaziou f9f35bc79b ox-latex: Allow nil for `org-latex-hyperref-template'
* lisp/ox-latex.el (org-latex-hyperref-template): Allow nil value.  Make
  `org-latex-with-hyperref' an obsolete alias for the variable.

<http://permalink.gmane.org/gmane.emacs.orgmode/100222>
2015-08-19 16:51:07 +02:00
Nicolas Goaziou aa7dfd54de Revert "ox-latex.el: Resurrect `org-latex-with-hyperref'"
This reverts commit 6f41105bd9.
2015-08-19 16:45:01 +02:00
Bastien 6f41105bd9 ox-latex.el: Resurrect `org-latex-with-hyperref'
* ox-latex.el (latex): Resurrect :latex-hyperref-p.
(org-latex-with-hyperref): Resurrect.
(org-latex-template): Use :latex-hyperref-p.

* org.texi (Beamer specific export settings)
(@LaTeX{} specific export settings): Mention both
`org-latex-hyperref-template' and `org-latex-with-hyperref'.

Thanks to Scott Randby for raising this issue.
2015-08-18 19:23:34 +02:00
Paul Eggert 3a81c7ee6f Backport commit 0c856a2 from Emacs master branch
* lisp/ob-core.el (org-babel-check-evaluate)
(org-babel-confirm-evaluate):
* lisp/ob-fortran.el (org-babel-fortran-var-to-fortran):
* lisp/ox-latex.el (org-latex-compile):
* lisp/ox-man.el (org-man-compile):
* lisp/ox-odt.el (org-odt-template):
* lisp/ox-texinfo.el (org-texinfo-compile):
Change (message (format ...)) to (message ...), and likewise
for ‘error’.  This lessens the probability of confusion when the
output of ‘format’ contains ‘%’.

Fix some confusion with ‘format’
0c856a2c459016f1f9cce173f5b2b49be36e3452
Paul Eggert
Wed Aug 5 19:07:28 2015 -0700
2015-08-05 23:29:43 -04:00
Nicolas Goaziou 4117e398e6 ox-latex: Tiny refactoring
* lisp/ox-latex.el (org-latex-guess-polyglossia-language): Tiny
  reactoring.
2015-08-02 09:50:45 +02:00
Rasmus 8d3bc7875f ox-latex: New function to generate header
* ox-latex.el (org-latex--make-header): New function.
  (org-latex-template): Use new function.
* ox-koma-letter.el (org-koma-letter-template): Use new function.
2015-07-31 14:12:50 +02:00
Rasmus 309f15887a Add notes on Polyglossia support
* ox-latex.el (org-latex-classes): Update docstring.
* ORG-NEWS: Update.
2015-07-31 14:12:35 +02:00
Rasmus 3f03986bb2 ox-latex: Add polyglossia support
* ox-latex.el (org-latex-guess-polyglossia-language): New function.
  (org-latex-polyglossia-language-alist): New defconst.
  (org-latex-template): Apply new function.
* ox-koma-letter.el (org-koma-letter-template): Apply new function.

Suggested-by: Suvayu Ali <fatkasuvayu+linux@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/98921>
2015-07-29 18:17:36 +02:00
Rasmus c4a913770d Update minted documentation.
* ox-latex.el (org-latex-listings):
* org.texi (Literal examples): Update minted documentation.
2015-07-03 13:42:21 +01:00
Rasmus 46a71bb93f ox-latex: Support captions for none-floats
* ox-latex.el (org-latex--caption/label-string): Format
  nonfloating captions using the capt-of package.
  (org-latex--inline-image, org-latex-src-block)
  (org-latex--org-table): Allow none-float and caption.
2015-07-03 13:42:03 +01:00
Nicolas Goaziou 5a5e4a5eee ox-latex: Fix backslash escaping in plain text
* lisp/ox-latex.el (org-latex-plain-text): Fix backslash escaping.
2015-06-26 09:50:22 +02:00
Nicolas Goaziou 66686f69a5 ox-latex: Remove useless call to `org-latex--wrap-latex-math-block'
* lisp/ox-latex.el (org-latex-footnote-reference): Remove call to
  `org-latex--wrap-latex-math-block' since definitions are already
  taken care of at the filter parse tree level, since
  47265b31ca.
2015-06-23 15:31:09 +02:00
Nicolas Goaziou 8ff31bd0cf ox-latex: Introduce :environment attribute for example blocks
* lisp/ox-latex.el (org-latex-example-block): Implement :environment
  attribute, which allows to override "verbatim" environment.
* doc/org.texi (@LaTeX{} specific attributes): Document change.
2015-06-23 08:43:07 +02:00
Nicolas Goaziou c532ff36aa ox-latex: Fix b8ade2e79e
* lisp/ox-latex.el (org-latex-inline-src-block): Fix
  b8ade2e79e.
2015-06-07 15:18:38 +02:00
Nicolas Goaziou b8ade2e79e ox-latex: Do not use \verb command anymore
* lisp/ox-latex.el (org-latex-text-markup-alist): Remove \verb from
  default value.
(org-latex--protect-text): New function.
(org-latex--text-markup):
(org-latex-inline-src-block): Use new function.

Suggested-by: Titus von der Malsburg <malsburg@posteo.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/98000>
2015-06-07 01:13:51 +02:00
Rasmus 34a3cd5467 ox-latex: Use standard LaTeX label prefixes
* ox-latex.el (org-latex--label): Use standard LaTeX prefixes.
  (org-latex-math-environments-re): New defconst.
2015-04-28 00:05:37 +02:00
Nicolas Goaziou 88ea2ced0e ox-latex: Allow alt titles in starred sectionning commands
* lisp/ox-latex.el (org-latex-headline): Allow alt titles in starred
  sectionning commands.

Reported-by: Vikas Rawal <vikaslists@agrarianresearch.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/97242>
2015-04-27 17:43:18 +02:00
Rasmus d13a2bb1c7 ox-latex: Fix footnote bug when narrowed buffer
* ox-latex.el (org-latex-footnote-reference): Support math in outside
  footnotes when narrowed.
2015-04-26 15:42:12 +02:00
Nicolas Goaziou e0567c9cac Export back-ends: Use `org-export-file-uri'
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-md.el (org-md-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-texinfo.el (org-texinfo-link): Use `org-export-file-uri'.
2015-04-20 12:37:13 +02:00
Nicolas Goaziou 3d4a153105 ox-latex: Tiny refactoring
* lisp/ox-latex.el (org-latex--label): Tiny refactoring.
2015-04-19 15:42:39 +02:00
Nicolas Goaziou 88108f652f ox-latex: Fix f1548e11fe
* lisp/ox-latex.el (org-latex-prefer-user-labels): Fix docstring.
(org-latex--label): Fix docstring.  Do not add a spurious newline
character when generating "\\label" macro for a target.
(org-latex-link):
(org-latex-radio-target): Radio targets always use internal labelling
scheme.

Radio targets are visible in the document so they can contain
forbidden characters, and user cannot adapt them to naming
restrictions from a given back-end.
2015-04-19 15:16:52 +02:00
Rasmus f1548e11fe ox-latex: Accept user-label for more types
* ox-latex.el (org-latex--label): Add user-labels for targets.
(org-latex--wrap-label, org-latex-link, org-latex-target)
(org-latex-radio-target): Use org-latex--label.
2015-04-16 12:07:49 +02:00