制表环境文本重叠

制表环境文本重叠

我正在尝试布局一些文本以遵循 BDD 样式的场景格式:

给定一些条件
    当动作发生时
        并且发生了一些其他动作
    然后就会发生一些结果

在之前的问题中,有人建议我使用制表符环境来完成这种格式,但是当我使用制表符环境时,一些单词会重叠。

梅威瑟:

\documentclass[11pt,letter]{article}
\usepackage{enumitem}
\usepackage[hyphens]{url}
\usepackage{hyperref}
\usepackage[T1]{fontenc}     %step 1
\usepackage{tabbing}
\setlist[description]{style=nextline,font=\normalfont}
\begin{document}
\section{Scenario: Valid Login:}
\begin{tabbing}
    \=    \=    \= \kill
Given \> the browser is open to the login page \\
\> When \> a valid username is entered \\
\> \> And \> the valid corresponding password is entered \\
\> \> And \> the sign-in button is clicked \\
\> Then \> the welcome page is displayed. \\
\end{tabbing}
\end{document}

示例输出

顺便说一句:我在 Windows 7 上使用 MiKTeX 2.9。

答案1

使用verbatim可能是一种更简单的方法......

代码:

\documentclass{article}

\begin{document}

\begin{verbatim}
Given some condition
    When an action occurs
        And some other action occurs
    Then some result happens
\end{verbatim}

\end{document}

产量:

在此处输入图片描述

答案2

该命令\=设置制表位。您的第一行制表符之间实际上没有空格,因为 LaTeX 将多个空格合并为一个,并且紧接着的空格\=将被忽略。您可以使用 在制表符之间添加显式空格\=\hspace{...}但您必须猜测空格的大小。

\=相反,\>第一次需要任何给定的制表位时,只需写入:

Given \= the browser is open to the login page \\
\> When \= a valid username is entered \\
\> \> And \= the valid corresponding password is entered \\
\> \> And \> the sign-in button is clicked \\
\> Then \> the welcome page is displayed. \\

示例输出

\documentclass[11pt,letter]{article}
\usepackage{enumitem}
\usepackage[hyphens]{url}
\usepackage{hyperref}
\usepackage[T1]{fontenc}     %step 1
\usepackage{tabbing} %for texlive change to Tabbing
\setlist[description]{style=nextline,font=\normalfont}
\begin{document}
\section{Scenario: Valid Login:}
\begin{tabbing}
Given \= the browser is open to the login page \\
\> When \= a valid username is entered \\
\> \> And \= the valid corresponding password is entered \\
\> \> And \> the sign-in button is clicked \\
\> Then \> the welcome page is displayed. \\
\end{tabbing}
\end{document}

或者,如果您想要统一的缩进,那么请在第一行指定间距,然后将制表位移动到后续行中所需的位置:

\begin{tabbing}
\qquad \= \qquad \= \qquad \= \qquad \= \kill
Given the browser is open to the login page \\
\> When a valid username is entered \\
\> \> And the valid corresponding password is entered \\
\> \> And the sign-in button is clicked \\
\> Then the welcome page is displayed. \\
\end{tabbing}

\qquad\hspace{2em}

另一个版本

相关内容