如何表示相邻顶点?

如何表示相邻顶点?

背景

我正在尝试撰写一份依赖于一些基本图论的报告,因此我想写一个部分来解释它的基本原理。

尝试做

我在尝试充分写出具有边的顶点对时遇到了一些困难。希望对 TeX 有更多了解的人知道我寻求的命令或创建它的方法:

我的意思是在数学模式下用一条长线将顶点uv顶点之间连起来,大约是破折号的距离。这条线表示顶点之间的边。但是,我还需要能够通过划掉该线(\not)来表示缺少这样的边。任何帮助都将不胜感激!

已测试

我试过了

$u \not\textemdash v$

$u \not\textrm{---} v$
$u \not\textrm{\textemdash} v$

但都不起作用。后两个很接近,但我需要能够以\not某种方式将生成的符号向右移动大约半个 em。

答案1

您可以使用\arrownotfrom ;对于简单的条形图来说,stmaryrd正常情况似乎太大了。\not

\documentclass{article}
\usepackage{stmaryrd} % for \arrownot
\newcommand{\notedge}{%
  \mathrel{\mkern-2mu}% a small back up
  \arrownot % a short slash
  \mathrel{\mkern2mu}% compensate
  \mathrel{-}% minus as a relation
}

\begin{document}
$u\notedge v$
\end{document}

在此处输入图片描述

这利用了两个事实:\arrownot宽度为零并且被归类为关系符号(它超出了其边界框);TeX 不会在连续的关系符号之间添加空格(也可以是空格)

$u\not\mathrel{-}v$打印方式如下:

在此处输入图片描述

一个可能的替代方案:

\documentclass{article}
\usepackage{centernot}

\newcommand{\notedge}{\centernot{\mathrel{-}\joinrel\mathrel{-}}}

\begin{document}

$u\notedge v$

\end{document}

在此处输入图片描述

另一个建议是使用更长的符号:

\documentclass{article}

\usepackage{stmaryrd} % for \arrownot

\newcommand{\edge}{%
  \mathrel{-}% minus as a relation
  \joinrel\joinrel % some backup
  \mathrel{-}% minus as a relation
}
\newcommand{\notedge}{%
  \mathrel{\mkern2mu}% a small advancement
  \arrownot % a short slash
  \mathrel{\mkern-2mu}% compensate
  \edge
}

\begin{document}

$u \edge v$

$u\notedge v$

\end{document}

在此处输入图片描述

答案2

centernot提供\not较长符号的居中功能:

在此处输入图片描述

\documentclass{article}
\usepackage{centernot}% http://ctan.org/pkg/centernot
\newcommand{\adjacent}[1][.7em]{\mathrel{\rule[.5ex]{#1}{.4pt}}}
\newcommand{\notadjacent}[1][.7em]{\mathrel{\centernot{\adjacent[#1]}}}
\begin{document}
$u \adjacent v \notadjacent w \adjacent[1em] x \notadjacent[1em] y$
\end{document}

\adjacent[<len>]和都\nonadjacent[<len>]采用可选参数,默认为.7em

答案3

虽然已经很晚了,但是我制作了这些符号,用来区分无向、有向和它们的加权对应物。

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

\usepackage{tikz}

\newcommand{\ue}[1]{%
\begin{tikzpicture}[#1]%
\draw[fill = black] (.25ex,.25ex) circle (.3ex);
\draw[thick] (.55ex,.25ex) -- (1.55ex,.25ex);%
\draw[fill = black] (1.85ex, .25ex) circle (.3ex);%
\end{tikzpicture}%
}


\newcommand{\de}[1]{%
\begin{tikzpicture}[#1]%
\draw[fill = black] (.25ex,.25ex) circle (.3ex);
\draw[thick, ->] (.55ex,.25ex) -- (1.85ex,.25ex);%

\end{tikzpicture}%
}

相关内容