![不同的 ⟨,⟩ 符号(标量问题)](https://linux22.com/image/480194/%E4%B8%8D%E5%90%8C%E7%9A%84%20%E2%9F%A8%2C%E2%9F%A9%20%E7%AC%A6%E5%8F%B7%EF%BC%88%E6%A0%87%E9%87%8F%E9%97%AE%E9%A2%98%EF%BC%89.png)
我的老师使用尖括号 ⟨,⟩ 来表示内积和线性组合。我想使用不同但相似的符号来表示这个范围:所以我写了
\documentclass{article}
\usepackage{mathtools}
\usepackage{scalerel}
\DeclarePairedDelimiter{\generate}{\scaleobj{0.8}{<}}{\scaleobj{0.8}{>}}
\begin{document}
\(\langle x,y\rangle\) for scalar products, and
\(\generate{U,V}\) for linear combinations.
\end{document}
TeXstudio 可以正确运行并生成 pdf,但它会在我放置生成命令的任何地方发出“缺少 { 插入”的警告。这里的问题是什么?
答案1
正如 David 所指出的,scalerel
它使用的方法与可扩展分隔符不同。我们可以将分隔符嵌入到\scaleleftright
宏中以实现类似的效果。在这里,我限制比例的宽度永远不会超过 2.5ex。此时,它只是垂直拉伸。
编辑:在参数中添加了一个 vphantom X
,以便小写参数不会小于大写参数。
\documentclass{article}
\usepackage{mathtools}
\usepackage{scalerel}
\newcommand{\generate}[1]{%
\scaleleftright[2.5ex]{<}{\vphantom{X}#1}{>}}
\begin{document}
\noindent
\(\langle x,y\rangle\) for scalar products, and\\
\(\generate{x,y}\) for linear combinations.\\
\(\generate{U,V}\) for linear combinations.\\
\(\generate{\frac{U}{Z},V}\) for linear combinations.\\
\(\generate{\displaystyle\frac{U}{Z},V}\) for linear combinations.\\
\end{document}
另外,如果您希望括号高度仅.7
乘以对象高度(以大写字母X
作为最小尺寸的对象),您可以这样做,这也能保证括号以数学轴为中心:
\documentclass{article}
\usepackage{mathtools}
\usepackage{scalerel}
\newcommand{\generate}[1]{\ThisStyle{%
\vphantom{#1}%
\scaleleftright[2.5ex]
{<}
{\smash{#1}\vcenter{\hbox{\vphantom{$\SavedStyle\scaleobj{.7}{X#1}$}}}}
{>}%
}}
\begin{document}
\noindent
\(\langle x,y\rangle\) for scalar products, and\\
\(\generate{x,y}\) for linear combinations.\\
\(\generate{U,V}\) for linear combinations.\\
\(\generate{\frac{U}{Z},V}\) for linear combinations.\\
\(\generate{\displaystyle\frac{U}{Z},V}\) for linear combinations.\\
\(\generate{\int dx,V}\) for linear combinations.\\
\(\displaystyle\generate{\int dx,V}\) for linear combinations.\\
\end{document}