emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch] ox-latex.el: Add `LATEX_PRE_HEADER' keyword


From: Max Nikulin
Subject: Re: [patch] ox-latex.el: Add `LATEX_PRE_HEADER' keyword
Date: Sun, 1 Oct 2023 23:02:38 +0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1

On 28/09/2023 22:36, AW wrote:

The idea to have a LATEX_PRE_HEADER to insert `\DocumentMetadata{}` is exactly
what you need right now, if you export from orgmode to current LaTeX. With
`\DocumentMetadata{}` you can add most of the necessary xmp data -- and I
write most, because I'm using it on a daily basis, but haven't checked if
really everything is included yet.

The question is if Juan Manuel can use \DocumentMetadata instead of the pdfx package in his workflow.

However there is a common part of \DocumentMetadata and .xmpdata usage. Currently Org mode allows to specify a very limited subset of metadata through keywords

#+language: en
#+author: Me
#+title: Statement

The advantage is that the same data are used by all export backends: LaTeX, HTML, etc. Specifying \DocumentMetadata literally without substitutions from Org keywords may cause diverged values. That is why I proposed to consider some kind of templates.

Another issue is extended metadata. I would consider an approach similar to header arguments for source code blocks:

#+property: header-args :eval never-export
for all languages
#+property: header-args:elisp :exports both :eval yes
overrides for emacs-lisp

Perhaps it is not reasonable to require to specify all metadata through Org keywords and it may be more convenient to combine raw LaTeX code and fragments generated by Org

#+name: preamble
#+begin_src latex :exports none :noweb yes
\DocumentMetadata{
  pdfstandard = a-2b
  <<ox-latex-template-document-metadata-entries>>
}
<<ox-latex-template-documentclass>>
<<ox-latex-template-usepackage>>
#+end_src

Access to keywords values during evaluation of source code blocks have to be implemented however.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]