Darstellung von \citet* ändern

Darstellung von \citet* ändern

Ich möchte die Darstellung ändern und \citet*eine kleinere Schriftgröße und eine bestimmte Farbe verwenden.

Das untenstehende MWE arbeitet für die unstarrte Version von \citetund produziert

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{filecontents}
\usepackage{natbib}
\usepackage{color}

\let\oldcitet=\citet
\renewcommand{\citet}[1]{{\footnotesize\textcolor[rgb]{.8, .1, .4}{\oldcitet{#1}}}}

\begin{filecontents}{refs.bib}
@book{ref,
title = {title},
author = {john and abi and fein},
location = {here},
publisher = {publisher},
year = {2017},
}
\end{filecontents}

\begin{document}

\citet{ref}

\citet*{ref}

\bibliography{refs.bib}

\bibliographystyle{plainnat}

\end{document}

Die Neudefinition von \citetunterbricht die der mit Sternchen versehenen Version. Irgendwelche Vorschläge, wie man das beheben kann?

Antwort1

Um die mit einem Sternchen versehene Version in Ihr Setup aufzunehmen, müssen Sie die Verwendung von *etwas wie Folgendem abhängig machen:

\let\oldcitet=\citet
\makeatletter
\renewcommand{\citet}{\@ifstar\newcitetstar\newcitet}
\newcommand{\newcitet}[1]{{\footnotesize\textcolor[rgb]{.8, .1, .4}{\oldcitet{#1}}}}
\newcommand{\newcitetstar}[1]{{\footnotesize\textcolor[rgb]{.8, .1, .4}{\oldcitet*{#1}}}}
\makeatother

Bildbeschreibung hier eingeben

Es gibt einfachere Möglichkeiten, auch andere Optionen auszuhandeln, wie zum Beispiel optionale Argumente. Für einen allgemeineren Ansatz würde ich Folgendes in Betracht ziehen:xparse.

verwandte Informationen