假设我们已经lemma
用包定义了一个环境amstheorem
。并且假设该proof
环境可通过ams
包获得。请考虑这个例子。
\begin{lemma}
\label{lem:euler}
Euler is the greatest mathematician of all times.
\end{lemma}
\begin{proof}[Proof of Lemma~\ref{lem:euler} under the additional assumption that there
exists a unique mathematician of all times and that this unique mathematician of all times
has a magnitude]
Indeed, under the above assumption, the magnitude is given by the greatness. But if there
is only one mathematician, he is automatically the greatest. Since Euler was a mathematician,
we are done.
\end{proof}
在编写如此长的证明标题时,我遇到了很多问题。
校样标题可能会长于一行。它不适合一行,但不会自动换行。
我无法在证明标题中使用显示数学。
- 我不介意句子末尾必须有句号。对于一些句子,我可以手动省略最后一个句号。没问题!
- 即使标题适合一行但接近末尾,并且我开始在校样中写段落,新段落也不会很好地展开,而是会超出边距(疯狂地
overfull boxes
)。手动插入没有帮助newline
。文本根本没有展开,而是左对齐。 - 假设我想在长标题后开始一个新行,我所知道的最好的做法是
\mbox{}\newline
因为简单标题newline
不能被识别为[text]
(->warning
) 之后的一行。
我该如何避免这些问题?我该如何正确排版?感谢大家的建议!
答案1
我会避免使用长标签。无论如何,您可以这样做。
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont \topsep6\p@\@plus6\p@\relax
\trivlist
\item[]
{\itshape #1\@addpunct{.}}\hskip\labelsep\ignorespaces
}{%
\popQED\endtrivlist\@endpefalse
}
\makeatother
\newtheorem{lemma}{Lemma}
\begin{document}
\begin{lemma}\label{lem:euler}
Euler is the greatest mathematician of all times.
\end{lemma}
\begin{proof}[Proof of Lemma~\ref{lem:euler} under the additional assumption that there
exists a unique mathematician of all times and that this unique mathematician of all times
has a magnitude]
Indeed, under the above assumption, the magnitude is given by the greatness. But if there
is only one mathematician, he is automatically the greatest. Since Euler was a mathematician,
we are done.
\end{proof}
\end{document}