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