这是这个问题我想,但是那里提供的答案对于我的 3D 图片似乎不起作用。
我正在将 tikz 图片输入到 beamer 海报中,但我认为该过程的这一部分是无关紧要的,尽管如果不是的话我可以将其包括在内。
我的 tikz 图片如下所示:(spiral.tex)
\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{arrows}
\usetikzlibrary{3d}
\tikzset{>=latex}
\begin{document}
\tdplotsetmaincoords{60}{60}
\tdplotsetrotatedcoords{0}{20}{70}
\begin{tikzpicture}[tdplot_rotated_coords,scale=0.5, decoration={coil}]
\draw [decorate, decoration={aspect=0.3, segment length=3.1mm, amplitude=3mm}, color = red] (0,0) --(2.6,0);
\draw [->, red] (2.6,0)--(2.6,-0.5);
\draw [decorate, decoration={aspect=-0.3, segment length=3.1mm, amplitude=-3mm}, color = blue] (-0.4,-3) -- (2.2,-3);
\draw [->, blue] (2.2, -3)--(2.3, -2.5);
\draw [->] (-0.25, -1.5)--(2.75, -1.5) node[right] {$\bf k$};
\draw[->, ultra thick, red] (4.5, 0.75)--(4.32, -0.5);
\draw[->, ultra thick, blue] (3.75, -3.75)--(3.91, -2.5);
\end{tikzpicture}
\end{document}
如果你编译它,你会发现一大片空白延伸到图片的边缘。当我使用
\begin{figure}
\centering
\begin{subfigure}[c]{0.3\textwidth}
\input{Figures/Tikz/spiral.tex}
\end{subfigure}
~
\begin{subfigure}[c]{0.3\textwidth}
\input{Figures/Tikz/another3dtikzpicture.tex} %just an example of what I want to do with the tikz picture
\end{subfigure}
\end{figure}
在我的投影仪海报中。
我尝试了链接到的另一个问题中的一些建议,但似乎不起作用。我可以\useasboundingbox (-1, -4) rectangle (5, 1);
在图片开头插入,但它什么也没做。我先通过绘制检查了框是否在正确的位置。
另外,使用该命令\draw [blue] (current bounding box.south west) rectangle (current bounding box.north east);
查找我当前的边界框会出现错误: ! Dimension too large.
这些问题是否只出现在 3D 绘图中或我的代码中?我能做些什么来解决它?
以前我只是将我的 tikz 图片编译为文章并使用\includegraphics[clip, trim = l b r t]{spiral.pdf}
但这并不是很令人满意。
谢谢。
答案1
您可以向类varwidth
中添加选项standalone
。如果愿意,可以添加一些边框。
\documentclass[varwidth,border=5pt]{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{arrows}
\usetikzlibrary{3d}
\tikzset{>=latex}
\begin{document}
\tdplotsetmaincoords{60}{60}
\tdplotsetrotatedcoords{0}{20}{70}
\begin{tikzpicture}[tdplot_rotated_coords,scale=0.5, decoration={coil}]
\draw [decorate, decoration={aspect=0.3, segment length=3.1mm, amplitude=3mm}, color = red] (0,0) --(2.6,0);
\draw [->, red] (2.6,0)--(2.6,-0.5);
\draw [decorate, decoration={aspect=-0.3, segment length=3.1mm, amplitude=-3mm}, color = blue] (-0.4,-3) -- (2.2,-3);
\draw [->, blue] (2.2, -3)--(2.3, -2.5);
\draw [->] (-0.25, -1.5)--(2.75, -1.5) node[right] {$\bf k$};
\draw[->, ultra thick, red] (4.5, 0.75)--(4.32, -0.5);
\draw[->, ultra thick, blue] (3.75, -3.75)--(3.91, -2.5);
\end{tikzpicture}
\end{document}
正如 Malipivo 所指出的,tikz
选项也有效 →\documentclass[tikz]{standalone}
并删除\usepackage{tikz}
。