使用 latex 缩进文本但不缩进数字

使用 latex 缩进文本但不缩进数字

因此,基本上,我想做的是制作一个描述伪代码的有序列表。但我希望每个步骤的数字对齐,而文本则需要缩进。

我正在使用 R-studio,并且对 Latex 还不熟悉,所以我不知道如何解决这个问题。

下面是我使用的代码示例:

\begin{algorithm}[H]

{\textbf{Algorithm} {EXAMPLE}}
\begin{enumerate}

\item Line 1
\item line 2
\setlength\itemindent{25pt} \item line 3
\item line 4
\setlength\itemindent{55pt} \item  line 5
\item line 6
\setlength\itemindent{25pt} \item line 7
\item line 8
\setlength\itemindent{0pt} \item line 9
\item line 10

\end{enumerate}
\end{algorithm}

这将产生如下输出:

缩进数字

不过,我想让所有数字对齐,但保持文本缩进。

关于如何解决这个问题有什么建议吗?

答案1

这样怎么样?

在此处输入图片描述

\documentclass{article}
\usepackage{float}
\usepackage{xcolor}
\usepackage{minted}
\floatstyle{ruled}
\newfloat{algorithm}{tbp}{loa}
\floatname{algorithm}{Algorithm}
\begin{document}
\begin{algorithm}
\caption{The \LaTeX\ preamble of this example.}
\begin{minted}[linenos,bgcolor=orange!05]{latex}
\documentclass{article}
    \usepackage{float}
    \usepackage{xcolor}
    \usepackage{minted}
        \floatstyle{ruled}
        \newfloat{algorithm}{tbp}{loa}
        \floatname{algorithm}{Algorithm}
\end{minted}
\end{algorithm}
\end{document}

答案2

也许你正在寻找这样的内容:

在此处输入图片描述

\documentclass{article}

\usepackage{algorithm,algpseudocode}

\let\oldState\State
\renewcommand{\State}[1][0]{%
  \oldState\hspace*{#1\dimexpr\algorithmicindent\relax}%
}

\begin{document}

\begin{algorithm}
  \caption{Example}
  \begin{algorithmic}[1]
    \State Line 1
    \State Line 2
      \State[1] Line 3
      \State[1] Line 4
        \State[2] Line 5
        \State[2] Line 6
      \State[1] Line 7
      \State[1] Line 8
    \State Line 9
    \State Line 10
  \end{algorithmic}
\end{algorithm}

\end{document}

宏的更新\State使其接受一个选项参数,用于将该行缩进 的倍数\algorithmicindent。但是,如果代码行长于文本宽度,这看起来将不可接受。

相关内容