动态改变字体大小

动态改变字体大小

对于我的文档,我有一些命令可以用不同的字体大小写一些文本。这很好用,直到我想将此文本设置为下标。然后,我的命令生成的文本在两种情况下具有相同的绝对大小(如预期的那样)。
有没有办法修改我的命令,使其根据它是普通脚本还是下标来更改大小?我可以为下标和普通脚本使用不同的命令,但这样我就必须为下标找到合适的大小,我的命令列表会变得更加庞大。

梅威瑟:

\documentclass{article}

\usepackage{amsmath}
\newcommand{\mytext}[0]{\text{\normalsize{World}}}
\begin{document}
    IS:\\
    Normal: Hello $\mytext$\\
    Subscript: Hello $_\mytext$\\
    \par
    WANT:\\
    Normal: Hello World\\
    Subscript: Hello $_\text{World}$
\end{document}

在此处输入图片描述
显然,我实际上并不使用,\normalsize但例如\footnotesize\small等等。

答案1

缩放包定义了相对大小命令。主要命令是\relsize{n}n,分别表示较大和较小的文本。还有快捷命令\larger和 ,\smaller表示\relsize{1}\relsize{-1}

要复制 MWE,可以使用主命令:

\documentclass{article}
\usepackage{relsize}
\usepackage{amsmath}
\newcommand{\mytext}[0]{\text{\relsize{0}World}}
\newcommand{\mysmalltext}[0]{\text{\relsize{-1}World}}
\begin{document}
    IS:\\
    Normal: Hello $\mytext$\\
    Subscript: Hello $_\mytext$\\
    \par
    WANT:\\
    Normal: Hello World\\
    Subscript: Hello $_\text{World}$\\
    \par
    IS:\\
    Normal: Hello $\mysmalltext$\\
    Subscript: Hello $_\mysmalltext$\\
\end{document}

结果:

在此处输入图片描述

相关内容