我想\blacktriangleright
使用 stix 创建一个较小的。
我尝试过
\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\begin{document}
\[\blacktriangleright,\Scale[0.75]{\blacktriangleright}\]
\end{document}
但结果是这样的:不幸的\Scale[0.75]{\blacktriangleright}
是 比 稍微低一点,这就是,如果我从 的尖端到\blacktriangleright
画一条线,这条线是斜的,或者说,这些尖端没有对齐。\Scale[0.75]{\blacktriangleright}
\blacktriangleright
我想创建一个 LaTeX 函数来调整 #1 的大小,其中 #1 是一个对象,例如,\blacktriangleright
或者其他东西,例如\sum,\prod,\int,\oiiint
,...。
我该怎么办?
我接受任何建议。
答案1
我猜测了 的定义\Scale
。
您很可能想要\vcenter
缩放的符号。
\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\usepackage{graphicx}
\makeatletter
\newcommand{\Scale}[2][1]{\scalebox{#1}{$\m@th#2$}}
\makeatother
\newcommand{\sblacktriangleright}{%
\vcenter{\hbox{\Scale[0.75]{\blacktriangleright}}}%
}
\begin{document}
\[
\blacktriangleright,\sblacktriangleright
\]
\end{document}
一个可能的改进。我定义了一个\Scalecenter
宏,使符号垂直居中,但也根据数学样式(例如,下标和上标)适当地改变大小。
\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\usepackage{graphicx}
\makeatletter
\newcommand{\Scalecenter}[2][1]{\mathpalette\Scalecenter@{{#1}{#2}}}
\newcommand{\Scalecenter@}[2]{\Scalecenter@@#1#2}
\newcommand{\Scalecenter@@}[3]{%
\vcenter{\hbox{\scalebox{#2}{$\m@th#1#3$}}}%
}
\makeatother
\newcommand{\sblacktriangleright}{%
\Scalecenter[0.75]{\blacktriangleright}%
}
\begin{document}
\[
\blacktriangleright,\sblacktriangleright
\quad
\scriptstyle
\blacktriangleright,\sblacktriangleright
\quad
\scriptscriptstyle
\blacktriangleright,\sblacktriangleright
\]
\end{document}
还需要做更多的工作来设置适当的数学类型。
\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\usepackage{graphicx}
\makeatletter
\newcommand{\Scalecenter}[3]{#1{\mathpalette\Scalecenter@{{#2}{#3}}}}
\newcommand{\Scalecenter@}[2]{\Scalecenter@@#1#2}
\newcommand{\Scalecenter@@}[3]{%
\vcenter{\hbox{\scalebox{#2}{$\m@th#1#3$}}}%
}
\newcommand{\sblacktriangleright}{%
\Scalecenter{\mathord}{0.75}{\blacktriangleright}%
}
\newcommand{\ssum}{%
\DOTSB\Scalecenter{\mathop}{0.75}{\sum}\slimits@
}
\newcommand{\sotimes}{\Scalecenter{\mathbin}{0.5}{\otimes}}
\makeatother
\begin{document}
\[
\blacktriangleright,\sblacktriangleright
\quad
\scriptstyle
\blacktriangleright,\sblacktriangleright
\quad
\scriptscriptstyle
\blacktriangleright,\sblacktriangleright
\]
\[
\sum_{k=1}^n x_k\otimes y_k \quad \ssum_{k=1}^n x_k\sotimes y_k
\]
\end{document}
可能你不知道\DOTSB
和\slimits@
的用途。它们必须保持同步amsmath
。
答案2
可以尝试类似的方法,调整您想要的大小:
\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\begin{document}
\resizebox{.4\textwidth}{!}{$\dot{\rho}=
\dfrac{x^3}{45a^9-23b}$}
\end{document}
或者如果你想要使其成为命令:
\documentclass{article}
\usepackage{stix}
\usepackage{mathtools}
\newcommand{\res}[2]{\resizebox{#1\textwidth}{!}{#2}}
\begin{document}
\res{0.5}{$\dot{\rho}=
\dfrac{x^3}{45a^9-23b}$}
\end{document}
答案3
您也可以使用\smallblacktriangleright
。