手动创建“枚举”标签

手动创建“枚举”标签

在数学引理的陈述中,我有两个类似的陈述,它们应该构成陈述A) 和b) 的引理。但是,由于我想正确对齐相似性,经过一番折腾之后,\makemathbox我只能简单地使用alignedat-environments。所以我当前的代码如下所示:

For all
$\begin{alignedat}[t]{2}
    t, t' & \in c^+\:\text{with}\ & t & \leq t'\colon & \ldots\\
    r, r' & \in c^-\:\text{with}\ & r & \leq r'\colon & \ldots
\end{alignedat}$

编辑:这就是我到目前为止所得到的几乎我想要的是:

\documentclass{scrartcl}
\usepackage{amsthm,amsmath,mathtools}
\usepackage[inline]{enumitem}
\setlist[enumerate]{
    label=\textit{\alph*}\textup{)},
}
\newtheorem{lemma}{Lemma}
\begin{document}
        \newlength\myleftmargin\setlength\myleftmargin\leftmargin
        \newlength\myitemindent\setlength\myitemindent\itemindent
        \begin{lemma}For all

        \vspace\partopsep%
        \noindent\hspace\myleftmargin%
        \begin{enumerate*}[mode=unboxed]%
            $\begin{alignedat}[t]{4}
                \makebox[\myitemindent][r]{\item\hspace{\labelsep}}&&%
                t, t' & \in c^+\:\text{with}\ & t & \leq t'\colon & 
                \ldots
                \\[\dimexpr\itemsep+\parsep\relax]%
                %
                \makebox[\myitemindent][r]{\item\hspace{\labelsep}}&&%
                r, r' & \in c^-\:\text{with}\ & r &\leq r'\colon &
                \ldots
                \\[\dimexpr\itemsep+\parsep\relax]%
                %
                \makebox[\myitemindent][r]{\item\hspace{\labelsep}}&&%
                \mathmakebox[\widthof{$r, r'$}][l]{\mathrm{S}}
            \end{alignedat}$
            \end{enumerate*}
        \end{lemma}
        \begin{proof}\strut
        \begin{enumerate}
            \item Some argument;
            \item Some argument.\qedhere
        \end{enumerate}
        \end{proof}
\end{document}

产生

上述代码的输出

但是,如果放大,您会注意到语句中的标签和证明中的枚举并不完全对齐。此外,您会注意到大写字母“S”没有对齐。如何正确做到这一点?

答案1

我将使用原始代码,并对其做出模拟定义\im

对齐是可能的,但输出效果并不好。第二个认识是我将如何做;我不认为对齐有什么用,反而会分散注意力。

\documentclass{article}
\usepackage{amsmath}
\usepackage{enumitem}

\newtheorem{lemma}{Lemma}
\newcommand{\im}{I}

\begin{document}

\begin{lemma}
For all\\[\topsep]
$\begin{alignedat}{4}
  \makebox[\leftmargini][r]{\upshape(a)\hspace{\labelsep}}
  && t,t' &\in c^+ &\text{ with } t &\leq t'\textup{: }
  & V_{tt'}(\im^\pm_c V_t) &= \im^\pm_c V_{t'}\textup{;}
  \\
  \makebox[\labelwidth][r]{\upshape(b)\hspace{\labelsep}}
  && r,r' &\in c^- &\text{ with } r &\leq r'\textup{: }
  & V_{rr'}(\im^\pm_c V_t) &\subseteq \im^\pm_c V_{t'}.
\end{alignedat}$
\end{lemma}

\begin{lemma}\mbox{}
\begin{enumerate}[label=\upshape(\alph*)]
\item For all $t,t'\in c^+$ with $t\leq t'$\textup{:}
      $V_{tt'}(\im^\pm_c V_t)=\im^\pm_c V_{t'}$\textup{;}
\item For all $r, r'\in c^-$ with $r\leq r'$\textup{:}
      $V_{rr'}(\im^\pm_c V_t)\subseteq \im^\pm_c V_{t'}$.
\end{enumerate}
\end{lemma}

\end{document}

在此处输入图片描述

答案2

最后,我自己找到了一个解决方案:适当间距的障碍是:

  1. 环境theorem重新定义了打印枚举所涉及的所有长度,
  2. alignedat引入了额外的间距。

下面的代码似乎做了正确的事情,虽然我不知道为什么我需要额外的长度\myspacewidth

\documentclass{scrartcl}
\usepackage{amsthm,amsmath}
\usepackage{printlen,array}
\usepackage[inline]{enumitem}
\setlist[enumerate]{%
    label=\textit{\alph*}\textup{)}%
}
\newtheorem{lemma}{Lemma}

\newlength\mytopsep\mytopsep\topsep
\newlength\myleftmargin\myleftmargin\leftmargin
\newlength\mylabelsep\mylabelsep\labelsep
\newlength\myitemsep\myitemsep\itemsep
\newlength\myparsep\myparsep\parsep
\newlength\myspacewidth%
\newenvironment{enumalign}[1]{%
    \par%
    \vspace\mytopsep%
    \noindent%
    \let\olditem\item%
    \settowidth\myspacewidth{{} {}}%
    \renewcommand\item{\llap{\strut\olditem\hspace{\dimexpr\mylabelsep-\myspacewidth\relax}}}%
    \newcommand\nl{\\[\dimexpr\myitemsep+\myparsep\relax]}%
    \begin{enumerate*}[mode=unboxed]$%
        \begin{array}{@{\hspace{\myleftmargin}}r@{}*{#1}{r@{}>{{}}l@{\ }}}%
}{%
        \end{array}%
    $\end{enumerate*}%
}
\begin{document}
        \begin{lemma}
        For all
            \begin{enumalign}{3}
                \item &
                t, t' & \in c^+\:\text{with} & 
                t & \leq t'\colon & 
                a &= b
                \nl%
                \item & r, r' & \in c^-\:\text{with} & r &\leq r'\colon &
            \end{enumalign}
        \end{lemma}
        \begin{proof}\strut
            \begin{enumerate}
                \item Some argument;
                \item Some argument.
            \end{enumerate}
        \end{proof}
\end{document}

得出

在此处输入图片描述

相关内容