如何强制 \caption{} 的标签为小写?

如何强制 \caption{} 的标签为小写?

这个想法是让标题标签(我这里是表格,但实际上哪个标题标签并不重要)采用小写字母。现在,我设法将它们设置为我想要的颜色,并采用小写字母和粗体。但它仍然显示“表格 1”作为表格标签,大写字母“T”。

因此,我希望将其全部小写,这样使用小写字母看起来会更好。我尝试了以下方法:

我正在使用这样的东西:

\usepackage{caption}
\usepackage{floatrow}

\DeclareCaptionFont{spot}{\color{spot}}
\DeclareCaptionFont{lc}{\lowercase}

\captionsetup{
    font=small,
    labelfont={sc,bf,spot,lc},
    labelsep=quad,
    indention=0pt,
    format=plain,
}

但它不起作用。

我对部分标签做了类似的事情:

\addtokomafont{sectionentry}{\rmfamily\bfseries\scshape\lowercase}
\addtokomafont{section}{\rmfamily\bfseries\scshape\color{spot}\lowercase}
\addtokomafont{subsection}{\rmfamily\mdseries\itshape\color{spot}}

这里,使章节标题以小写字母显示效果很好。

但是如何对图表和表格添加标题呢?


文本需要小写 小帽子以达到预期效果。

考虑这个例子: 在此处输入图片描述 在这个例子中,部分名称“booktabs table”实际上是小写的。但由于它也是用 制作的\scshape,所以我得到了我想要的效果。

现在标签“表 1”是小写字母,但不是小写字母(因此大的'T')。 我对部分名称所做的操作正是预期的效果。

相关代码部分是:

\section{booktabs table}

\begin{table}[h] \centering
\ttabbox{%
    \caption{The Greek alphabet and variant letter forms with control sequences. Also, this lines needs to be much longer, so line breaks occur...\label{tab:greek}}
}{%
    \begin{tabular}{@{}c@{}} \toprule
        \begin{tabular}{@{}clcl@{}}
            \multicolumn{2}{@{}c}{Uppercase}                  & \multicolumn{2}{c@{}}{Lowercase} \\ \midrule
                $\Alpha$   & \texttt{\textbackslash{}Alpha}   & $\mathrm\alpha$   & \texttt{\textbackslash{}alpha}   \\
                $\Beta$    & \texttt{\textbackslash{}Beta}    & $\mathrm\beta$    & \texttt{\textbackslash{}beta}    \\
                $\Gamma$   & \texttt{\textbackslash{}Gamma}   & $\mathrm\gamma$   & \texttt{\textbackslash{}gamma}   \\
        \end{tabular}
        \hspace{1em}
        \begin{tabular}{@{}rlrl@{}}
            \multicolumn{2}{@{}c}{Uppercase} & \multicolumn{2}{c@{}}{Lowercase} \\ \midrule
                $\Xi$      & \texttt{\textbackslash{}Xi}      & $\mathrm\xi$      & \texttt{\textbackslash{}xi}      \\
                $\Omicron$ & \texttt{\textbackslash{}Omicron} & $\mathrm\omicron$ & \texttt{\textbackslash{}digamma} \\
                $\color{white}0$ & & & \\
        \end{tabular} \\ \toprule
        \begin{tabular}{@{}ccl@{}}
            Normal form & \multicolumn{2}{c@{}}{Variant form} \\ \midrule
        \end{tabular}
        \hspace{1em}
        \begin{tabular}{@{}ccl@{}}
            Normal form & \multicolumn{2}{c@{}}{Variant form} \\ \midrule
        \end{tabular} \\ \bottomrule
    \end{tabular}
}
\end{table}

答案1

事实证明,它必须使用自定义标签格式来完成:

\documentclass{scrartcl}
\usepackage{caption}

\DeclareCaptionLabelFormat{lc}{\MakeLowercase{#1}~#2}
\captionsetup{labelfont=sc,labelformat=lc}

\begin{document}
    \begin{table}[h]
        \caption{I'm the caption\label{tab:cap}}
        \begin{tabular}{c}
            I'm inside the table \\
        \end{tabular}
    \end{table}
\end{document}

这提供了所有小写字母 + 小型大写字母标签。所有其他选项均兼容(此处未显示)。

\MakeLowercase{}感谢@Manuel 给我提供使用而不是 的想法\lowercase

答案2

由于您没有提供最小工作示例,因此我将在此不提供该示例。正如评论中所说,更新\tablename应该可以。但是,由于您只希望将大写字母 T 改为小写字母,我认为\renewcommand*\tablename{table}应该可以。顺便说一句,您不应该使用\lowercasebut \MakeLowercase,这是一种更 LaTeXy 和更高级的方法。

并且...我会定义 a\newcommand*\cmd[1]{\texttt{\char`\\#1}}然后使用更具语义的东西,如\cmd{digamma}\cmd{Xi}

相关内容