在制作会议纪要时,我会使用两个 .tex 文件:议程文件和会议纪要文件。第一个文件包含在 pdfpages 包中的第二个文件中。
现在,虽然两个文件的结构相同,但会议记录文件添加了附加内容。
但是,当我更改每个文件的结构时,为了保持一致性,两个文件的结构也应该随之更改。
我正在寻找一种处理一个文件的方法,其中可以根据文件名执行“结构”和“内容” LaTeX 代码块;这样,我的工作流程就更高效了。(我只会保留同一个文件的两个副本)
最小工作示例
议程.tex
\documentclass[agenda]{meetingmins}
\begin{document}
\begin{enumerate}
\item{Agendapoint 1} % Always to be executed -- core structure
Content of agendapoint one
%to be executed conditional on filename minutes.tex
More content of agendapoint one
\item{Agendapoint 2}
...
\end{enumerate}
\end{document}
分钟.tex
\documentclass{meetingmins}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{agenda} % Conditional on filename minutes.tex
\begin{enumerate}
\item{Agendapoint 1} % Always to be executed -- core structure
Content of agendapoint one
%to be executed conditional on filename minutes.tex
More content of agendapoint one
\item{Agendapoint 2}
...
\end{enumerate}
\end{document}
答案1
以下是基于以下假设的建议:
你想列举议程项目;并且
有条件地打印列举的议程项目的摘要。
我们通过将议程项目写为\section
s 来解决 (1)。您已经使用\item{...}
(无论如何,它不接受强制参数)执行了此操作,因此我建议。 (2) 相当于编写一个\tableofcontents
,它总结了列出的议程项目。
\documentclass{article}
\newcommand{\printagenda}{\tableofcontents}
\renewcommand{\contentsname}{Agenda}
\newcommand{\agendaitem}[1]{\section{#1}}
\begin{document}
\printagenda
\agendaitem{Agenda point one}
Content related to agenda item one.
More content related to agenda item one.
\agendaitem{Agenda point two}
Content related to agenda item two.
More content related to agenda item two.
\end{document}
使用上面的内容作为起点,您可以格式化议程使用类似的包tocloft
并使用(例如)进行分段布局sectsty
(或其他情况)。
我引入了与上下文相关的语法来复制您的意图。尽管宏相当简单,但它可以让您更清楚地理解代码。