如何生成代表机械平衡方程中力和力矩的符号约定的符号?

如何生成代表机械平衡方程中力和力矩的符号约定的符号?

工程学教材通常使用直箭头或弯箭头搭配“加号”来表示平衡方程开头的力和力矩的符号约定。例如,请参见下面来自工程学教科书的图片,其中我用红色圈出了其中三个符号:

我的经验是,这些符号是标准的和常见的,但我找不到使用任何 TeX/LaTeX 标记或库来创建它们的方法。我必须以某种方式从头开始创建它们吗?我对 TeX 和 LaTeX 的大部分熟悉都来自于在 Stack Exchange 上使用 MathJax。

答案1

您可以组合现有的符号。

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}

\makeatletter

\newcommand*\curveplus{%
  \mathbin{\rotatebox[origin=c]{90}{$\m@th\curvearrowleft$}+}}

\newcommand*\rightplus{%
  \mathpalette\@rightplus\relax}
\newcommand*\@rightplus[1]{%
  \mathbin{\vcenter{\hbox{$\m@th\overset{#1+}{\to}$}}}}

\newcommand*\upplus{%
  \mathbin{+\mathord\uparrow}}

\makeatother

\begin{document}


$\curveplus \sum M_A = 0$

$\rightplus \sum F_x = 0$

$\upplus \sum F_y = 0$

\end{document}

enter image description here

答案2

如果您想要 MathJax 友好的解决方案,您需要接受详细程度或近似值。

首先,近似解非常紧凑(其中一些是在@HenriMenke 的原始答案中给出的):

  • 正逆时针力矩:\overset{\curvearrowleft}{+} counter-clockwise moment with arrow above plus-sign
  • 正向右水平力:\overset{+}{\rightarrow} positive horizontal force
  • 正向上的垂直力+\!\!\uparrow positive vertical force

我个人觉得力量符号完全可以接受。问题是力量符号,箭头显示在加号上方,而不是像通常那样显示在加号旁边。

为了正确呈现该符号,你需要大干一场,否则就回家:

${\style{display: inline-block; transform:rotate(0.75turn);}{\curvearrowleft}}\!+$呈现为correct positive counter-clockwise moment,我再次认为这是非常令人满意的。

现在,如果您没有处于内联模式并且有较大的符号(例如总和),则这些符号将无法很好地工作,因为对齐已关闭,因此需要做更多的工作:

$${\style{display: inline-block;
        transform:rotate(0.75turn);
        position: relative;
        top:2.5px}{\large\curvearrowleft}}
\!{+}\! \sum M_A = 0$$

$${\style{display: inline-block;
        position: relative;
        top:7px}{\overset{\Large+}{\rightarrow}}}
\sum F_x = 0$$

$$+{\uparrow}\!\sum F_y = 0$$

enter image description here

您会注意到与之前相比有一些变化。具体来说,position: relative; top:2.5px矩样式中添加了一个项。这是因为大求和符号增加了等式的高度,所以我们必须手动调整高度(vertical-align:middle在我看来,简单的添加效果不好)。

出于同样的原因,水平力的方程式也必须得到处理\style。这里所需的偏移量更大(vertical-align:middle在这种情况下看起来相当糟糕),我还把加号弄得更大了。

我还大量使用了负空间\!来缩小符号,您可以根据需要随意添加或删除它们。

这也让我很好奇如何绘制经典的内力约定符号:

internal force convention symbol来源

这是我能做的最好的事情了(但实际上也没什么):

$${\longleftarrow}
\!\!\!\!\!\!\!\!\!\!
{\Large{\style{display: inline-block;
               transform:rotate(0.75turn);
               position:relative;
               top:1px}{\curvearrowright}}}
\!\!\!\!
\uparrow
\!
\boxed{+}
\!
\downarrow
\!\!\!\!
{\Large{\style{display: inline-block;
               transform:rotate(0.25turn);
               position:relative;
               top:1px}{\curvearrowleft}}}
\!\!\!\!\!\!\!\!\!\!
{\longrightarrow}$$

enter image description here

答案3

这是我第一次回答问题,我想帮助工程系的同学。请指出我的错误或任何错误的编码习惯,因为我一周前才开始使用 LaTeX。

我在撰写技术论文时偶然发现了这个问题,对 Moment 大会的视觉效果并不满意。这种蛮力方法满足了我想要的视觉效果。

\usepackage{mathtools} %for \mathrlap
\usepackage{graphicx} %for \raisebox etc.

\begin{equation}

\mathrlap{\circlearrowleft}\hfill\raisebox{.3\height}{\scalebox{0.525}{ +}}
\sum M_a = 0

\end{equation}

这种方法基本上将\circlearrowleft符号与修改后的+符号重叠,\scalebox缩放字符绘制的区域,同时\raisebox将其提升到指定的高度。\mathrlap本质上,它允许您在传递给命令的字符上方书写。我在 + 符号前使用了手动“ ”将其位置稍微向右调整。这可能会帮助那些喜欢大多数工程教科书使用的这种视觉效果的人。

如果您想要在多次使用此符号时使用命令,请参阅这里并将其替换\cdot为 + 号。

ccw positive, summation of moments at a is equal to 0

相关内容