IEEEtran 双列格式中数学模式的格式不正确

IEEEtran 双列格式中数学模式的格式不正确

我正在编写 IEEE 事务双列格式的文档。内联数学方程式渲染不正确,主要是符号之间有不需要的空格(如下面我突出显示的)。我理解 Latex 必须调整文本间距以对齐列。是否有任何方法可以指示 Latex 拆分数学模式表达式以减少冗余空格插入?

\documentclass{IEEEtran}[10pt]
\usepackage{amsfonts}

\begin{document}
A bilinear pairing defined to be $ \mathcal{G} = (p,\mathbb{G}_a,\mathbb{G}_b,\mathbb{G}_T,e,P_a,P_b)$ where we choose $\mathbb{G}_a=\langle P_a \rangle$
\end{document}

在此处输入图片描述

答案1

我认为你有两个选择:

  • 在内联数学公式中插入一个或多个精心选择的\allowbreak指令,以允许在逗号后换行,或者

  • 将内联方程转​​换为显示方程,因为 (i) 该方程可能足够重要,值得进行这种处理,并且 (ii) 您正在处理相当窄的列。

在此处输入图片描述

\documentclass{IEEEtran}
\usepackage{amsfonts} % for "\mathbb" macro
\begin{document}

A bilinear pairing defined to be
$\mathcal{G}=(p, \mathbb{G}_a, \mathbb{G}_b, \mathbb{G}_T, e, \allowbreak P_a, \allowbreak P_b)$, 
where we choose $\mathbb{G}_a=\langle P_a\rangle$, \dots

\begin{center} --------- or --------- \end{center}  % just for visual interest

A bilinear pairing defined to be
\[
\mathcal{G}=(p, \mathbb{G}_a, \mathbb{G}_b, \mathbb{G}_T, e, P_a, P_b)\,,
\] 
where we choose $\mathbb{G}_a=\langle P_a\rangle$, \dots
\end{document}

附录,灵感来自 Manuel 的评论。虽然对于眼前的例子来说可能有点过度,但在数学模式下,拥有一个允许在逗号后换行的函数或宏可能会很有用。如果切换到 LuaLaTeX 是您的选项,那么以下代码应该会引起您的兴趣。它设置了两个名为\breakatcommas和的 TeX 宏\nobreakatcommas,分别启用和禁止在逗号处换行。问题\breakatcommas 应该允许这种换行的行(们),并\nobreakcommas在有问题的行(们)之后发出。

在此处输入图片描述

% !TEX TS-program = lualatex
\documentclass{IEEEtran}
\usepackage{amsfonts} % for '\mathbb' macro

\usepackage{luacode,luatexbase} 
\begin{luacode}
function breakatcommas ( line )
    line = string.gsub ( line, ",", ",\\allowbreak" )
    return line
end
\end{luacode}
\newcommand\breakatcommas{\directlua{luatexbase.add_to_callback 
    ( "process_input_buffer", breakatcommas, "breakatcommas") }}
\newcommand\nobreakatcommas{\directlua{luatexbase.remove_from_callback 
    ( "process_input_buffer", "breakatcommas") }}

\begin{document}
A bilinear pairing defined to be
\breakatcommas
$\mathcal{G}=(p, \mathbb{G}_a, \mathbb{G}_b, \mathbb{G}_T, e, P_a, P_b)$ 
\nobreakatcommas 
where we choose $\mathbb{G}_a=\langle P_a \rangle$, \dots
\end{document}

相关内容