我目前正在使用 quote-environment 和 footcite 命令,以在 quote 环境的末尾显示 citation-footnotes。现在我通过修改 quote 环境添加了引号,如下所示:
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{needspace}
\renewenvironment{quote}
{
\list{\Large\glqq\hspace{-0.4em} \normalsize}
{\rightmargin\leftmargin}%
\item\relax\small\sl\ignorespaces
\needspace{4\baselineskip}
}
{\Large\grqq\normalsize \endlist}
\begin{document}
\lipsum[1]
\begin{quote}
\lipsum[1]\footnote{citationsreference}
\end{quote}
\lipsum[1]
\end{document}
现在引用块看起来像这样:
现在脚注在引号内,这是我在重新定义引号环境时添加的。有人知道我该如何更改它,而无需手动浏览所有实例,以便脚注在引号外,即在引号的右侧?欢迎提出任何杂乱无章的想法。
答案1
考虑以下相当混乱的想法:您可以本地重新定义\footnote
为不直接打印,而是存储内容,并在\grqq
使用原始\footnote
命令的重命名副本后显示脚注。
定义可以在 内完成\renewenvironment
,请注意,需要##
对参数加倍,因为它不是环境的参数,而是在环境内定义的命令的参数。
如果没有脚注,则需要进行一些额外的考虑。您可以定义显示存储内容的命令默认不执行任何操作,如果\footnote
使用则重新定义该命令(请注意它有多乱……)。
平均能量损失
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{needspace}
\let\origfootnote\footnote
\renewenvironment{quote}
{
\list{\Large\glqq\hspace{-0.4em} \normalsize}
{\rightmargin\leftmargin}%
\item\relax\small\sl\ignorespaces
\needspace{4\baselineskip}%
\gdef\fnshowcontents{\relax}%
\def\footnote##1{\gdef\fnstoredcontents{##1}\gdef\fnshowcontents{\origfootnote{\fnstoredcontents}}}%
}
{\Large\grqq\normalsize\fnshowcontents\endlist}
\begin{document}
\lipsum[1]
\begin{quote}
\lipsum[1]\footnote{citationsreference}
\end{quote}
Regular footnote\footnote{printed immediately} as before.
\begin{quote}
\lipsum[2]
\end{quote}
\lipsum[1]
\end{document}
结果: