LaTeX - 在序列中的每个新行的开头添加不同数量的水平间距

Fea*_*nor 6 formatting latex spacing

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

以下是DNA序列的示例:

GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA
ACATCTCA
 ACATCTCA
  ACATCTCA
    ACATCTCA
Run Code Online (Sandbox Code Playgroud)

我在几个LaTeX参考文献中喋喋不休.我尝试使用\hspace在每行的开头添加间距,然后\hfill在模式之后和创建换行符之前添加.我没有收到任何错误,但前面没有添加任何空间.该线正确填充.

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

Ram*_*nka 28

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


Alo*_*hal 7

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

\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[showspaces=true,fontsize=\small]
GAGTAATCCTTCACTTCAAGGCCAGTCTTCACATCTCATCAGA
ACATCTCA
 ACATCTCA
  ACATCTCA
    ACATCTCA
\end{Verbatim}
\end{document}
Run Code Online (Sandbox Code Playgroud)


Nie*_*ann 6

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

${}$\hspace{5em}Foo
Run Code Online (Sandbox Code Playgroud)

它虽然不漂亮,但却能达到目的。