我正在使用ntheorem
假设和子假设(即 H1a、H1b 等)包,后者对我的问题并不重要。仅供您参考,以了解为什么我不能简单地使用 amsthm 包。
我的代码给了我1代替H1作为输出,我想删除“H”和“1”之间的空格。请看附件截图。谢谢!
这是我的 MWE:
\documentclass{scrreprt}
\usepackage{ntheorem}
\newtheorem{hyp}{H} %I tried \newtheorem{hyp}{H\ignorespaces} - not working
\begin{document}
\begin{hyp}
The higher the mountain the harder the hike.
\end{hyp}
\end{document}
答案1
感谢 daleif 的有益评论,我能够通过创建\newtheoremstyle
基于中的默认样式“plain”来解决问题ntheorem.sty
。
朴素风格:
\newtheoremstyle{plain}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3)\theorem@separator]}
可以看出,空格的出现是因为 中的空格##1\ ##2
,因此改为##1\ ##2
解决##1##2
了我的问题。
这导致了以下修正的 MWE:
\documentclass{scrreprt}
\usepackage{ntheorem}
\makeatletter %
\newtheoremstyle{hypotheses}%
{\item[\hskip\labelsep \theorem@headerfont ##1##2\theorem@separator]}%
{\item[\hskip\labelsep \theorem@headerfont ##1##2\ (##3)\theorem@separator]}
\makeatother
\theoremstyle{hypotheses}
\newtheorem{hyp}{H}
\begin{document}
\begin{hyp}
The higher the mountain the harder the hike.
\end{hyp}
\end{document}
输出为:
希望这也能对将来的一些人有所帮助。