如何将大黑板上的粗体 R(\sum 符号的大小)排版为等式中的运算符?见图。我可以使用 \mathop{} 让文本显示在下方,但我无法将 R 放大。\displaystyle 不会使符号变大。
我可以在 XeLaTeX 中获得某种解决方案,但我更喜欢 LaTeX 解决方案。
这是 XeLaTeX 解决方案
\documentclass[a4paper]{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{bmatrix} x \\ y \\ z \end{bmatrix}_{\substack{\text{some text}\\\text{other text}}}
=
\sum_x\mathop{\text{\huge ℝ}}_{\text{sys1}\rightarrow\text{sys2}}
\begin{bmatrix} X \\ Y \\ Z \end{bmatrix}_{\substack{\text{more text}\\\text{also text}}}
\end{equation*}
\end{document}
如您所见,我复制粘贴了 unicode 字符并将其设为 \huge,然后使用 \mathop 将文本放在下方。这不是一个优雅的解决方案,它的可移植性不强,因为它依赖于文本字体而不是数学字体,并且它没有正确地将 R 置于“=”的中心(比较总和)。
有什么更好的方法可以做到这一点?最好使用 LaTeX。
答案1
我觉得这个做得很好(谢谢卡尔科勒提出改进建议):
\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{amsmath,amsfonts,relsize,graphicx,dsfont}
\makeatletter
\newcommand*\smallR{\mathds{R}} % <-- this is your symbol
\newcommand*\yo@bigR[2]{\text{#2\raisebox{-#1ex}{$\smallR$}}}
\DeclareRobustCommand*\bigR{\mathop{\mathchoice
{\yo@bigR{0.5}{\larger\larger\larger\larger}} % displaystyle
{\yo@bigR{0.4}{\larger\larger}} % textstyle
{\yo@bigR{0.3}{\larger\larger}} % scriptstyle
{\text{\scalebox{1.4}{\raisebox{-0.3ex}{$\smallR$}}}} % scriptscriptstyle
}\displaylimits}
\makeatother
\begin{document}
\begin{equation*}
\begin{bmatrix} x \\ y \\ z \end{bmatrix}_{\substack{\text{some text}\\\text{other text}}}
=
\sum_x\bigR_{\text{sys1}\rightarrow\text{sys2}}
\begin{bmatrix} X \\ Y \\ Z \end{bmatrix}_{\substack{\text{more text}\\\text{also text}}}
\end{equation*}
\centering
\section{In section title $\sum_x\bigR_{\text{sys1}\rightarrow\text{sys2}}$}
Textstyle: \qquad $\sum_x\bigR_{\text{sys1}\rightarrow\text{sys2}}$
Scriptstyle: \qquad $\scriptstyle
\sum_x\bigR_{\text{sys1}\rightarrow\text{sys2}}$
Scriptscriptstyle: \quad $\scriptscriptstyle
\sum_x\bigR_{\text{sys1}\rightarrow\text{sys2}}$
\end{document}
只需使用以下命令即可工作:
\newcommand\bigR{\mathop{\text{\LARGE\raisebox{-0.5ex}{$\mathds{R}$}}}\limits}
上面其余的混乱是为了让它在任何环境下、在任何字体大小下都能工作。
答案2
这将产生与任何样式和任何字体大小相同的垂直尺寸的符号\sum
;可以使用任何数学字母。
对于常用的符号,定义一个特定的命令,就像我对 所做的那样\Rop
。
\documentclass{article}
\usepackage{amsmath,graphicx,amssymb}
\usepackage{dsfont} % for the example
\makeatletter
\DeclareRobustCommand{\letterop}[1]{\mathop{\mathpalette\letterop@do{#1}}}
\newcommand\letterop@do[2]{%
\vcenter{%
\sbox{\z@}{$\m@th#1\sum$}%
\dimen@=\ht\z@ \advance\dimen@\dp\z@
\sbox{\z@}{$\m@th#1#2$}\dp\z@=\z@ % kill the depth
\hbox{\resizebox{!}{\dimen@}{\unhbox\z@}}%
}%
}
\makeatother
\newcommand{\Rop}{\letterop{\mathds{R}}}
\begin{document}
\begin{equation*}
\begin{bmatrix} x \\ y \\ z \end{bmatrix}_{\substack{\text{some text}\\\text{other text}}}
=
\sum_x\Rop_{\text{sys1}\rightarrow\text{sys2}}
\begin{bmatrix} X \\ Y \\ Z \end{bmatrix}_{\substack{\text{more text}\\\text{also text}}}
\end{equation*}
\section{In section title $\sum_x\Rop_{\text{sys1}\rightarrow\text{sys2}}$}
Textstyle: \qquad $\sum_x\Rop_{\text{sys1}\rightarrow\text{sys2}}$
Scriptstyle: \qquad $\scriptstyle
\sum_x\Rop_{\text{sys1}\rightarrow\text{sys2}}$
Scriptscriptstyle: \quad $\scriptscriptstyle
\sum_x\Rop_{\text{sys1}\rightarrow\text{sys2}}$
\[ \letterop{\mathrm{S}}_{i=1}^n \letterop{\mathbb{R}}_{i=1}^n \]
\end{document}
答案3
你可以使用这个:
\newcommand*{\Scale}[2][4]{\scalebox{#1}{$#2$}}%
\newcommand*{\Resize}[2]{\resizebox{#1}{!}{$#2$}}%
\newcommand{\MathOp}[5]{\displaystyle{\mathop{\Scale[#1]{#2}}_{#3}^{#4}#5}}
和你的
\MathOp{1.5}{\mathbb R}{pedex}{apex}{something}
有效期