由于当地文本写作要求,我必须在标签前加上图表编号:“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}
请注意以下几点:
- 我们通过选项来改变浮点数的名称
captionsetup
。 - 该
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}