当我参考表格时删除章节编号

当我参考表格时删除章节编号

我使用以下代码来引用方程式和表格。

\let\originaleqref=\eqref
\renewcommand{\eqref}{Equation~\originaleqref}
\newcommand{\tref}[1]{Table (\ref{#1})}

当我引用方程式时,没有章节编号。但是当我引用表格时,有章节编号。

在此处输入图片描述

在此处输入图片描述

这是一个小型的 MWE。

\documentclass[]{OAGM}
%% For the accepted, final version, set this to the correct value:
\OAGMarXiv{1404.3538}

\usepackage{float} % fix the table
\usepackage{bold-extra}
\usepackage{amsmath,bm}
\usepackage{color}
\usepackage{amsmath,amsopn}
\usepackage{bbm}
%\usepackage{hyperref} 
\usepackage{mathrsfs}
\usepackage{tikz,pgfplots}
\usepackage{listings}
\usepackage{color}
%\usepackage{breqn} 
\usepackage{caption}
\usepackage{subcaption}
\usepackage{epstopdf}
%\usepackage[titletoc,toc,title]{appendix}
\usepackage{mathtools} 
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{natbib }
\usepackage{graphics}
\usepackage{amsfonts}
\usepackage{mathtools}



\begin{document}

\section{1}
\subsection{2}

\begin{tabularx}{\textwidth}{XX}
\toprule
 a & b\\\midrule
 \label{Tab a simple table}\end{tabularx}


I have to cite the table ~\ref{Tab a simple table}

\end{document}

答案1

我假设你想改变表格的编号方式交叉引用的方式。我进一步假设您正在使用文档类,例如book或,其中每个章节的report数字table和环境,从每个章节的开头figure开始。1

为了在整个文档中连续编号这些环境(从而也交叉引用),您可以在序言中发出以下命令:

\usepackage{chngcntr}
\counterwithout{table}{chapter}
\counterwithout{figure}{chapter}

顺便说一句,与其重新定义\eqref和定义\tref你可以加载聪明人包并使用其\cref交叉引用命令;\cref将自动在相关编号或数字之前加上项目类型的前缀(例如,公式、部分、表格)。

[图片已删除。原来楼主的问题和他/她最初描述的方式完全不同。请参阅下面的附录了解实际解决方案。]

\documentclass{report}
\usepackage{chngcntr}
\counterwithout{table}{chapter}
\counterwithout{figure}{chapter}
\usepackage[capitalize,noabbrev]{cleveref} % just for this example
\begin{document}
\chapter{Uno}
\begin{table}\caption{First table}\label{tab:1}\end{table}
\begin{figure}\caption{First figure}\label{fig:1}\end{figure}

\chapter{Due}
\begin{table}\caption{Second table}\label{tab:2}\end{table}
\begin{figure}\caption{Second figure}\label{fig:2}\end{figure}
\begin{figure}\caption{Third figure}\label{fig:3}\end{figure}

\chapter{Tre}
Here are cross-references to \cref{tab:1,tab:2,fig:1,fig:2,fig:3}.
\end{document}

附录:在 OP 发布了一个工作示例后,很明显交叉引用中出现的“2.1”与对象table完全无关,而是与子节有关。(OAGM 文档类\chapter根本没有命令,也不按节编号table和项目。)下面是 OP 的 MWE 的更正形式,显示了预期的行为(就交叉引用中显示的数字figure而言)。table

在此处输入图片描述

\documentclass{OAGM}
%% For the accepted, final version, set this to the correct value:
\OAGMarXiv{1404.3538}
%% I've commented out duplicate package loading instructions...
\usepackage{float} % fix the table %% Why??
\usepackage{bold-extra}
\usepackage{amsmath,bm}
\usepackage{color}
\usepackage{amsopn}
\usepackage{bbm}
%\usepackage{hyperref} 
\usepackage{mathrsfs}
\usepackage{tikz,pgfplots}
\usepackage{listings}
%%\usepackage{color}
%\usepackage{breqn} 
\usepackage{caption}
\usepackage{subcaption}
\usepackage{epstopdf}
%\usepackage[titletoc,toc,title]{appendix}
\usepackage{mathtools} 
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{amsfonts}
%%\usepackage{mathtools}

\begin{document}
\section{1}
\subsection{2}\label{subsec:xyz}

\begin{table}
\centering
\begin{tabular}{ll}
\toprule
 a & b\\
\bottomrule
\end{tabular}
\caption{My first table}
\label{tab:1}
\end{table}
Here's a cross-reference to Table~\ref{tab:1}, and here's a cross-reference to Subsection~\ref{subsec:xyz}.
\end{document}

相关内容