问题:
我正在尝试寻找一个合适的环境,用于在数学研究论文的开头列出假设。假设本身大部分是文本,中间穿插着展示式数学和偶尔的equation
。
要求:
- 每个假设都应按照与方程式编号相同的方式进行编号,编号显示在页面的右侧(如果
article
使用标准类) - 分配给假设的编号应相对于该假设垂直居中
- LaTeX 应该(最好)处理换行符,因为每个假设大多是由单词组成的
- 左边距应大于通常的文本边距,以便它稍微插入一点(与环境一样
enumerate
)
解决尝试:
使用
enumerate
环境与enumitem
包的环境可以得到几乎我想要的,但标签出现在页面的左侧,在每个项目的开头。如果它们在右侧,并且垂直居中,那可能就足够了。一些示例代码:\documentclass{article} \usepackage{amsmath,amssymb} \usepackage{enumitem} \begin{document} \begin{enumerate}[label=(H\arabic*)] \item $T>0$ and $\Omega$ is an open, bounded and connected subset of $\mathbb{R}^d$, where $d\in\mathbb{N}$. \label{hyp:domain} \item For every $n\in\mathbb{N}$, $\beta_{n}:\mathbb{R}\to\mathbb{R}$ is nondecreasing, Lipschitz continuous with uniform Lipschitz constant $L_\beta > 0$ and satisfies $\beta_{n}(0)=0$. There is a function $\beta:\mathbb{R}\to\mathbb{R}$ such that $\beta_{n}\to\beta$ locally uniformly on $\mathbb{R}$. \label{hyp:beta} \end{enumerate} \end{document}
对每个假设使用左对齐
array
可以得到正确的边距、对齐方式和编号,但对于列表和大部分文本来说,这似乎不太合适。行间距不对,我不得不到处插入手动换行符和\mbox
's。一些示例代码:\documentclass{article} \usepackage{amsmath,amssymb} \usepackage{geometry} \begin{document} \begin{subequations} \begin{align} &\begin{array}{l} \mbox{$T>0$ and $\Omega$ is an open, bounded and connected subset of $\mathbb{R}^d$, where $d\in\mathbb{N}$.} \end{array}\label{hyp:domain} \\ &\begin{array}{l} \mbox{For every $n\in\mathbb{N}$, $\beta_{n}:\mathbb{R}\to\mathbb{R}$ is nondecreasing, Lipschitz continuous with uniform} \\ \mbox{Lipschitz constant $L_\beta > 0$ and satisfies $\beta_{n}(0)=0$.}\\ \mbox{There is a function $\beta:\mathbb{R}\to\mathbb{R}$ such that $\beta_{n}\to\beta$ locally uniformly on $\mathbb{R}$.} \end{array} \end{align} \end{subequations} \end{document}
我应该指出,编号样式的差异(第一个例子是 (H1)、(H2) 等,第二个例子是 (1a)、(1b) 等)并不那么重要;不过我可能更喜欢第二种风格。
解决方案是创建一个自定义hypothesis
环境(这对于未来的论文非常方便),还是在我上述的解决方案尝试之间没有中间立场?
答案1
这是一种使用的可能性tcolorbox
。hypotheses
定义了一个新的环境(内部只是一个列表);在这个环境中,你可以\Hypo
对每个假设使用命令;语法是
\Hypo[<label>]{<text>}
代码:
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{enumitem}
\usepackage{amsmath,amssymb}
\usepackage{lipsum}
\newcounter{myhypo}
\renewcommand\themyhypo{(H\arabic{myhypo})}
\newtcolorbox{hypo}[1][]{
breakable,
enhanced,
top=0pt,
bottom=0pt,
nobeforeafter,
colback=white,
boxrule=0pt,
arc=0pt,
right=30pt,
left=20pt,
outer arc=0pt,
overlay={
\node[inner sep=0pt,anchor=east]
at (frame.east)
{\refstepcounter{myhypo}\themyhypo\label{#1}};
},
}
\newenvironment{hypotheses}
{\list{}{\setlength\leftmargin{0pt}\item\relax}}
{\endlist}
\newcommand\Hypo[2][]{%
\begin{hypo}[#1]#2\end{hypo}}
\begin{document}
\lipsum[4]
\begin{hypotheses}
\Hypo[hyp:domain]{%
$T>0$ and $\Omega$ is an open, bounded and connected subset of $\mathbb{R}^d$,
where $d\in\mathbb{N}$.}
\Hypo[hyp:beta]{%
For every $n\in\mathbb{N}$, $\beta_{n}:\mathbb{R}\to\mathbb{R}$ is nondecreasing, Lipschitz continuous
with uniform Lipschitz constant $L_\beta > 0$ and satisfies $\beta_{n}(0)=0$.
There is a function $\beta:\mathbb{R}\to\mathbb{R}$ such that $\beta_{n}\to\beta$ locally uniformly on $\mathbb{R}$.}
\Hypo[hyp:test]{%
A short hypothesis.}
\end{hypotheses}
As we see from hypotheses~\ref{hyp:domain}, \ref{hyp:beta} and~\ref{hyp:test}...
\end{document}
结果:
我用了
\renewcommand\themyhypo{(H\arabic{myhypo})}
但您可以通过更改此重新定义来获取(H1), (H2),...
任何其他编号方案。
答案2
我知道我已经晚了 3 年,但由于这个问题仍然显示在 Google 中,因此为了完整性我会添加我的答案。
因为我不想使用任何额外的软件包(尤其是像 tcolorbox 这样的软件包,它有很多不必要的模糊,至少对我来说是这样);我使用表格环境拼凑了一个解决方案。请注意,我不知道这样做的效率,因为我的硕士论文有几个假设(4 个左右),所以没有明显的编译开销,但我不知道如果文本有 100 个假设会发生什么。
\documentclass{article}
\usepackage{amsmath,amssymb} % needed for math
\usepackage{array} % needed for the 'm' column type in tabular
\newcounter{hypocounter}
\renewcommand\thehypocounter{(H\arabic{hypocounter})} % this produces '(H1)'
% when referencing
\setcounter{hypocounter}{0}
\newenvironment{hypothesis}{
\refstepcounter{hypocounter}
\begin{center}
\begin{tabular}{m{0.75\linewidth}c} % adjust '0.75' to preferred width
}{&\thehypocounter\end{tabular}\end{center}}
\begin{document}
This is some text.
\begin{hypothesis}
\label{hyp:one}
$T>0$ and $\Omega$ is an open, bounded and connected subset of $\mathbb{R}^d$,
where $d\in\mathbb{N}$.
\end{hypothesis}
This is a reference to hypothesis \ref{hyp:one}.
\begin{hypothesis}
For every $n\in\mathbb{N}$, $\beta_{n}:\mathbb{R}\to\mathbb{R}$ is nondecreasing, Lipschitz continuous
with uniform Lipschitz constant $L_\beta > 0$ and satisfies $\beta_{n}(0)=0$.
There is a function $\beta:\mathbb{R}\to\mathbb{R}$ such that $\beta_{n}\to\beta$ locally uniformly on $\mathbb{R}$.
\end{hypothesis}
\begin{hypothesis}
\label{hyp:three}
A short hypothesis.
\end{hypothesis}
Another reference to the last hypothesis: \ref{hyp:three}.
\end{document}