如何让LaTeX显示“ls”的输出,就像它被格式化一样?

时间:2012-12-11 17:34:42

标签: bash shell latex ls

我正在尝试编写一个shellcript,它使用LaTeX,ls和其他一些命令来导出给定目录中的文件和目录列表,以及给定目录中所有bash脚本的完整打印输出。 到目前为止,这是我的脚本:

#!/bin/bash

# Script to export directory with pdflatex

# Generate .tex file
# Directory Listing
echo "\documentclass[11pt,a4paper,oneside]{article}" > tmp.tex
echo "\usepackage{fullpage}" >> tmp.tex
echo "\begin{document}" >> tmp.tex
echo "\section{Listing}" >> tmp.tex
ls $1 >> tmp.tex

echo "\end{document}" >> tmp.tex

# ShellScript printout

# Generate .pdf file
pdflatex tmp.tex

#Cleanup
rm tmp.tex

然而,问题是“ls”命令在终端中运行正常,但是当输入到LaTeX时,它将被打印为空格分隔行而不是列表。我该如何解决这个问题?

关于shellcript打印输出;如果您对如何打印这些有任何想法..

非常感谢, 杰拉德

1 个答案:

答案 0 :(得分:3)

echo '\begin{verbatim}' >> tmp.tex
ls "$1" >> tmp.tex
echo '\end{verbatim}' >> tmp.tex
除非在列出的目录中有一个名为“\end{verbatim}”的文件,否则

应该做你想要的(是的,这是可能的)。如果您需要担心这一点,则需要两个文件和fancyvrb附加软件包中的\VerbatimInput命令。