LaTeX/脚注和边注
脚注是提供额外信息给读者的一种非常有用的方式。通常,它是次要信息,可以放在页面底部。这使正文保持简洁。
脚注功能易于使用。您需要的命令是:\footnote{文本}
。在命令和您希望脚注标记出现的单词之间不要留空格,否则 LaTeX 会处理该空格,并且输出结果不会像预期的那样。
Creating a footnote is easy.\footnote{An example footnote.}
|
LaTeX 显然会处理页面底部的脚注排版。每个脚注按顺序编号 - 就像您现在应该猜到的那样,此过程会自动为您完成。
如果您希望脚注位于页面底部(而不是默认的“粘贴”在文本下方的位置),请考虑使用
\usepackage[bottom]{footmisc}
|
您也可以选择手动放置脚注文本。在这种情况下,我们使用 \footnotemark
-\footnotetext
组合
\footnotemark
% ...
Somewhere else\footnotetext{This is my footnote!}
|
脚注编号也可以明确指定。
\footnotemark[17]
% ...
Somewhere else\footnotetext[17]{This is my footnote!}
|
- 枚举/计数器样式
可以自定义脚注标记。默认情况下,它们按顺序编号(阿拉伯数字)。但是,在这一点上,无需过多地深入了解 LaTeX 的机制,可以使用以下命令来更改它(该命令需要放在文档开头,或者至少在发出第一个脚注命令之前)。
\renewcommand{\thefootnote}{\arabic{footnote}}
|
阿拉伯数字,例如,1、2、3… |
\renewcommand{\thefootnote}{\roman{footnote}}
|
罗马数字(小写),例如,i、ii、iii… |
\renewcommand{\thefootnote}{\Roman{footnote}}
|
罗马数字(大写),例如,I、II、III… |
\renewcommand{\thefootnote}{\alph{footnote}}
|
字母(小写),例如,a、b、c… |
\renewcommand{\thefootnote}{\Alph{footnote}}
|
字母(大写),例如,A、B、C… |
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
|
一系列九个符号,试试看! |
要创建没有编号标记的脚注,请使用此声明
\let\thefootnote\relax\footnote{There is no number in this footnote}
|
这样,编号在全局范围内被关闭。要只有一个没有编号标记的脚注,上述命令必须放在 {} 内。但是,在这种情况下,当前脚注计数器仍然递增,因此例如您将得到脚注 1、未编号和 3。一个更好的解决方案[1] 是在序言中定义以下宏,并使用它
\makeatletter
\def\blfootnote{\xdef\@thefnmark{}\@footnotetext}
\makeatother
|
footmisc 包提供了许多自定义脚注外观的可能性。例如,它可用于在脚注中使用不同的字体。
- 每个部分
\makeatletter
\@addtoreset{footnote}{section}
\makeatother
|
- 每一页
(这可能需要运行两次 LaTeX)
\usepackage{perpage} %the perpage package
\MakePerPage{footnote} %the perpage package command
|
可以通过在脚注末尾放置 \label{标签名称}
并使用 \ref{标签名称}
来引用脚注来完成。
- 脚注不适用于表格,因为它被认为是不好的做法。您可以通过多种技术克服此限制:您可以在表格中使用
\footnotemark[123]
,并在页面上的某个位置使用\footnotetext[123]{HelloWorld!}
。引用也是如此:在页面上的某个位置使用\footnote{HelloWorld!\label{fnote}}
,并在表格中使用\textsuperscript{\ref{fnote}}
。或者,您可以将\usepackage{footnotehyper}
和\makesavenoteenv{tabular}
添加到序言中,并将您的 table 环境放在\begin{savenotes}
环境中。后者不适用于 color 或 colortbl 包。有关其他方法(例如使用 threeparttable 的 tablenotes),请参阅 此常见问题解答页面。
- 脚注也不适用于 minipage 环境。(实际上,几个环境会破坏脚注支持。
\makesavenoteenv{环境名称}
命令脚注包可能会修复大多数。)minipage 包含它自己的脚注,独立于文档的脚注。 mpfnmark 包允许更灵活地管理这两组脚注。
- 如果脚注中的文本是URL(使用
\url
或\href
命令)并且包含特殊字符,则无法编译。您必须使用前导反斜杠转义字符,或使用其他命令。
- 如果脚注中的文本很长,LaTeX 可能会将脚注拆分到多个页面上。您可以通过增加此类操作的惩罚来阻止 LaTeX 执行此操作。为此,请将以下行插入文档的序言中
\interfootnotelinepenalty=10000
|
或在脚注命令后设置 \samepage
\footnote{ \samepage 脚注文本如下 }
- 要对同一脚注进行多次引用,您可以使用以下语法
Text that has a footnote\footnote{This is the footnote} looks like this. Later text referring to the same footnote\footnotemark[\value{footnote}] uses the other command.
|
如果您需要 hyperref 支持,请改用
Text that has a footnote\footnote{This is the footnote}\addtocounter{footnote}{-1}\addtocounter{Hfootnote}{-1} looks like this. Later text referring to the same footnote\footnotemark uses the other command.
|
如果在第一个引用和后续的“重复”引用之间存在其他脚注,则这些方法将不起作用。有关更通用的解决方案,请参阅此处和此处。
- 如果打算将脚注添加到章节标题、节标题或类似内容中,可以使用两种方法。
- 编写
\section[title] {title\footnote{I'm a footnote referred to the section} }
,其中title 是节的标题。 - 使用footmisc 包,并使用包选项stable,然后只需将脚注添加到节标题即可。
边注在编辑过程中非常有用,作者之间可以互相交流意见。要插入边注,请使用\marginpar{margin text}
。对于单面布局(单面),文本将放置在右侧边距,从定义它的行开始。对于双面布局(双面),它将放置在外边距,对于双栏布局,它将放置在最近的边距。
要交换默认边,请使用\reversemarginpar
,然后边注将放置在另一侧,对于双面布局,这将是内边距。
如果您的 marginpar 的文本取决于它放置在哪个边距(例如,它包含指向文本的箭头或引用方向,如“如左侧所示...”),您可以使用\marginpar[left text]{right text}
来指定变体。
要在 \marginpar
无法处理的区域(例如脚注或公式环境)中插入边注,请使用marginnote包。
另一个以花哨的方式添加彩色边注的选项是使用todonotes 包,通过使用\todo{todo note}
。它使用pgf 包,该包用于设计和绘制,并拥有庞大的工具数据库。
如果本机\marginpar
命令无法满足您的需求,则可以使用mparhack 和marginnote 包。
marginnote 和 geometry 包可以如下设置边距和边注的宽度。
在序言中插入
\usepackage{marginnote}
|
并使用 geometry 包设置自定义大小
\usepackage[top=Bcm, bottom=Hcm, outer=Ccm, inner=Acm, heightrounded, marginparwidth=Ecm, marginparsep=Dcm]{geometry}
|
其中 A、B、C、D、E、F、G、H 都是以厘米为单位的数字(当然可以使用厘米以外的其他单位)。
在正文中,根据以下内容使用 marginnote 包
\marginnote{typeset text here...}[Fcm]
|
具体来说,
- marginparwidth (E) 是边注的宽度,
- marginparsep (D) 是段落和边注之间的间距,
- F 是从编写边注的第一行开始的向下垂直偏移量(F 的负值将边注向上移动),以及
- 值G = C − (D + E) 是边注边缘和边缘之间的间距。
右侧的示例由以下内容排版
\documentclass[a4paper,twoside,english]{article}
\usepackage{lmodern}
\renewcommand{\sfdefault}{lmss}
\usepackage[T1]{fontenc}
\makeatletter
\special{papersize=\the\paperwidth,\the\paperheight}
\usepackage{lipsum}
\usepackage{marginnote}
\usepackage[top=1.5cm, bottom=1.5cm, outer=5cm, inner=2cm, heightrounded, marginparwidth=2.5cm, marginparsep=2cm]{geometry}
\makeatother
\usepackage{babel}
\begin{document}
\section{Margin notes}
\marginnote{This is a margin note using the geometry package, set at 0cm vertical offset to the first line it is typeset.}[0cm]
\marginnote{This is a margin note using the geometry package, set at 5cm vertical offset to the first line it is typeset.}[5cm]
\lipsum[1-10]
\end{document}
|
此外,可以使用\marginparpush
调整边注之间的最小垂直间隙,例如使用\setlength{\marginparpush}{0pt}
。
- ↑ "LaTeX 脚注". 检索于 2016-01-14.
此页面使用 Andy Roberts 的LaTeX 入门中的材料,经作者许可。