我开始使用一种在我所在的大学 (UCL) 中广泛流传的定制 (且非常古老) 论文格式来撰写论文。它似乎最初是由计算机科学系的一位教授编写的,但由于它是唯一的一种,因此它已被不同部门的不同人员改编,产生了我想象中在不同地方的相当令人生畏的各种版本。
无论如何,我的问题在于脚注的间距。
简而言之,问题在于线的间距之内脚注与间距不同之间不同的脚注,导致同一页上的两个脚注(其中至少一个有多行)的行分布不规则。
以下是 MWE:
\documentclass{ucl_thesis}
\begin{document}
Some text.
\footnote{A short footnote on one line.}
Some more text.
\footnote{A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.}
\end{document}
为了编译它,你需要两个文件:ucl_thesis.cls
和ucl_a4.sty
。
我做了什么
ucl_thesis.cls
修改行距的部分在第106行:
\renewcommand \baselinestretch{1.5}
并根据这个答案@jon 表示,“通常不推荐这样做”,因为“LaTeX 提供了\linespread
,可能更好用”。但是,将上面引用的行改为
\setlength{\footnotesep}{1.5\baselineskip}%
\linespread{1.5}\selectfont%
按照他的回答并没有解决问题:脚注之间的间距现在是太大。
在我开始手动调整这个直到错误太小而我看不见之前,我想我会在这里问一下。
答案1
(这个答案假设你希望脚注中的间距大于单倍行距,这通常看起来不太好看,但通常是大学“风格”制定者所要求的。)
事情是这样的:你的班级设置(第 106 行)
\renewcommand \baselinestretch{1.5}
现在,如果您使用默认的 10pt,则意味着脚注字体大小为 8pt,基线间距为 9.5pt。我们将其拉伸 1.5。9.5 x 1.5 = 14.25pt。
通过添加来测试
\the\baselineskip
在脚注中。您应该得到 14.25pt。
现在设置(正如我建议的那样)
\setlength{\footnotesep}{\baselineskip}
使footnotesep
相当于baselineskip
常规文本的 (即 12pt),但我认为您希望它是 10pt。因此您可以直接设置它:
\setlength{\footnotesep}{10pt}
编辑:
模仿 LaTeX2e 设置的一个解决方案是将其添加到您的序言中(根据我在下面的评论中建议的比例):
\makeatletter
\ifcase \@ptsize
\setlength{\footnotesep}{0.83125\baselineskip}
\or
\setlength{\footnotesep}{0.85555\baselineskip}
\or
\setlength{\footnotesep}{0.84\baselineskip}
\fi
\makeatother
或者,如果您更喜欢更明确的设置(不完全相同):
\makeatletter
\ifcase \@ptsize
\setlength{\footnotesep}{10pt}
\or
\setlength{\footnotesep}{11pt}
\or
\setlength{\footnotesep}{12pt}
\fi
\makeatother
这将根据您使用的标准字体大小选择 10、11 还是 12pt 进行自动重新计算。
以下是基于上面给出的示例:
\documentclass[10pt]{ucl_thesis}
\makeatletter
\ifcase \@ptsize
\setlength{\footnotesep}{0.83125\baselineskip}
\or
\setlength{\footnotesep}{0.85555\baselineskip}
\or
\setlength{\footnotesep}{0.84\baselineskip}
\fi
\makeatother
\makeatletter
\ifcase \@ptsize
\setlength{\footnotesep}{10pt}
\or
\setlength{\footnotesep}{11pt}
\or
\setlength{\footnotesep}{12pt}
\fi
\makeatother
\usepackage{xcolor}
\usepackage[grid, gridunit=pt,
gridcolor=red!20,
subgridcolor=blue!20]{eso-pic}
\usepackage{lipsum}
\begin{document}
\the\baselineskip
Some text.
\footnote{\the\baselineskip. The baselinestretch factor is: \baselinestretch. A short footnote on one line.}
Some more text.
\footnote{%
\the\footnotesep.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.}
\footnote{A short footnote on one line.}
\footnote{A short footnote on one line.}
\lipsum
\end{document}
答案2
尝试将其添加到您的序言中:
\let\oldfootnote\footnote
\renewcommand{\footnote}[1]{%
\begingroup%
\linespread{1}%
\oldfootnote{#1}%
\endgroup%
}
因此你的修改后的 MWE
\documentclass{ucl_thesis}
\let\oldfootnote\footnote
\renewcommand{\footnote}[1]{%
\begingroup%
\linespread{1}%
\oldfootnote{#1}%
\endgroup%
}
\begin{document}
Some text.
\footnote{A short footnote on one line.}
Some more text.
\footnote{A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.
A longer footnote so that it spans multiple lines.}
\end{document}
在脚注中产生正确的行距,而不改变正常文本中的行距