0

我正在尝试编写一个 shellscript,它使用 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 时,它被打印为一个空格分隔的行而不是一个列表。我该如何解决?

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

非常感谢,杰拉德

4

1 回答 1

3
echo '\begin{verbatim}' >> tmp.tex
ls "$1" >> tmp.tex
echo '\end{verbatim}' >> tmp.tex

\end{verbatim}除非列出的目录中有一个名为 ' ' 的文件(是的,这是可能的),否则应该做你想做的事。如果这是您需要担心的事情,您需要两个文件和\VerbatimInput来自fancyvrb附加包的命令。

于 2012-12-11T17:38:47.543 回答