枚举中的左对齐文本

枚举中的左对齐文本

我希望在数学/逻辑推理中将理由左对齐。我目前处于一个enumerate标签中。

我有:

a) p or q by fact(10)
b) r by negation on (a, 10)
c) s by implication(b, 5)
.
.

I would like to turn the above into:

a) p or q     by fact(10)
b) r          by negation on  (a, 10)
c) s          by implication (b, 5)
.
.

我会知道如何做到这一点,而无需枚举页面左侧的字母表。我只需使用标签即可align

  1. 如何在枚举中获取上述对齐?

提前致谢!

答案1

如果您知道句子相对较短,则可以使用tabbing环境和计数器。

\documentclass{article}
\newcounter{mycurrentline}
\def\postNumberForLine{\stepcounter{mycurrentline}\alph{mycurrentline})}
\pagestyle{empty}
\begin{document}

\begin{tabbing}
\postNumberForLine\ \= p or q \= by fact (10) \\
\postNumberForLine \> r      \> by negation on (a, 10)\\
\postNumberForLine \> s      \> by implicaiton (b,5)
\end{tabbing}

\end{document}

在此处输入图片描述

或者,您可以使用tabular环境:

\documentclass{article}
\usepackage{array}
\newcounter{mycurrentline}
\def\postNumberForLine{\stepcounter{mycurrentline}\alph{mycurrentline})}
\pagestyle{empty}
\begin{document}

\begin{tabular}{>{\postNumberForLine}ccl}
& p or q & by fact (10) \\
& r      & by negation on (a, 10)\\
& s      & by implicaiton (b,5)
\end{tabular}

\end{document}

环境的优点在于tabular,您可以对最后一列使用列指令,p{<dim>}使其具有minipage指定的宽度。

对于这个特定的tabular环境,我将第一列和第二列都居中。最后一列左对齐。此外,我加载了包array。这允许我为表格的每一行添加(或后添加)指令:这是通过添加来实现的>{<commands}。我还在列声明\raggedright中添加了前缀p以避免连字符。

在此处输入图片描述

这是一个略有不同的例子来说明这个p选项:

\documentclass{article}
\usepackage{amsmath,array}
\newcounter{mycurrentline}
\def\postNumberForLine{\stepcounter{mycurrentline}\alph{mycurrentline})}
\pagestyle{empty}
\begin{document}

\begin{tabular}{>{\postNumberForLine}c>{$}c<{$}>{\raggedright}p{2in}r}
 & p \text{ or } q & This is the disjunction of proposition $p$ and proposition $q$ & by fact        (10)   \\
 & r               &                                                                & by negation on (a, 10)\\
 & s               &                                                                & by implicaiton (b,5)
\end{tabular}

\end{document}

我已经完成了指令的前置和后置。对于第二列,我已确保内容处于数学模式。此外,我已加载包,amsmath以便我在数学模式中间添加\text{ and }以正确格式化。and

在此处输入图片描述

如果您的表格可能必须跨越页面边界,那么您可能还需要考虑该longtable包。

答案2

不那么完美listliketab包裹。

也可以看看我的这个答案如何在枚举环境中强制对齐“案例”括号?

代码

\documentclass[12pt]{scrartcl}
\usepackage{enumitem,amsmath}
\usepackage{listliketab}
\newcounter{listliketablabel}
\newcommand*{\nextnum}{\addtocounter{listliketablabel}{1}\thelistliketablabel)}
\makeatletter
\newcommand*{\storestyleofextra}[2][]{%
    \begin{lrbox}{\llt@list@box}
        \noindent
        \begin{minipage}{\linewidth}
            \begin{#2}[#1]
            \item[] %\storeliststyle{}
            \end{#2} \storeliststyle{}%\edef\llt@bot@sep@{\the\llt@bot@sep}
%            \begin{#2}[#1]
%              \item[] %\storeliststyle{}\global\llt@bot@sep\llt@bot@sep@
%            \end{#2} 
        \end{minipage}
    \end{lrbox}\ignorespacesafterend
}
\storestyleofextra[label=\alph*)]{enumerate}
\newenvironment{alignerate}[1]{%
    \begin{listliketab}%
        \setcounter{listliketablabel}{0}\renewcommand*{\thelistliketablabel}{\alph{listliketablabel}}%
        \renewcommand*{\item}{\nextnum &}%
    \begin{tabular}{L#1R}
}{
    \end{tabular}
    \end{listliketab}\hfill\newline
}
\makeatother
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{alignerate}{>{$}c<{$} >{\raggedright} p{2in} r}
    \item p \text{ or } q & This is the disjunction of proposition $p$ and proposition $q$ & by fact        (10)    \\
    \item r               &                                                                & by negation on (a, 10) \\
    \item s               &                                                                & by implicaiton (b,5)   \\
\end{alignerate}
\lipsum[2]
\begin{enumerate}[label=\alph*)]
\item $p$ or $q$
\item $r$
\item $s$
\end{enumerate}
\lipsum[3]
\end{document}

输出

在此处输入图片描述

相关内容