我想将我的 tikz 图片外部化为一个独立类。因为我使用相对度量作为 \textwidth,所以我需要我的独立文件与我的 main.tex 的尺寸完全匹配。
看着这里geometry 包似乎适合这种情况。但是,无论有没有“pass”选项,生成的图片都有错误的大小或在裁剪区域内发生移动。
梅威瑟:
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{layouts}
\usepackage[paperwidth=20cm]{geometry} % add 'pass' stillt not work
\pgfplotsset{compat=1.16, width= .8\textwidth}
\begin{document}
PaperWidth in [cm] \printinunitsof{cm}\prntlen{\paperwidth}
\begin{tikzpicture}
\begin{axis}
\addplot [] coordinates {(0,0) (1,2) (2,3)};
\end{axis}
\end{tikzpicture}
PaperWidth in [cm] \printinunitsof{cm}\prntlen{\paperwidth}
\end{document}
如果没有“通过”,图片将无法完整显示,并且尺寸错误:
“通过”图片虽然没有完全显示出来,但看起来更好甚至更小(21cm 的 80% 不是 8.8):
答案1
评论太长了,提前致歉。如果与主题无关,我很乐意删除。
一般来说,当我想要有外部情节时,我会遵循这种策略。
我首先创建一个FigureHeader.tex
包含一组参数指令的文件
% some useful packages
\usepackage{...}
....
% some useful libraries
\usetikzlibrary{...}
% Some personal styles/options
\tikzset{myaxis/.style={width=20cm,...}}
这样,您可以在同一个参数文件中定义很多参数,因此如果您有很多重复的图形,那么这样做比一直重写所有内容更容易。
然后在图像文件中执行
\documentclass[tikz]{standalone}
\input{FigureHeader}
\begin{document}
\begin{tikzpicture}
\begin{axis}[myaxis]
...
\end{axis}
\end{tikzpicture}
\end{document}
然后,在主文档中,我只需输入图形即可\includegraphics{theimage.pdf}