![手动创建“枚举”标签](https://linux22.com/image/386434/%E6%89%8B%E5%8A%A8%E5%88%9B%E5%BB%BA%E2%80%9C%E6%9E%9A%E4%B8%BE%E2%80%9D%E6%A0%87%E7%AD%BE.png)
在数学引理的陈述中,我有两个类似的陈述,它们应该构成陈述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
最后,我自己找到了一个解决方案:适当间距的障碍是:
- 环境
theorem
重新定义了打印枚举所涉及的所有长度, 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}
得出