如何在“伪”环境中在数字前创建对齐的文本列?

如何在“伪”环境中在数字前创建对齐的文本列?

我想使用包,灵感来自 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

使用prefixpreamble选项,您可以在数字前添加列分隔符:

\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}

相关内容