我使用 IEEE 格式和算法包。但是算法中的二元运算符周围的间距太宽。附上截图:
使用此代码:
\documentclass{IEEEtran}
\usepackage{algorithmic}
\begin{document}
\begin{figure}
\begin{algorithmic}[1]
\STATE $y = \max{[0, x-1]}$ such that $[nic_y,nic_{y+1}]_{N'} \neq [nic_y,nic_{y+1}]_{C'}$
\end{algorithmic}
\end{figure}
\end{document}
我怎样才能解决这个问题 ?
谢谢
答案1
作为芭芭拉·比顿提到过her comment
,问题在于该语句长于一行,而“最佳”断点位于强制拉伸第一行的位置。
下面我提出两种可能的解决方案:第一种是使用本地\raggedright
,第二种是使用手动换行和一些缩进:
\documentclass{IEEEtran}
\usepackage{algorithmic}
\usepackage{amsmath}
\DeclareMathOperator{\nic}{nic}
\begin{document}
\begin{figure}
\begin{algorithmic}[1]
\STATE{\raggedright $y = \max{[0, x-1]}$ such that $[\nic_y,\nic_{y+1}]_{N'} \neq [\nic_y,\nic_{y+1}]_{C'}$\par}
\STATE $y = \max{[0, x-1]}$ such that \\
\hspace*{3em}$[\nic_y,\nic_{y+1}]_{N'} \neq [\nic_y,\nic_{y+1}]_{C'}$
\end{algorithmic}
\end{figure}
\end{document}
结果:
我还介绍了
\DeclareMathOperator{\nic}{nic}
如果您的“nic”是某种操作符,则需要正确的字体,但这当然是可选的,并且取决于“nic”的实际含义。