我有以下乳胶脚本:
\newtheorem*{BellOpV}{Definition}
\begin{BellOpV}
$V^{\pi}$ is defined as $T^{\pi}:\mathbb{R}^{|S|} \to \mathbb{R}^{|S|}$. It maps value functions to value functions.
$$(T^{\pi}V^{\pi})(s) = \sum_{a \in A} \pi(a|s) \left[ R(s,a) + \gamma \sum_{s' \in S} P(s' | s,a) V^{\pi}(s') \right]$$
\end{BellOpV}
The \emph{Bellman Operator for $V^{\pi}$} defined before has the following properties:
\begin{enumerate}
\item[]{$V^{\pi}$ is a \emph{fixed point} for $V^{\pi}$ that means that $T^{\pi}V^{\pi} = V^{\pi}$}
\item[]{$T^{\pi}$ is linear}
\item[]{if $0<\gamma<1$ then $T^{\pi}$ is a \emph{maximum-norm contraction}}
\end{enumerate}
我的代码输出如下:
我的问题是为什么“The Bellman Operator ...” 中的所有内容都移到了右侧?这似乎是定义的一部分,这是不需要的。我该如何解决这个问题?
答案1
您的代码可以通过多种方式进行改进,下面按无特定顺序列出:
不要使用
$$
来启动和终止 LaTeX 文档中的 displaymath 模式。相反,使用\[
和\]
。请参阅帖子为什么\[ ... \]
优于$$ ... $$
?对此问题进行深入的讨论。在定义中使用
\colon
而不是。:
使用
itemize
环境而不是enumerate
环境,并用句号(点、句号)终止每个句子;毕竟,它们是完整的英语句子。用来
\mid
而不是|
来表示条件事件。\left[
从印刷上来说,和生成的方括号\right]
太大。请改用\biggl[
和\biggr]
。最后,如果您绝对、肯定必须抑制定义后面的段落的段落缩进,只需在其前面加上指令即可
\noindent
。
\documentclass{article}
\usepackage{amsthm, % for '\newtheorem*' macro
amssymb} % for '\mathbb' macro
\newtheorem*{BellOpV}{Definition}
\begin{document}
\begin{BellOpV}
$V^{\pi}$ is defined as $T^{\pi}\colon\mathbb{R}^{|S|} \to \mathbb{R}^{|S|}$. It maps value functions to value functions.
\[
(T^{\pi}V^{\pi})(s) = \sum_{a\in A} \pi(\,a\mid s\,)
\biggl[ R(s,a) + \gamma \sum_{s'\in S} P(\,s'\mid s,a\,) V^{\pi}(s') \biggr]
\]
\end{BellOpV}
\noindent % <--- are you sure you really want this?
The \emph{Bellman Operator} for $V^{\pi}$ defined before has the following properties:
\begin{itemize}
\item $V^{\pi}$ is a \emph{fixed point} for $V^{\pi}$, i.e., $T^{\pi}V^{\pi} = V^{\pi}$.
\item $T^{\pi}$ is linear.
\item If $0<\gamma<1$ then $T^{\pi}$ is a \emph{maximum-norm contraction}.
\end{itemize}
\end{document}
答案2
“行李员”一词是定义的一部分!它必须出现在其中,但更早。
\documentclass{article}
\usepackage{amsmath,amssymb,amsthm}
\theoremstyle{definition}
\newtheorem*{definition}{Definition}
\begin{document}
\begin{definition}
The \emph{Bellman Operator for $V^{\pi}$} is defined as
$T^{\pi}\colon\mathbb{R}^{|S|} \to \mathbb{R}^{|S|}$ by
\[
(T^{\pi}V^{\pi})(s) =
\sum_{a \in A} \pi(a|s) \Bigl[
R(s,a) + \gamma \sum_{s' \in S} P(s' \mid s,a) V^{\pi}(s')
\Bigr]
\]
It maps value functions to value functions.
\end{definition}
The Bellman operator for $V^{\pi}$ defined above has the following properties:
\begin{itemize}
\item $V^{\pi}$ is a \emph{fixed point} for $V^{\pi}$, which means
that $T^{\pi}V^{\pi} = V^{\pi}$;
\item $T^{\pi}$ is linear;
\item if $0<\gamma<1$ then $T^{\pi}$ is a \emph{maximum-norm contraction}.
\end{itemize}
\end{document}
您可能不需要\theoremstyle{definition}
在定义definition
环境之前添加该行;在这种情况下,文本将以斜体显示,但参数除外,其参数\emph
将以直立类型显示。通常定义以直立类型排版,并且只有定义的术语才以斜体显示。
注意事项:
切勿在显示前留空行
在显示后留下空白行之前请三思,这意味着开始一个新段落
切勿使用
$$
“它映射……”子句应放在定义之后
关于属性的文本是一个新段落,因此应该缩进
完全没有必要
\newtheorem
在每个这样的环境前面使用enumerate
or环境itemize
前面不应该有空行,因为它是由子句引导的是“这意味着”,而不是“这意味着”
以下是渲染图。
如果您觉得\mid
周围的空间太大|
,至少使用\,|\,
(最好定义一个宏)。
顺便说一句,我无法理解这样的定义;请检查该部分$V^{\pi}$ is a \emph{fixed point} for $V^{\pi}$
,因为它似乎没有任何意义。
答案3
\end{BellOpV}
这是段落缩进。只需删除和之间的空行即可The \emph{Bellman Operator for $V^{\pi}$}...
。
附注:切勿$$ ... $$
与 LaTeX 一起使用。这是普通的 TeX 语法,会产生错误的间距。请改用\[ ... \]
。
答案4
我按照以下方式解决:
\newtheorem{BellOpV}{Definition}
\AfterEndEnvironment{BellOpV}{\noindent\ignorespaces}