emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: Alexander Gogl <gogl.alexander@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [FR] Please add custom command variable to org-latex-footnote-reference
Date: Wed, 17 Apr 2024 16:21:26 +0000	[thread overview]
Message-ID: <87o7a8arjt.fsf@localhost> (raw)
In-Reply-To: <m27cgw3wvx.fsf@gmail.com>

Alexander Gogl <gogl.alexander@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>


  parent reply	other threads:[~2024-04-17 16:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-30 14:00 [FR] Please add custom command variable to org-latex-footnote-reference Alexander Gogl
2023-12-08 22:16 ` Ihor Radchenko
     [not found]   ` <m2msuhdnt4.fsf@pc75-c847.uibk.ac.at>
     [not found]     ` <87y1chwmut.fsf@localhost>
     [not found]       ` <m25xzk8h8q.fsf@gmail.com>
     [not found]         ` <875xzig0jy.fsf@localhost>
     [not found]           ` <m27cgw3wvx.fsf@gmail.com>
2024-04-17 16:21             ` Ihor Radchenko [this message]
2024-04-17 19:32               ` Alexander Gogl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o7a8arjt.fsf@localhost \
    --to=yantar92@posteo.net \
    --cc=emacs-orgmode@gnu.org \
    --cc=gogl.alexander@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).