我怎样才能很好地输入两个向量的余弦公式?

我怎样才能很好地输入两个向量的余弦公式?

我想求两个向量的余弦,我定义了\cross两个向量的叉积命令。我试过了

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{fourier}
\usepackage{esvect}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\newcommand{\cross}[2]{\biggl[\vv{#1},\vv{#2} \biggr]}
\begin{document}
\[\cos \varphi =\dfrac{\cross{CA'}{CB} \cdot \cross{CA'}{CD}}{\left \vert \cross{CA'}{CB} \right\vert \cdot \left \vert \cross{CA'}{CD} \right\vert}. \]
\end{document}

在此处输入图片描述

我觉得命令中的括号\cross不太好。我该如何修复它们?

答案1

方括号似乎太高了。具体来说,我认为没有必要将方括号做得足够高以将箭头括起来。箭头“伸出”在括号上方,不会让任何人感到困惑。因此,使用\big而不是 来\bigg表示括号的大小应该没问题。

从印刷方面来说,我还看到了改进的空间,即 产生的箭头高度不均匀\vv。由于高度不均匀是由\cross宏的第一个参数中的“素数”引起的,因此解决此问题的一种方法是自动将“垂直幻影”(由#1...组成)添加到第二宏的参数\cross

在此处输入图片描述

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\usepackage{fourier,esvect}
\usepackage[margin=2cm]{geometry}
\newcommand{\cross}[2]{\bigl[ \vv{#1},\vv{#2\vphantom{#1}} \bigr]}
\newcommand\z{\vphantom{{}'}} % insert a vertical phantom as tall as a superscript prime
\begin{document}
\[
\cos \varphi =\dfrac{\cross{CA'}{CB} \cdot \cross{CA'}{CD}}
{\abs*{\cross{CA'}{CB}} \cdot  \abs*{\cross{CA'}{CD}} }\,. 
\]
\end{document}

答案2

另一种选择是使用粗体字母表示向量。我还将括号改为圆括号,希望这不会改变主题中的含义。physics包用于使用\vb*宏使向量加粗。如果要使用直立字母表示向量,请使用\vb不带星号的符号。由于\cross由 physcis 定义,我将其更改为\Cross

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{fourier}
\usepackage{physics}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\newcommand{\Cross}[2]{(\vb*{#1},\vb*{#2})}
\begin{document}
\[\cos \varphi =\dfrac{\Cross{CA'}{CB} \cdot \Cross{CA'}{CD}}{\vert \Cross{CA'}{CB} \vert \cdot \vert \Cross{CA'}{CD} \vert} \]
\end{document}

在此处输入图片描述

我还从 中删除了\left和。\right\vert

答案3

一个可能的解决方案(因为您还没有告诉我们您希望它如何,所以这只是一个猜测):

\documentclass{article}

\usepackage{mathtools}
\usepackage{fourier}

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\newcommand*\cross[2]{\left[\overrightarrow{#1},\overrightarrow{#2}\right]}

\begin{document}

\begin{equation}
  \cos\varphi
  = \frac{\cross{CA'}{CB} \cdot \cross{CA'}{CD}}{\abs*{\cross{CA'}{CB}} \cdot \abs*{\cross{CA'}{CD}}}.
\end{equation}

\end{document}

输出

这样,支架就会根据材料自动缩放。

请注意,我使用了\overrightarrow而不是,\vv以避免加载esvect包。(我不认为这是一个“坏”包,但我只是喜欢尽可能少地加载包。)

更新

如果您总是有像示例中这样的向量,则可以使代码更简单:

\documentclass{article}

\usepackage{mathtools}
\usepackage{fourier}

\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\newcommand*\cross[2]{\left[\overrightarrow{#1},\overrightarrow{#2}\right]}
\newcommand*\crossProduct[3]{
  \frac{\cross{#1}{#2} \cdot \cross{#1}{#3}}% nominator
       {\abs*{\cross{#1}{#2}} \cdot \abs*{\cross{#1}{#3}}}% denominator
}

\begin{document}

\begin{equation}
  \cos\varphi
  = \crossProduct{CA'}{CB}{CD}
\end{equation}

\end{document}

答案4

忽略数学轴时必须小心谨慎,但从你的问题来看,你似乎对向量下方的额外空间(括号内的空间)感到不满。这些额外空间是为了使箭头上方的向量符号对称。

很多人会说,即使看起来很奇怪,也不应该打扰它。但是,既然你在寻找替代方案,这里有一个解决方案,可以删除括号下方的空间。但看看它的作用:它使字母居中\cdot,因此相对于括号的高度不对称。

因此,这是一种选择,但许多人不会说这是一种改进。

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{fourier}
\usepackage{esvect}
\usepackage{scalerel}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\newcommand{\cross}[2]{{\stretchleftright{[}{\vv{#1},\vv{#2}}{]}}}
\begin{document}
\[\cos \varphi =\dfrac{\cross{CA'}{CB} \cdot \cross{CA'}{CD}}
  {\stretchleftright{\vert}{\protect\cross{CA'}{CB}}{\vert} \cdot
  \stretchleftright{ \vert}{\cross{CA'}{CD}}{\vert}}. \]
\end{document}

在此处输入图片描述

相关内容