von mrpiggi » Di 25. Feb 2014, 13:13
Hallo,
ich möchte gerne ein Makro im Dokument expandieren, ohne das dieses ausgegeben wird. Hintergrund ist, dass ich für eine Titelseite neue Felder definiert habe und ich die Fußnoten daraus extrahieren möchte. Momentan mache ich das, indem ich das Makro in eine Box expandiere, diese aber nicht aufrufe. Die Lösung funktioniert auch, allerdings wollte ich wissen, ob es evtl. eine elegantere Lösung gibt.
\documentclass{minimal}
\begin{document}
\makeatletter
\newcommand*\@bla{}
\newcommand*\@thx{}
\newcommand*\bla[1]{\gdef\@bla{#1}}
\bla{abc\thanks{text}}
\begingroup
\global\let\@thx\relax%
\def\thanks#1{\gdef\@thx{#1}}%
\setbox0\vbox{\@bla}%
%\let\thanks\@gobble%
%Inhalt: \@bla
\endgroup
Fußnote: \ifx\@thx\relax <leer>\else\@thx\fi
\makeatother
\end{document}
Grüße
Falk
Hallo,
ich möchte gerne ein Makro im Dokument expandieren, ohne das dieses ausgegeben wird. Hintergrund ist, dass ich für eine Titelseite neue Felder definiert habe und ich die Fußnoten daraus extrahieren möchte. Momentan mache ich das, indem ich das Makro in eine Box expandiere, diese aber nicht aufrufe. Die Lösung funktioniert auch, allerdings wollte ich wissen, ob es evtl. eine elegantere Lösung gibt.
[code]
\documentclass{minimal}
\begin{document}
\makeatletter
\newcommand*\@bla{}
\newcommand*\@thx{}
\newcommand*\bla[1]{\gdef\@bla{#1}}
\bla{abc\thanks{text}}
\begingroup
\global\let\@thx\relax%
\def\thanks#1{\gdef\@thx{#1}}%
\setbox0\vbox{\@bla}%
%\let\thanks\@gobble%
%Inhalt: \@bla
\endgroup
Fußnote: \ifx\@thx\relax <leer>\else\@thx\fi
\makeatother
\end{document}
[/code]
Grüße
Falk