考虑一下代码
\documentclass{book}
\usepackage{xcolor}
\usepackage{scalefnt}
\usepackage{amssymb}
\newcommand{\m}{\textcolor{blue}{{\scalefont{1.00}{\maltese}}}}
\newcommand{\M}{\textcolor{blue}{{\scalefont{3.00}{\maltese}}}}
\newcommand{\x}{\textcolor{red}{{\scalefont{1.00}{\bullet}}}}
\newcommand{\X}{\textcolor{red}{{\scalefont{3.00}{\bullet}}}}
\begin{document}
\noindent $\m$ \\[20pt]
$\M$ \\[40pt]
$\x$ \\[20pt]
$\X$
\end{document}
产生
如您所见,\maltese
定义为的彩色放大符号\M
似乎已正确缩放,而\bullet
定义为的彩色放大符号\X
根本没有缩放。我做错了什么吗?
问题:什么原因导致新定义的彩色项目符号无法正确缩放;我该如何纠正这个问题?
谢谢。
答案1
您无法在数学模式下更改字体大小。遗憾的是,scalefont包似乎避免了标准\large
会发出的警告,但它仍然无法以这种方式工作。在文本模式下切换大小。
\documentclass{book}
\usepackage{lmodern}
\usepackage{xcolor}
\usepackage{scalefnt}
\usepackage{amssymb}
\newcommand{\m}{\textcolor{blue}{{\scalefont{1.00}{$\maltese$}}}}
\newcommand{\M}{\textcolor{blue}{{\scalefont{3.00}{$\maltese$}}}}
\newcommand{\x}{\textcolor{red}{{\scalefont{1.00}{$\bullet$}}}}
\newcommand{\X}{\textcolor{red}{{\scalefont{3.00}{$\bullet$}}}}
\begin{document}
\noindent \m \\[20pt]
\M \\[40pt]
\x \\[20pt]
\X
\end{document}