当我使用\algrenewcommand{\algorithmiccomment}[1]{\hfill// #1}
它时,它具有以下注释样式:
相反,我可以有以下内容//
,如果你仔细观察线的末端,你会发现它是一个半圆,而且角度更大。请注意,该图像取自 Cormen 的《算法导论》一书:
我的乳胶代码:
\documentclass[10pt,journal,compsoc]{IEEEtran}
\usepackage{amsmath}
\usepackage{algpseudocode}
\algrenewcommand{\algorithmiccomment}[1]{\hfill\textbf{//}\,#1}
\begin{document}
\phantom{} \\
\begin{algorithmic}[1]
\If{$quality \geq 9$}
\State $a \gets perfect$ \algorithmiccomment{\([\mathrm{A}]\)}
\EndIf
\end{algorithmic}
\end{document}
答案1
首先,您应该避免使用 IEEEtran 对compsoc
Palatino 中的文本和 Computer Modern 中的数学的默认设置。
其次,多字母变量不应只是数学模式,而应是其中之一\mathrm
(\mathit
否则字母间距会很奇怪而且不对)。使用命令可以通过对定义采取行动来更改首选项,而不是追逐整个文档。
最后,Palatino 中的斜线末端很尖锐。您展示的图片可能使用了 Computer Modern Typewriter 来制作斜线。
\documentclass[10pt,journal,compsoc]{IEEEtran}
\usepackage{amsmath}
\usepackage{algpseudocode}
\usepackage{newpxtext,newpxmath}
\algrenewcommand{\algorithmiccomment}[1]{\hfill\cslashes\ #1}
\algrenewcommand{\algorithmiccomment}[1]{\qquad\cslashes\ #1}
\newcommand{\cslashes}{{\fontfamily{cmtt}\selectfont/\!/}}
\newcommand{\tvar}[1]{\mathit{#1}}
\begin{document}
\begin{algorithmic}[1]
\If{$\tvar{quality} \geq 9$}
\State $a \gets \tvar{perfect}$ \algorithmiccomment{forest}
\EndIf
\end{algorithmic}
\end{document}
请注意,第二次重新定义\algorithmiccomment
只是为了获得较小的图片,请在代码中将其删除。
这是通过删除对 NewPX 的调用获得的具有默认(且有争议的) IEEEtran 样式的输出。
如果您不遵循格式化多字母变量的建议,则这里是输出。
IEEEtran
宣布 Palatino的代码:
% V1.7 compsoc nonconference papers, use Palatino/Palladio as the main text font,
% not Times Roman.
\@IEEEcompsocnotconfonly{\renewcommand{\rmdefault}{ppl}}
如果你更换
\newcommand{\cslashes}{{\fontfamily{cmtt}\selectfont/\!/}}
和
\newcommand{\cslashes}{{\fontfamily{lmtt}\fontseries{b}\selectfont/\!/}}
你得到