有没有办法自定义\ref{}
命令中出现的数字?更确切地说,我想减小此类数字的大小,但不影响数字字体(样式)。如果我使用像\small
之前的命令\ref{}
,数字字体仍然不一样(例如,参见两张照片)。
一个最小的工作示例:
\documentclass[11pt, pagesize=auto, version=last, chapterprefix=true]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{charter}
\usepackage[expert]{mathdesign}
\usepackage[frenchb]{babel}
\usepackage[babel=true]{csquotes}
\usepackage{amsmath}
\usepackage{amsthm}
\newtheorem{theorem}{Th\'eor\`eme}[section]
\begin{document}
\begin{theorem}\label{thm} blablabla. \end{theorem}
{\small theorem~\ref{thm}}\\
theorem~\ref{thm}.
\end{document}
答案1
\small
要自动对所有实例使用字体大小指令\ref
,您可以在文档的序言中发出以下命令:
\usepackage{etoolbox}
\pretocmd{\ref}{\bgroup\small}{}{}
\apptocmd{\ref}{\egroup}{}{}
命令\bgroup
和\egroup
用于形成一个明确的 TeX“组”,以便命令的范围在完成其工作\small
后结束。\ref
如果你babel
也加载了该包(至少带有frenchb
语言选项——我还没有检查过其他语言选项……),请务必插入上面给出的代码前正在加载babel
包裹。
以下示例基于您的 MWE。为了使字体大小变化的效果立即显现出来,我使用\tiny
而不是\small
作为示例。
\documentclass[11pt, pagesize=auto, version=last,
chapterprefix=true]{scrbook}
\usepackage{etoolbox}
\pretocmd{\ref}{\bgroup\tiny}{}{} % be sure to execute these commands before loading "babel"
\apptocmd{\ref}{\egroup}{}{}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{charter}
\usepackage[expert]{mathdesign}
\usepackage[frenchb]{babel}
\usepackage[babel=true]{csquotes}
\usepackage{amsmath,amsthm}
\newtheorem{theorem}{Th\'eor\`eme}[section]
\begin{document}
\begin{theorem}\label{thm} blablabla. \end{theorem}
{\tiny Th\'eor\`eme~\ref{thm}}
Th\'eor\`eme~\ref{thm}.
\end{document}
答案2
\normalfont
我终于找到了一种替代方法来做我想做的事情。它包括在命令前使用命令\tiny
:
\stackrel{\mathclap{\normalfont\mbox{\tiny formule~\ref{e2}}}}{=}
而且效果非常好!