根据环境使用不同大小的斜体“&”符号

根据环境使用不同大小的斜体“&”符号

这会有点复杂:本着 Bringhurst 的精神,我试图将斜体 & 符号合并到标题中。我使用的是 classicthesis 的 LuaLaTeX 修改版本,因此布局相对复杂。我希望以下内容可以说明问题。我尝试生成 MWE,但 classicthesis 的目录生成对我来说有点太复杂了。

classicthesis 使用间隔大写字母作为章节标题,使用小写字母作为节标题。标准大小的 & 符号对于章节来说还行,但对于节来说太大了。我创建了两个版本\amper\ampersmall

\newcommand{\amper}{\protect\textit{\&}\xspace}
\newcommand{\ampersmall}{\protect\footnotesize\textit{\&}\xspace\normalsize}

文本中的结果很好:

带有大号 & 号的章节

章节标题

带有小“&”符号的部分 章节标题

问题在于目录,因为这里的布局是相反的:章节标题采用小写字母,而节标题采用普通文本: 目录

因此,我希望目录中的内容完全相反:章节使用小“&”符号,章节使用普通“&”符号。

有人对如何在目录中切换 & 符号宏有什么建议吗?

答案1

将与字体相关的内容放入移动参数中通常不是一个好主意,因为如您所见,内容在不同的地方可能会被格式化为不同的格式。

我尝试过了

  1. 检查当前字体是否为小写字母,以及
  2. 使用相对尺寸变化。

结果:

\documentclass{article}

\usepackage{xspace}
\usepackage{relsize}

\newcommand*\scname{sc}

\makeatletter
\DeclareRobustCommand{\amper}{%
  \ifx\f@shape\scname
    {\smaller\textit{\&}}%
   \else
     \textit{\&}%
  \fi
\xspace}
\makeatother

\begin{document}

\textbf{cat \amper dog}
\textsc{cat \amper dog}

\end{document}

享受!

答案2

这并不能直接回答您的问题,但是\amper在目录中和其他地方对 & 朋友使用不同的定义怎么样?例如:

\documentclass{article}

\usepackage{xcolor}

\DeclareRobustCommand{\strong}[1]{\textcolor{red}{#1}}

\DeclareRobustCommand{\renewstrong}{%
  \DeclareRobustCommand{\strong}[1]{\textcolor{blue}{##1}}%
}

\AtBeginDocument{\addtocontents{toc}{\renewstrong}}

\begin{document}

\tableofcontents

\section{A section with a special \strong{emphasis}}

\end{document}

在此处输入图片描述

相关内容