1

Using org-beamer (Emacs 27.1, Org mode 9.3).

I have one slide that does not use columns, and one bullet point has a footnote. The footnote exports with an Arabic-numeral numbering style (1).

Another slide uses columns to position a graphic to the right, and one bullet point has a footnote. The footnote exports with a lowercase letter numbering style (a).

Two things are surprising:

  1. Why does the numbering style change?
  2. Why does the footnote number reset to a?

I suppose the logic is to maintain separate footnote indices for columnar vs non-columnar output... but... to me at least, it seems undesirable. Is there a way to disable this feature?

EDIT: Adding an example:

#+LANGUAGE:  en
#+OPTIONS:   H:2 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:nil pri:nil tags:not-in-toc date:nil
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport

#+startup: beamer
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_THEME: default
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_act(Act) %4BEAMER_col(Col) %8BEAMER_opt(Opt)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.0 :ETC

* Section
** Example with bpm
*** Here, we already run into a /gotcha/.
    - We need to convert a beat value into ms.
    - I made an abstraction for that: =[tempo2ms]=.[fn:165f14b418382cff]

** Sync to barline
*** Left                                                              :BMCOL:
    :PROPERTIES:
    :BEAMER_col: 0.5
    :END:
**** How?
     - Subtract small value.[fn:f0c72cc12c9e6ae]
*** Right                                                             :BMCOL:
    :PROPERTIES:
    :BEAMER_col: 0.45
    :END:
    Here would be an image. Text should reproduce the issue.

* Footnotes

[fn:f0c72cc12c9e6ae] This footnote displays as "a".

[fn:165f14b418382cff] This footnote displays as "1". 

11
  • 2
    HInt: post an example - it would make it much easier for somebody to cut-and-paste and try it out. Without it, one would have to invent their own example (with all the trial-and-error necessary to make sure that their example conforms to your specification). If you want to maximize your chances of getting an answer, then it's a good rule to follow.
    – NickD
    Jan 20 at 16:40
  • 1
    Good point -- added.
    – jamshark70
    Jan 21 at 6:30
  • 1
    @NickD Thanks! Much easier than installing emacs just to run a single file :) Jan 21 at 18:36
  • 1
    @jamshark70 From the texnical perspective: you want to use \footnote[frame]{This footnote displays as "a".} instead of \footnote{This footnote displays as "a".} to get the same style for footnotes in columns. Jan 21 at 18:37
  • 1
    Just a bit of background: beamer internally uses minipages to create columns and minipages do traditionally have a different footnote style in latex. You can for example try this example with the standard article class: \documentclass{article} \begin{document} test\footnote{a} \begin{minipage}{5cm} test\footnote{a} \end{minipage} \end{document} Jan 21 at 18:40

1 Answer 1

1

Assuming you are on Linux and have installed LaTeX from TeXLive, here's a way to package the modification from @samcarter_is_at_topanswers.xyz's comment above to make it convenient to use from Org mode.

The steps are:

  • create a file, myframefootnote.sty, in a directory where your TeX processor will be able to find it (in my case, I put it in ~/.texlive2021/texmf-config/tex/latex/personal because that's the TeXLive distribution that I have installed on my Fedora 36 system - YMMV). Put into that file the redefinition of \footnote from @samcarter_is_at_topanswers.xyz's pastebin, i.e. the part between \makeatletter and \makeatother, but not including those two \makeat... lines:

    \renewcommand<>{\footnote}[1][]{%
      \let\beamer@footnotetext=\@footnotetext%
      \let\beamer@mpfn=\@mpfn%
      \let\beamer@thempfn=\thempfn%
      \let\beamer@kvorig=\KV@errx%
      \let\beamer@xkvorig=\XKV@err
      \def\beamer@footarg{}%
      \def\KV@errx##1{\edef\beamer@footarg{\@tempa}}%
      \def\XKV@err##1{\edef\beamer@footarg{\XKV@tkey}}%
      \setkeys{beamerfootnote}{frame}% <- changed here from #1 to frame
      \let\KV@errx=\beamer@kvorig%
      \let\XKV@errx=\beamer@xkvorig
      \ifx\beamer@footarg\@empty%
        \def\beamer@next{\stepcounter\beamer@mpfn
          \protected@xdef\@thefnmark{\beamer@thempfn}%
          \@footnotemark\beamer@footnotetext#2}%
      \else%
        \def\beamer@next{%
          \begingroup
            \csname c@\beamer@mpfn\endcsname\beamer@footarg\relax
            \unrestored@protected@xdef\@thefnmark{\beamer@thempfn}%
          \endgroup
          \@footnotemark\beamer@footnotetext#2}%
      \fi%
      \beamer@next}
    
  • From a shell, check that your TeX processor can find the file. One way to do that is to run the command kpsewhich myframefootnote.sty if you have that command available. It should print out the path of the file. In my case, it says: /home/<user>/.texlive2021/texmf-config/tex/latex/overarrows/overarrows.sty.

  • And then all you need to do is to add the following line to your Org mode file whenever you want to use this modified definition:

#+LATEX_HEADER: \usepackage{myframefootnote}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.