![将脚注标记与文本边距对齐](https://linux22.com/image/244618/%E5%B0%86%E8%84%9A%E6%B3%A8%E6%A0%87%E8%AE%B0%E4%B8%8E%E6%96%87%E6%9C%AC%E8%BE%B9%E8%B7%9D%E5%AF%B9%E9%BD%90.png)
我必须克隆一份文档,并且脚注标记不应缩进,而应与正文对齐。我在其他地方找不到答案。有什么想法吗?我正在使用 XeLaTeX。
结果应如下所示:
textbody-textbody-textbody-textbody-textbody² textbody-textbody-textbody-textbody-textbody-textbody-textbody-textbody-textbody-
2 脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-脚注-
脚注的数字应该与脚注的大小相同。这可以通过以下方式实现:
\usepackage{scrextend} \deffootnote{1,2em}{1.6em}{\thefootnotemark.\enskip}
脚注文本应与正文对齐。
答案1
编辑:我的第一个“解决方案”只是偶然起作用,并且只适用于一位数的脚注。这里有更强大的解决方案:
\documentclass{article}
\usepackage{scrextend}
\deffootnote[1.8em]{0pt}{1.6em}{\makebox[1.8em][l]{\thefootnotemark.}}
\textheight=400pt% just for the example
\usepackage{lipsum}
\begin{document}
Some text.\footnote{\lipsum*[1]}
\setcounter{footnote}{10}
\lipsum*[1]\footnote{\lipsum*[1]}
\end{document}
答案2
以下是通过重新定义来修改脚注显示的一种稍微更逐字的方式\@makefntext
:
\documentclass{article}
\makeatletter
\renewcommand{\@makefntext}[1]{%
\parindent 1em%
\noindent\normalfont\@thefnmark~#1
}
\makeatother
\textheight=250pt% just for the example
\usepackage{lipsum}
\begin{document}
\lipsum*[1]\footnote{\lipsum*[1]}
\end{document}
这只是将第一个脚注段落推到脚注编号上,用 分隔~
。如果您希望段落编号为常规脚注段落缩进的宽度(1em
默认情况下为article
),则可以使用
\makeatletter
\renewcommand{\@makefntext}[1]{%
\parindent 1em%
\noindent\hb@xt@ \parindent{\normalfont\@thefnmark}#1
}
\makeatother
但是,如果有超过 9 个脚注,这将会出现问题,因为 10 英寸\normalfont
正好是1em
宽度,导致脚注编号/标记接触脚注文本。