从 X 列开始一行

从 X 列开始一行

如何在给定列中写一行文本?我使用的是等宽字体,我想知道如何指定从那里开始的列号。例如:

Line started at column zero
    Line started at column five 
        Line started at column nine

我只找到了如何以 LaTeX 单位指定水平空间,而不是以列为单位。这个问题出现在我脑海中,我在一个listing环境中玩代码块,发现我可以在精确的列位置插​​入普通文本

\begin{listing}
    |@Efectively this line start at five position@|
\end{listing}

|@@|我的转义字符。然后我问自己,没有 我能做同样的事情吗listing

答案1

您可以tabbing为此使用环境:

\documentclass{article}
\begin{document}
\ttfamily
\begin{tabbing}
\hspace{1em}\=\hspace{1em}\=\hspace{1em}\=\hspace{1em}
\kill
This is at the right margin\\
\>This is at the first tab stop\\
\>\>This is at the second tab stop\\
\>\>\>This is at the third tab stop\\
\end{tabbing}
\end{document}

在此处输入图片描述

答案2

一个命令的基本版本,允许您根据等宽字体中字符的宽度将缩进指定为一个值:

\documentclass{article}

\newlength\mylen
\settowidth\mylen{\texttt{n}}
\newcommand\StCol[2][0]{{\ttfamily\noindent\hspace*{#1\mylen}{#2}}}

\begin{document}

\StCol{Line started at column zero}\\
\StCol[4]{Line started at column five}\\
\StCol[8]{Line started at column nine}

\end{document}

相关内容