Leider habe ich das Beispiel etwas zu stark vereinfacht und es funktioniert in der tatsächlichen Anwendung nicht. Diese ist wie folgt: In einem Biblatex-Stil soll das Feld journaltitle geprüft werden und je nach Inhalt ein unterschiedliches Makro aufgerufen werden. Die Schriebweise innerhalb des Journal-Feldes kann jedoch zwischen den folgenden drei Fällen variieren:
- ABL
- \gls{abl}
- {\gls{abl}}
Ausgeschrieben sieht die Sache so aus:
Code:
\newcommand{\journalcheck}{%
% Fälle
\iffieldundef{howpublished}
{% Test, ob Journaltitle {\gls{abl}}, \gls{abl} oder ABl
\iffieldequalstr{journaltitle}{{\gls{abl}}}{\usebibmacro{abl}}%
{\iffieldequalstr{journaltitle}{\gls{abl}}{\usebibmacro{abl}}
{\iffieldequalstr{journaltitle}{ABl}{\usebibmacro{abl}}
{% Test ob Journaltitle {\gls{rpw}}, \gls{rpw} oder RPW
\iffieldequalstr{journaltitle}{{\gls{rpw}}}{\usebibmacro{rpw}}
{\iffieldequalstr{journaltitle}{\gls{rpw}}{\usebibmacro{rpw}}
{\iffieldequalstr{journaltitle}{RPW}{\usebibmacro{rpw}}
{% Test ob Journaltitle BGE
\iffieldequalstr{journaltitle}{{\gls{bge}}}{\usebibmacro{bge}}
{\iffieldequalstr{journaltitle}{\gls{bge}}{\usebibmacro{bge}}
{\iffieldequalstr{journaltitle}{ABL}{\usebibmacro{bge}}
{% Alle andern
\usebibmacro{andere}}}}}}}}}}}
{\printfield{howpublished}}
}
Ich möchte sie jedoch mit dem Befehl
aufrufen, also müsste es irgendwie so aussehen:
Code:
\newcommand{\journalcheck}[1]{%
% Fälle
\iffieldundef{howpublished}
{% Test, ob Journaltitle {\gls{abl}}, \gls{abl} oder ABl
\iffieldequalstr{journaltitle}{{\gls{#1 in Kleinschrift}}}{\usebibmacro{abl}}%
{\iffieldequalstr{journaltitle}{\gls{#1 in Kleinschrift}}{\usebibmacro{abl}}
{\iffieldequalstr{journaltitle}{#1}{\usebibmacro{abl}}
{% Test ob Journaltitle {\gls{rpw}}, \gls{rpw} oder RPW
\iffieldequalstr{journaltitle}{{\gls{#1 in Kleinschrift}}}{\usebibmacro{rpw}}
{\iffieldequalstr{journaltitle}{\gls{#1 in Kleinschrift}}{\usebibmacro{rpw}}
{\iffieldequalstr{journaltitle}{#1}{\usebibmacro{rpw}}
{% Test ob Journaltitle BGE
\iffieldequalstr{journaltitle}{{\gls{#1 in Kleinschrift}}}{\usebibmacro{bge}}
{\iffieldequalstr{journaltitle}{\gls{#1 in Kleinschrift}}{\usebibmacro{bge}}
{\iffieldequalstr{journaltitle}{#1}{\usebibmacro{bge}}
{% Alle andern
\usebibmacro{andere}}}}}}}}}}}
{\printfield{howpublished}}
}
Gibt es eine Möglichkeit? Beispielsweise mit der Definition eine neuen Variable, der der Wert des Parameters 1 in Kleinschrift übergeben wird, und die dann an Stelle des #1 in Kleinschrift eingesetzt wird?
(Ein lauffähiges Minimalbeispiel ist schwierig zu erstellen, da ich dazu die ganze Baustelle meines Biblatex-Stils hochladen müsste.)
Lesezeichen