ElEsido
11-08-2009, 18:55
Hallo
Im folgenden Code ist beim Ersten Aufruf des Befehls Journalcheck das eigentliche Argument in geschwungenen Klammern gefangen. Es sollte so verwendet werden wie beim zweiten Aufruf.
\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\makeatletter
\def\bibmacrofor@abl{\gdef\tempP{abl}}
\def\bibmacrofor@ABL{\gdef\tempP{abl}}
\def\tempP{noch leer}
\newcommand\journalcheck{%
\begingroup
\def\gls##1{##1}%
\csname bibmacrofor@\abx@field@journaltitle\endcsname
\endgroup}
\def\abx@field@journaltitle{{\gls{abl}}}
\journalcheck
\tempP
\def\abx@field@journaltitle{\gls{abl}}
\journalcheck
\tempP
\end{document}
Ich habe den folgenden Code gefunden, der Argumente aus geschwungenen Klammern befreit, aber ich kann ih nicht auf mein Beispiel anpassen. Weiss jemand Rat?
% \@defstrip defines a command that assumes that the true argument
% comes embraced in braces "{}", and first strips off those braces,
% before passing it to the parameter text.
\def\@defstrip#1#2#{%
\def#1##1{\@nameuse{\name#1.}##1}%
\@namedef{\name#1.}#2}
\def\@name@defstrip#1{\expandafter\@defstrip\csnam e #1\endcsname}
Danke!
ElEsido
Im folgenden Code ist beim Ersten Aufruf des Befehls Journalcheck das eigentliche Argument in geschwungenen Klammern gefangen. Es sollte so verwendet werden wie beim zweiten Aufruf.
\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\makeatletter
\def\bibmacrofor@abl{\gdef\tempP{abl}}
\def\bibmacrofor@ABL{\gdef\tempP{abl}}
\def\tempP{noch leer}
\newcommand\journalcheck{%
\begingroup
\def\gls##1{##1}%
\csname bibmacrofor@\abx@field@journaltitle\endcsname
\endgroup}
\def\abx@field@journaltitle{{\gls{abl}}}
\journalcheck
\tempP
\def\abx@field@journaltitle{\gls{abl}}
\journalcheck
\tempP
\end{document}
Ich habe den folgenden Code gefunden, der Argumente aus geschwungenen Klammern befreit, aber ich kann ih nicht auf mein Beispiel anpassen. Weiss jemand Rat?
% \@defstrip defines a command that assumes that the true argument
% comes embraced in braces "{}", and first strips off those braces,
% before passing it to the parameter text.
\def\@defstrip#1#2#{%
\def#1##1{\@nameuse{\name#1.}##1}%
\@namedef{\name#1.}#2}
\def\@name@defstrip#1{\expandafter\@defstrip\csnam e #1\endcsname}
Danke!
ElEsido