创建新的字幕和“字幕计数器”

创建新的字幕和“字幕计数器”

在巴西,我们认为表格是遵循特定格式的“图表”(这里的翻译可能有点不对,但这就是我在回答这个问题时使用的格式)。例如,这种特定格式包括列对齐和边框。

在环境中,表格和图表都很容易创建tabular。当我尝试单独为它们添加标题时,问题就出现了。图表的标题应该像这样Chart 1: Example,而表格的标题应该是默认的Table 1: Example

我的想法是将环境“复制”table到类似“mychart”的环境中,然后更改此环境的标题。这是实现此目标的最佳方法吗?还是有更好的方法?

注意:我尝试使用captionspackage\captionsetup{name=Chart}命令,它有点作用,但是表格和图表仍然共享计数器,所以我使用的是“图表 1/表 2”而不是“图表 1/表 1”...

这里我有一张表格和一张图表的 MWE:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\begin{document}
    This is a Table:

\begin{table}[h]
    \centering
    \caption{Example}

    \begin{tabular}{l r}
        \hline
        City        &   Habitants   \\
        \hline
        City A      &   2000000 \\
        City B      &   4000000 \\
        City C      &   500000  \\
        \hline
    \end{tabular}
\end{table}

And this is a "chart": %might want to change the word

    \begin{table}[h]
        \centering
        \caption{Example}

        \begin{tabular}{|c c|}
            \hline
            City        &   Habitants   \\
            \hline
            City A      &   2000000 \\
            \hline
            City B      &   4000000 \\
            \hline
            City C      &   500000  \\
            \hline
        \end{tabular}
    \end{table}
\end{document}

答案1

建议创建一个包含图表的单独浮点数。这样您就可以在将来更改内容。例如,如果您决定以不同的方式重新格式化它们,或者使它们相同。

float包裹可以轻松创建新的浮点数:

在此处输入图片描述

\documentclass{article}

\usepackage{float}

\newfloat{chart}{htbp}{loc}
\floatname{chart}{Chart}
\newcommand{\listofcharts}{\listof{chart}{List of Charts}}

\begin{document}

\listoftables
\listofcharts

\section{A section}

This is a \verb|table|:

\begin{table}[h]
  \centering\caption{Example}
\end{table}

And this is a \verb|chart|:

\begin{chart}[h]
  \centering\caption{Example}
\end{chart}

\end{document}

使用类似设置newfloat(兼容caption) 将会

\usepackage{newfloat}

\DeclareFloatingEnvironment[
  fileext   = loc,
  listname  = List of Charts,
  name      = Chart,
  placement = htbp,
]{chart}

答案2

您可以使用与和newfloat配合使用的开箱即用的包。babelcaption

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[brazil]{babel}

\usepackage{caption,newfloat}

\DeclareFloatingEnvironment[
  fileext=loc,
  listname=Chart, % English name
  name=List of Charts, % English name
  placement=tbp,
]{chart}

\addto\captionsbrazil{% provide translations for Portuguese
  \renewcommand{\chartname}{Gr\'afico}%
  \renewcommand{\listchartname}{Lista de Gr\'aficos}%
}

\begin{document}

\listoftables
\listofcharts

\section{A section}

\begin{table}[h]
    \centering
    \caption{Example}

    \begin{tabular}{l r}
        \hline
        City        &   Habitants   \\
        \hline
        City A      &   2000000 \\
        City B      &   4000000 \\
        City C      &   500000  \\
        \hline
    \end{tabular}
\end{table}

And this is a "chart": %might want to change the word

    \begin{chart}[h]
        \centering
        \caption{Example}

        \begin{tabular}{|c c|}
            \hline
            City        &   Habitants   \\
            \hline
            City A      &   2000000 \\
            \hline
            City B      &   4000000 \\
            \hline
            City C      &   500000  \\
            \hline
        \end{tabular}
    \end{chart}

\end{document}

在此处输入图片描述

相关内容