ktikz 和 latex 之间 tikz 的不同比例

ktikz 和 latex 之间 tikz 的不同比例

我正在 (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}

在此处输入图片描述

相关内容