예를 들어 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.
Main.tex
\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}