我正在尝试在 LaTeX 中创建一个具有“S1 表”格式的表。如您所见,在我当前的 MWE 代码中,该表的标题为“表 1”:
\documentclass[10pt,letterpaper]{article}
\begin{document}
\begin{table}[h]
\caption{Here is a practice table}
{\setlength{\tabcolsep}{3pt} % Make column width smaller to fit page
\begin{tabular}{llllll}
\hline
Name & Number & Color\\ \hline
Name1 & Number1 & Color1\\
Name2 & Number2 & Color2\\
Name3 & Number3 & Color3\\
Name4 & Number4 & Color4\\ \hline
\end{tabular}}
\label{s1table}
\end{table}
\end{document}
是否可以更改此格式,使标题改为“S1 表”。我见过一些示例,要求反向“表 S1”,但这对我的解决方案不起作用。我甚至见过另一个示例类似于我的问题,但解决方案对我来说仍然不清楚。任何建议都将不胜感激!
答案1
\documentclass[10pt,letterpaper]{article}
\usepackage{caption} % <--- added
\captionsetup[table]{name=SI table, % <--- define caption name
skip=1ex, labelfont=bf}
begin{document}
\begin{table}[h]
\centering
\caption{Here is a practice table}
\label{s1table}
\setlength{\tabcolsep}{3pt} % Make column width smaller to fit page
\begin{tabular}{llllll}
\hline
Name & Number & Color & \multicolumn{3}{c}{Num.}\\
\hline
Name2 & Number2 & Color2 & 1 & 2 & 3 \\
Name3 & Number3 & Color3 & 1 & 2 & 3 \\
Name4 & Number4 & Color4 & 1 & 2 & 3 \\
\hline
\end{tabular}
\end{table}
\end{document}
有关标题名称的设置,请参阅包文档,部分2.8 名称,第 15 页。
答案2
您可以使用caption
包并使用命令重新定义标签格式来执行此操作\DeclareCaptionLabelFormat
。其中#1
将替换为浮点数的名称(表格、图形等),并将#2
替换为参考编号。
默认标签格式很简单#1 #2
。
在你的情况下,你需要在名称前加上数字并以 为前缀S
,因此标签格式应该是这样的S#2 #1
因此,您的 MWE 看起来将是这样的:
\documentclass[10pt,letterpaper]{article}
\usepackage{caption} %<---
\DeclareCaptionLabelFormat{Sformat}{S#2 #1} %<---
\captionsetup[table]{labelformat=Sformat} %<---
\usepackage{cleveref}
\begin{document}
\begin{table}[h]
\centering
\caption{Here is a practice table}
\label{s1table}
\setlength{\tabcolsep}{3pt} % Make column width smaller to fit page
\begin{tabular}{llllll}
\hline
Name & Number & Color & \multicolumn{3}{c}{Num.}\\
\hline
Name2 & Number2 & Color2 & 1 & 2 & 3 \\
Name3 & Number3 & Color3 & 1 & 2 & 3 \\
Name4 & Number4 & Color4 & 1 & 2 & 3 \\
\hline
\end{tabular}
\end{table}
When we refer to the table, we get \cref{s1table}.
\end{document}
这里我仅重新格式化表格标题。另请注意,如果您要使用cleveref
,则必须单独配置它以匹配标题格式或其他格式。