newenvironment:错误,缺少数字且测量数字非法

newenvironment:错误,缺少数字且测量数字非法

我尝试使用 \newenvironment 为我的作业制作一个模板。不知何故它产生了错误:

  • 缺失数字,视为零。
  • 计量单位非法(插入 pt)

每次我想 \begin{env_name}。

我现在的新环境代码如下

\newenvironment{thm}[1]
{
\noindent
\textbf{\color{MidnightBlue}{Theorem} }
\labelsep {\textbf{\color{MidnightBlue}{#1}}}
\\
\itshape
}
{
\vspace * {20 pt}
}

我这样称呼它:

\begin{thm}{3.2}
Theorem
\end{thm}

这些是我使用过的软件包:

\documentclass[12pt]{article}

\usepackage[margin=1in]{geometry} 
\usepackage{amsmath,amsthm,amssymb}

\usepackage[dvipsnames]{xcolor}

\usepackage{cmbright}
\usepackage[OT1]{fontenc}

\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}

我在网上查找过,也在这里查找过类似的问题,但找不到解决方案

答案1

此处的问题在于您对 的使用\labelsep,它是长度(或维度)。当按原样在代码中使用它时,它后面应该跟有另一个维度,用于更新它。例如,

\labelsep 10pt

将更新\labelsep10pt(允许可选=:)\labelsep=10pt。由于您之后没有提供尺寸/长度,因此 TeX 会抱怨您缺少数字和/或度量单位。

粗略地说,我想你想要类似这样的定义thm

在此处输入图片描述

\documentclass{article}

\usepackage[dvipsnames]{xcolor}

\usepackage{lipsum}

\newenvironment{thm}[1]{%
  \par\addvspace{0.5\baselineskip}
  \noindent
  {\color{MidnightBlue}\bfseries Theorem~#1}%
  \par\nobreak
  \noindent\itshape\ignorespaces
}{%
  \par\addvspace{0.5\baselineskip}
}

\begin{document}

\lipsum[1]

\begin{thm}{3.2}
\lipsum[2]
\end{thm}

\lipsum[3]

\end{document}

如果您以这种方式对定理编号进行硬编码,人们只能假设您具体指的是来自不同来源的定理编号。如果您正在创建这些定理并且需要按顺序编号,请使用提供的功能amsthm(您已在加载)。

相关内容