定理论证的标题大小写

定理论证的标题大小写

我想让传递给定理环境的可选参数(将参数放在定理编号旁边的括号中 - 通常用于命名定理)具有标题大小写IE非冠词应该大写。我可以使用 titlecaps 和 titlesec 包对章节标题执行此操作(请参阅下面的 MWE),但我不确定如何才能获得此行为,而无需每次在定理参数中手动执行此操作。

我正在使用一个自制的定义环境(通过 amsthm),并且在我的文档开头有很多命名的定义,因此最好不必手动将所有标题大写。

梅威瑟:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{titlesec,titlecaps}


\theoremstyle{definition}
\newtheorem{theorem}{Theorem}[subsection]
\newtheorem{definition}[theorem]{Definition}

\Addlcwords{is with the a an}
\titleformat{\section}[block]{}{\normalfont\Large\bfseries\thesection.\;}{0pt}{\formatsectiontitle}
\newcommand{\formatsectiontitle}[1]{\normalfont\Large\bfseries\titlecap{#1}}

\begin{document}


\section{this is an automatically title capitalized section}
\begin{definition}[I wish this was title capitalized]
Definition.
\end{definition}

\end{document}

答案1

以下重新定义definition环境并插入\titlecap{...}提供给它的可选参数:

在此处输入图片描述

\documentclass{article}

\usepackage{amsthm}
\usepackage{titlecaps}

\theoremstyle{definition}
\newtheorem{theorem}{Theorem}[subsection]
\newtheorem{definition}[theorem]{Definition}

\Addlcwords{is with the a an}

\begin{document}

Original definition:

\begin{definition}[I wish this was capitalized]
Definition.
\end{definition}

Manual title case for definition:

\begin{definition}[\titlecap{I wish this was capitalized}]
Definition.
\end{definition}

\let\olddefinition\definition
\let\endolddefinition\enddefinition
\RenewDocumentEnvironment{definition}{ o }{%
  \IfValueTF{#1}
    {\olddefinition[\titlecap{#1}]}
    {\olddefinition}%
}{%
  \endolddefinition
}

Automated title cap definition:

\begin{definition}[I wish this was capitalized]
Definition.
\end{definition}

\end{document}

这仅适用于环境。如果你没有最新的 LaTeX,definition则需要这样做。\usepackage{xparse}

相关内容