
기사에 RevTex4-2를 사용하고 있습니다. 처음 세 명의 저자를 그룹화하고 마지막 저자를 두 번째 열에 배치하고 싶습니다. 명령 으로 \collaboration
할 수 있어요. 그런데 처음 3명의 저자의 소속을 먼저 표시하고 마지막 저자의 성명과 소속을 표시하는 것이 가능할까요?
\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}
답변1
이 답변의 해결책은 의심할 여지 없이 부작용이 많은 다소 지저분한 해킹입니다. 가장 좋은 방법은 기본 동작을 그대로 두는 것입니다.
그러나 여전히 이 작업에 관심이 있는 경우 다음은 \maketitle
두 번 호출하는 접근 방식입니다. 먼저 첫 번째 저자 블록(바로 아래 소속)에 대해 호출한 다음 나머지 저자에 대해 다시 호출합니다.
Revtex4-2는 이후의 모든 정보 \maketitle
(자체 정의 포함 \maketitle
)를 삭제하므로 임시 명령에서 해당 정보를 보존해야 합니다. 또한 일반적으로 초록은 일부로 인쇄되므로 \maketitle
처음에는 이를 억제하고 두 번째에는 다시 활성화해야 합니다. 간격을 조정해야 하며, 제목은 두 번째로 인쇄되어서는 안 됩니다.
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}
결과:
내가 고치려고 애쓰지 않았던 한 가지 부작용 FirstPage
은 \titleblock@produce
. 아마도 이를 제거할 수 있지만 두 번 xpatch
전화하면 영향을 받는 다른 장부가 확실히 많으므로 \maketitle
주의 깊게 확인하십시오.