Я хотел бы изменить стиль отдельных строк в алгоритме. Например, я хотел бы окружить ключевые номера строк рамкой, раскрасить их или иным образом отличить их.
Можно изменить стиль всех номеров строк с помощью 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, хотя я не проверял).