Как сжать несколько номеров аффилиации?

Как сжать несколько номеров аффилиации?

Аффилиации авторов по умолчанию обозначены отдельными номерами.1,2,3. Как можно получить сжатые числа, т.е.1-3как на картинке? Интересуют ответы, в которых используются классы Revtex4, article, или report.

\documentclass[superscriptaddress]{revtex4-1}
\begin{document}
\title{Title}
\author{Author}
\affiliation{Affiliation A}
\affiliation{Affiliation B}
\affiliation{Affiliation C}
\maketitle
\end{document}

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

решение1

вы можете попробовать что-то вроде этого. Но имейте в виду, что revtexэто довольно сложный класс, и изменения могут повлиять на другие места. Обычно лучше оставить такие классы в покое или отправить запрос на функцию сопровождающим, а не возиться с их внутренностями.


\documentclass[superscriptaddress]{revtex4-2}

\ExplSyntaxOn\makeatletter
\def\@affil@present@script{%
 \let\@tempa\@empty
 \@affil@present@script@{\@affilID@temp}\relax
}%
\def\@affil@present@script@#1{%
 \tl_set:Nx\l_tmpa_tl{\tl_item:Nn#1{1}}
 \tl_set:Nx\l_tmpb_tl{\tl_item:Nn#1{-1}}
 \tl_if_eq:NNTF\l_tmpa_tl\l_tmpb_tl
   {\textsuperscript{\l_tmpa_tl}}
   {\textsuperscript{\l_tmpa_tl--\l_tmpb_tl}}
}

\ExplSyntaxOff\makeatother
\begin{document}
\title{Title}
\author{Author}
\affiliation{Affiliation A}
\affiliation{Affiliation B}
\affiliation{Affiliation C}
\author{AuthorB}
\affiliation{Affiliation D}
\affiliation{Affiliation E}
\affiliation{Affiliation F}
\author{AuthorC}
\affiliation{Affiliation G}
\maketitle
\end{document}

Связанный контент