背景
我正在尝试撰写一份依赖于一些基本图论的报告,因此我想写一个部分来解释它的基本原理。
尝试做
我在尝试充分写出具有边的顶点对时遇到了一些困难。希望对 TeX 有更多了解的人知道我寻求的命令或创建它的方法:
我的意思是在数学模式下用一条长线将顶点u
和v
顶点之间连起来,大约是破折号的距离。这条线表示顶点之间的边。但是,我还需要能够通过划掉该线(\not)来表示缺少这样的边。任何帮助都将不胜感激!
已测试
我试过了
$u \not\textemdash v$
和
$u \not\textrm{---} v$
$u \not\textrm{\textemdash} v$
但都不起作用。后两个很接近,但我需要能够以\not
某种方式将生成的符号向右移动大约半个 em。
答案1
您可以使用\arrownot
from ;对于简单的条形图来说,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}%
}