Нумерация строк для всех строк псевдокода алгоритма в Lyx

Нумерация строк для всех строк псевдокода алгоритма в Lyx

Я пытаюсь добавить алгоритм в псевдокоде в LyX в версии 2.3.2, как описаноздесь.

  1. Добавить \usepackage{algorithm,algpseudocode}в преамбулу
  2. Вставьте блок алгоритма (Вставка --> Плавающий --> Алгоритм)
  3. Вставьте код tex в блок алгоритма (Вставка --> Код tex)
  4. Добавьте следующий код латекса

    \begin{algorithmic}[1]
    \Require{$\rho \geq 1$}
    \Ensure{$X_k$}
    \While{not converged}
    \State{Solve $X_{k+1}=\min_{X} L(X,Y_k, \mu_k)$}
    \State{$Y_{k+1}=Y_k+\mu_k h(X_{k+1})$}
    \State{$\mu_{k+1}=\rho \mu_k$}
    \EndWhile
    \end{algorithmic}
    

Что дает следующий результат:

введите описание изображения здесь

Согласно другим ответам, которые я читал, algorithmic[1]команда должна нумеровать каждую строку и не начинаться со строки 3 в псевдокоде.

Как это исправить и пронумеровать все строки с начала, например, начиная с \Require{$\rho \geq 1$}этого примера?

решение1

Они не должны иметь номеров строк, но вы можете изменить это, добавив следующее в Документ > Настройки... > Преамбула LaTeX:

\algrenewcommand\Require{\State \algorithmicrequire~}%
\algrenewcommand\Ensure{\State \algorithmicensure~}%

Вышеуказанные обновления \Requireи \Ensureдолжны быть регулярными \Stateи поэтому задаются с номером строки.

введите описание изображения здесь

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