我有两个复合问题。
我正在寻找一个数学符号来表示两个变量之间的边,没有箭头。例如,
$$Z \leftarrow X <SYMBOL> Y$$
我不能使用\leftarrow
或\rightarrow
,因为我不知道箭头在哪里,所以我会使用一条简单的线(我不知道要使用哪个符号,其长度与 `\leftarrow 相似)。另外,我想在该线顶部添加一个问号。
我尝试过$\stackrel{?}{-}$
,但是-
它太短,而且\stackrel{?}
问号放得太靠上,不必要地增加了行高。
有任何想法吗?
答案1
这是一种可能性tikzcd
:
\documentclass{article}
\usepackage{tikz-cd}
\newcommand{\myarrow}[1][-]{\begin{tikzcd}[ampersand replacement=\&, sep=small, cramped]{}\arrow[r,#1]\&{}\end{tikzcd}}
\begin{document}
Here $A \myarrow[<-] B \myarrow C \myarrow[-,"?"] D$ is an inline expression.
\end{document}
如果要确保周围的间距不受影响,请使用\smash
:
$A \myarrow[<-] B \myarrow C \myarrow[-,"\smash{?}"] D$
您可以使用 允许的任何箭头属性tikzcd
,例如:
$A \myarrow[-, "?"{description, inner sep=0}]
B \myarrow[-, "\scriptstyle ?"marking]
C \myarrow[-, "\smash{?}"]
D \myarrow[-, "?"', red, bend left, shorten >=2pt, shorten <=2pt]
E$
答案2
定义您自己的\xedge
以 为模型的命令\xrightarrow
。
不是那但很容易。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\DeclareRobustCommand{\xedge}[2][]{\ext@arrow 3399\edgefill@{#1}{#2}}
\newcommand\edgefill@{\arrowfill@\relbar\relbar\higherrelbar}
\newcommand{\higherrelbar}{\mathrel{\vphantom{\to}}\relbar}
\makeatother
\begin{document}
\[
Z \xedge[?]{?} X \xrightarrow[?]{?} Y
\]
\[
Z \xedge{a+b-c} X
\]
\end{document}