大写章节标题、节、小节、目录中的表格和图表列表?

大写章节标题、节、小节、目录中的表格和图表列表?

我使用了这里提供的资源并且它对我有用,但表格和图表列表上仍然存在错误:目录中的章节标题要大写吗?。我正在使用由 D. Leif Anderson 准备的文档类\documentclass[nosmallcaps,toccaps,12pt]{csuthesis}

我的修改:

\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
    \thispagestyle{plain}%
    \global\@topnum\z@
    \@afterindentfalse
    \secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
    \if@mainmatter
    \refstepcounter{chapter}%
    \typeout{\@chapapp\space\thechapter.}%
    \addcontentsline{toc}{chapter}%
    {\protect\numberline{\thechapter}\MakeUppercase{#1}}%   
    \fi}
\makeatother

\makeatletter
\renewcommand\section{\if@openright\cleardoublepage\else\clearpage\fi
    \thispagestyle{plain}%
    \global\@topnum\z@
    \@afterindentfalse
    \secdef\@section\@section}
\def\@section[#1]#2{\ifnum \c@secnumdepth >\m@ne
    \if@mainmatter
    \refstepcounter{section}%
    \typeout{\@secapp\space\thesection.}%
    \addcontentsline{toc}{section}%
    {\protect\numberline{\thesection}\MakeUppercase{#2}}%   
    \fi}
\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\renewcommand\subsection{\if@openright\cleardoublepage\else\clearpage\fi
    \thispagestyle{plain}%
    \global\@topnum\z@
    \@afterindentfalse
    \secdef\@subsection\@subsection}
\def\@subsection[#1]#2#3{\ifnum \c@secnumdepth >\m@ne
    \if@mainmatter
    \refstepcounter{subsection}%
    \typeout{\@subsecapp\space\thesubsection.}%
    \addcontentsline{toc}{subsection}%
    {\protect\numberline{\thesubsection}\MakeUppercase{#3}}%    
    \fi}
\makeatother

非常感谢您的帮助...

答案1

免责声明:以下答案仅在这种特殊情况下才有意义(如果有的话),即使用双修补文档类csuthesis.cls。下面的几行是针对以下问题的解决方法...

\documentclass[12pt]{csuthesis}
\usepackage{xpatch}
\xpatchcmd\maketitle{\scshape Abstract}{ABSTRACT}{}{}
\xpatchcmd\maketitle{\scshape Acknowledgements}{ACKNOWLEDGEMENTS}{}{}
\makeatletter
\setcounter{tocdepth}{3}
\renewcommand{\tocsection}[3]%
  {\indentlabel{\@ifnotempty{#2}{\MakeUppercase{\ignorespaces#1} #2.\quad}}%
   \MakeUppercase{#3}%
  }
\renewcommand{\tocappendix}[3]%
  {\indentlabel{\MakeUppercase{#1}\@ifnotempty{#2}{ #2}.\quad}%
   \MakeUppercase{#3}%
  }
\let\tocchapter\tocsection
\let\tocsubsection\tocsection
\def\l@section{\@tocline{1}{0pt}{0pt}{}{}}
\def\l@subsection{\@tocline{2}{0pt}{2.5pc}{5pc}{}}
\renewcommand{\contentsname}{TABLE OF CONTENTS}
\renewcommand{\listfigurename}{LIST OF FIGURES}
\renewcommand{\listtablename}{LIST OF TABLES}
\renewcommand{\bibname}{BIBLIOGRAPHY}
\renewcommand{\indexname}{INDEX}
\let\orig@caption\@caption
\def\@caption #1[#2]{\orig@caption#1[\MakeUppercase{#2}]}
\makeatother
...

在此处输入图片描述 在此处输入图片描述

\documentclass[12pt]{csuthesis}
\usepackage{xpatch}
\xpatchcmd\maketitle{\scshape Abstract}{ABSTRACT}{}{}
\xpatchcmd\maketitle{\scshape Acknowledgements}{ACKNOWLEDGEMENTS}{}{}
\makeatletter
\setcounter{tocdepth}{3}
\renewcommand{\tocsection}[3]%
  {\indentlabel{\@ifnotempty{#2}{\MakeUppercase{\ignorespaces#1} #2.\quad}}%
   \MakeUppercase{#3}%
  }
\renewcommand{\tocappendix}[3]%
  {\indentlabel{\MakeUppercase{#1}\@ifnotempty{#2}{ #2}.\quad}%
   \MakeUppercase{#3}%
  }
\let\tocchapter\tocsection
\let\tocsubsection\tocsection
\def\l@section{\@tocline{1}{0pt}{0pt}{}{}}
\def\l@subsection{\@tocline{2}{0pt}{2.5pc}{5pc}{}}
\renewcommand{\contentsname}{TABLE OF CONTENTS}
\renewcommand{\listfigurename}{LIST OF FIGURES}
\renewcommand{\listtablename}{LIST OF TABLES}
\renewcommand{\bibname}{BIBLIOGRAPHY}
\renewcommand{\indexname}{INDEX}
\let\orig@caption\@caption
\def\@caption #1[#2]{\orig@caption#1[\MakeUppercase{#2}]}
\makeatother
\usepackage{lipsum}
\begin{document}
\title{The Title of This Thesis}
\author{The Author}
\departmentname{The Department Name}
\gradterm{The Grad Term}
\advisor{The Advisor}
\committee{The Committee}
\begin{abstract}
This is the abstract.
\end{abstract}
\begin{acknowledgements}
This is the abstract.
\end{acknowledgements}
\frontmatter
\maketitle
\tableofcontents
%\listoffigures
%\listoftables
\mainmatter
\chapter{First}
\lipsum[1]
\section{One}
\lipsum[1]
\begin{figure}
\rule{4cm}{3cm}
\caption{figure one}
\end{figure}
\lipsum[1]
\subsection{One one}
\lipsum[1]
\begin{table}
\rule{4cm}{3cm}
\caption{table one}
\end{table}
\lipsum[1]
\subsection{One two}
\lipsum[1]
\begin{figure}
\rule{4cm}{3cm}
\caption{figure two}
\end{figure}
\lipsum[1]
\section{Two}
\lipsum[1]
\begin{table}
\rule{4cm}{3cm}
\caption{table two}
\end{table}
\lipsum[1]
\subsection{Two one}
\lipsum[1]
\subsection{Two two}
\lipsum[1]
\chapter{Second}
\lipsum[1]
\section{One}
\lipsum[1]
\subsection{One one}
\lipsum[1]
\subsection{One two}
\lipsum[1]
\section{Two}
\lipsum[1]
\subsection{Two one}
\lipsum[1]
\subsection{Two two}
\lipsum[1]
\appendix
\chapter{Appendix}
\lipsum[1]
\end{document}

答案2

我或多或少对你想做什么感到完全困惑。

LaTeX 课程

LaTeX 使用“类”文件,这是一种模板。它们不可互换。有些非常常用。其他则很少见。它们使用不同的内部代码。这意味着:

  1. 不能假设你在某个地方找到的解决某个类问题的方法也适用于你的类。关于标题、分区、自动表格等内容很可能因类而异。因此,你发现你尝试使用的 carrion 代码不起作用也就不足为奇了。

  2. 如果您在这里发布问题,请清楚说明您使用的类别,因为这可能很重要。

事实上,正如谷歌搜索发现的那样,你使用的课程是基于amsbook安德森博士改编的,正如他优雅地说的那样

满足科罗拉多州立大学研究生院对论文和学位论文格式的狗屁要求

如果您不必满足这些“废话要求”,您最好使用更标准的类。如果您这样做,我建议您不要在满足上述要求的类中重新定义事物。

然而 ...

将“图片列表”更改为“图片列表”

如果你想这样做,重新定义\figurename

\renewcommand{\listfigurename}{LIST OF FIGURES}

\contentsname你也可以对和进行同样的操作appendixname。在每种情况下,这不仅会影响它们在目录中的显示方式,当然还会影响它们在文本中的显示方式。

更改图表列表和表格列表的打印方式...仅在目录中

如果您想在目录中将这些内容大写,但在文本本身中则使用大小写,那么我认为您需要类似这样的方法。在我看来,这会很奇怪,但您这样做了。

\makeatletter
\def\@starttoc#1#2{%
\begingroup
\setTrue{#1}%
\let\secdef\@gobbletwo \chapter
\let\@secnumber\@empty % for \@tocwrite and \chaptermark
\ifx\contentsname#2%
\else \@tocwrite{chapter}{\MakeUppercase #2}\fi
\typeout{#2}\@xp\chaptermark\@xp{#2}%
\@makeschapterhead{#2}\@afterheading
\parskip\z@skip
\makeatletter
\@input{\jobname.#1}%
\if@filesw
\@xp\newwrite\csname tf@#1\endcsname
\immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
\fi
\global\@nobreakfalse \endgroup
\newpage
}
\renewcommand{\tocappendix}[3]{%
\indentlabel{\MakeUppercase{#1}\@ifnotempty{#2}{ #2}.\quad}#3}
\makeatother

(所有这些都放在序言中,在 之前\begin{document}。它涉及对 的代码进行微小的改编amsbook.cls,圣人安德森博士对其进行了改编,以满足他准确称之为“更愚蠢、更丑陋的 CSU 标准”的要求。)

小小的吐槽

LaTeX 的优点之一是,在设计类文件时,至少在理想情况下,会考虑一些合理的排版思想。像这样奇怪的不一致的修改需要花费大量的时间和精力,不仅在排版美感方面没有多少积极回报,而且会产生积极的负面影响。找到一个经过深思熟虑设计的类并坚持使用它,比像这样摆弄以产生更好的效果要好得多内部不连贯印刷术很业余文档,将网上搜集的拼凑起来的课程文件与内部设计的奇怪的小(不良)改编堆积在一起。这不仅仅是不是LaTeX 所关心的正是它所不关心的!

相关内容