如何在字母对上方排版一个两端带有箭头的线段以表示一条线?我知道 可$\overline{AB}$
用于排版点A
和之间的线段B
。如何在字母对上方绘制箭头以表示一条射线?
答案1
评论中已经提到了\overleftrightarrow
。这里有一个替代方案,试图让片段使用与相同的头\vec
,也显示出来以供比较。
根据我的回答“双头”矢量,除了我必须使它可扩展以匹配不同大小的段。
左边是两个\vec
s,两个\dvec
s,右边是两个\overleftrightarrow
s。下面是一个非常宽的\dvec
。
根据Leon的建议进行了编辑,提高了的高度\dvec
,以便\vec
在使用\left...\right
语法时兼容。
\documentclass{article}
\usepackage{scalerel}
\def\shrinkage{-2.4mu}
\def\vecsign#1{\rule[1.388\LMex]{\dimexpr#1-2.5pt}{.36\LMpt}%
\kern-6.0\LMpt\mathchar"017E}
\def\dvecsign#1{\rule{0pt}{7\LMpt}\smash{\stackon[-1.989\LMpt]{%
\SavedStyle\mkern-\shrinkage\vecsign{#1}}%
{\rotatebox{180}{$\SavedStyle\mkern-\shrinkage\vecsign{#1}$}}}}
\def\dvec#1{\ThisStyle{\setbox0=\hbox{$\SavedStyle#1$}%
\def\useanchorwidth{T}\stackon[-4.2\LMpt]{\SavedStyle#1}{\,\dvecsign{\wd0}}}}
\usepackage{stackengine,amsmath}
\stackMath
\usepackage{graphicx}
\begin{document}
$ \vec c ~\vec A ~\dvec{ac} ~\dvec{AB} ~\textrm{vs.}
~\overleftrightarrow{ac} ~\overleftrightarrow{AB}$
$\dvec{ABCD} ~\scriptstyle \dvec A ~\dvec{AB}~\scriptscriptstyle \dvec A ~\dvec{AB}$
$
\left(\dvec{A}\right)\left(\vec{A}\right)
\scriptstyle\left(\dvec{A}\right)\left(\vec{A}\right)
\scriptscriptstyle\left(\dvec{A}\right)\left(\vec{A}\right)
$
\end{document}
附录
根据原帖者的请求,我提供\ray{}
以下内容:
\documentclass{article}
\usepackage{scalerel}
\def\shrinkage{-2.4mu}
\def\vecsign#1{\rule[1.388\LMex]{\dimexpr#1-2.5pt}{.36\LMpt}%
\kern-6.0\LMpt\mathchar"017E}
\def\dvecsign#1{\rule{0pt}{7\LMpt}\smash{\stackon[-1.989\LMpt]{\SavedStyle\mkern-\shrinkage\vecsign{#1}}%
{\rotatebox{180}{$\SavedStyle\mkern-\shrinkage\vecsign{#1}$}}}}
\def\dvec#1{\ThisStyle{\setbox0=\hbox{$\SavedStyle#1$}%
\def\useanchorwidth{T}\stackon[-4.2\LMpt]{\SavedStyle#1}{\,\dvecsign{\wd0}}}}
\def\theraysign#1{\rule{0pt}{17\LMpt}\rule[1.384\LMex]{\dimexpr#1-2.5pt}{.40\LMpt}%
\kern-6.0\LMpt\mathchar"017E}
\def\raysign#1{\rule{0pt}{7\LMpt}\smash{%
\SavedStyle\mkern-\shrinkage\theraysign{#1}}}
\def\ray#1{\ThisStyle{\setbox0=\hbox{$\SavedStyle#1$}%
\def\useanchorwidth{T}\stackon[-4.2\LMpt]{\SavedStyle#1}{\,\raysign{\wd0}}}}
\usepackage{stackengine,amsmath}
\stackMath
\usepackage{graphicx}
\begin{document}
$ \vec c ~\vec A ~\ray{ac} ~\ray{AB} ~\textrm{vs.}
~\overleftrightarrow{ac} ~\overleftrightarrow{AB}$
$\ray{ABCD} ~\scriptstyle \ray A ~\ray{AB}~\scriptscriptstyle \ray A ~\ray{AB}$
$
\left(\ray{AB}\right)\left(\vec{AB}\right)
\scriptstyle\left(\ray{AB}\right)\left(\vec{AB}\right)
\scriptscriptstyle\left(\ray{AB}\right)\left(\vec{AB}\right)
$
\end{document}