Размещение сноски в конце цитаты вне кавычек

Размещение сноски в конце цитаты вне кавычек

В настоящее время я использую quote-environment и команду footcite, чтобы отобразить citation-footnotes в конце quote environment. Теперь я добавил quotationsmarks, изменив quote environment следующим образом:

\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, обратите внимание, что вам нужно указать double ##для аргумента, поскольку это не аргумент среды, а аргумент команды, определенной внутри среды.

Некоторые дополнительные соображения следует принять в случае отсутствия сноски. Вы можете определить команду для показа сохраненного содержимого так, чтобы она не выполняла никаких действий по умолчанию, и переопределить ее, если \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}

Результат:

введите описание изображения здесь

Связанный контент