我用来relsize
创建字符串“C++”的漂亮版本。当将其放入footnote
s 或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}