如果我想用点符号表示向量的时间导数,最好(更常见)将点放在向量上,或者反过来
\dot{\vec{v}}
\vec{\dot{v}}
第一个表示矢量分量的变化率,第二个表示由分量率组成的矢量。
答案1
我只见过箭头上方有一个点,从未见过箭头下方有一个点。正如@PeterGrill 指出的那样,这可能是使用粗体代替箭头的好例子。
尽管如此,我个人认为箭头向量在 TeX 中未被充分利用,因为默认实现 ( \vec
) 看起来很糟糕。通过一些调整,可以让它看起来更好。
关于 TeX 的 \vec 宏
看起来不好的一个原因\vec
是箭头的宽度总是相同。例如,请注意\vec{w}
和的\vec{m}
外观:
“m” 看起来就像是穿了一件小三号的 T 恤,“w” 看起来就像是无法在头上平衡盘子。
让我们看一个更现实的例子。请注意下面的箭头位于“r”和“v”的右侧太远。更糟糕的是,箭头是弯曲的,箭头上的点太高且未对齐:
替代方案 1 — esvect 的 \vv 宏
为了改进这一点,LaTeX2e 包esvect
提供了 8 种新的矢量样式变体。下面显示的是样式b
,在我看来,它是所有样式中最好的。您可以书写\vv{PQ}
,箭头会根据需要自动绘制成任意宽。但是,请注意,箭头对于矢量变量来说太宽了,还请注意,箭头的水平线由多个重叠的线段组成,导致在屏幕上查看时出现可见的抗锯齿渲染伪影:
\vv
除非您真的喜欢超宽箭头,否则我不建议您使用。您可能还想查看其他 7 种变体。
替代方案 2 — 新宏 \xvec
\vec
为了解决和的缺点\vv
,这里有一个新的命令\xvec
(因为没有更好的名字),它会自动测量其参数并为点提供适当的对齐:
有三种形式:
\xvec{}
创建一个未修饰的向量变量。\xvec[.]{}
创建一个单点向量变量。\xvec[:]{}
创建一个双点向量变量。
示例文件(包含在此回复的底部)包含覆盖 TeX 默认设置的定义\vec
(如果您愿意),并且分别提供了单点和双点矢量的快捷方式\dvec
和。\ddvec
以下是从 'a' 到 'z' 的 26 个字母:
我对“i”和“j”不是很满意,但它们几乎总是以粗体排版——尤其是当与帽子一起使用来表示单位向量时。
本答案中使用的带有示例的源代码
\documentclass{article}
\usepackage[T1]{fontenc} % For correct {}s in \texttt
\usepackage{amsmath} % For better \dot placement
\usepackage[b]{esvect} % For \vv
\usepackage{tikz} % For arrow and dots in \xvec
% --- Macro \xvec
\makeatletter
\newlength\xvec@height%
\newlength\xvec@depth%
\newlength\xvec@width%
\newcommand{\xvec}[2][]{%
\ifmmode%
\settoheight{\xvec@height}{$#2$}%
\settodepth{\xvec@depth}{$#2$}%
\settowidth{\xvec@width}{$#2$}%
\else%
\settoheight{\xvec@height}{#2}%
\settodepth{\xvec@depth}{#2}%
\settowidth{\xvec@width}{#2}%
\fi%
\def\xvec@arg{#1}%
\def\xvec@dd{:}%
\def\xvec@d{.}%
\raisebox{.2ex}{\raisebox{\xvec@height}{\rlap{%
\kern.05em% (Because left edge of drawing is at .05em)
\begin{tikzpicture}[scale=1]
\pgfsetroundcap
\draw (.05em,0)--(\[email protected],0);
\draw (\[email protected],0)--(\[email protected], .075em);
\draw (\[email protected],0)--(\[email protected],-.075em);
\ifx\xvec@arg\xvec@d%
\fill(\xvec@width*.45,.5ex) circle (.5pt);%
\else\ifx\xvec@arg\xvec@dd%
\fill(\xvec@width*.30,.5ex) circle (.5pt);%
\fill(\xvec@width*.65,.5ex) circle (.5pt);%
\fi\fi%
\end{tikzpicture}%
}}}%
#2%
}
\makeatother
% --- Override \vec with an invocation of \xvec.
\let\stdvec\vec
\renewcommand{\vec}[1]{\xvec[]{#1}}
% --- Define \dvec and \ddvec for dotted and double-dotted vectors.
\newcommand{\dvec}[1]{\xvec[.]{#1}}
\newcommand{\ddvec}[1]{\xvec[:]{#1}}
\begin{document}
% --- w and m look terrible with TeX's standard \vec macro
$\stdvec{w}~\stdvec{m}$\par
\vskip2em
% --- Table comparing \vec, \vv, and \xvec
\begin{tabular}{rcc}
\texttt{\scriptsize\char92 vec} &
$\stdvec{r} = \frac{1}{2}\dot{\stdvec{v}}t^2 + \stdvec{v}t$ &
$\stdvec{v}~\dot{\stdvec{v}}~\ddot{\stdvec{v}}$ \\[.75em]
\texttt{\scriptsize\char92 vv} &
$\vv{r} = \frac{1}{2}\dot{\vv{v}}t^2 + \vv{v}t$ &
$\vv{v}~\dot{\vv{v}}~\ddot{\vv{v}}$ \\[.75em]
\texttt{\scriptsize\char92 xvec} &
$\vec{r} = \frac{1}{2}\dvec{v}t^2 + \vec{v}t$ &
$\xvec{v}~\xvec[.]{v}~\xvec[:]{v}$ \\[.75em]
\end{tabular}\vskip1em
% --- Table showing \xvec, \xvec[.], and \xvec[:]
\begin{tabular}{ccc}
\texttt{\tiny\char92 xvec\{v\}} &
\texttt{\tiny\char92 xvec[.]\{v\}} &
\texttt{\tiny\char92 xvec[:]\{v\}} \\[.75ex]
$\xvec{v}$ &
$\xvec[.]{v}$ &
$\xvec[:]{v}$ \\[-.5ex]
\texttt{\tiny\char92 vec\{v\}} &
\texttt{\tiny\char92 dvec\{v\}} &
\texttt{\tiny\char92 ddvec\{v\}} \\[.75ex]
\end{tabular}\vskip2em
% --- Lowercase letters a to z
$\vec{a}~\vec{b}~\vec{c}~\vec{d}~\vec{e}~\vec{f}~\vec{g}%
~\vec{h}~\vec{\imath}~\vec{\jmath}~\vec{k}~\vec{l}~\vec{m}%
~\vec{n}~\vec{o}~\vec{p}~\vec{q}~\vec{r}~\vec{s}~\vec{t}~\vec{u}%
~\vec{v}~\vec{w}~\vec{x}~\vec{y}~\vec{z}$\par
\end{document}
注意事项
- 我只是在屏幕上校对了这一点;您可能需要对打印进行一些调整。
- 此实现仅
\xvec
适用于\textstyle
和\displaystyle
大小;它无法正常工作于\scriptstyle
和\scriptscriptstyle
。
答案2
高级动力学手册和期刊中正确的矢量/张量符号仍然处于完全混乱的状态。每个人都在使用自己的未记录的符号。
我发现最适合我的是哈森普弗鲁格 (1993)和哈森普弗鲁格 (1995)。不幸的是,在 Latex(或 Word)中实现它非常困难。给读者一个练习:排版以下关于底数 s 的向量的简单时间导数 ;-)
mattens 包是为了实现 Hassenpflug 符号而开发的
\usepackage{mattens}
\begin{align*}
\aS{x} &= \aSb{E}_s \cdot \bS{x}^s \\
\aS[\dot]{x} &= \aSb{E}_s \cdot
\left[
\bS[\dot]{x}^s + \bS{\omega}^s\times \bS{x}^s
\right]
\end{align*}
当你上课并在黑板上写字时,你不能使用粗体字母(粗体矢量符号也是如此)。noformat
选项mattens
给出
编辑:箭头用其他字体看起来会好很多,例如 Luicida