为图形创建第二个标题,该标题不会出现在图形列表索引中,并与第一个标题对齐

为图形创建第二个标题,该标题不会出现在图形列表索引中,并与第一个标题对齐

我决定写我的完成课程作业我在攻读计算机科学学位时使用 LaTeX,这与大学的流行选择 MS Word 相反。

我很高兴使用这个工具,我必须说我很喜欢它,但我在适应我所在大学使用的一些格式规则时遇到了一些麻烦,特别是标题。

插入图片很简单,但将标题格式化为我大学想要的样子却不容易。请看下面的图片:

在此处输入图片描述

此处显示的图形位于文本的中心,第一个标题也是如此。我使用 caption 包实现了这一点:

\usepackage[center,small]{caption}

第二个标题必须与第一个标题左对齐,并且不能出现在图形列表索引中。

即使在互联网上搜索了一番之后,我也没有找到任何与在subcaption第一个标题下方创建第二个标题(或)相关的内容。

实际上,我认为根本没有任何包实现过这种定制。

所以我想知道的是:“实现这种特定标题格式的最佳方法是什么?”。

我对在论文开头自定义图形列表索引还有另一个疑问。我正在使用这两个命令...

% Creates an auxiliary command for the criation of the figures list
\newcommand{\figfillnum}[1]{%
  {\hspace{1em}\normalfont\dotfill}\nobreak
  \hb@xt@\@pnumwidth{\hfil\normalfont #1}{}\par}

% Changes the way that the figure's list is printed
\renewcommand*{\l@figure}[2]{
    \leftskip 3cm
    \rightskip 2cm
    \parfillskip -\rightskip
    \parindent 0cm
    \@tempdima 2.0em
    \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
    {Figure \normalfont #1}\nobreak \figfillnum{#2}}

... 创建如下输出:

Figure 1    Gauntlet ................................................... 1

我在这里需要做的是在“图形”文本后面的数字后面添加一个点,如下所示:

Figure 1.   Gauntlet ................................................... 1

我研究了这两个命令,然后我意识到第二个命令(\l@figure)负责放置“图形”文本,它的#1参数代表此文本:“ 1 \tab Gauntlet”。

现在,我不知道从哪里来,但我需要做的是在参数中包含的两个词之间#1放置一个。dot#1

这可能吗? 怎么做?

答案1

以下是使用以下功能提供的一种可能解决方案标题包:基本上,\caption对于编号标题和\caption*未编号标题以及一些计算来对齐两个标题;使用托克洛夫特包裹:

\documentclass{article}
\usepackage{tocloft}
\usepackage[small]{caption}

\captionsetup[figure]{labelsep=period,textformat=period,font=it}

% some auxiliary lengths for aligning the captions
\newlength\mylena
\newlength\mylenb

% syntax: \MyCaption{First numbered caption}{Second unnumbered caption}
\newcommand\MyCaption[2]{%
  \captionsetup{belowskip=-\baselineskip}
  \settowidth\mylena{\small\itshape\figurename~\thefigure. #1.}
  \settowidth\mylenb{\small\itshape #2.}
  \caption{#1}
  \caption*{\hspace*{\dimexpr\mylenb-\mylena\relax} #2}
  \setlength\belowcaptionskip{\baselineskip}
}

% settings for the list of figures
\renewcommand\cftfigpresnum{Figure }
\renewcommand\cftfigaftersnum{.}
\newlength\mylend
\settowidth\mylend{\cftfigpresnum\cftfigaftersnum}
\addtolength\cftfignumwidth{\mylend}

\begin{document}

\listoffigures

\begin{figure}
  \centering
  \rule{6cm}{2cm}
  \MyCaption{Gauntlet}{Source: Atari Games 1990}
 \end{figure}

\begin{figure}
  \centering
  \rule{8cm}{2cm}
  \MyCaption{Some test text}{And some more text for testing purposes}
 \end{figure}

\end{document}

在此处输入图片描述

相关内容