Alexander Gogl <gogl.alexan...@gmail.com> writes:

> I completed the patch (see attachment). Please let me know if I made any 
> mistake in the patch or if I should send the patch to another E-Mail-Address.

Thanks! We use Org mailing list (public) to send patches and discuss Org
mode development.

I added Org mailing list to CC in this email.
You can simply use "Reply All" to send the next version of the patch.

> Reason for patch
>
> Some LaTeX classes define their own footnote commands. For example, kaobook 
> (https://github.com/fmarotta/kaobook/blob/master/example_and_documentation.pdf)
>  has \footnotes and \sidenotes, whereby sidenotes (notes are put into the 
> outter margin) are the dominant form of putting notes in kaobook. It would be 
> great if you could make the footnote command in the footnote function 
> customizable. My proposal is in the attachment.

You can put this description in the commit message.
Also, if you can, please add changelog entries, as described in
https://orgmode.org/worg/org-contribute.html#commit-messages

> Subject: [PATCH] added option to customize latex footnote command in export

What about

ox-latex: New option to customize LaTeX footnote command

My version (1) clearly states which library the patch is changing; (2)
Uses imperative tone as we usually do in commit messages.

> +*** New option ~latex-default-footnote-command~
> +
> +This new option allows you to define the LaTeX command the  org-mode 
> footnotes are converted to (for example ~\\sidenote{%s%s}~).

We use "Org mode" to name Org mode.
Also, we fill the text to default `fill-column' value of 70.

> diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
> index 5c19e1fe7..b45d13ca2 100644
> --- a/lisp/ox-latex.el
> +++ b/lisp/ox-latex.el
> @@ -135,6 +135,9 @@
>      (:latex-default-table-environment nil nil 
> org-latex-default-table-environment)
>      (:latex-default-quote-environment nil nil 
> org-latex-default-quote-environment)
>      (:latex-default-table-mode nil nil org-latex-default-table-mode)
> +    ;; TODO implement options variable

May you explain the purpose of this TODO?

> +    (:latex-default-footnote-command "\\footnote{%s%s}" nil 
> org-latex-default-footnote-command)

"\\footnote{%s%s}" makes no sense in this context. The format of export
options is described in the docstring of `org-export-options-alist':

    The key of the alist is the property name, and the value is a list
    like (KEYWORD OPTION DEFAULT BEHAVIOR) where:
    
    KEYWORD is a string representing a buffer keyword, or nil.
    OPTION is a string that could be found in an #+OPTIONS: line.
    DEFAULT is the default value for the property.
    BEHAVIOR determines how Org should handle multiple keywords for

You placed "\\footnote{%s%s}" in KEYWORD slot, which is not right.
KEYWORD slot is what defines how to set the value locally. For example,
"AUTHOR" in (:author "AUTHOR" nil user-full-name parse) means that
:author export option can be set as

#+AUTHOR: value

> +(defcustom org-latex-default-footnote-command "\\footnote{%s%s}"
> +  "Default command used to insert footnotes.
> +  Customize this command if the LaTeX class provides a different notation 
> command like `\\sidenote{%s%s}' that you want to use."

Please explain what is the meaning of each %s in the value in the
docstring.

Also, please re-fill the docstring to avoid long lines.

> +  :group 'org-export-latex
> +  :version "24.4"  ;; FIXME enter correct version

:version is not needed. It is obsolete keyword we no longer use in the
new customizations.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Reply via email to