使用 KOMA 将一位和两位脚注标记右对齐

使用 KOMA 将一位和两位脚注标记右对齐

基于这个答案对我的问题文本中的脚注标记应为上标衬线图形,但脚注中的脚注标记应为全尺寸旧式图形,我有以下用于格式化脚注外观的代码:

\documentclass{article}
\usepackage{fontspec} % Unicode
    \setmainfont{Libertinus Serif}
    \newfontfamily\footfont{Libertinus Serif}[% for footnote markers in the footnote
        Numbers = {Monospaced, OldStyle}]
\usepackage{scrextend} % KOMA script
    \newcommand*\footnotemarkspace{1em} % set distance of the footnote text from the margin
    \deffootnote{\footnotemarkspace}% use distance from above
        {\parindent}% paragraph indent in footnotes (footnotes should never have paragraphs!)
        {\makebox[\footnotemarkspace][l]{\footfont\thefootnotemark.}} % footfont with period for footnote marks in footnote

\begin{document}
Foobar\footnote{First footnote}\footnote{Second footnote}\footnote{Third footnote}\footnote{Fourth footnote}\footnote{Fifth footnote}\footnote{Sixth footnote}\footnote{Seventh footnote}\footnote{Eighth footnote}\footnote{Ninth footnote}\footnote{Tenth footnote}\footnote{Eleventh footnote}\footnote{Twelfth footnote}
\end{document}

当我到达文本中的第十个脚注时,即当脚注标记从一位数字变为两位数字时,就会出现问题。上述代码的输出如下:

在此处输入图片描述

问题在于footnotemarkspace设置从左边距到脚注文本的距离,而没有用于设置从脚注标记的右边缘到文本的距离的参数。

我认为,最好的解决方案是右对齐脚注标记,这样个位数的右边缘与两位数的右边缘相同,从而允许脚注标记的右边缘与文本之间的距离一致。理想情况下,两位数脚注标记的左边缘应与文档文本区域的左边缘对齐。

我怎样才能做到这一点?之前有人问过同样的问题,但在这种情况下,问题和建议的答案都没有使用 KOMA 脚本,而我在本例中使用的是该脚本。

答案1

您必须放大\footnotemarkspace。然后,您可以在r命令\makebox的最后一个参数中使用选项\deffootnote

\documentclass{article}
\usepackage{fontspec} % Unicode
\setmainfont{Libertinus Serif}
\newfontfamily\footfont{Libertinus Serif}[% for footnote markers in the footnote
  Numbers = {Monospaced, OldStyle}]

\usepackage{scrextend} % KOMA script
\KOMAoptions{footnotes=multiple}% maybe you want to use this option?
\newcommand*\footnotemarkspace{1.5em} % set distance of the footnote text from the margin
\deffootnote{\footnotemarkspace}% use distance from above
  {\parindent}% paragraph indent in footnotes (footnotes should never have paragraphs!)
  {\makebox[\footnotemarkspace][r]{\thefootnotemark.\ }} % footfont with period for footnote marks in footnote

\begin{document}
Foobar
\footnote{First footnote}\footnote{Second footnote}%
\footnote{Third footnote}\footnote{Fourth footnote}%
\footnote{Fifth footnote}\footnote{Sixth footnote}%
\footnote{Seventh footnote}\footnote{Eighth footnote}%
\footnote{Ninth footnote}\footnote{Tenth footnote}%
\footnote{Eleventh footnote}\footnote{Twelfth footnote}
\end{document}

在此处输入图片描述

或者你可以使用类似

\makebox[\footnotemarkspace][l]{\footfont\phantom{99}\llap{\thefootnotemark}.}

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{fontspec} % Unicode
\setmainfont{Libertinus Serif}
\newfontfamily\footfont{Libertinus Serif}[% for footnote markers in the footnote
  Numbers = {Monospaced, OldStyle}]

\usepackage{scrextend} % KOMA script
\KOMAoptions{footnotes=multiple}% maybe you want to use this option?
\newcommand*\footnotemarkspace{1.5em} % set distance of the footnote text from the margin
\deffootnote{\footnotemarkspace}% use distance from above
  {\parindent}% paragraph indent in footnotes (footnotes should never have paragraphs!)
  {\makebox[\footnotemarkspace][l]{\footfont\phantom{99}\llap{\thefootnotemark}.}} % footfont with period for footnote marks in footnote

\begin{document}
Foobar
\footnote{First footnote}\footnote{Second footnote}%
\footnote{Third footnote}\footnote{Fourth footnote}%
\footnote{Fifth footnote}\footnote{Sixth footnote}%
\footnote{Seventh footnote}\footnote{Eighth footnote}%
\footnote{Ninth footnote}\footnote{Tenth footnote}%
\footnote{Eleventh footnote}\footnote{Twelfth footnote}
\end{document}

由 Sverre 编辑

我只是想在这里证明,第一个代码示例没有办法将两位数脚注标记中的第一位数字与文档文本区域的左边距对齐,因此需要手动进行调整:

在此处输入图片描述

而第二个代码示例,使用\phantom和 ,\llap将两位数的左边缘与左边距对齐:

在此处输入图片描述

如果需要左对齐,那么带有\phantom和的代码\llap可能是可行的方法。

相关内容