因此,我正在尝试为 Latex 创建一个新包。目前我有一个这样的函数:
\def\timeline#1#2#3{%
% draw the timeline
}%
在这个函数中,我使用 打开 tikz 环境\begin{tikzpicture}
。我还有一个函数可以将单个事件绘制到这个环境中,可以多次调用。
现在我不确定在添加所有事件后如何关闭 tikz 环境。有人可以向我解释一下吗?
目前我在 sty 文件中有以下代码:
\newenvironment{cvtimeline}{%
\begin{tikzpicture}%
}{%
\end{tikzpicture}%
}%
% Functions
\def\timeline#1#2#3{%
% draw the timeline
}%
\def\work#1#2#3#4#5{%
% add an work event and draw
}%
\def\school#1#2#3#4#5{%
% add an school event and draw
}%
可以在tex
文件中使用如下方法:
\begin{document}
\begin{cvtimeline}
\timeline{2009}{2017}{\textwidth}
\work{2009}{8}{2013}{8}{Hello}
\work{2013}{10}{2014}{8}{World}
\end{cvtimeline}
\end{document}
答案1
构建您的代码
文档:
\documentclass{article}
\usepackage{mytimeline}
\begin{document}
\begin{cvtimeline}{2009}{2017}{\textwidth}
\work{2009}{8}{2013}{8}{Hello}
\work{2013}{10}{2014}{8}{World}
\end{cvtimeline}
\end{document}
包裹mytimeline.sty
\RequirePackage{tikz}
\newenvironment{cvtimeline}[3]{%
\begin{tikzpicture}%
% the code that you had in \timeline
}{%
\end{tikzpicture}%
}%
% Functions
%\def\timeline#1#2#3{%
% % draw the timeline
%}%
\def\work#1#2#3#4#5{%
% add an work event and draw
}%
\def\school#1#2#3#4#5{%
% add an school event and draw
}%