我希望数字“2、3、4、5、6”从与前一个脚注中的数字“1”相同的位置开始。
\documentclass{article}
\usepackage{hyperref}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand \footnotenumber { O{} }
{
\footnotemark
{
\tl_if_blank:nF { #1 }
{
\addtocounter { footnote } { -1 }
\refstepcounter { footnote }
\label { #1 }
}
}
}
\NewDocumentCommand \footnotemultiple { O{} m }
{
\group_begin:
\tl_if_blank:nF { #1 }
{
\clist_clear:N \l_tmpa_clist
\clist_map_inline:nn { #1 }
{
\clist_put_right:Nn \l_tmpa_clist { \ref{ ##1 } }
}
\def \thefootnote { \clist_use:Nn \l_tmpa_clist { , } }
}
\footnotetext { #2 }
\group_end:
}
\ExplSyntaxOff
\begin{document}
Lorem ipsum dolor sit amet, consectetur\footnote{Morbi ac rhoncus mi, at porttitor erat. Aliquam fringilla erat nec tortor placerat ullamcorper.} adipiscing\footnotenumber[fn1] elit. Nunc non nisl\footnotenumber[fn2] sed orci suscipit porta\footnotenumber[fn3]. Nulla et arcu placerat\footnotenumber[fn4], vehicula lorem id, imperdiet ante. Aenean\footnotenumber[fn5] et tortor purus.
\footnotemultiple[fn1,fn2,fn3,fn4,fn5]{Etiam porttitor bibendum neque et luctus. Ut volutpat, erat vitae dapibus condimentum, eros nunc suscipit eros, id imperdiet lectus massa eget metus.}
\end{document}
PS 此脚注编号方式如下这里。
答案1
更新 2022/05/28
CTAN 上很快就会有一个新的软件包multifootnote
。这个问题的答案对应两个软件包选项:
通常,脚注是用列表排版的,其中标签宽度是固定的。但是,您可以通过修改 完全重新定义此行为\@makefntext
。请注意,@
这里的 表示您需要\makeatletter
。
\documentclass{article}
\usepackage{hyperref}
\usepackage{xparse}
\makeatletter
\ExplSyntaxOn
\renewcommand{\@makefntext}[1]{
\parbox{0pt}{\@makefnmark} \nobreakspace #1
}
\NewDocumentCommand \footnotenumber { O{} }
{
\footnotemark
{
\tl_if_blank:nF { #1 }
{
\addtocounter { footnote } { -1 }
\refstepcounter { footnote }
\label { #1 }
}
}
}
\NewDocumentCommand \footnotemultiple { O{} m }
{
\group_begin:
\tl_if_blank:nF { #1 }
{
\clist_clear:N \l_tmpa_clist
\clist_map_inline:nn { #1 }
{
\clist_put_right:Nn \l_tmpa_clist { \ref*{ ##1 } }
}
\def \thefootnote { \clist_use:Nn \l_tmpa_clist { , } }
}
\footnotetext { #2 }
\group_end:
}
\ExplSyntaxOff
\makeatother
\begin{document}
Lorem ipsum dolor sit amet, consectetur\footnote{Morbi ac rhoncus mi, at porttitor erat. Aliquam fringilla erat nec tortor placerat ullamcorper.} adipiscing\footnotenumber[fn1] elit. Nunc non nisl\footnotenumber[fn2] sed orci suscipit porta\footnotenumber[fn3]. Nulla et arcu placerat\footnotenumber[fn4], vehicula lorem id, imperdiet ante. Aenean\footnotenumber[fn5] et tortor purus.
\footnotemultiple[fn1,fn2,fn3,fn4,fn5]{Etiam porttitor bibendum neque et luctus. Ut volutpat, erat vitae dapibus condimentum, eros nunc suscipit eros, id imperdiet lectus massa eget metus.}
\end{document}
如果您希望缩进每个脚注的第一行,只需\hspace*
在命令中添加即可。
\renewcommand{\@makefntext}[1]{
\hspace*{1.5em}
\parbox{0pt}{\@makefnmark} \nobreakspace #1
}