使用标题标签作为标题

使用标题标签作为标题

我搜索了一番,但没有什么收获。我希望能够看到标题标签并将其用作标题文本的“标题”。

一个例子:

\documentclass[11pt]{article}
\usepackage{textcomp}
\usepackage{graphicx}
\usepackage{relsize}
\usepackage{tabu}
\usepackage{booktabs}

\usepackage[
justification=justified,
labelfont=bf,
textfont=small,
textfont=it,
labelsep=newline]{caption}


\begin{document}

\listoftables

\begin{table}
\centering
\footnotesize

\sffamily{

\begin{tabu} to 
\textwidth {lrl}
\toprule
&    15,639 patients \\
\midrule
Age (yrs)&     70.0&(18.0--104.0)\\
Male sex&    8,113&(51.9)\\
CCMDS Level of Care&&\\
\hspace*{1em}\smaller[1]{High dependency}&    2,708&(17.3)\\
Nursing observations&&\\
\hspace*{1em}\smaller[1]{Continuous monitoring}&    4,497&(28.8)\\
\hspace*{1em}\smaller[1]{Up to 4 hrly (inclusive)}&    7,435&(47.5)\\
\hspace*{1em}\smaller[1]{Less frequently than 12 hrly}&    2,080&(13.3)\\
Delayed referral to critical care&    2,012&(12.9)\\
Reported sepsis diagnosis&&\\
\hspace*{1em}\smaller[1]{Likely}&    5,741&(36.7)\\
\hspace*{1em}\smaller[1]{Unlikely}&    4,232&(27.1)\\
\bottomrule
\end{tabu} 

} 

\caption[Baseline characteristics]{All study patients. Numbers are mean(SD), or median(IQR)}

\label{baseline_pt_chars} 
\normalfont
\end{table}
\end{document}


\usepackage[labelfont=bf]{caption}
\begin{table}
... table code here ....
\caption[Baseline characteristics]{All study patients. Numbers are mean(SD), or median(IQR)} 
\end{table}

并将其格式化为

表 1:基线特征所有研究患者。数字为平均值 (SD) 或中位数 (IQR)

这可能吗?或者我应该手动编码标题之外但在环境内部的所有格式float...这意味着要写两次标签(一次用于标题和表格列表,一次在环境内部float)?

我希望问题清楚了?

答案1

我的建议是定义一个新命令来达到这个目的:

\documentclass{article}
\usepackage[labelfont=bf]{caption}
\newcommand{\tablecaption}[2]{\caption[#1]{\textbf{#1} #2}}
\begin{document}
\listoftables

\section{Something}

\begin{table}[htp]
... table code here ....
\tablecaption{Baseline characteristics}{All study patients. Numbers are mean (SD), or median (IQR)}
\end{table}
\end{document}

重新定义\caption意味着数字也具有相同的行为。

在此处输入图片描述

可以使用相同的语法\caption和相同的命令名称;但由于可选参数变为必需参数,我认为使用新命令的解决方案更可取。无论如何,它在这里:

\documentclass{article}
\usepackage[labelfont=bf]{caption}

\usepackage{letltxmacro}
\AtBeginDocument{% caption does its business here
  \LetLtxMacro{\captioncaption}{\caption}
  \renewcommand{\caption}[2][]{\captioncaption[#1]{\textbf{#1} #2}}
}

\begin{document}
\listoftables

\section{Something}

\begin{table}[htp]
... table code here ....
\caption[Baseline characteristics]{All study patients. Numbers are mean (SD), or median (IQR)}
\end{table}
\end{document}

如果某些标题中缺少“可选”参数,我们必须采取稍微不同的方法:

\usepackage{letltxmacro}
\AtBeginDocument{% caption does its business here
  \LetLtxMacro{\captioncaption}{\caption}
  \renewcommand{\caption}[2][]{%
     \if\relax\detokenize{#1}\relax
       % Missing optional argument
       \captioncaption{#2}%
     \else
       % The optional argument is specified
       \captioncaption[#1]{\textbf{#1} #2}%
     \fi}
}

相关内容