我正在使用独立包创建 tikz UML 图以单独绘制它们,而无需编译我的整个文档来查看图像是否正确。
我使用 tikzEdt (www.tikzedt.org) 创建图像并将\includestandalone{"path to tex file"}
其插入到我的文档中。我的问题是,在将图像纳入整个文档后,tikzEdt 中的图像定位似乎进行了调整。举例说明:tikzEdt 输出:
和代码:
\documentclass{standalone}
\usepackage{tikz-uml}
\begin{document}
%\thispagestyle{empty}
\begin{tikzpicture}[x=1cm,y=1cm]
% loads
\umlclass[type = Abstract, y=-2.5]{Loads}{
$Name$\\
$Load$ $case$ $name$\\
$Node$\\
$Degree$ $of$ $freedom$\\
$Magnitude$
}{$Copy$ $functionality$}
\umlclass[x=-5, y=-2]{PointLoad}{
$DOF = 1 -3$
}{$Copy$ $functionality$}
\umlclass[x=-5, y=-5]{PointMoment}{
$DOF = 4 -6$
}{$Copy$ $functionality$}
\umlclass[x=0, y=-8]{LineLoad}{
$Name$\\
$Load$ $case$ $name$\\
$Direction$\\
$Element$\\
$Magnitude$
}{$Copy$ $functionality$\\
$Divide$ $into$ $PointLoads$\\
$Divide$ $into$ $PointMoments$
}
% connectors
\umlinherit[]{Loads}{PointLoad}
\umlinherit[]{Loads}{PointMoment}
%% Load cases
\umlclass[x=5, y=-2]{LoadCase}{
$Name$\\
$Loads$\\
$LineLoads$\\
$Resutling$ $reactions$\\
$Resutling$ $displacements$\\
}{$Copy$ $functionality$}
\umlclass[x=5, y=-7]{LoadCombination}{
$Load$ $cases$\\
$Loads$\\
$LineLoads$\\
$Resutling$ $reactions$\\
$Resutling$ $displacements$\\
}{$Copy$ $functionality$}
% connectors
\umlinherit[]{LoadCase}{LoadCombination}
%% Manager
\umlclass[x=0, y=2]{LoadManager}{
$Load$ $cases$\\
$Load$ $combinations$\\
}{$Copy$ $functionality$}
\end{tikzpicture}
\end{document}
我将其包含在以下代码中:
\begin{figure}[H]
\centering
\includestandalone{Software_implementation/loadsUML}
%Hello figure!
\caption{UML diagram illustrating the loads package}
\label{fig: loadsUML}
\end{figure}
知道为什么会发生这种情况吗?我尝试指定 tikz 单位,但似乎不起作用。
编辑:MWE 显示发生了什么(它是由字体大小引起的)
%\documentclass[]{article}
\documentclass[12pt]{article} % produces "squishing"
%% Latex bib package
\usepackage[backend=biber]{biblatex} % using biber build
\usepackage{float}
\usepackage[subpreambles=true]{standalone} % outsource figure to their own files
\begin{document}
\begin{figure}[H]
\centering
\includestandalone{loadsUML}
\caption{UML diagram illustrating the loads package}
\label{fig: loadsUML}
\end{figure}
\end{document}
如何修复此问题?
答案1
原来,我创建 tikz 绘图时使用的字体大小与文档不同。通过在 tikz 绘图文件的第一行指定字体大小即可解决该问题。即\documentclass[12pt]{standalone}
。现在我可以创建与文档中显示的完全相同的图形(如果它们不是太宽的话)。