区分数字和图形

区分数字和图形

我需要区分插图和图形。这是必要的,因为这是我国的规范。

因此我创建了一个运行良好的“\DeclareNewTOC”:

\DeclareNewTOC[
type=graficosabnt,
types=graficosabnts,
float,
floattype=3,
name=Graphics,
listname={List of graphics}
]{lol}

我能够使用 \listofgraficosabnts 列出此图形。但我需要将图形和图片放在同一个列表中。我能够使用 \captionlistentry[figure]{#1} 来做到这一点,但它不能满足我的需要。它为图形提供了新的编号。

使用以下代码:

\documentclass[12pt,fleqn,a4paper,oneside]{scrreprt}
\usepackage[utf8]{inputenc} 
\usepackage{caption}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{float} %figuras


\DeclareNewTOC[%
type=graficosabnt,%
types=graficosabnts,% used in the \listof.. command
float,% define a floating environment
floattype=3,% see below
name=Gr\'{a}fico,%
listname={Lista de Gr\'{a}ficos}%
]{lol}

\renewcommand\thegraficosabnt{\arabic{chapter}.\arabic{graficosabnt}}

\begin{document}

    \listoffigures

    \begin{figure}[H]
        \centering
        \caption{test\_figure}
        \centering
        \includegraphics[width= 0.2 \linewidth]{dummy}
        \label{a}
    \end{figure}

    \begin{graficosabnt}[H]
        \captionlistentry[figure]{test\_graph2}
        \centering
        \caption{test\_graph2}
        \centering
        \includegraphics[width= 0.2 \linewidth]{dummy}
        \label{b}
    \end{graficosabnt}

\end{document}   % Fim.

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

我希望:

图片列表

图 0.1 - 测试图 . . . . . . . . . . . . . . . . . . . . . . . . 1

图形 0.1 - test_graph2。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 1

答案1

使用最新的 KOMA-Script 版本:

\documentclass[12pt,fleqn,a4paper,oneside]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
%\usepackage{caption}
%\usepackage{float}
\usepackage{hyperref}% should be the last package

\KOMAoptions{captions=above}

\newcommand\entrynumberwithprefix[2]{%
  \csname listof#1entryname\endcsname\ #2~-~%
}
\DeclareTOCStyleEntry[
  entrynumberformat=\entrynumberwithprefix{lof},
  indent=0pt,
  dynnumwidth,
  numsep=0pt
]{default}{figure}


\DeclareNewTOC[%
  type=graficosabnt,%
  %types=graficosabnts,% not needed in this example
  float,% define a floating environment
  floattype=3,
  name=Gr\'{a}fico,%
  %listname={Lista de Gr\'{a}ficos}% not needed in this example
  tocentryindent=0pt,
  tocentrydynnumwidth,
  tocentrynumsep=0pt,
  tocentryentrynumberformat=\entrynumberwithprefix{lol}
]{lol}
\counterwithin{graficosabnt}{chapter}
\makeatletter
\renewcommand*{\ext@graficosabnt}{lof}
\makeatother

\begin{document}
\listoffigures
\begin{figure}[!hb]
  \centering
  \caption{test\_figure}\label{a1}
  \includegraphics[width= 0.2 \linewidth]{example-image}
\end{figure}

\begin{figure}[!hb]
  \centering
  \caption{test\_figure}\label{a2}
  \includegraphics[width= 0.2 \linewidth]{example-image}
\end{figure}

\begin{graficosabnt}[!hb]
  \centering
  \caption{test\_graph2}\label{b}
  \includegraphics[width= 0.2 \linewidth]{example-image}
\end{graficosabnt}
\end{document}

运行三次即可获得

在此处输入图片描述

评论:

  • \KOMAoptions{captions=above}如果您将所有标题放在源代码中的图形、表格等上方,则使用此选项可确保标题和内容之间的额外空间插入到标题下方(而不是上方)。但请注意,此选项不会移动标题本身,因此它必须位于源代码中的正确位置。KOMA-Script 类还提供\captionabove\captionbelow。有关更多信息,请参阅文档。
  • 如果添加前缀(例如-> ),\DeclareTOCStyleEntry则还可以使用所有选项\DeclareNewTOCtocentrydynnumwidthtocentrydynnumwidth
  • \ext@graficosabnt存储监听器应该去往的位置。如果将其重新定义为lofgraficosabnt 的条目,则将出现在 LoF 中。

相关内容