将目录中的表格列表大写

将目录中的表格列表大写

如何将目录、表格列表中的所有表格名称都大写?我说的不是标题,而是实际条目。例如,图片中的第一个条目是可以的,因为它是大写的,而其他条目不是。

在此处输入图片描述

答案1

使用可选参数和\caption/或\section。已编辑以遵循egreg的强调建议。

\documentclass[11pt]{article}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\listoftables
\noindent\hrulefill

\section[\MakeUppercase{this is the first of two sections}]{this is the first of two sections}

\lipsum[4]

\section[\MakeUppercase{blah for blah}]{blah for blah}

\lipsum[3]

\begin{table}[ht]
\centering
\caption[\MakeUppercase{this is the table for this section}]{this is the table for this section}
\begin{tabular}{|c|c|}
\hline
This is & my table\\
\hline
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

根据 OP 的后续查询,这里有一种方法可以让 LOT(而不是 LOF)自动将表格标题大写:

\documentclass[11pt]{article}
\usepackage{lipsum}
\let\svcaption\caption
\let\svtable\table
\def\table{\tablecaps\svtable}
\def\tablecaps{%
  \renewcommand\caption[2][]{\svcaption[\MakeUppercase{##2}]{##2}}
}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\noindent\hrulefill
\section{blah for blah}

\begin{figure}[ht]
\centering
\framebox{My Figure}
\caption{this is the figure caption}
\end{figure}
\begin{table}[ht]
\centering
\caption{this is the table for this section}
\begin{tabular}{|c|c|}
\hline
This is & my table\\
\hline
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

答案2

目前尚不清楚您是否希望目录和表格及图表列表中的所有材料都采用大写形式(我认为这是不好的风格)。

这是一组针对该类的补丁article。如果您正在使用book或,report也应该修补章节标题命令。

\documentclass{article}
\usepackage{etoolbox}
\usepackage{lipsum}

\makeatletter
\patchcmd{\@caption}
  {\ignorespaces #2}
  {\MakeUppercase{\ignorespaces #2}}
  {}{}
\patchcmd{\@sect}{\fi#7}{\fi\MakeUppercase{#7}}{}{}
\patchcmd{\@sect}{\fi#7}{\fi\MakeUppercase{#7}}{}{}
\makeatother

\begin{document}
\tableofcontents
\listoftables

\section{Title}

\subsection{Title}

\lipsum[3]

\begin{table}[ht]
\centering
\caption{This is a table caption}
\begin{tabular}{|c|c|}
\hline
This is & my table\\
\hline
\end{tabular}
\end{table}
\begin{table}[ht]
\centering
\caption[Optional]{This is a table caption}
\begin{tabular}{|c|c|}
\hline
This is & my table\\
\hline
\end{tabular}
\end{table}
\end{document}

在此处输入图片描述

相关内容