附属机构以无间距斜体显示,可能是由 breqn 包触发的数学模式

附属机构以无间距斜体显示,可能是由 breqn 包触发的数学模式

我最近发现了 breqn 包,并一直在大量使用它。但是,我注意到我的文章的标题部分被这个包弄乱了。具体来说,我的文本的从属部分没有空格,编译器会missing $ inserted在该\maketitle行中抛出一个。在构建 MWE 时,我发现 breqn 包导致了这个故障。我该如何解决这个问题?

\documentclass[%
reprint,
amsmath,amssymb,
aps,floatfix
]{revtex4-2}
\usepackage{breqn}
\usepackage{blindtext}
\begin{document}
\title{Sample title}
\author{Aritra Das}
\affiliation{Dept. of Physics, Indian Institute of Technology, Kanpur, Uttar Pradesh 208016, India}
\date{\today}
\maketitle
\section{Introduction}
\blindtext
\end{document}

编译后的文档中关联文本有误 任何帮助都将不胜感激,谢谢。

答案1

很好的发现!

该类revtex4-2在逗号处于活动状态的设置下加载从属关系,并使用替换文本\active@comma。但是breqn以非常不同的方式定义活动逗号,仅在数学模式下有用。

breqn解决方案当然是不要使用。如果你坚持要这样做:

\documentclass[
  reprint,
  amsmath,amssymb,
  aps,floatfix
]{revtex4-2}

\usepackage{breqn}
\usepackage{blindtext}

%%% let's try and fix the issue
\begingroup\makeatletter
\catcode`,=\active
\global\let\breqn@comma,
\protected\gdef,{\ifmmode\expandafter\breqn@comma\else\expandafter\active@comma\fi}
\endgroup

\begin{document}

\title{Sample title}
\author{Aritra Das}
\affiliation{Dept. of Physics, Indian Institute of Technology, Kanpur, Uttar Pradesh 208016, India}
\date{\today}

\maketitle

\section{Introduction}

$a,b$

\blindtext

\end{document}

另一种解决方法是

\usepackage{etoolbox}

\makeatletter
\patchcmd\affils@present@group
 {\frontmatter@affiliationfont}
 {\frontmatter@affiliationfont\begingroup\lccode`~=`,\lowercase{\endgroup\let~}\active@comma}
 {}{}
\makeatother

当从属关系确实用于排版时,它会为活动逗号分配预期的含义。

相关内容