我正在使用 itemize 列出几种算法,并且我想使用算法包来显示该算法。
但是,当我在某个项目中使用 \begin{algorithm} 时,该算法会延伸到整个页面的宽度,而我希望它与项目的开始保持一致。
我该怎么做呢?
作为参考,这是我的错误乳胶的样子:
\begin{itemize}
\item this algorithm .....
\begin{algorithm}
\caption{Algorithm 1}\label{alg:cap}
\begin{algorithmic}
\state{algorithm step}
\end{algorithmic}
\end{algorithm}
\item ...
\end{itemize}
答案1
尽管您希望算法固定在列表中,但您使用的是浮动环境。因此,您可以省略算法环境:
\documentclass{article}
\usepackage{algorithm, algpseudocodex}
\usepackage{enumerate}
\usepackage{caption}
\begin{document}
\begin{itemize}
\item this algorithm .....
\item Algorithm 1:\label{alg:cap}
\begin{algorithmic}
\State $i \gets 10$
\If{$i\geq 5$}
\State $i \gets i-1$
\Else
\If{$i\leq 3$}
\State $i \gets i+2$
\EndIf
\EndIf
\end{algorithmic}
\item ...
\end{itemize}
\end{document}
编辑:上面和下面有些行:
\documentclass{article}
\usepackage{algorithm, algpseudocodex}
\usepackage{enumitem}
\usepackage{caption}
\begin{document}
\begin{itemize}
\item this algorithm .....
\item Algorithm 1:\label{alg:cap}
\item[] elegant line above
\begin{algorithmic}
\State $i \gets 10$
\If{$i\geq 5$}
\State $i \gets i-1$
\Else
\If{$i\leq 3$}
\State $i \gets i+2$
\EndIf
\EndIf
\end{algorithmic}
\item[] elegant line below
\item ...
\end{itemize}
\end{document}
如果您想调整行距等,请参阅文档枚举项