拥有这个 MWE:
\documentclass{book}
\usepackage[explicit]{titlesec}
\titleformat{\chapter}[block]{\filcenter}{}{0pt}{\MakeUppercase{#1}}
\begin{document}
\chapter*{This should be all Uppercase. "This text should remain as it is"}
\end{document}
哪个命令可以用来获取文本"This text should remain as it is"
不是是否受到 titlesec 大写定义的影响(见图)?
编辑:\titleformat
根据 Gonzalo Medina 的评论,修复了的论点(见下文)。
答案1
另一个选择是加载textcase
打包并使用\MakeTextUppercase
而不是\MakeUppercase
用于标题格式(无论如何,这都是一个好主意,可以防止\label
标题中可能出现 s 和数学表达式的问题);现在您可以使用它\NoCaseChange
来保留所需文本的大小写:
\documentclass{book}
\usepackage[explicit]{titlesec}
\usepackage{textcase}
\titleformat{\chapter}[block]
{\filcenter\MakeTextUppercase{#1}}{}{}{}
\begin{document}
\chapter*{This should be all Uppercase. \NoCaseChange{This text should remain as it is}}
\end{document}
结果:
评论
您当前的定义\titleformat
是错误的;第四个强制参数不能为空,因此我建议您将其更改为类似
\titleformat{\chapter}[block]
{\filcenter}{}{0pt}{\MakeTextUppercase{#1}}
(请注意,由于没有制定有关计数器的规定,因此\chapter
会产生未编号的章节)
答案2
对于临时用途,您可以定义一个包含固定文本的强命令:
\documentclass{book}
\usepackage[explicit]{titlesec}
\titleformat{\chapter}[block]{\centering {\MakeUppercase {#1}}} {} {} {} %
\begin{document}
\DeclareRobustCommand{\shouldremain}{This text should remain as it is}
\chapter*{This should be all Uppercase. \shouldremain}
\end{document}
如果你使用biblatex
,您还可以使用
\usepackage{biblatex}
%...
\chapter*{This should be all Uppercase. \MakeSentenceCase{This text should remain as it is}}