今天真是美好时光。当我使用 编译代码时2^{25}
,Latex 处理器给出了以下错误:
缺少插入的 $。\end{align*} 。
但是当我$2$
在第二行简单写入时,就不会报错,代码如下:
\documentclass[11 pt]{extarticle}
\usepackage[a4paper, top=1 cm, bottom=1.5 cm, left=1cm, right=1cm]{geometry}
\usepackage{ amsthm, amssymb,latexsym,amsfonts}
\usepackage[leqno,fleqn]{amsmath}
\setlength{\mathindent}{0 pt}
\begin{document}
\renewcommand{\arraystretch}{1.4}
{\small
\begin{align*}
\begin{tabular}{*{26}{|c}|}
\hline
\text{x=} &1&0&0&0&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&1&1&1\\
\hline
\textrm{bit }& 1&2^{25}&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25\\
\hline
\end{tabular}
\end{align*}
}%
\end{document}
答案1
默认情况下,环境的内容tabular
以文本模式处理,即使tabular
环境出现在显示数学环境中,例如align*
。由于^
字符在 TeX 和 LaTeX 文档中具有特殊含义,因此您需要切换到数学模式才能2^{25}
正确处理,假设您想继续使用tabular
环境。
不过,我建议您使用array
环境而不是tabular
环境。我进一步建议您用\begin{align*}
and\end{align*}
替换\[
and,\]
因为您没有利用align*
环境的附加功能。
补充:(a)amssymb
软件包会自动加载amsfonts
软件包——无需明确加载。(b) 既然你正在加载软件包amssymb
,那么就没有理由latexsym
同时加载软件包。顺便说一句,latexsym
软件包已经过时了,除非您仍然需要在 LaTeX2.09 兼容模式下编译 LaTeX 文档;然而,这里情况并非如此。(c) 文档类选项的正确书写方式是11pt
,而不是11 pt
。
\documentclass[11pt]{extarticle}
\usepackage[a4paper, top=1cm, bottom=1.5cm, hmargin=1cm]{geometry}
\usepackage{amsthm, amssymb}
\usepackage[leqno,fleqn]{amsmath}
\setlength{\mathindent}{0pt}
\begin{document}
{%
\renewcommand{\arraystretch}{1.4}
\small
\[
\begin{array}{*{26}{|c}|}
\hline
x= &1&0&0&0&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&1&1&1\\
\hline
\textrm{bit }& 1&2^{25}&3&4&5&6&7&8&9&10&11&12&13&14&15&16&17&18&19&20&21&22&23&24&25\\
\hline
\end{array}
\]
}
\end{document}