![如何在“伪”环境中在数字前创建对齐的文本列?](https://linux22.com/image/469589/%E5%A6%82%E4%BD%95%E5%9C%A8%E2%80%9C%E4%BC%AA%E2%80%9D%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%9C%A8%E6%95%B0%E5%AD%97%E5%89%8D%E5%88%9B%E5%BB%BA%E5%AF%B9%E9%BD%90%E7%9A%84%E6%96%87%E6%9C%AC%E5%88%97%EF%BC%9F.png)
我想使用伪包,灵感来自 GitHub/Gerrit diffs。但是,行首的符号没有对齐 - 当数字从 9 变为 10 时,它们会移动。我怎样才能让它看起来好看?我可以强制数字固定宽度,还是设置一个表格前奏,为我提供“+”/“-”符号的列?
例子:
\documentclass{article}
\usepackage{xcolor}
\usepackage{pseudo}
\pseudodefinestyle{rm}{bol-prepend=\rowcolor{red!30!white}{--}\quad}
\pseudodefinestyle{gp}{bol-prepend=\rowcolor{green!30!white}+\quad}
\begin{document}
\begin{pseudo}[start=7]
foo \\[rm]
bar \\[gp]
baz \\[gp]
quuz \\[gp]
snoz \\
blep
\end{pseudo}
\end{document}
答案1
使用prefix
和preamble
选项,您可以在数字前添加列分隔符:
\documentclass{article}
\usepackage{pseudo}
\pseudodefinestyle{rm}{bol-prepend=\rowcolor{red}{--}}
\pseudodefinestyle{gp}{bol-prepend=\rowcolor{green}+}
\begin{document}
\begin{pseudo}[
start=7,
prefix={\pseudobol & \stepcounter* \pseudolabel &},
preamble={
>{ \pseudohpad }
c
>{ \pseudohpad }
\pseudolabelalign
>{ \pseudosetup }
l
<{ \pseudohpad }
},
]
foo \\[rm]
bar \\[gp]
baz \\[gp]
quuz \\+[gp]
snoz \\-
blep
\end{pseudo}
\end{document}