6

我正在使用 LaTeX 进行算法分配,我需要展示Horspool 的字符串匹配算法的步骤,类似于教科书中的内容。它演示算法的方式是显示模式如何在每次失败的比较中沿着文本移动,每次移动都在新的一行上。该模式显示在文本下方,具有适当的水平间距,指示正在比较哪些字母。

下面是一个 DNA 序列的例子:

GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA
ACATCTCA
 ACATCTCA
  ACATCTCA
    ACATCTCA

我已经浏览了几个 LaTeX 参考资料。我尝试\hspace在每行的开头添加间距,然后\hfill在模式之后和创建换行符之前添加。我没有收到任何错误,但前面没有添加空格。该行已正确填充。

是否有另一种方法可以将空格添加到每行的开头,或者另一种格式化它的方法?

4

4 回答 4

28

只需使用\hspace*{5mm}(即加星标的形式),它在一行的开头可以正常工作。

于 2010-02-06T09:24:40.443 回答
8

我很确定你想用固定宽度的字体排版你的例子,在这种情况下,你可能应该使用verbatimenvironment. 更好的是,您可以使用fancyvrb包,它为您提供了一个Verbatim环境,并允许您控制字幕、颜色、字体大小/形状等。您甚至可以通过显示它们来使空白更明显:

\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[showspaces=true,fontsize=\small]
GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA
ACATCTCA
 ACATCTCA
  ACATCTCA
    ACATCTCA
\end{Verbatim}
\end{document}
于 2010-02-06T10:13:31.480 回答
7

为此,我总是在行首添加一个“空”对象,例如

${}$\hspace{5em}Foo

它并不漂亮,但可以达到目的。

于 2010-02-06T09:16:44.773 回答
1

我会简单地使用列表包并使用空格或制表符进行缩进。我想您无论如何都在使用打字机字体来获取非相对宽度的字母。

于 2010-02-06T09:15:42.030 回答