演算法:更改各個行號的樣式

演算法:更改各個行號的樣式

我想更改演算法中各行的樣式。例如,我想用一個框包圍關鍵行號,為它們著色,或以其他方式區分它們。

可以使用演算法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,儘管我沒有檢查)時間距會受到影響。

相關內容