我想用省略号来结束定义或证明。但是,当我更改此 MWE 中的ntheorem
点时:.
\documentclass{article}
\usepackage[standard,thmmarks]{ntheorem}
\begin{document}
\begin{Definition}[Test definition]
Text.
\end{Definition}
\end{document}
至\dots
,\ldots
或\textellipsis
,例如:
\begin{Definition}[Test definition]
Text\dots
\end{Definition}
我得到了最后带有证明结束符号的结果:
我找不到这种行为的原因。我可以使用 来绕过它$\dots$
,但看起来我忽略了真正的原因。是否有可能以更“适当”的方式实现所需的结果?
答案1
这似乎thmmarks
依赖于以空格结尾的文本。
\documentclass{article}
\usepackage[standard,thmmarks]{ntheorem}
\begin{document}
\begin{Definition}[Test definition]
Text\dots{}
\end{Definition}
\end{document}
该包重新定义\endtrivlist
了
\gdef\endtrivlist{%
\@endtrivlist{\PotEndMark{\unskip\nobreak\hfill\nobreak}}}
\gdef\@endtrivlist#1{% % from \endtrivlist
\if@inlabel \indent\fi
\if@newlist \@noitemerr\fi
\ifhmode
\ifdim\lastskip >\z@ #1\unskip \par %<<<<<<<<<<<<<<<<<<<<<<
\else \unskip \par \fi
\fi
[...]
}
而标准\endtrivlist
刚刚
\ifhmode\unskip \par
这样可以删除两个尾随的粘连项(一个可能来自行尾,一个在之后\end{trivlist}
)。
重新定义的目的是插入\PotEndMark{\unskip\nobreak\hfill\nobreak}}
到适当的位置,但写出来却没什么意义。无论如何,这解释了为什么缺少空格甚至输入如下内容
\begin{Definition}Text\end{Definition}
不会打印标记。如果 之前有空行,则标记也会消失\end{Definition}
。