有人知道以下最小示例中是否以及如何:
\documentclass[12pt]{standalone}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,backgrounds}
\begin{document}
\begin{tikzpicture}
\node(fin){$\square$};
\path[draw](fin)--node [midway, above] {\textit{4 mois}}(10,0)node(repere) {$\square$};
\end{tikzpicture}
\end{document}
我可以轻松地将第二个节点放置在与第一个节点相同的位置(即在节点和线之间有小的缩进)?
答案1
让我解释一下你的代码发生了什么。
\node(fin){$\square$};
放置一个以 为中心的节点,(0,0)
其中包含$\square$
。这是绘制的正方形,而不是节点本身。每个节点inner sep
的内容和节点边界之间都有一定的距离。如果你想看到真正的边界,使用选项draw
( \node[draw](fin)...
)
\path[draw](fin)--node [midway, above] {\textit{4 mois}}(10,0) node[draw=red,right](repere) {$\square$};
(fin.center)
现在在和之间(10,0)
画了一条线。虽然这条线从 开始(fin.center)
,但直到到达fin
边界才画出来。这就是你在方案中看到的间隙。
一旦线在点处结束,(10,0)
就会以该坐标为中心绘制一个新节点。这就是将正方形放在线上的原因。
如果要保持相同的距离,repere
边框应该位于线的结束处,这意味着将其锚定到west
锚点(right
选项)。
\documentclass[12pt]{standalone}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,backgrounds}
\begin{document}
\begin{tikzpicture}
\node[draw=red](fin){$\square$};
\path[draw](fin)--node [midway, above] {\textit{4 mois}}(10,0) node[draw=red,right](repere) {$\square$};
\end{tikzpicture}
\end{document}