我目前正在编写一个 tex 文件,其中我还需要创建一个图形并标记顶点。我正在使用 tkz-graph 包。
\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-graph}
\begin{document}
\begin{tikzpicture}
\GraphInit[vstyle=Normal]
\SetUpEdge
\SetGraphUnit{1.5}
\tikzset{VertexStyle/.style = {shape = circle, minimum size = 30pt, draw}}
\Vertex[L = a, x = -2, y = 2]{a}
\Vertex[L = abcdef, x = 2, y = 2]{abcdef}
\Edge[lw=1pt](a)(abcdef)
\end{tikzpicture}
\end{document}
然后,这两个顶点的大小不同,因为第二个顶点的标签太大,然后它会自动增加顶点的大小。我想更改此顶点标签的字体大小,但我不知道如何操作,而且我在文档中找不到它。那么,如何更改单个顶点标签的字体大小?如果这不可能,我该如何更改所有顶点标签的字体大小?
谢谢
答案1
要为所有顶点设置字体,您可以将 tikz 节点选项添加到Vertexstyle
,例如\tikzset{VertexStyle/.style={..., font=\large}}
。
要为单个顶点设置字体,您可以使用\Vertex[..., style={<tikz node options>}] {...}
。
注意:当前本地样式 ( style=...
) 将被全局样式 ( VertexStyle/.style=...
) 覆盖。在下面的示例中,使用\xpatchcmd
from来更改此设置。regexpatch
tikz 节点字体选项的完整列表记录在pgfmanual
v3.1.9a,第 17.4.2 节“文本参数:字体”中。
\documentclass{article}
\usepackage{tikz} % not necessary because `tikz-graph` will auto load tikz
\usepackage{tkz-graph}
\usepackage{regexpatch}
\makeatletter
\xpatchcmd*{\@@vertex}
{\cmdGR@vertex@style,\nstyle}
{\nstyle,\cmdGR@vertex@style}
{}{\fail}
\makeatother
\begin{document}
\begin{tikzpicture}
\GraphInit[vstyle=Normal]
\SetUpEdge
\SetGraphUnit{1.5}
\tikzset{VertexStyle/.style = {shape = circle, minimum size = 30pt, draw, text=blue}}
% vertex a, "node font=\Large, text=red" (global "text=blue" is overwritten by the local)
\Vertex[L = a, x = -2, y = 2, style={node font=\Large, text=red}]{a}
% vertex b, "text=blue, font=\bfseries"
\Vertex[L = abcdef, x = 2, y = 2, style={font=\bfseries}]{abcdef}
\Edge[lw=1pt](a)(abcdef)
\end{tikzpicture}
\end{document}