我想知道为什么
\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
,, ) 11pt
,12pt
无需人工干预。
\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}}