创建与 \item 对应的电子表格

创建与 \item 对应的电子表格

我正在写一本数学书。对于每个示例,我想存储一些属性,包括:

-来源

-我是否已经检查过该问题

-问题的难度

(ETC。)

通常,我只需创建一个可以执行此操作的电子表格,但我经常重新排列示例,这使得更新电子表格变得很麻烦。

是否可以创建一个数据库来存储每个 \item(每个示例)的这些属性,以便可以方便地打印,并在重新排列 \item 时动态更新?

这是我想要的一个具体例子。

\section{Chapter 1}

\begin{enumerate}

%Source: X
%Checked: No
%Difficulty: Easy
\item (Example goes here)

%Source: Y
%Checked: Yes
%Difficulty: Hard
\item (Example goes here)
\end{enumerate}

输出将是 .PDF,类似于

Example 1.1

Source: X
Checked: No
Difficulty: Easy

Example 1.2
Source: Y
Checked: Yes
Difficulty: Hard

上面的内容以某种表格形式格式化。

提前感谢你的帮助!如果我需要澄清这个问题,请告诉我。

答案1

您可以轻松创建一个将信息写入文件的命令。这可能需要一些自定义,但它基本上可以满足您的需要。

\documentclass{article}

\makeatletter
\newwrite\@datawrite
\immediate\openout\@datawrite=\jobname.data

\newcommand\exampledata[3]{%  
\immediate\write\@datawrite{Example \thesection.\theenumi}
\immediate\write\@datawrite{Source: #1}
\immediate\write\@datawrite{Checked: #2}
\immediate\write\@datawrite{Difficulty: #3}
\immediate\write\@datawrite{}}

\AtEndDocument{\closeout\@datawrite}

\makeatother

\begin{document}
\section{A section}

\begin{enumerate}
\item
\exampledata{A nice book}{yes}{easy}
Show that $a=b$.
\item
\exampledata{Another nice book}{no}{impossible}
Show that $c=d$
\end{enumerate}

\end{document}

编译后,.data文件包含以下内容:

Example 1.1
Source: A nice book
Checked: yes
Difficulty: easy

Example 1.2
Source: Another nice book
Checked: no
Difficulty: impossible

编辑

要获得 pdf,只需添加一些额外的\immediate\write命令来添加LaTeX序言和\end{document},以及为每个条目添加一些格式说明。

相关内容