我在 Windows Pro X64 上使用 GNU Emacs 26.1(build 1,x86_64-w64-mingw32)和带有 RefTeX 的 AUCTeX 引用表格(见下面的示例)时遇到问题。如果我设置标签并引用它,则引用不会出现在文本中(要么出现,??
要么根本不出现)。这可以在缓冲区中看到*RefTeX Select*
tbl:tabco2 . NO MATCH FOR CONTEXT REGEXP
知道出了什么问题吗(文件中的旧标签仍然正常工作)。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[!htbp]
\centering
\begin{tabular}{lr}
Energy commodity & t CO2/TJ \\
Light fuel oil & 73.70 \\
Heavy fuel oil & 77.00 \\
\end{tabular}
\label{tbl:tabco2}
\caption{CO$_2$ factors of energy commodities.}
\end{table}
This is table \ref{tbl:tabco2}
\end{document}
答案1
应该\label
放在 之后\caption
,因为后者生成了\label
所指的数字(见为什么环境的标签必须出现在标题之后?)事实上,\label
总是指以前的文档中生成的参考编号。RefTeX
在搜索要显示的上下文时也应用此逻辑:它从\label
变量中定义的正则表达式开始并向后搜索reftex-default-context-regexps
。总之,只需将您的\label
后,让它\caption
有一些参考,这是和都RefTeX
期望latex
的。
\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{table}[!htbp]
\centering
\begin{tabular}{lr}
Energy commodity & t CO2/TJ \\
Light fuel oil & 73.70 \\
Heavy fuel oil & 77.00 \\
\end{tabular}
\caption{CO$_2$ factors of energy commodities.}
\label{tbl:tabco2}
\end{table}
This is table \ref{tbl:tabco2}
\end{document}