改变 \caption 行为

改变 \caption 行为

我正在弄乱\caption包裹,我需要的是放置\figurename在数字编号之后并将其更改为附件,基本上我需要的是:
1.2 附件 图形文本
我设法将\figurename数字放在后面,但无法删除前面的数字,而且由于某种原因,重命名不起作用(“Att.”是\figurename我使用 babel 设置的语言的默认设置,但我希望它以小写“a”开头)。以下是最简单的示例:

% XeLaTeX is used to compile this
\documentclass[a4paper,12pt,latvian]{article}
% Latvian language support
\usepackage{polyglossia}
\setdefaultlanguage{latvian}
\setotherlanguages{english,russian}
% For tikz graphics
\usepackage{tikz}
% Captions
\usepackage[labelfont=it, textfont=bf]{caption}
\renewcommand{\figurename}{att.}
\renewcommand{\thefigure}{\arabic{section}.\arabic{figure} \figurename}

\begin{document}
%...
\begin{figure}
   \centering
   \begin{tikzpicture}
       \draw (0,0) -- (5,0) -- (5,5) -- (0,5) -- (0,0);
   \end{tikzpicture}
\caption{figure text}
\end{figure}
%...
\end{document}

以下是我得到的结果: 在此处输入图片描述


更新
解决了重命名问题。由于我使用的是拉脱维亚语(或其他非英语语言),因此重命名方法如下:

\usepackage[labelfont=it, textfont=bf]{caption}
\addto\captionslatvian{
  \renewcommand{\figurename}{att.}
  \renewcommand{\thefigure}{\arabic{section}.\arabic{figure} \figurename}
}

第一个“att”仍然存在问题。

答案1

您可以定义拉脱维亚语的标签格式:

\documentclass{article}
\usepackage{polyglossia}
\usepackage{caption}
\usepackage{chngcntr}

\setdefaultlanguage{latvian}
\setotherlanguages{english,russian}

\DeclareCaptionLabelFormat{latvian}{#2 #1}
\captionsetup{labelfont=it,textfont=bf,labelformat=latvian}
\appto\captionslatvian{\renewcommand{\figurename}{att.}}
\counterwithin{figure}{section}

\begin{document}

\section{Test}

\begin{figure}[htp]
\centering
\Huge X
\caption{Pašreizēja trajektorijas veidošana un rēala spēja to izlidot}
\end{figure}

\end{document}

在此处输入图片描述

相关内容