脚注中的 relsize 导致字体太小

脚注中的 relsize 导致字体太小

我用来relsize创建字符串“C++”的漂亮版本。当将其放入footnotes 或small环境中时,会产生警告,因为结果会“太小”。我如何才能避免这种情况,而不必针对这些情况求助于不同的宏?

这是一个 MWE:

\documentclass{scrbook}
\usepackage{xspace}
\usepackage{relsize}
\usepackage{hyperref}

\def\cpp{\texorpdfstring{\protect C\nobreak\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}\textbf{++}\xspace}}{C++}}

\usepackage{scrhack}
\begin{document}

\chapter{one}

\cpp\ works

foobar\footnote{\cpp\ produces warning}

\chapter{two \cpp}

\end{document}

产生的警告是:

Package relsize Warning: Font size 5.20834pt is too small.
(relsize)                Using 6.0pt instead on input line 18.

我尝试过使用\scalebox{.5}{\textbf{++}}而不是relsize。这对于脚注来说效果很好,但之后该命令就不能再用作章节标题的一部分了。

答案1

阅读文档可以发现

这些限制由命令 \RSsmallest 和 \RSlargest 控制,它们在加载 relsize.sty 时自动设置,但您可以将它们重新定义为其他长度值:

这导致

\documentclass{scrbook}
\usepackage{xspace}
\usepackage{relsize}
\usepackage{hyperref}
\renewcommand\RSsmallest{5pt}
\def\cpp{\texorpdfstring{\protect C\nobreak\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}\textbf{++}\xspace}}{C++}}

\usepackage{scrhack}
\begin{document}

\chapter{one}

\cpp\ works

foobar\footnote{\cpp\ produces warning}

\chapter{two \cpp}

\end{document}

相关内容