我希望我的尾注能够模拟
\usepackage[para,norule,hang]{footmisc}
使用这些设置,脚注会出现在单个段落中。相比之下,每个尾注都从新行开始。我添加了一些代码(来自 Alan Munn,重新行首除外的空格) 来消除缩进,但不知道如何用与footmisc
脚注之间的水平间距相同的回车符来替换。
一个例子:
\documentclass{article}
\usepackage{endnotes}
\usepackage[para,norule,hang]{footmisc}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makefntext}{.5em}{0em}{}{}
\makeatother
%KILL ENDNOTE INDENT
%\def\enoteformat{\rightskip=0pt \leftskip=0pt \parindent=0em \leavevmode\llap{\makeenmark}}
\patchcmd{\enoteformat}{1.8em}{0pt}{}{}
\begin{document}
Gallia\footnote{in} est\footnote{one} omnis\footnote{paragraph}
divisa\endnote{in} in\endnote{a} partes\endnote{vertical} tres\endnote{list}
\newpage
\theendnotes
\end{document}
答案1
这里你需要修补更重要的代码,所以我认为用 不太容易做到这一点patchcmd
。这是一个解决方案。
\documentclass{article}
\usepackage{endnotes}
\usepackage[para,norule,hang]{footmisc}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@makefntext}{.5em}{0em}{}{}
\def\theendnotes{\immediate\closeout\@enotes \global\@enotesopenfalse
\begingroup
\makeatletter
\edef\@tempa{`\string >}%
\ifnum\catcode\@tempa=12%
\let\@ResetGT\relax
\else
\edef\@ResetGT{\noexpand\catcode\@tempa=\the\catcode\@tempa}%
\@makeother\>%
\fi
\def\@doanenote##1##2>{\def\@theenmark{##1}\begingroup
\@ResetGT
\edef\@currentlabel{\csname p@endnote\endcsname\@theenmark}%
\enoteformat}
\def\@endanenote{\hspace{1em}\endgroup}%
\enoteheading
\enotesize
\input{\jobname.ent}%
\endgroup}
\makeatother
%KILL ENDNOTE INDENT
\patchcmd{\enoteformat}{1.8em}{0pt}{}{}
\begin{document}
Gallia\footnote{in} est\footnote{one} omnis\footnote{paragraph}
divisa\endnote{in} in\endnote{a} partes\endnote{vertical} tres\endnote{list}
\newpage
\theendnotes
\end{document}