Алгоритмы: изменение стиля отдельных номеров строк

Алгоритмы: изменение стиля отдельных номеров строк

Я хотел бы изменить стиль отдельных строк в алгоритме. Например, я хотел бы окружить ключевые номера строк рамкой, раскрасить их или иным образом отличить их.

Можно изменить стиль всех номеров строк с помощью algorithm2e, как подробно описано здесь (и в руководстве):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, хотя я не проверял).

Связанный контент