我正在使用书籍类,并编写了所有部分、章节和小节,以便
\section{My Section Is Like This}
制作类似这样的内容
我的部分是这样的
我的编辑要求我写如下内容:
我的部分是这样的
我相信我必须引入一个类似使用 book-class 将章节标题中每个单词的首字母大写:
\let\svsection\section
\def\section#1{\svsection{\titlecap{#1}}}
这并不能解决我的问题
或者
类似的东西
\sectionfont{\scshape\MakeTextLowercase}
产生
我的部分是这样的
问题是如何将所有章节、小节、小小节的句子首字母大写,但我一直没能找到它。
答案1
我只想编辑文件,而不是让你的宏永远复杂化。
如果你的sec.tex
文件是
\section{My Title}
.....
\section{With Title Case}
...
然后执行如下命令
sed -ie "s/\\\\section{\(.\)\([^{}]*\)}/\\\\section{\\1\\L\\2}/" sec.tex
那么它将
\section{My title}
.....
\section{With title case}
...
我sed
在那里使用了命令行,但任何编辑器都应该能够进行类似的替换。
答案2
你不应该这样写。
如果您确实想要,那么请准备好遇到这些宏的问题。;-)
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@sect{#8}{\MakeFirstUppercase{#8}}{}{}
\newcommand{\MakeFirstUppercase}[1]{%
\@MakeFirstUppercase#1\@MakeFirstUppercase
}
\def\@MakeFirstUppercase#1#2\@MakeFirstUppercase{%
\MakeUppercase{#1}\MakeLowercase{#2}%
}
\makeatother
\begin{document}
\section{My Section is Like This}
\section{But it should be like this}
\end{document}
例如,开头的重音字母不起作用,但你可以用括号括起来:
\section{{\'E}lite}