Autoren im Titel gruppieren mit revtex4-2

Autoren im Titel gruppieren mit revtex4-2

Ich verwende RevTex4-2 für einen Artikel. Ich möchte die ersten drei Autoren zusammenfassen und den letzten Autor in die zweite Spalte setzen. Mit dem \collaborationBefehl kann ich das tun. Wäre es jedoch möglich, zuerst die Zugehörigkeiten der ersten drei Autoren und dann den Vor- und Nachnamen des letzten Autors und seine/ihre Zugehörigkeit anzuzeigen?

\documentclass[prx,noshowpacs,twocolumn,superscriptaddress]{revtex4-2}

\usepackage{xpatch} 
\makeatletter
\xpatchcmd\@collaboration@present{(}{\medskip}{}{}
\xpatchcmd\@collaboration@present{)}{}{}{}
\makeatother

\begin{document}
    \title{Title}
    
    \author{Author1}
    \affiliation{Affiliation 1}
    \affiliation{Affiliation 2}
    
    \author{Author2}
    \affiliation{Affiliation 1}
    \affiliation{Affiliation 2}
    
    \author{Author3}
    \affiliation{Affiliation 1}
    \affiliation{Affiliation 2}
    \affiliation{Affiliation 3}
    
    \collaboration{}
    \author{Author4}
    \affiliation{Affiliation 4}
    \affiliation{Affiliation 5}
    
    \maketitle
    
\end{document}

So etwas würde ich gerne erreichen. Bildbeschreibung hier eingeben

Antwort1

Die Lösung in dieser Antwort ist ein ziemlich chaotischer Hack mit zweifellos vielen Nebenwirkungen. Der beste Ansatz wäre wahrscheinlich, das Standardverhalten so zu belassen, wie es ist.

Wenn Sie jedoch immer noch daran interessiert sind, dies zu tun, ist der folgende Ansatz zum Anrufen\maketitle zweimal an, zuerst für den ersten Autorenblock (mit den Zugehörigkeiten direkt darunter) und dann noch einmal für die verbleibenden Autoren.

Revtex4-2 löscht alle Informationen danach \maketitle(einschließlich der Definition von \maketitlesich selbst), daher müssen wir diese in temporären Befehlen beibehalten. Außerdem wird die Zusammenfassung untypischerweise als Teil von\maketitle daher muss dies beim ersten Mal unterdrückt und beim zweiten Mal wieder aktiviert werden. Der Abstand muss angepasst werden und natürlich sollte der Titel beim zweiten Mal nicht gedruckt werden.

MWE:

\documentclass[prx,noshowpacs,twocolumn,superscriptaddress]{revtex4-2}

\usepackage{xpatch} 
\makeatletter
\xpatchcmd\@collaboration@present{(}{\medskip}{}{}
\xpatchcmd\@collaboration@present{)}{}{}{}
\makeatother
\usepackage{lipsum}
\begin{document}
    \title{Title}

    \begin{abstract}
    This is the abstract
    \end{abstract}
    
    \author{Author1}
    \affiliation{Affiliation 1}
    \affiliation{Affiliation 2}
    
    \author{Author2}
    \affiliation{Affiliation 1}
    \affiliation{Affiliation 2}
    
    \author{Author3}
    \affiliation{Affiliation 1}
    \affiliation{Affiliation 2}
    \affiliation{Affiliation 3}

    \makeatletter
    % store affiliation, author macro definitions
    % before being cleared by first \maketitle
    \let\tmpaffiliation\affiliation
    \let\tmpauthor\author
    % store abstract macro definition before temporary clearing it
    % to prevent abstract being printed after first author block
    \let\tmpabstract\frontmatter@abstract@produce
    \let\frontmatter@abstract@produce\relax
    % prevent vertical space being added after first author block
    \let\frontmatter@finalspace\relax
    % print title and first author block
    \maketitle
    
    % restore definition of vertical space at end of author block
    \def\frontmatter@finalspace{\addvspace{18\p@}}
    % restore definitions of \maketitle, affiliation, author, abstract
    \let\maketitle\frontmatter@maketitle
    \let\affiliation\tmpaffiliation
    \let\author\tmpauthor
    \let\frontmatter@abstract@produce\tmpabstract
    % prevent printing title a second time
    \let\frontmatter@title@produce\relax
    \makeatother
    \author{Author4}
    \affiliation{Affiliation 4}
    \affiliation{Affiliation 5}
    % print second author block
    \maketitle
    
    \section{Introduction}
    \lipsum[1-5]
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Ein Nebeneffekt, den ich nicht behoben habe, ist ein mehrfach definiertes FirstPageLabel irgendwo in \titleblock@produce. Sie können das wahrscheinlich mit entfernen, xpatchaber es gibt sicherlich viele andere Buchhaltungselemente, die durch einen \maketitlezweimaligen Aufruf betroffen sind – prüfen Sie dies also sorgfältig.

verwandte Informationen