我正在使用Beamer创建演示幻灯片,并且希望在幻灯片上包含来自Agda和Isabelle标准库的代码。我在网上只能找到从Agda(lagda)或Isabelle(文档准备)生成的乳胶。我想另辟way径,因为我的幻灯片将包含来自不同系统的代码。 我仍然可以使用lstlisting或逐字记录,但是我不想复制粘贴和重新格式化代码。
我希望有一些类似的东西,包括文件中的行号,或者标记之间的代码
答案 0 :(得分:1)
您最好的选择是使用catchfilebetweentags
软件包:给定由每种语言的各自LaTeX后端生成的两个文件IsabelleCode.tex
和AgdaCode.tex
,您可以捕获开始标签之间的代码通过使用适当的指令,例如,在两个文件中的%<*TAGNAME>
和结束标记%</TAGNAME>
,例如:
\ExecuteMetaData[IsabelleCode.tex]{TAGNAME}
\ExecuteMetaData[AgdaCode.tex]{TAGNAME}
答案 1 :(得分:0)
使用\lstinputlisting
包中的listings
,您可以直接包含源文件中的代码。 (可选)您可以指定开始和结束行号
\documentclass{beamer}
\usepackage{listings}
\lstset{basicstyle=\ttfamily}
\begin{document}
\begin{frame}[fragile]
\lstinputlisting[firstline=1,lastline=7,language=C]{duck.C}
\end{frame}
\begin{frame}[fragile]
\lstinputlisting[firstline=1,lastline=7]{test.agada}
\end{frame}
\begin{frame}[fragile]
\lstinputlisting[firstline=1,lastline=7]{test.isabelle}
\end{frame}
\end{document}
答案 2 :(得分:0)
至少对于Agda,您可以将各个.lagda
模块渲染到LaTeX中。如果您可以使用Isabelle的漂亮打印机做同样的事情,那么您应该能够手动编写顶级LaTeX,然后在适当的地方导入Agda和Isabelle生成的LaTeX(的一部分)。