3

I am following up on these questions:
Indentation of footnotes depending on number of digits in footnote marks on the same page and Different footnote aligning according to number of digits

In the MWE below I replaced lipsum with real text because lipsum seems to provide automatic paragraphing.

The problem with the solution proposed in the answers to the original question is that if I work with real text instead of lipsum or \clearpage the indentation switch of the footnotes seems to stick to paragraphs rather than pages.

In the MWE you see two examples. In the first (footnote 6) the indentation switch inherited from footnote 10 does not include footnote 6 although it is at the same page.

In the second example the switch from two- to three-digit-indentation length extends to paragraphs on the page before as soon as you merge the two paragraphs at mark 2 in the code.

Does anybody has an idea how to change the code in the preamble so that the indentation works as in the original question?

MWE:

\documentclass[10pt]{book}
\usepackage[paperheight=22.2cm,paperwidth=14cm,bottom=2.11cm,top=1.6cm,right=1.6cm,textwidth=10.8cm,textheight=18.49cm,footskip=1.51cm,includeheadfoot]{geometry}
\setlength{\parindent}{3.5mm}
\usepackage{etoolbox}

%fußnoten
\usepackage[hang]{footmisc}
\renewcommand\footnotelayout{\fontsize{8.8}{10.2}\selectfont}
\renewcommand{\hangfootparskip}{0mm}
\renewcommand{\hangfootparindent}{4mm}
\makeatletter
\patchcmd{\@makefntext}
  {\bgroup
   \setbox\@tempboxa\hbox{%
     \ifdim\footnotemargin>0pt
       \hb@xt@\footnotemargin{\@makefnmark\hss}%
     \else
       \@makefnmark
     \fi
   }}
  {\bgroup
   \ifcslength{@\thepage @max@footnotemargin}
     {\footnotemargin \csname @\thepage @max@footnotemargin\endcsname}
     {}%
     \immediate\write\@auxout{%
     \noexpand\expandafter\noexpand\newskip
       \noexpand\csname @\thepage @max@footnotemargin\endcsname}%
   \ifnumgreater{\value{footnote}}{99}
     {\immediate\write\@auxout{%
        \global\noexpand\csname @\thepage @max@footnotemargin\endcsname 13mm}}
     {\ifnumgreater{\value{footnote}}{9}
       {\immediate\write\@auxout{%
          \global\noexpand\csname @\thepage @max@footnotemargin\endcsname 5mm}}
       {\immediate\write\@auxout{%
         \global\noexpand\csname @\thepage @max@footnotemargin\endcsname 3mm}}}%
   % remove superscript footnote mark
   \setbox\@tempboxa\hbox{%
     \ifdim\footnotemargin>0pt
       \hb@xt@\footnotemargin{\hbox{\normalfont \@thefnmark}\hss}%
     \else
       \hbox{\normalfont \@thefnmark}%
     \fi
   }}
  {}
  {}
\makeatother

\begin{document}
Text.\footnote{text} XXXX Footnotes 1 to 6.\footnote{text}text.\footnote{text}

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des\footnote{text}

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des5.\footnote{text}

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,Biographie, waren seine Aktivitäten als\footnote{text}

Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen, bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, 

\setcounter{footnote}{8}XXXX And now numbers 9 to 10.\footnote{text}  10.\footnote{text}  Reformbewegung und des jüdischen Widerstands gegen den bürgerlichen Antisemitismus -- und als Multifunktionär in jüdischen, wohltätigen, Literatur- und Bildungsvereinen. Weniger bekannt, obwohl ebenfalls eine wichtige Seite seiner Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,% mark 1 

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, %mark 2

nahm Lazarus an der religiösen Reformbewegung innerhalb des deutschen Judentums genauso intensiv teil wie an der politischen Diskussion um die Ausgestaltung von Nation und Gesellschaft, an der Ausbildung von Kultur- und Sozialwissenschaften sowie nicht zuletzt a\footnote{text}And now:\footnote{text} \setcounter{footnote}{98} the 99.\footnote{text}Hm.\footnote{text} Hmmmm.\footnote{text}

\end{document}
  • 2
    texfaq.org/FAQ-oddpage says: "This is an example of the general problem of knowing where a particular bit of text lies: the output routine is asynchronous, and (La)TeX will usually process quite a bit of the “next” page before deciding to output any page. As a result, the page counter (known internally in LaTeX as \c@page) is normally only reliable when you’re actually in the output routine." AFAIK one needs a \label-\ref/\pageref approach to reliably determine the current page number. – moewe Feb 8 '19 at 12:14
  • 2
    Related: tex.stackexchange.com/questions/239452/… – David Purton Feb 8 '19 at 12:14
2

This is getting a bit beyond my TeX skill level... But if I understand things rightly, we can replace \thepage with \oddpage@page from the ifoddpage package and add in a \checkoddpage.

As mentioned in the comments my original solution with \thepage does not work because "the output routine is asynchronous, and (La)TeX will usually process quite a bit of the 'next' page before deciding to output any page. As a result, the page counter (known internally in LaTeX as \c@page) is normally only reliable when you're actually in the output routine."

MWE

This needs 3 runs of pdflatex.

\documentclass[10pt]{book}
\usepackage[paperheight=22.2cm,paperwidth=14cm,bottom=2.11cm,top=1.6cm,right=1.6cm,textwidth=10.8cm,textheight=18.49cm,footskip=1.51cm,includeheadfoot]{geometry}
\setlength{\parindent}{3.5mm}

\usepackage{etoolbox}
\usepackage{ifoddpage}
\usepackage[hang]{footmisc}
\renewcommand\footnotelayout{\fontsize{8.8}{10.2}\selectfont}
\renewcommand{\hangfootparskip}{0mm}
\renewcommand{\hangfootparindent}{4mm}
\makeatletter
\patchcmd{\@makefntext}
  {\bgroup
   \setbox\@tempboxa\hbox{%
     \ifdim\footnotemargin>0pt
       \hb@xt@\footnotemargin{\@makefnmark\hss}%
     \else
       \@makefnmark
     \fi
   }}
  {\bgroup
   \checkoddpage
   \ifcslength{@\oddpage@page @max@footnotemargin}
     {\footnotemargin \csname @\oddpage@page @max@footnotemargin\endcsname}
     {}%
     \immediate\write\@auxout{%
       \noexpand\expandafter\noexpand\newskip
       \noexpand\csname @\oddpage@page @max@footnotemargin\endcsname}%
   \ifnumgreater{\value{footnote}}{99}
     {\immediate\write\@auxout{%
        \global\noexpand\csname @\oddpage@page @max@footnotemargin\endcsname 13mm}}
     {\ifnumgreater{\value{footnote}}{9}
       {\immediate\write\@auxout{%
          \global\noexpand\csname @\oddpage@page @max@footnotemargin\endcsname 5mm}}
       {\immediate\write\@auxout{%
         \global\noexpand\csname @\oddpage@page @max@footnotemargin\endcsname 3mm}}}%
   % remove superscript footnote mark
   \setbox\@tempboxa\hbox{%
     \ifdim\footnotemargin>0pt
       \hb@xt@\footnotemargin{\hbox{\normalfont \@thefnmark}\hss}%
     \else
       \hbox{\normalfont \@thefnmark}%
     \fi
   }}
  {}
  {}
\makeatother

\begin{document}
Text.\footnote{text} XXXX Footnotes 1 to 6.\footnote{text}text.\footnote{text}

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des\footnote{text}

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des5.\footnote{text}

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,Biographie, waren seine Aktivitäten als\footnote{text}

Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen, bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, 

\setcounter{footnote}{8}XXXX And now numbers 9 to 10.\footnote{text}  10.\footnote{text}  Reformbewegung und des jüdischen Widerstands gegen den bürgerlichen Antisemitismus -- und als Multifunktionär in jüdischen, wohltätigen, Literatur- und Bildungsvereinen. Weniger bekannt, obwohl ebenfalls eine wichtige Seite seiner Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,% mark 1 

Biographie, waren seine Aktivitäten als Vermögensverwalter und Geschäftsmann. Lazarus war ein geradezu klassisches Beispiel für den sozialen Aufstieg des deutschsprachigen Judentums nach der Emanzipation, breit vernetzt im gebildeten Bürgertum, aber auch bis in höfische Kreise Preußens. Aufgewachsen und gebildet in mehreren Wissenskulturen,
bewandert in jüdischer Geistesgeschichte ebenso wie in antiker und deutscher Literatur, %mark 2
nahm Lazarus an der religiösen Reformbewegung innerhalb des deutschen Judentums genauso intensiv teil wie an der politischen Diskussion um die Ausgestaltung von Nation und Gesellschaft, an der Ausbildung von Kultur- und Sozialwissenschaften sowie nicht zuletzt a\footnote{text}And now:\footnote{text} \setcounter{footnote}{98} the 99.\footnote{text}Hm.\footnote{text} Hmmmm.\footnote{text}

\end{document}

Page 1 footnotes

page 1 output

Page 2 footnotes

page 2 output

Page 3 footnotes

page 3 output

  • After thankfully accepting and upvoting your answer and after a week of continueing to lay out my book project another problem occured: if, in your example result above, footnote 5 is longer and spans pages 1 and 2, the second part of it on page 2 is indented like its first part on page 1: 3mm. As a result, page 2 shows footnotes with differing indentation, because notes 6-10 are indented 5 mm as expected. Is there anything that can be done code-wise to address this problem? That is, can the text of the very same footnote be formatted differently depending on which page it is on? – shevek Feb 16 '19 at 20:32
  • @shevek, changing the width mid paragraph in LaTeX is very difficult. You should ask a new question with a MWE that shows this situation and also links back to this question. – David Purton Feb 16 '19 at 21:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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