我正在使用 Lyx 软件排版算法。我试图使用命令\quad
缩进我正在编写的循环,但\quad
在编译页面时无法识别该命令。我假设我需要加载特定的包才能使用该命令\quad
。有人知道我应该加载什么包吗?或者,如果这不是包加载问题,我需要做什么才能使用\quad
。
答案1
您不需要任何额外的软件包即可使用\quad
。如果您所说的“无法识别”是指它\quad
没有效果,则可能是因为您在换行符(Ctrl+ Enter)之后添加了它,而它不起作用,正如 egreg 在评论中提到的那样。相反,使用\hspace*{1em}
在 ERT 中使用,或者执行插入 --> 格式化 --> 水平空间,使用自定义长度并使用保护检查:
不过,我认为您不会真正想要使用\quad
或类似的手动间距来编写算法,最好使用现有的几个 LaTeX 包之一来实现此目的。
请参阅 Werner 的回答https://tex.stackexchange.com/a/64354/586举个例子。要在 LyX 中使用它,请先转到文档 --> 设置 --> LaTeX 前言并添加
\usepackage{algorithm}
\usepackage{algpseudocode}
Ctrl在您的文档中,使用+或插入 --> TeX 代码添加 ERT ,并在其中L写入整个环境,例如algorithm
\begin{algorithm}
\caption{Euclid's algorithm}\label{euclid}
\begin{algorithmic}[1]
\Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
\State $r\gets a\bmod b$
\While{$r\not=0$}\Comment{We have the answer if r is 0}
\State $a\gets b$
\State $b\gets r$
\State $r\gets a\bmod b$
\EndWhile\label{euclidendwhile}
\State \textbf{return} $b$\Comment{The gcd is b}
\EndProcedure
\end{algorithmic}
\end{algorithm}
ERT 要求是一个缺点,但如果你能得到https://tex.stackexchange.com/a/115729/586那么就可以避免这种情况。
另外,如果您满足于让算法成为浮点数(类似于图形和表格),您可以稍微修改上述示例。首先,\usepackage{algorithm}
从序言中删除。使用插入 --> 浮点 --> 算法添加算法浮点数。这会自动添加标题框,您可以像平常一样添加标签。在标题后插入 ERT,并algorithmic
在其中写入环境,即只需
\begin{algorithmic}
...
\end{algorithmic}