我试图将多行脚注缩进第二行后 1.25 厘米(包括第二行)。
这是我的模板用来设置脚注的代码片段,需要进行调整:
\AtBeginDocument{%
\renewcommand\@makefntext[1]{%
\parindent 12\p@
\noindent
\mbox{\@makefnmark} #1}}
我发现@egreg对类似问题的一般回答如下:
\makeatletter
\renewcommand\@makefntext[1]{\leftskip=2em\hskip-2em\@makefnmark#1}
\makeatother
但是,虽然我可以将此答案包含到我的代码片段中以便有一些缩进,但我无法让它做我想要的事情,即缩进 2.5 厘米。此外,我不完全确定我的代码修改是否正确,因为我尝试合并这两个代码片段或多或少只是猜测。
我如何修改我的(第一个)代码片段以保留原则上的设置,但使用所述方法从第二行添加 1.25 厘米的缩进?
答案1
您正在寻找这样的东西吗?
\documentclass{article}
\usepackage{lipsum}
\makeatletter
\renewcommand\@makefntext[1]{%
\@setpar{%
\@@par \@tempdima=\hsize
\advance\@tempdima by -1.25cm\relax
\parshape \@ne 1.25cm \@tempdima
}%
\par \parindent=\z@ \noindent
\hb@xt@ \z@{\hss \hb@xt@ 1.25cm{\@thefnmark.\hss}}%
#1%
}
\makeatother
\begin{document}
\vspace*{\fill}Text\footnote{\lipsum[1]}
\end{document}
答案2
由于您仅提及多行脚注(而不是多段脚注),因此以下内容提供了您所需的内容:
\documentclass{article}
\usepackage[paperheight=20\baselineskip]{geometry}% Just for this example
\usepackage{lipsum}
\makeatletter
\renewcommand\@makefntext[1]{%
\parshape \@ne 1.25cm \dimexpr\hsize-1.25cm\relax% Set up the generic paragraph shape:
% Indentation of first (and following) lines are 1.25cm
% Width are \hsize-1.25cm (to fit horizontally)
\noindent % Start paragraph
\hspace*{-1.25cm}% Jump back (horizontally) the width of the indentation
\makebox[12\p@][l]{\@makefnmark}% Set a box of width 12\p@ that is [l]eft aligned and insert the footnote mark
#1}% Set the rest of the footnote as a paragraph
\makeatother
\begin{document}
Text\footnote{\lipsum[1]}. More text\footnote{\lipsum[2]}.
\end{document}
代码中的注释解释了\@makefntext
构造的组成部分。