使用 align 环境时,我收到错误“缺少数字,视为零”和“非法度量单位(插入 pt)”。以下是代码
\begin{align*}
e+_b e &= e \\
e+_b f&= f+_{\neg{b}} e \\
(e+_b f)+_c g &= e+_{bc}(f+_c g)\\
e+_b f &= be+_b f \\
eg+_b fg &= (e+_b f)\seq g \\
(e\seq f)\seq g &= e\seq (f\seq g) \\
0\seq e &= 0 \\
e\seq 0 &= 0 \\
1\seq e &= e \\
e\seq 1 &= e \\
e^{(b)}&= e\seq e^{(b)}+_b 1 \\
(e+_c 1)^{(b)}&= (ce)^{(b)}\\
\frac{g=eg+_p f}{g=e^{(p)}f} &\mbox{ if } E(e)=0
\end{align*}
我之前已经使用过很多这种环境,但我不知道是什么导致了这个问题;每次我插入一个对齐环境时,都会出现这些错误,即使我尝试使用像这样简单的例子
\begin{align}
x&=y \\
x&=z
\end{align}
我收到的错误的描述
./gkat.tex:89: 缺少数字,视为零。> l.89 \end{align}
./gkat.tex:89: 非法计量单位(插入 pt)。> l.89 \end{align}
编辑:好的,我在单独的 tex 文件中使用了一些宏,当我注释宏文件时错误停止;这是我在宏文件中的代码
\newtheorem {definition}{Definition} [section]
\newtheorem {examp}{Example} [section]
\newtheorem {theorem}{Theorem} [section]
\newtheorem {lemma}{Lemma} [section]
\newtheorem {corollary}{Corollary} [section]
\newtheorem {prop}{Proposition} [section]
\def\bf#1{\textbf{#1}}
\newcommand{\U}{\mathcal{U}}
\newcommand{\K}{\mathcal{K}}
\renewcommand{\M}{\mathcal{M}}
\newcommand{\D}{\mathcal{D}}
\renewcommand{\P}{\mathcal{P}}
%% operators
\newcommand{\gplus}[1]{+_{#1}}
\renewcommand{\seq}{\cdot}
\renewcommand{\iter}{^*}
\newcommand{\oA}{\text{\"A}}
\newcommand{\oB}{\text{\"B}}
\newcommand{\goplus}[1]{\oplus_{#1}}
\newcommand{\oseq}{\fatsemi}
\newcommand{\oneg}{\overline{\neg}}
\newcommand{\oun}{\"1}
\newcommand{\ozero}{\"0}
\newcommand{\lhom}[1]{\langle#1\mid}
\newcommand{\rhom}[1]{\mid#1\rangle}
\newcommand{\bihom}[2]{\langle #1 \mid #2 \rangle}
\newcommand{\equivdef}{\stackrel{\mathclap{\mbox{\tiny def}}}{\equiv}}
\newcommand{\oequal}{\overline{=}}
\newcommand{\oleq}{\overline{\leq}}
%%logic operators
\def\and{\wedge}
\def\or{\vee}
\def\then{\Rightarrow}
\def\implies{\rightarrow}
\newcommand{\diamante}[1]{\langle#1\rangle}
%%logic semantics
\newcommand{\Mod}{\mathrm{Mod}(GPDL)}
\newcommand{\prgint}[1]{\llbracket#1\rrbracket}
\def\rel#1{\mathcal{R}_i\prgint{#1}}
\def\prob#1{\mathcal{P}_i\prgint{#1}}
%%equations
\def\arrayin#1{\begin{array}{rcl}#1\end{array}}
\def\just#1#2{\\ & \rule{2em}{0pt} \{
\mbox{\rule[-.7em]{0pt}{1.8em} \footnotesize{#2}} \} \nonumber \\ && }
但是我还没有重新定义 algin 环境,所以这里是否有一些命令可能会产生干扰?
我正在使用文章类和以下附加包:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsthm,amsfonts,amssymb}
\usepackage{graphicx,url,color,eurosym,wrapfig,alltt}
\usepackage{mathtools}
\usepackage[all]{xy}
\usepackage{stmaryrd}
\usepackage{stackengine}
\usepackage{color}
\usepackage{oz}
答案1
最小的例子。
\documentclass{article}
\usepackage{amsmath}
\def\and{\wedge}
\def\or{\vee}
\begin{document}
\author{X Y \and P Q}
\title{Title}
\maketitle
\begin{enumerate}
\item x
\begin{enumerate}
\item a
\item b
\end{enumerate}
\end{enumerate}
\end{document}
我没有得到错误align
,但只要看一下上面的例子的日志文件就应该告诉你应该非常小心\def
和用。永远不要使用前者(除非你确切地知道你在做什么),如果引发错误并且你不知道命令的含义,\renewcommand
也不要使用后者。例如,执行\newcommand
\renewcommand{\fi}{Let's try and break \LaTeX}
将会破坏一切。
顺便说一下,LaTeX 提供了开箱即用的命令
\land \lor \lnot
对于逻辑连接词\wedge
,分别作为\vee
和 的别名\neg
。
也修复
\newcommand{\lhom}[1]{\langle#1\,\vert}
\newcommand{\rhom}[1]{\vert\,#1\rangle}
因为\mid
是一个关系符号,它产生的间距对于上下文来说可能很奇怪。