考虑这个例子,它被确定为删除标题中的冒号:
\documentclass{report}
%\usepackage{subfig}
\usepackage{graphicx}
\usepackage[latvian]{babel}
\usepackage{caption}
\captionsetup[figure]{labelsep=space}
\addto\captionslatvian{\renewcommand{\figurename}{att.}}
\begin{document}
\begin{figure}
\includegraphics{example-image-a}
\caption{Case of A.}
\end{figure}
\end{document}
命令
\captionsetup[figure]{labelsep=space}
一旦线路失败
%\usepackage{subfig}
被取消注释,即分隔符再次变为:
。如何解决?
答案1
重新latvian.ldf
定义\@makecaption
。因此在 babel 之后加载 subfig(您不需要加载 caption,subfig 会执行此操作):
\documentclass{report}
\usepackage{graphicx}
\usepackage[latvian]{babel}
\usepackage{subfig}
\captionsetup{labelsep=space}
\addto\captionslatvian{\renewcommand{\figurename}{att.}}
\begin{document}
\begin{figure}\tracingmacros=1
\includegraphics{example-image-a}
\caption{Case of A.}
\end{figure}
\end{document}
答案2
您可以使用子图和保存框轻松替换 \subfloat。诚然,此版本未实现列表选项,但可以使用 xparse 或 来实现\@ifnextchar[
。
\documentclass{report}
\usepackage{graphicx}
\usepackage[latvian]{babel}
\usepackage{subcaption}
\captionsetup[figure]{labelsep=space}
\addto\captionslatvian{\renewcommand{\figurename}{att.}}
\newcommand{\subfloat}[2][\empty]% #1=caption (optional), #2=body
{\bgroup
\sbox0{#2}% measure image
\begin{subfigure}[b]{\wd0}
\usebox0
\ifx\empty#1\relax
\else\caption{#1}
\fi
\end{subfigure}
\egroup}
\begin{document}
\begin{figure}
\subfloat[Case of A.]{\includegraphics{example-image-a}}
\end{figure}
\end{document}