我想更改演算法中各行的樣式。例如,我想用一個框包圍關鍵行號,為它們著色,或以其他方式區分它們。
可以使用演算法2e來變更所有行號的樣式,如此處(以及手冊)中詳細介紹的:Algorithm2e 修改行號
有沒有辦法修改線條任一子集的樣式?
答案1
在此答案的基礎上這個答案,這可以透過更新命令來完成\alglinenumber
,如下所示。正如最後一行所示,這還不是最佳解決方案。
\documentclass{article}
\usepackage{algpseudocode}
\usepackage{xcolor}
\newcommand{\StateRed}[1]{\algrenewcommand{\alglinenumber}[1]{\footnotesize\textcolor{red}{##1}:}\State #1}
\newcommand{\StateBlack}[1]{\algrenewcommand{\alglinenumber}[1]{\footnotesize##1:}\State #1}
\begin{document}
\begin{algorithmic}[1]
\StateRed $x = 1$
\StateBlack $y = 2$
\StateRed $ z = 3$
\State you probably didn't want this to be red!
\end{algorithmic}
\end{document}
當行號中添加非零寬度的註解時,這也不能完美工作,因為從第 9 行到第 10 行(大概是 99 到 100,儘管我沒有檢查)時間距會受到影響。