我需要从 txt 文件生成包含项目的文档(例如)。txt 文件:
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
我可以运行生成以下内容的脚本(?):
标题 #1。
- 第 1 条(来自 txt)
- 第 4 项(来自 txt)
标题 #2。
1.第 2 项(来自 txt)
2.第5条(来自txt)
标题 #3。
1.第 3 项(来自 txt)
2.第 6 条(来自 txt)
是否可行或者我应该使用其他语言这样会更容易?
答案1
这是一个选择。
文件.txt
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio.
Praesent libero. Sed cursus ante dapibus diam. Sed nisi.
Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.
Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.
Vestibulum lacinia arcu eget nulla.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Curabitur sodales ligula in libero.
Sed dignissim lacinia nunc. Curabitur tortor.
Pellentesque nibh. Aenean quam. In scelerisque sem at dolor.
Maecenas mattis. Sed convallis tristique sem.
Proin ut ligula vel nunc egestas porttitor.
主文本
\documentclass{article}
\newcounter{mtctr}
\newcounter{tmp}
\newread\mt
\openin\mt=file.txt
\loop
\read\mt to \mtt
\unless\ifeof\mt
\stepcounter{mtctr}
\expandafter\xdef\csname question\themtctr\endcsname{\mtt}
\repeat
\closein\mt
\xdef\qustionnbr{\themtctr}
\setcounter{mtctr}{0}
\renewcommand\labelenumi{\thetmp.\theenumi.}
\begin{document}
\loop
\stepcounter{tmp}
\section*{Header \thetmp}
\begin{enumerate}
\stepcounter{mtctr}
\item \csname question\themtctr\endcsname
\ifnum\value{mtctr}<\qustionnbr
\stepcounter{mtctr}
\item \csname question\themtctr\endcsname
\fi
\end{enumerate}
\ifnum\value{mtctr}<\qustionnbr
\repeat
\end{document}
更新这是一个较短的版本。
\documentclass{article}
\newcounter{tmp}
\newread\mt
\openin\mt=file.txt
\renewcommand\labelenumi{\thetmp.\theenumi.}
\begin{document}
\loop
\unless\ifeof\mt
\read\mt to \mtt
\ifeof\mt\else
\stepcounter{tmp}
\section*{Header \thetmp}
\begin{enumerate}
\item \mtt
\read\mt to \mtt
\ifeof\mt\else
\item \mtt
\fi
\end{enumerate}
\fi
\repeat
\end{document}