如何在LaTeX中缩小节点旁标签尺寸以匹配节点内标签
解决TikZ节点标签与内部文本尺寸匹配的问题
没问题,咱们来搞定这个标签和内部文本尺寸不统一的问题~
问题根源
你给节点加了scale=0.75缩小了内部的数字,但节点的label并没有继承这个缩放属性,所以标签文字会比内部数字大一圈,导致视觉上不协调。
两种实用解决思路
方案1:逐个调整标签缩放
直接在每个label的选项里添加scale=0.75,让标签的缩放比例和节点内部文本完全一致。修改后的完整代码如下:
\begin{tikzpicture} [ > = stealth, % arrow head style shorten > = 1pt, % don't touch arrow head to node auto, node distance = 2cm, % distance between nodes thick, dashed pattern=on % line style ] \tikzset{every state}=[ draw = black, thick, fill = white, minimum size = 1mm ] % 给每个label添加缩放属性,匹配节点内部文本 \node[shape=circle,draw=black, label={[scale=0.75]right:$2$},scale=0.75] (4) at (0,0) {4}; \node[shape=circle,draw=black, label={[scale=0.75]right:$5.75$}, scale=0.75] (3) at (3,0.75) {3}; \node[shape=circle,draw=black, label={[scale=0.75]right:$4.25$},scale=0.75] (2) at (2,4) {2}; \node[shape=circle,draw=black, label={[scale=0.75]above:$7.75$},scale=0.75] (1) at (0,4) {1}; \path [->] (1) edge node[left] {} (2); \path [->](2) edge node[left] {} (1); \path [->,draw, dotted, color=red](1) edge node[left] {} (4); \path [->,draw, dotted, color=red](4) edge node[left] {} (2); \path [->,draw, dotted, color=red](2) edge node[right] {} (3); \path [->,draw, dotted, color=red](3) edge node[left] {} (1); \end{tikzpicture}
方案2:全局设置标签样式(更高效)
如果所有节点的标签都需要统一缩放,直接在tikzset里添加全局的标签样式,不用逐个修改节点,省心很多:
\begin{tikzpicture} [ > = stealth, % arrow head style shorten > = 1pt, % don't touch arrow head to node auto, node distance = 2cm, % distance between nodes thick, dashed pattern=on % line style ] \tikzset{ every state/.style={ draw = black, thick, fill = white, minimum size = 1mm }, every label/.style={scale=0.75} % 全局统一所有标签的缩放比例 } \node[shape=circle,draw=black, label=right:$2$,scale=0.75] (4) at (0,0) {4}; \node[shape=circle,draw=black, label=right:$5.75$, scale=0.75] (3) at (3,0.75) {3}; \node[shape=circle,draw=black, label=right:$4.25$,scale=0.75] (2) at (2,4) {2}; \node[shape=circle,draw=black, label=above:$7.75$,scale=0.75] (1) at (0,4) {1}; \path [->] (1) edge node[left] {} (2); \path [->](2) edge node[left] {} (1); \path [->,draw, dotted, color=red](1) edge node[left] {} (4); \path [->,draw, dotted, color=red](4) edge node[left] {} (2); \path [->,draw, dotted, color=red](2) edge node[right] {} (3); \path [->,draw, dotted, color=red](3) edge node[left] {} (1); \end{tikzpicture}
效果说明
这两种方法都能让节点旁的标签尺寸和内部数字完全匹配,而且不会改变你原本设置的节点内部文本大小,完全符合你的需求。
内容的提问来源于stack exchange,提问作者bhawesh sah
相关产品推荐
相关产品推荐

