在大多数情况下,默认的 classicthesis 部分样式不会出现问题。但是,有些部分我需要自定义部分字体样式。
例如,
\section{Fe\textsubscript{oct2} terminated Fe\textsubscript{3}O\textsubscript{4} nanocluster model}
将所有字母变为小写:
但我希望将 Fe 中的字母“e”和下标中的“oct2”写为小写字母而不是小写字母:
我怎样才能实现这个目标?
答案1
以下似乎有效(假设classicthesis
'pdfspacing
选项处于活动状态)。我不知道在classicthesis
使用它时是否有地方\spacedlowsmallcaps
非稳健的重新定义会引起麻烦...
\documentclass{scrbook}
\usepackage[pdfspacing]{classicthesis}
% loadad by `classicthesis' already but so we know it's there,
% provides \NoCaseChange:
\usepackage{textcase}
% chemical formulae:
\usepackage{chemmacros}
\chemsetup{chemformula/format=\normalfont}
% better: use lining numbers for the formulae:
% \chemsetup{chemformula/format=\normalfont\fontfamily{ppl}\selectfont}
% patch \sectionmark, should probably do the same to \chaptermark
% if you're using chapters
\usepackage{etoolbox}
\patchcmd\sectionmark
{\spacedlowsmallcaps{#1}}
{\unexpanded{\spacedlowsmallcaps{#1}}}
{}{}
% the original definition of \spacedlowsmallcaps but not robust:
\renewcommand\spacedlowsmallcaps[1]{\textls[80]{\textsc{\MakeTextLowercase{#1}}}}
\begin{document}
\tableofcontents
\chapter{Some Title}
\section{\NoCaseChange{\ch{Fe_{oct2}}} terminated \NoCaseChange{\ch{Fe3O4}} nanocluster model}
% let's see what the header looks like:
\newpage\null\newpage\null
\end{document}
目录:
标题:
标头:
答案2
classicthesis
已经将标题打印为小写小型大写字母。因此,您 (a) 需要关闭\scshape
,最简单的方法是使用\textnormal
,(b) 需要减小字母的大小,\scriptsize
这是一种选择,其他大小可以通过 实现\fontsize{size}{baselineskip}\selectfont
。对于下标,额外的一个\textnormal
似乎没问题。您还应该提供一个可选参数,\section
以便这些格式化命令不适用于目录。
编辑如果您还有页眉,那么您可以更改\sectionmark
其中包含的格式。
页眉
\documentclass{scrbook}
\usepackage[nochapters,pdfspacing]{classicthesis}
\newcommand{\hdlower}[1]{\textnormal{\scriptsize #1}}
\newcommand{\hdsub}[1]{\textsubscript{\textnormal{#1}}}
\usepackage{lipsum} %dummy text for illustration
\begin{document}
\tableofcontents
\bigbreak
\hrule
\bigbreak\noindent
Document Body:
\section[Fe\textsubscript{oct2} terminated
Fe\textsubscript{3}O\textsubscript{4} nanocluster model]%
{F\hdlower{e}\hdsub{oct2} terminated
F\hdlower{e}\hdsub{3}O\hdsub{4} nanocluster model}
\sectionmark{F\hdlower{e}\hdsub{oct2} terminated
F\hdlower{e}\hdsub{3}O\hdsub{4} nanocluster model}
\lipsum[1-10]
\end{document}
上面的代码提供了两个命令\hdlower
和\hdsub
来执行上述建议。