
私は論文に RevTex4-2 を使用しています。最初の 3 人の著者をグループ化し、最後の著者を 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
ため、これを 1 回目に抑制し、2 回目に再度有効にする必要があります。間隔を調整する必要があり、もちろんタイトルは 2 回目に印刷されるべきではありません。
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}
結果:
私がわざわざ修正しなかった副作用の 1 つは、FirstPage
のどこかに多重定義されたラベルがあることです\titleblock@produce
。 でこれを削除できるかもしれませんxpatch
が、 を 2 回呼び出すことによって影響を受ける他の多くの管理処理が確実に存在する\maketitle
ため、慎重に確認してください。