创建新包关闭环境

创建新包关闭环境

因此,我正在尝试为 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
}%

相关内容