这个问题与更改标题的计数器样式。但这里我也想使用子字幕。
我想为字幕创建我的风格。\DeclareCaptionFormat
有三个选项。从第 29 页字幕包文档:
\DeclareCaptionFormat{myStyle}{#1 #2 #3}
#1 表示标题标签,#2 表示分隔符,#3 表示文本。那么为什么子图没有被分隔,而是包含在 #2 中呢?
以下是 MWE:
\documentclass{beamer}
\usepackage[persian]{babel}
\usepackage[compatibility=false]{caption}
\setbeamertemplate{caption}[numbered]
%\DeclareCaptionLabelFormat{rlnumber}{#1 \LR{#2}\bothIfSecond{-}{\roman{ContinuedFloat}}}
\DeclareCaptionLabelFormat{rlnumber}{#1 \LR{#2}\bothIfSecond{-}{\arabic{ContinuedFloat}}}
\captionsetup{labelformat=rlnumber}
\setmainfont[Script=Arabic]{XB Zar}
\setsansfont[Script=Arabic,Numbers=Arabic]{XB Zar}
\begin{document}
\begin{frame}
\setcounter{figure}{9}
\begin{figure}\ContinuedFloat*
\caption{شکل \LR{1-10}}
\end{figure}
\begin{figure}\ContinuedFloat
\caption{شکل \LR{2-10}}
\end{figure}
\begin{figure}
\caption{شکل \LR{11}}
\end{figure}
\begin{figure}
\caption{شکل \LR{12}}
\end{figure}
\end{frame}
\end{document}
有两种方法可以解决这个问题。第一种方法是,如果我能声明不要使用0
子标题,那么一切都会解决。第二种方法是将子标题和标题分开。
当然,如果我不使用 counterstyle\arabic
并将其替换为\roman
一切就可以了
另一个英语的 MWE,在文章类中从左到右:
\documentclass{article}
\usepackage{caption}
\DeclareCaptionLabelFormat{rlnumber}{#1 \bf{#2}\bothIfSecond{-}{\arabic{ContinuedFloat}}}
\captionsetup{labelformat=rlnumber}
\begin{document}
\setcounter{figure}{9}
\begin{figure}\ContinuedFloat*
\caption{I want it to be Figure 10-\bf{1}}
\end{figure}
\begin{figure}\ContinuedFloat
\caption{I want it to be Figure 10-\huge{2}}
\end{figure}
\begin{figure}
\caption{I want it to be Figure 11}
\end{figure}
\begin{figure}
\caption{I want it to be Figure 12}
\end{figure}
\end{document}
答案1
如果您想要为连续浮点数设置不同的样式,请使用其自己的格式进行设置:
\documentclass{article}
\usepackage{caption}
\DeclareCaptionLabelFormat{rlnumber}{#1 \bf{#2}}
\DeclareCaptionLabelFormat{continued}{#1 #2-\arabic{ContinuedFloat}}
\captionsetup{labelformat=rlnumber}
\captionsetup[ContinuedFloat]{labelformat=continued}
\begin{document}
\setcounter{figure}{9}
\begin{figure}\ContinuedFloat*
\caption{I want it to be Figure 10-\bf{1}}
\end{figure}
\begin{figure}\ContinuedFloat
\caption{I want it to be Figure 10-\huge{2}}
\end{figure}
\begin{figure}
\caption{I want it to be Figure 11}
\end{figure}
\begin{figure}
\caption{I want it to be Figure 12}
\end{figure}
\end{document}
答案2
现在,您正在更改文档中所有标题的标题格式。 在您的情况下,\captionsetup[subfigure]{}
或\captionsetup[sub]{}
不起作用,因为它们适用于真正的子图,而不是连续的浮点数(56 秒后,我[ContinuedFloat]
从上面的 Ulrike 的回答中找到了它 :-))。 因此,我只需在每次出现时添加标题重新定义\ContinuedFloat
。 如果您没有太多这样的情况,这可能是可行的。
% arara: pdflatex
\documentclass{article}
\usepackage{caption}
\DeclareCaptionLabelFormat{first}{#1 #2\bothIfSecond{-}{\textbf{\arabic{ContinuedFloat}}}}
\DeclareCaptionLabelFormat{continued}{#1 #2-\huge\arabic{ContinuedFloat}}
\begin{document}
\setcounter{figure}{9}
\begin{figure}\ContinuedFloat*
\captionsetup{labelformat=first}
\caption{I want it to be Figure 10-\textbf{1}}
\end{figure}
\begin{figure}\ContinuedFloat
\captionsetup{labelformat=continued}
\caption{I want it to be Figure 10-\huge{2}}
\end{figure}
\begin{figure}
\caption{I want it to be Figure 11}
\end{figure}
\begin{figure}
\caption{I want it to be Figure 12}
\end{figure}
\end{document}