我试图$\overrightarrow{V}_{AB}$
只用向量来写V
,但当我这样做时,下标AB
会远离V
。另一方面,当我使用向量时V
,AB
它似乎是错误的,而且不太美观。我做错了什么?非常感谢!
答案1
如果与 XeLaTeX 一起使用unicode-math
,则在 V 上有或没有箭头时打印的内容没有区别;只有使用\vec
或时箭头长度会发生变化\overrightarrow
:
\documentclass{article}
\usepackage{unicode-math}
\linespread{1.05} % if you have arrows over capital letters
\begin{document}
$V_{AB}$ \sbox0{$V_{AB}$}\the\wd0
$\vec{V}_{AB}$ \sbox0{$\vec{V}_{AB}$}\the\wd0
$\overrightarrow{V}_{AB}$ \sbox0{$\overrightarrow{V}_{AB}$}\the\wd0
\end{document}
这些\sbox
命令只是打印材料的宽度,显示宽度是相同的。
当然,这种情况下的字母形状会留下一个空洞,应该从视觉上进行纠正。这种情况与 类似$\sqrt{\log x}$
,最好添加一个细小的空间
$\sqrt{\,\log x}$
或$x^2/2$
建议使用负薄空间
$x^2\!/2$
以下是具体实现,左边是未经修正的,右边是经过修正的:
所以,对于你的情况,我建议
\documentclass{article}
\usepackage{unicode-math}
\linespread{1.05} % if you have arrows over capital letters
\begin{document}
$V_{\!AB}$
$\vec{V}_{\!AB}$
$\overrightarrow{V}_{\!AB}$
\end{document}
我绝对不会建议使用\overrightarrow
没有unicode-math
,因为结果很糟糕
而且我指的并不是变量和下标之间的空间,而是指箭头的大小,它太大了。
答案2
欢迎来到 TeX.se!:-)
尝试这个:$\overrightarrow{V}_{\!AB}$
。
插入\!
负水平间距。
答案3
问题是会\overrightarrow
产生一个框。当将下标添加到框中时,它会将其视为矩形,无法看到里面的内容。当将下标添加到字符时,它会看到该字符的斜体校正(大致与倾斜量成比例)并对其进行补偿。简单的解决方法是插入负空间,其数量基于反复试验。困难的方法是尝试自动测量必要的负空间量:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\overrightarrowwithsubscript#1{\mathpalette{\@oraws{#1}}}
\def\@oraws#1#2#3{%
\begingroup
\setbox0=\hbox{$#2{{#1}_{#3}}$}%
\setbox2=\hbox{$#2{\overrightarrow{#1}_{#3}}$}%
\@tempdima=\wd2 \advance\@tempdima-\wd0
\overrightarrow{#1}_{\hskip-\@tempdima #3}
\endgroup}
\begin{document}
$\overrightarrow{V}_{AB} \qquad \overrightarrowwithsubscript{V}{AB}$
\bigskip
$\frac{\overrightarrow{V}_{AB}}{\overrightarrow{V}_{AB}}\qquad
\frac{\overrightarrowwithsubscript{V}{AB}}{\overrightarrowwithsubscript{V}{AB}}$
\end{document}
答案4
您可以使用该esvect
包:它使用命令管理下标\vv*
,箭头不会与下方的内容发生碰撞,您可以在八种箭头形式之间进行选择。以下是一个例子,与 进行比较\overrightarrow
:
\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[f]{esvect}
\begin{document}
\[ \vv*{V}{AB}\qquad\vv*{V}{\!AB}\qquad \overrightarrow{V}_{AB} \]
\end{document}