
나는 질문당 하나의 프레임, 초당 하나의 슬라이드를 포함하는 청중 부분을 LuaLaTeX
사용 하여 무작위로 선택된 퀴즈 기계를 만들어 카운트다운을 표시했습니다. 여러 개의 중복 페이지를 만듭니다.beamer
pdf
pdf
나는 질문과 답변만 포함된 A4 형식의 이 퀴즈 요약본을 동시에 작성하고 싶습니다. 이 모든 것들은 Lua 테이블에 저장됩니다. beamer
pdf
자연스럽게 생성하기 위해 한 번 사용하고 이를 재사용하여 다이제스트를 생성할 수 있지만 제가 아는 한 한 번에 하나만 생성할 수 있으므로 pdf
다이제스트를 저장하고 싶습니다. 별도의 digest.tex
파일에 저장하고 나중에 컴파일하세요.
tex.print
분리된 파일로 리디렉션하거나 pdf
가능하다면 두 개의 서로 다른 파일을 동시에 생성 하는 명령이나 트릭은 무엇입니까 ?
덧셈
예를 들어, 테이블이 있습니다 lua
.
t = {"Valeur app. par défaut à l'unité",69841.68, 69841 }
비머에서는 질문을 표시하기 위해 tikz 그림의 노드를 사용합니다. 아래를 참조하세요. 하지만 나는 또한 별도의 파일(기사 클래스)에서 이와 같은 것을 원합니다.
tex.print (t[1]..":".."\\num{"..t[2].."}\\hfill"..t[3])
퀴즈를 요약합니다.
답변1
io
Lua에는 LuaLaTeX와 작동하는 것으로 보이는 라이브러리가 있습니다 . 그런데 권장 사용법이 무엇인지 잘 모르겠습니다.
% !TeX program = lualatex
\documentclass{article}
\begin{document}
Foo.
\directlua{
out = io.open('somefile.tex','a')
out:write('Hello world. ')
out:write('This is different')
io.close(out)
}
\input{somefile}
\end{document}
답변2
및 등 TeX
의 표준 파일 핸들 루틴을 사용하여 코드를 현재 파일 '에' 작성해야 하는 것처럼 파일에 작성할 수 있습니다(음, TeX 입력 처리 어셈블리 라인 ;-)) .\newwrite
\newread
\openout
LuaLaTeX
\documentclass{article}
\usepackage{luacode}
\newwrite\luageneratedfile
\begin{document}
\immediate\openout\luageneratedfile=foolua.tex
\immediate\write\luageneratedfile{%
\directlua{%
tex.print("Hello World")
}
}
\immediate\closeout\luageneratedfile
\end{document}
이 예에서는 를 생성하며 foolua.tex
여기서 유일한 콘텐츠는 "Hello World"입니다.
답변3
백슬래시만 이스케이프해야 합니다.
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{luacode}
\begin{luacode}
function OpenFile(mode,name) out=io.open(name,mode) return end
function CloseFile() io.close(out) return end
\end{luacode}
\newcommand\OpenFile[2][a]{\luaexec{OpenFile('#1','#2')}}
\def\CloseFile{\luaexec{CloseFile()}}
\def\WriteLn#1{\luaexec{out:write('\string#1'.."\string\n")}}
\def\Write#1{\luaexec{out:write('\string#1')}}
\begin{document}
Foo.
\OpenFile[w]{somefile.tex}
\WriteLn{Hello world from \\LaTeX. }
\WriteLn{This is different}%
\Write{Hello world $\\sqrt{1+x}$. }
\Write{This is different}
\CloseFile
\VerbatimInput{somefile}
\OpenFile{somefile.tex}
\WriteLn{Hello world from \\LaTeX. }
\WriteLn{This is different}%
\Write{Hello world $\\sqrt{1+x}$. }
\Write{This is different}
\CloseFile
%
\VerbatimInput{somefile}
\end{document}