与 baselineskip 相同的脚注间距

与 baselineskip 相同的脚注间距

我想知道为什么

\setlength{\footnotesep}{\baselineskip}

脚注之间的垂直间距仍然没有与脚注内部行之间的垂直间距相同。

这是我的 MWE:

\documentclass[11pt,a4paper]{article}

\usepackage[a4paper,hmargin=2.5cm,vmargin={2.5cm,2.5cm}]{geometry}
\usepackage{lipsum}

% Modifier for vspace between lines (=\baselinestretch*\baselineskip)
\renewcommand{\baselinestretch}{1.5}

% Modifies the space over footnote line
\addtolength{\skip\footins}{\baselineskip}

% Modifies the space between notes in footnotes 
\setlength{\footnotesep}{\baselineskip}

\begin{document}
\lipsum[1]\footnote{\lipsum[2][1-5]}

\lipsum[2][4-7]\footnote{\lipsum[1][2-3]}

\lipsum[3][1-2]\footnote{\lipsum[3][1]}

\lipsum[4]\footnote{\lipsum[4][2-4]}
\end{document}

其结果为:

在此处输入图片描述

我知道这是一个微小的差异,几乎难以察觉,但我认为它是可以被察觉的。

我猜这与脚注超级索引标记有关,它比线的顶部稍微靠上一点。

我的问题实际上是... 是否可以不使用诸如这样的任意因素来解决这个问题.9?因为如果我使用

\setlength{\footnotesep}{.9\baselineskip}

似乎已经修复。

我的想法是让脚注步骤与跳过行步骤相同。或者最终让跳过段落步骤相同。

答案1

您应该\footnotesize使用正常基线跳过进行修补。另外将其定义\footnotesep为正常基线跳过的 70%。

这里我使用\regexpatch,因此不需要从合适的.clo文件中复制定义,并且它适用于任何主尺寸选项(10pt,, ) 11pt12pt无需人工干预。

\documentclass[11pt,a4paper]{article}
\usepackage{regexpatch}

\usepackage{lipsum}

\newlength{\bodybaselineskip}
\makeatletter
\regexpatchcmd{\footnotesize}
  {(\c{footnotesize}.).*?(\c{abovedisplayskip})}
  {\1\c{bodybaselineskip}\2}
  {}{}
\setlength{\bodybaselineskip}{\normalbaselineskip}
\AtBeginDocument{\setlength{\footnotesep}{0.7\normalbaselineskip}}
\makeatother

\linespread{1.5}

\begin{document}

\lipsum[1]\footnote{\lipsum[2][1-5]}

\lipsum[2][4-5]\footnote{\lipsum[1][2-3]}

\lipsum[3][1-2]\footnote{\lipsum[3][1]}

\lipsum[4][1-5]\footnote{\lipsum[4][2-4]\the\baselineskip}\the\baselineskip

\end{document}

在此处输入图片描述

如果你只是想调整间距之间脚注,不那么麻烦:

\documentclass[11pt,a4paper]{article}

\usepackage{lipsum}

\linespread{1.5}
\AtBeginDocument{%
  {\footnotesize\global\footnotesep=0.7\baselineskip}%
}

\begin{document}

\lipsum[1]\footnote{\lipsum[2][1-5]}

\lipsum[2][4-5]\footnote{\lipsum[1][2-3]}

\lipsum[3][1-2]\footnote{\lipsum[3][1]}

\lipsum[4][1-5]\footnote{\lipsum[4][2-4]}

\end{document}

在此处输入图片描述

或者您可以考虑使用setspace在脚注中留下紧凑间距的方法。

\documentclass[11pt,a4paper]{article}
\usepackage{setspace}

\usepackage{lipsum}

\setstretch{1.5}

\begin{document}

\lipsum[1]\footnote{\lipsum[2][1-5]}

\lipsum[2][4-5]\footnote{\lipsum[1][2-3]}

\lipsum[3][1-2]\footnote{\lipsum[3][1]}

\lipsum[4][1-5]\footnote{\lipsum[4][2-4]}

\end{document}

在此处输入图片描述

答案2

您正在使用常规字体大小,但脚注通常使用具有不同字体的字体\baselineskip设置。footnotesize\baselineskip

而不是你的平原

\setlength{\footnotesep}{\baselineskip}

使用

{\footnotesize \setlength{\footnotesep}{\baselineskip}}

相关内容