稍微解释一下:为了更好的写作体验,我想将所有\begin{figure}...
图形的定义(我的意思是东西)组织到一个文件中,然后\input
将其放到我的主文件中.tex
,然后在我想要的地方生成图片。
我不知道是否可行,但如果可以的话会很方便。
答案1
您在寻找类似的东西吗?在这个文件中,我们将所有图形定义放在文件中myfigs.tex
,将此文件输入到主文件中,然后在相关位置使用这些定义。
主文件
\documentclass{article}
% Use lipsum package for dummy text
\usepackage{lipsum}
\input myfigs.tex
\begin{document}
\lipsum[1]
\figone
\lipsum[2]
\lipsum[3]
\figtwo
\lipsum[4]
\lipsum[5]
\figthree
\lipsum[6]
\lipsum[7]
\figfour
\end{document}
myfigs.tex
\def\figone{\begin{figure}[[!tbp]]
\centering
Figure One
\caption{Figure one.}
\label{fig:one}
\end{figure}}
\def\figtwo{\begin{figure}[[!tbp]]
\centering
Figure Two
\caption{Figure two.}
\label{fig:two}
\end{figure}}
\def\figthree{\begin{figure}[[!tbp]]
\centering
Figure Three
\caption{Figure three.}
\label{fig:three}
\end{figure}}
\def\figfour{\begin{figure}[[!tbp]]
\centering
Figure Four
\caption{Figure four.}
\label{fig:four}
\end{figure}}
更新
编写了一个通用宏来定义图形定义。
myfigs.tex
% #1 Definition name
% #2 Position specifier
% #3 Actual figure
% #4 Caption
% #5 Label
\long\def\figdef#1#2#3#4#5{\long\gdef#1{\begin{figure}[#2]
\centering#3\caption{#4}\label{#5}\end{figure}}}
\figdef{\figone}{!tbp}{Figure One}{Figure one.}{fig:one}
\figdef{\figtwo}{!tbp}{Figure Two}{Figure two.}{fig:two}
\figdef{\figthree}{!tbp}{Figure Three}{Figure three.}{fig:three}
\figdef{\figfour}{!tbp}{Figure Four}{Figure four.}{fig:four}
主文件未发生改变。
答案2
是的,这是可能的。如果你的figure.tex 组织如下:
\def\myfigI{\begin{figure} (your first figure} \end{figure}}
\def\myfigII{\begin{figure} (your second figure} \end{figure}}
然后,在\input
阅读此文件之后,您可以在主文件中的任意位置使用简单的名称:\myfigI
,\myfigII
等等。