我正在 Overleaf 上与他人合作撰写一篇语言学论文。当我下载 tex 文件并尝试在计算机上本地编译它(Winedt 编辑器)时,我遇到了一个错误,这个错误在 Overleaf 中并不存在,因为一切都编译正确。它显然与equation
内部的环境有关figure
。我找不到解决方案。
这是一个相对简单的工作示例。错误消息是:
! Missing $ inserted.
<inserted text>
\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[normalem]{ulem}
\usepackage{booktabs}
\usepackage{amsmath}
\begin{document}
Some text
\begin{figure} \centering
\caption{A feature bundle on C$^0$}
\vspace{0,5cm}
\label{lex}
\begin{equation*}
\left ( \begin{array}{lll} \textrm{C$^0$[Fin], [EPP]} & [Focus] & [Topic] \\ & [Contrastive] & [Contrastive] \\ & [Mirative] & [Shifting] \\ & [\ldots] & [\ldots]
\end{array}
\right )
\end{equation*}
\vspace{0,5cm}
\end{figure}
\end{document}
答案1
正如@samcarter_is_at_topanswers.xyz 在评论中指出的那样,在显示数学环境中不允许出现空行。您的测试文档据称可以在 Overleaf 上成功编译,这几乎肯定是由于 Overleaf 出色地隐藏了 LaTeX 警告和其他来自用户的消息。
不过,我不仅要消除空行,还要采取更进一步的措施。具体来说,我会 (a) 使用内联数学模式而不是显示数学模式,以及 (b) 使用环境tabular
而不是array
环境,因为 4x3 数组中的单词应该在文本模式下排版,而不是数学模式下。
另一个问题是:表格/数组材料是否必须用圆括号括起来?表格/数组材料两侧的简单垂直线是否也能起到很好的作用?如果是这样,您可以完全摆脱数学设置并替换为\begin{tabular}{lll}
,\begin{tabular}{|lll|}
如下图下半部分所示。(就此而言,表格真的需要用括号或垂直线括起来吗?)
\documentclass{article}
\usepackage[english]{babel}
%\usepackage[utf8]{inputenc} % that's the default nowadays
\usepackage[T1]{fontenc}
\usepackage[normalem]{ulem}
\usepackage{booktabs}
\usepackage{amsmath}
\begin{document}
Some text\dots
\begin{figure}[h]
\centering
\caption{A feature bundle on $C^0$}\label{lex}
\vspace*{5mm}
%% a 'tabular' env. flanked by tall math-mode parentheses
$\left(
\begin{tabular}{lll}
$C^0$[Fin], [EPP] & [Focus] & [Topic] \\
& [Contrastive] & [Contrastive] \\
& [Mirative] & [Shifting] \\
& [\ldots] & [\ldots] \\
\end{tabular}
\right)$
\vspace*{0.5cm}
%% just a 'tabular' env. flanked by vertical bars
\begin{tabular}{|lll|}
$C^0$[Fin], [EPP] & [Focus] & [Topic] \\
& [Contrastive] & [Contrastive] \\
& [Mirative] & [Shifting] \\
& [\ldots] & [\ldots] \\
\end{tabular}
\end{figure}
Some more text\dots
\end{document}
答案2
定义您自己的环境。
此外,如果您希望标题位于材料上方,请告诉 LaTeX,而不是添加随机空格。
\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[normalem]{ulem}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{caption}
\captionsetup[figure]{position=top}
\newenvironment{ptabular}
{$\left(\hspace{-\tabcolsep}\tabular}{\endtabular\hspace{-\tabcolsep}\right)$}
\begin{document}
Some text
\begin{figure}[htp]
\centering
\caption{A feature bundle on C$^0$}
\label{lex}
\begin{ptabular}{lll}
C$^0$[Fin], [EPP] & [Focus] & [Topic] \\
\addlinespace
& [Contrastive] & [Contrastive] \\
\addlinespace
& [Mirative] & [Shifting] \\
\addlinespace
& [\ldots] & [\ldots]
\end{ptabular}
\end{figure}
Some other text
\end{document}