有没有办法将图形(表格)编号放在标签前?

有没有办法将图形(表格)编号放在标签前?

由于当地文本写作要求,我必须在标签前加上图表编号:“1 图”而不是“图 1”,“1 表”而不是“表 1”

如何做到这一点?问候,乔纳斯

答案1

使用该caption包,您可以使用 定义标题标签格式DeclareCaptionLabelFormat。我添加了一个点,这样它就是“1. Figure”,您可以删除这个点,它就会变成“1 Figure”。

\documentclass{article}
\usepackage{mwe}

\usepackage{caption}  

\DeclareCaptionLabelFormat{mycaptionlabel}{#2. #1}

\captionsetup{labelformat=mycaptionlabel}
\captionsetup[table]{name={Lentele}}
\captionsetup[figure]{name={Pav.}}

\begin{document}
\begin{figure}
    \centering
    \includegraphics[scale=.3]{example-image-a}
    \caption{my figure}
\end{figure}

\begin{table}[]
    \centering
    \begin{tabular}{c|c}
         A&table  \\ \hline
         1&2 
    \end{tabular}
    \caption{Caption}
    \label{tab:my_label}
\end{table}

\end{document}

结果如下: 在此处输入图片描述

请注意以下几点:

  1. 我们通过选项来改变浮点数的名称captionsetup
  2. captionsetup命令可以在不带选项的情况下使用[],在这种情况下设置将应用于所有浮点数。您可以使用选项定义要应用于哪个浮点数(即表格或图形)。因此,如果您希望数字只出现在表格中,请删除该\captionsetup{labelformat=mycaptionlabel}行,然后将labelformat选项添加到该table

答案2

对于标准类article,如report和,book标题由命令\fnum@figure和控制\fnum@table。默认情况下,它们定义为

\def\fnum@figure{\figurename\nobreakspace\thefigure}
\def\fnum@table{\tablename\nobreakspace\thetable}

其中\thefigure\thetable是数字写法的定义,和\figurename\tablename图形和表格的名称(即Figure and Table)。

您可以用反向顺序重新定义这些命令以获得您想要的结果。在下面的代码中,我制作了反向顺序和默认顺序的命令。我使用了两列布局以将其放在一页上。(如果您包含其他用于排版标题的包,则可能不起作用。在这种情况下,使用该包中的命令来获得所需的行为可能更容易,就像@EladDen 在另一个答案中所建议的那样。)

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\makeatletter
\newcommand\ReverseCaption{%
  \renewcommand\fnum@figure{\thefigure\nobreakspace\figurename}
  \renewcommand\fnum@table{\thetable\nobreakspace\tablename}
}
\newcommand\DefaultCaption{%
  \renewcommand\fnum@figure{\figurename\nobreakspace\thefigure}
  \renewcommand\fnum@table{\tablename\nobreakspace\thetable}
}
\makeatother
%%%%%%%%%%%%%%%%%%%
\begin{document}
\section{First section}
In Figure~\ref{fig:imgA} image A is shown and a table in Table~\ref{tab:tabA}.
\begin{figure}[htb]
  \centering
  \includegraphics[width=40mm]{example-image-a}
  \caption{Image A}
  \label{fig:imgA}
\end{figure}
\begin{table}[htb]
  \centering
  \begin{tabular}{lll}
    x & y & z\\\hline
    1 & 2 & 3
  \end{tabular}
  \caption{Table A}
  \label{tab:tabA}
\end{table}

\section{Second section}
\ReverseCaption
In \ref{fig:imgB}~Figure image B is shown and a table in \ref{tab:tabB}~Table.
\begin{figure}[htb]
  \centering
  \includegraphics[width=40mm]{example-image-b}
  \caption{Image B}
  \label{fig:imgB}
\end{figure}
\begin{table}[htb]
  \centering
  \begin{tabular}{lll}
    x & y & z\\\hline
    1 & 2 & 3
  \end{tabular}
  \caption{Table B}
  \label{tab:tabB}
\end{table}

\newpage
\section{Third section}
\DefaultCaption
 In Figure~\ref{fig:imgC} image C is shown and a table in Table~\ref{tab:tabC}.
\begin{figure}[htb]
  \centering
  \includegraphics[width=40mm]{example-image-c}
  \caption{Image C}
  \label{fig:imgC}
\end{figure}
\begin{table}[htb]
  \centering
  \begin{tabular}{lll}
    x & y & z\\\hline
    1 & 2 & 3
  \end{tabular}
  \caption{Table C}
  \label{tab:tabC}
\end{table}
\end{document}

在此处输入图片描述

相关内容