如何自动将章节的首字母转换为大写?

如何自动将章节的首字母转换为大写?
  • 我只想自动将章节、章节和小节的首字母转换为大写。

这能解决这个问题吗?

\usepackage{titlesec}
\titleformat{\section}
  {\normalfont\scshape}{\thesection}{1em}{}
  • 第二点:如何将段落的首字母变为粗体大写?

编辑:\makefirstuc从包中 找到mfirstuc如何在宏中使用它?像上面一样

答案1

您可能会做如下事情:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{mfirstuc}
\usepackage{titlesec}

\titleformat{\section}
  {\normalfont\scshape}
  {\thesection}
  {1em}
  {\makefirstuc}

\begin{document}

\section{Capital}

\section{capital}

%\section{équipe}

\end{document}

但是,一旦\section取消注释第三个命令,您就会收到错误。不过,使用 XeLaTeX 或 LuaLaTeX 时不会出现这种情况。

如果您需要重音字母pdflatex,您可以采用更复杂的方式:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{titlesec}
\usepackage{xparse}

\titleformat{\section}
  {\normalfont\scshape}
  {\thesection}
  {1em}
  {}

\let\originalsection\section
\makeatletter
\RenewDocumentCommand{\section}{som}{%
  \protected@edef\section@opt{\MakeFirstUppercase#2\MakeFirstUppercase}%
  \protected@edef\section@mand{\MakeFirstUppercase#3\MakeFirstUppercase}%
  \IfBooleanTF{#1}
    {\originalsection*{\section@mand}}
    {\IfNoValueTF{#2}
      {\originalsection{\section@mand}}
      {\originalsection[\section@opt]{\section@mand}}%
    }%
}
\protected\def\MakeFirstUppercase#1#2\MakeFirstUppercase{%
  \ifx#1\IeC
    \MakeUppercase#2%
  \else
    \MakeUppercase#1#2%
  \fi
}
\makeatother


\begin{document}

\section{Capital}

\section{capital}

\section{équipe}

\section{Équipe}

\end{document}

在此处输入图片描述

总而言之,很多最好依靠正确的打字。

相关内容