我正在尝试为我的文档创建一个“自定义”环境,这就是我得到的
\documentclass[12pt]{article}
\usepackage{color}
\definecolor{01}{RGB}{0,95,200}
\newenvironment{custom}[2]{{\medskip\noindent\bf\color{01} #1}\\{\it #2 }}{}
\begin{document}
\begin{custom}{Observation}
$x\in Z(G)$ si y solo si $xy=yx$, para todo $y\in G$ si y solo si $N(x)=G$, si y solo si \[\frac{o(G)}{o(N(x))}=1=|[x]|.\]
\end{custom}
\end{document}
这没有任何问题,但在这种情况下,由于文本以“$”符号开头,我收到错误,
多余的 },或者忘记了 $。[$] 插入了缺失的 }。[\end{custom}]
我可以通过将所有内容放在 {} 上来避免这种情况
\begin{custom}{a}
{b}
\end{custom}
但我想知道是否有一种方法可以修改它\newenvironment
以使其工作而无需进行任何更改,提前致谢。
答案1
据我了解,环境主体文本应该用 排版\it
(当然用 更好\itshape
),所以它不是#2
这里的第二个参数,没有必要。
在 OP 给出的例子中,没有给出第二个参数,因此 LaTeX 尝试$
从主体中读取,从而导致错误。
使用\bfseries
Instead of\bf
和\textcolor{01}{#1}
Rather than \color{01} #1
。
\documentclass[12pt]{article}
\usepackage{color}
\definecolor{01}{RGB}{0,95,200}
\newenvironment{custom}[1]{{\medskip\noindent\bfseries\textcolor{01}{#1}}%
\itshape }{%End code -- empty here
}
\begin{document}
\begin{custom}{Observation}
$x\in Z(G)$ si y solo si $xy=yx$, para todo $y\in G$ si y solo si $N(x)=G$, si y solo si \[\frac{o(G)}{o(N(x))}=1=|[x]|.\]
\end{custom}
\end{document}