如何排版素数向量

如何排版素数向量

我使用 在字母上方写一个带有箭头的向量,有时需要使用(或等效地)\vec{p}对该向量进行标注。'^{\prime}

然而,

\vec{p}'

在此处输入图片描述

也不

\vec{p'}

在此处输入图片描述

看起来令人满意(第一个选项:主破折号与矢量箭头重叠,第二个选项:箭头看起来放错了位置)。

怎样写出一个素数向量?

答案1

正如您所发现的,对箭头所指的向量进行启动并不是一个好主意。您需要启动字母,而不是整个结构。

\documentclass{article}
\newcommand{\pvec}[1]{\vec{#1}\mkern2mu\vphantom{#1}}

\begin{document}
$\vec{p}+\pvec{p}'=\pvec{p}''$
\end{document}

在此处输入图片描述

答案2

在第一个选项中添加少量空间应该会使情况变得更好:

{\vec{p}\,}'

答案3

有个问题我不太明白。事实上,如果一个原子中有多个原子,\vec它就会重新定位。我稍微评论了一下这里

免责声明:这并不完全正确(因为,例如,素数被重新定位),但事实是,有时\vec{{}<something>}看起来比\vec{<something>}让我烦恼的要好。

一个可能的解决方案是:

\let\originalvec\vec 
\renewcommand*\vec[1]{\originalvec{\kern0pt #1}}

如果这还不够,你可以将其与 egreg 的答案混合使用

 \newcommand*\pvec[1]{\vec{#1}\mkern1mu\vphantom{#1}}

完整可编译示例

\documentclass{scrartcl}

\let\originalvec\vec
\renewcommand\vec[1]{\originalvec{\kern0pt #1}}
\newcommand*\pvec[1]{\vec{#1}\mkern2mu\vphantom{#1}}

\begin{document}
$\vec p + \pvec p' = \pvec p''$

$\vec h = \vec r \times \vec v = \vec r \times \pvec r'$
\end{document}

在此处输入图片描述

答案4

有人提出了这个老问题(但很好),所以我不妨提一个替代方案。您可以使用 ISO 样式的粗斜体矢量代替箭头。

在 PDFLaTeX 中,您可以使用isomath包执行此操作。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amssymb, isomath, bm}

\pagestyle{empty}

\begin{document}
\[ a \cdot \vectorsym{p}' \times \vectorsym{p}'' \]
\end{document}

等值线样本

在 LuaLaTeX 或 XeLaTeX 中,您可以使用unicode-math

\documentclass{article}
\usepackage{unicode-math}

\pagestyle{empty}

\newcommand\vectorsym[1]{\symbfit{#1}}

\begin{document}
\[ a \cdot \vectorsym{p}' \times \vectorsym{p}'' \]
\end{document}

拉丁现代数学样本

如果你想要一个更粗的素数符号来匹配矢量符号,你可以定义

\newcommand\boldprime{\boldsymbol{'}}

为了使其在 中正常工作unicode-math,您必须加载粗体数学字体,或\setmathfont带有 . [version=bold]

相关内容