我正在 (k)tikz 中开发一个图形。以下是代码:
\begin{tikzpicture}[every node/.style={draw,rounded corners, minimum height=18, right}]
\node[text width=3.5cm] at (-3,-3) {
$\quad\, d(start_1 - end_0 - 1)$ \\
$=d(1-0-1)$ \\
$=d(0)$
};
\end{tikzpicture}
text width=3.5cm
被用作一种 hack,因为\\
,似乎没有任何效果。(更新:percusse 对此有一个答案)
在 ktikz(左)中它看起来很好,但是当我通过“\input{file}”将它包含在我的乳胶文档中时,节点变窄并且文本过早损坏。
这非常烦人,因为 ktikz 的实时预览使开发变得舒适,但我当然想知道它在乳胶中看起来会是什么样子。
进步:
Paul Gessler 首先指出字体不同。因此,我尝试确定文档中使用的字体,并计划在 ktikz 中设置它。
因此,我在 latex 文档中包含了\encodingdefault
、和\familydefault
,并像在 ktikz 序言中一样粘贴了这些值。这确实改变了正常字体(但额外的非数学行 abcd..tuv 仍然在 latex 文档中占用更多空间),但没有改变数学字体。\seriesdefault
\shapedefault
\usefont{T1}{aer}{m}{n}
今天,我发现我的错误!\usepackage{mathptmx}
ktikz 模板中的错误导致了不同的字体。将其注释掉解决了这个问题。
答案1
常规 TikZ 节点具有\hbox
作为内容容器。当您使用align=<center,left,right....>
或时,text <property>=<dimension>
TikZ 开始使用minipage
环境作为内容。
这意味着您可以使用如下所示的数学显示样式环境,并使用足够的空间声明进行调整。如果您想在两个地方使用相同的文本,您可以单击编辑按钮并调整模板,使其使用您在主文档中使用的字体。
\begin{tikzpicture}[every node/.style={draw,rounded corners}]
\node[text width=3.5cm] at (0,0) {% We are in a minipage now
\setlength{\abovedisplayskip}{0pt}% Remove the top vertical skip
\begin{align*} &d(start_1 - end_0 - 1) \\
={}&d(1-0-1) \\
={}&d(0)
\end{align*}};
\end{tikzpicture}