当设置minted
环境以使用特定的字体大小时,它无法根据环境正确地调整大小。
这是一个 MWE:
\documentclass{scrbook}
\usepackage[chapter]{minted}
\setminted[c++]{fontsize=\footnotesize}
%% define shortcut
\newcommand{\cd}[1]{\mintinline{c++}{#1}}
\newcommand{\cdfoot}[1]{\mintinline[fontsize=\scriptsize]{c++}{#1}}
\usepackage{scrhack}
\begin{document}
\chapter{one}
regular inline \cd{code}\footnote{footnote \cd{code} (the same size as in text)}
regular inline \cd{code} {\footnotesize \cd{code}} (no difference)
regular inline \cd{code} \cdfoot{code} (this would be expected)
\end{document}
如图所示,我可以通过使用额外的命令来解决这个问题,但这很容易出错,因为视觉差异很小,很容易错过错误的使用。
答案1
您似乎想要\cd
使用取决于上下文的字体大小,即\footnotesize
正常大小和\scriptsize
脚注中(或\footnotesize
生效时)。
你很幸运,因为scrbook
使用 9pt 大小\footnotesize
,所以你可以轻松使用relsize
。
\documentclass{scrbook}
\usepackage[chapter]{minted}
\usepackage{relsize}
\usepackage{scrhack}
%% define shortcut
\newcommand{\cd}{\mintinline[fontsize={\smaller}]{c++}}
\textheight=6cm % just to get a smaller picture
\begin{document}
\chapter{one}
regular inline \cd{code}\footnote{footnote \cd{code} (the same size as in text)}
regular inline \cd{code} {\footnotesize footnotesize \cd{code}}
\end{document}