关于用破折号替换句号并将标题与图形边框对齐

关于用破折号替换句号并将标题与图形边框对齐

这是关于caption包装的。我读了写得很好的本包的手册(但并不彻底,因为我是 LaTex 新手)并且没有找到足够的与标题标签相关的数字。因此,

  1. 如何用自定义符号(比如破折号)代替章节和图号之间的句点(例如图 7-1和沒有\renewcommand)?
  2. 同样,在标题编号前放置一个自定义符号怎么样?例如图 P7-1

第三个问题关于字幕对齐,

  1. 是否可以将标题与图形边框对齐(这里我指的是左边框)?如何操作?

这是一个典型的 MWE:

\documentclass{book}

\usepackage{blindtext}
\usepackage[demo]{graphicx}

\usepackage{caption}
    \DeclareCaptionStyle{mystyle}[]{
        name=FIGURE,
        labelsep=newline
        }

\setcounter{chapter}{7}

\begin{document}
    \begin{figure}
        \centering
        \includegraphics[width=10cm]{testimage}
        \captionsetup{style=mystyle}
        \caption{Caption of my figure}
    \end{figure}
\end{document}

输出如下:

在此处输入图片描述


当然,我读过那些关于使用破折号而不是句点或标题对齐的问题,但如果可能的话,我只想使用amsmathcaption包装。

答案1

这取决于您希望如何打印参考文献。

如果您希望将图 7-1 或表 7-1 的引用打印为“7.1”,可以这样做:

\documentclass{book}

\usepackage{graphicx}
\usepackage{caption}

\makeatletter
\DeclareCaptionLabelFormat{pcdn}{% Prefix Chapter Dash Number
  \MakeUppercase{#1} P\arabic{chapter}--\arabic{\@captype}%
}
\makeatother

\DeclareCaptionStyle{mystyle}{
  labelformat=pcdn,
  labelsep=newline
}

\setcounter{chapter}{7}

\begin{document}

We see in figure~\ref{ei}

\begin{figure}[htp]
\captionsetup{style=mystyle}

\centering

\begin{minipage}{10cm}
\includegraphics[width=\textwidth]{example-image}
\caption{Caption of my figure}\label{ei}
\end{minipage}

\end{figure}

\end{document}

在此处输入图片描述

caption包允许定义各种格式;在本例中,我们想要更改标签的格式(默认情况下为“图n”或“表格n“, 在哪里n是数字)。在第二个参数中,\DeclareCaptionLabelFormat可以使用#1代表相应环境名称和#2相关计数器值的 。由于我们希望标签为大写,\MakeUppercase{#1}因此这是显而易见的选择。但是,由于数字应以特殊方式排版,与引用分离,我们可以明确使用计数器,因此这P\arabic{chapter}--\arabic{figure}似乎是不错的选择;不过,我们可以做得更好:在 float 环境中,\@captype代表figuretable,因此\arabic{\@captype}将扩展为所需的计数器。由于我们使用名称中带有 的命令@,因此代码必须用\makeatletter和包围\makeatother,请参阅\makeatletter 和 \makeatother 起什么作用?


如果引用应该像标题中那样是“P7–1”,代码会更简单。

\documentclass{book}

\usepackage{graphicx}
\usepackage{caption}

\DeclareCaptionLabelFormat{pcdn}{\MakeUppercase{#1} #2}

\renewcommand{\thefigure}{P\arabic{chapter}--\arabic{figure}}

\DeclareCaptionStyle{mystyle}{
  labelformat=pcdn,
  labelsep=newline
}

\setcounter{chapter}{7}

\begin{document}

We see in figure~\ref{ei}

\begin{figure}[htp]
\captionsetup{style=mystyle}

\centering

\begin{minipage}{10cm}
\includegraphics[width=\textwidth]{example-image}
\caption{Caption of my figure}\label{ei}
\end{minipage}

\end{figure}

\end{document}

在此处输入图片描述

相关内容