![如何更改由 tkz-graph 在 LaTeX 中创建的图形中边的颜色](https://linux22.com/image/352717/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E7%94%B1%20tkz-graph%20%E5%9C%A8%20LaTeX%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E7%9A%84%E5%9B%BE%E5%BD%A2%E4%B8%AD%E8%BE%B9%E7%9A%84%E9%A2%9C%E8%89%B2.png)
我正在尝试将下面由 tkz-graph LaTeX 代码创建的基本图形中的两条边的颜色更改为红色,将另外两条边的颜色更改为蓝色,但我似乎找不到办法……如能得到任何帮助,我将不胜感激。谢谢。
\documentclass[a4paper,12pt,reqno]{amsart}
\usepackage{amsmath, amssymb, amsthm, verbatim, inputenc, graphicx, bbold,
float, calc, bm, dsfont, tikz, pgf, mathtools}
\usepackage{tkz-graph}
\GraphInit[vstyle = Normal]
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]
\graphicspath{ {C:\Users\Tom\Desktop\Tropical\main document} }
\usetikzlibrary{arrows,shapes,snakes,automata,backgrounds,petri,positioning}
\begin{document}
\tikzset{
LabelStyle/.append style = { rectangle, draw, minimum width = 2em, fill = white, text = black},
VertexStyle/.append style = { inner sep=5pt,
font = \Large\bfseries},
EdgeStyle/.append style = {->}
}
\begin{figure}[H]
\begin{tikzpicture}
\SetGraphUnit{5}
\Vertex{1}
\EA(1){2}
\SO(1){3}
\EA(3){4}
\Edge[color=blue](1)(2)
\Edge[color=blue](3)(1)
\tikzset{EdgeStyle/.append style = {->, bend left}}
\Edge[color=red](3)(4)
\Edge[color=red](4)(3)
\end{tikzpicture}
\caption{caption}
\label{label}
\end{figure}
\end{document}
如果我可以将它们设为虚线和非虚线边缘线而不是不同的颜色,那就更好了,但我也不知道该怎么做。
答案1
color
您的设置不起作用的原因似乎是\GraphInit[vstyle = Normal]
,删除它后您的代码就可以起作用。
您也可以将red
和添加blue
到两个\tikzset{EdgeStyle/.append style = {...}}
声明中。也就是说,如果您有\tikzset{EdgeStyle/.append style={red}}
,则后面的\Edge
将是红色的。请注意append style
不会覆盖样式的现有定义,如果您确实想替换现有样式,请使用\tikzset{EdgeStyle/.style={...}}
。
最后,对您的序言进行一点评论。您多次加载了多个包,尽管是隐式的,因此可以稍微清理一下:
tkz-graph
加载 TikZ,而 TikZ 又加载pgf
,因此后两者不需要。TikZ 实际上还加载graphicx
。- 该类
amsart
加载amsmath
和amsthm
,然后加载amsfonts
,进而加载amssymb
。(mathtools
也加载amsmath
,但它也扩展了它,因此可以保留。)
通常在使用该包时,您会在可选参数中inputenc
指定文件的编码,例如。.tex
\usepackage[utf8]{inputenc}
\documentclass[a4paper,12pt,reqno]{amsart}
\usepackage{
verbatim,
inputenc,
float,
calc,
bm,
mathtools,
bbold,
dsfonts
}
\usepackage{tkz-graph}
\GraphInit[vstyle = Normal]
\usetikzlibrary{arrows,shapes,snakes,automata,backgrounds,petri,positioning}
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]
\graphicspath{ {C:\Users\Tom\Desktop\Tropical\main document} }
\begin{document}
\tikzset{
LabelStyle/.append style = { rectangle, draw, minimum width = 2em, fill = white, text = black},
VertexStyle/.append style = { inner sep=5pt,
font = \Large\bfseries},
EdgeStyle/.append style = {->,blue} % added blue
}
\begin{figure}[H]
\begin{tikzpicture}
\SetGraphUnit{5}
\Vertex{1}
\EA(1){2}
\SO(1){3}
\EA(3){4}
\Edge[color=blue](1)(2)
\Edge[color=blue](3)(1)
\tikzset{EdgeStyle/.append style = {bend left,red}} % added red
\Edge[color=red](3)(4)
\Edge[color=red](4)(3)
\end{tikzpicture}
\caption{caption}
\label{label}
\end{figure}
\end{document}