数学方程式 latex+tikz 中的间距

数学方程式 latex+tikz 中的间距

我正在尝试使用以下代码来控制数学运算符的大小以及运算符和操作数之间的间距。

\setlength{\thinmuskip}{10mu}
\setlength{\medmuskip}{2mu}
\setlength{\thickmuskip}{10mu}

\node[font=\sffamily\fontsize{11}{10},below=-0.5mm,pos=0.85,sloped]   {$\mathbf{p} \scalebox{0.75}[1.0]{\(-\)} o \scalebox{0.75}[1.0]{=} \scalebox{0.75}[1.0]{\(-\)}2$};

如果方程中没有比例框,空间跳跃可以正常工作。但如果有比例框,跳跃器将无法工作。

答案1

只需查看下面的不同版本即可。您必须做出选择。在我看来,最后一个版本应该是您想要做的。

% arara: lualatex

\documentclass{article}
\usepackage{tikz}
\usepackage{lua-visual-debug}
\newcommand{\spaceskipping}[1]{\newline{\setlength{\thinmuskip}{10mu}
    \setlength{\medmuskip}{2mu}
    \setlength{\thickmuskip}{10mu} #1}}
\parindent0pt

\begin{document}
% original version
$\mathbf{p} - o = -2$
\spaceskipping{$\mathbf{p} - o = -2$}

% your version
$\mathbf{p} \scalebox{0.75}[1.0]{\(-\)} o \scalebox{0.75}[1.0]{=} \scalebox{0.75}[1.0]{\(-\)}2$
\spaceskipping{$\mathbf{p} \scalebox{0.75}[1.0]{\(-\)} o \scalebox{0.75}[1.0]{=} \scalebox{0.75}[1.0]{\(-\)}2$}

% version by resetting the spacing of operators with surrounding {}
$\mathbf{p} \scalebox{0.75}[1.0]{${}-{}$} o \scalebox{0.75}[1.0]{${}={}$} \scalebox{0.75}[1.0]{${}-{}$}2$
\spaceskipping{$\mathbf{p} \scalebox{0.75}[1.0]{${}-{}$} o \scalebox{0.75}[1.0]{${}={}$} \scalebox{0.75}[1.0]{${}-{}$}2$}

% version by resetting the spacing of operators by \mathrel resp. \mathbin
$\mathbf{p} \mathbin{\scalebox{0.75}[1.0]{$-$}} o \mathrel{\scalebox{0.75}[1.0]{$=$}} \mathbin{\scalebox{0.75}[1.0]{$-$}}2$
\spaceskipping{$\mathbf{p} \mathbin{\scalebox{0.75}[1.0]{$-$}} o \mathrel{\scalebox{0.75}[1.0]{$=$}} \mathbin{\scalebox{0.75}[1.0]{$-$}}2$}
\end{document}

在此处输入图片描述

您看到的问题是,您用某个组/命令/环境包围了二进制或关系运算符。因此,方程式不再知道它必须在这里处理什么类型的符号,因此将其设置为普通符号\mathord没有任何空格的普通符号。

第三个版本重置了运算符的间距,但将它们与其余运算符一起缩放。我想这不是您想要的。

相关内容