无法更改表格引用格式

无法更改表格引用格式

我需要将对表的引用更改为“табл. CHAPTER_NUM.TABLE_NUM”,我尝试执行以下操作:

\documentclass[a4paper, ukrainian, utf8, 14pt]{extreport}

\setcounter{secnumdepth}{5}

\makeatletter
\renewcommand\p@table{табл. \thechapter.\arabic{table}\expandafter\@gobble}
\makeatother

\begin{document}
\chapter{Chapter}

\section{Section}
Lorem ispum \ref{t:table}.

\begin{table}
  \label{t:table}
\begin{tabular}{| c | c | c | c | c | c |}
\hline
\multicolumn{1}{|p{2cm}|}{Col} &
\multicolumn{1}{p{2.2cm}|}{Lorem} &
\multicolumn{1}{p{2.2cm}|}{Ispum} &
\multicolumn{1}{p{2.2cm}|}{Dolor} \\ \hline 
1  & 50 & 1,44 & 1,85 \\ \hline 
2 & 50 & 1,44 & 1,85 \\ \hline 
3 & 51 & 1,44 & 1,85 \\ \hline 
4  & 45 & 1,44 & 1,85 \\ \hline 
5 & 53 & 1,44 & 1,85 \\ \hline 
  \end{tabular}
\end{table}
\end{document}

在此处输入图片描述

它对于图形很有效,但对于表格却没有任何作用。

也许还有其他方法可以改变\ref格式?

PS 我正在使用 XeTex。

答案1

没有\caption之前\label{t:table},因此标签引用的是前一节。

示例文件包含一些其他建议和一些简化:

\documentclass[a5paper]{report}% a5paper to get a smaller image for TeX.SX
\usepackage{caption}
\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{output-decimal-marker={,}}

\makeatletter
\renewcommand\p@table{Table.\@ }
\makeatother

\begin{document}
\chapter{Chapter}

\section{Section}
Lorem ispum \ref{t:table}.

\begin{table}
  \centering
  \caption{Table caption}
  \label{t:table}
  \begin{tabular}{
    S[table-format=1.0]
    S[table-format=2.0]
    S[table-format=1.2]
    S[table-format=1.2]
  }
    \toprule
    {Col} & {Lorem} & {Ipsum} & {Dolor} \\
    \midrule
    1  & 50 & 1,44 & 1,85 \\
    2 & 50 & 1,44 & 1,85 \\
    3 & 51 & 1,44 & 1,85 \\
    4  & 45 & 1,44 & 1,85 \\
    5 & 53 & 1,44 & 1,85 \\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

结果

相关内容