2012-12-11 27 views
1

我試圖編寫一個使用LaTeX,ls和其他一些命令來導出給定目錄內的文件和目錄列表的shell腳本,以及給定目錄內所有bash腳本的完整打印輸出。 這是我的腳本到目前爲止:如何讓LaTeX顯示「ls」的輸出格式?

#!/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」命令執行功能正好在終端,但供給到膠乳時它被打印爲空間devided線代替一個列表。我該如何解決?

關於shellcript打印輸出;如果您有關於如何打印這些..

非常感謝任何想法, 傑拉德

+0

現在不能回答它已關閉,但您可能需要'ls -C' - 當輸出不到終端時,ls隱式使用'-1'選項。 –

+0

他們爲什麼不把它移動到乳膠堆疊交換? – Magpie

回答

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

應該做你想要什麼,除非有在被列出的目錄名爲「\end{verbatim}」文件(是的,這個有可能)。如果這是您需要擔心的問題,則需要兩個文件和fancyvrb附加軟件包中的\VerbatimInput命令。

+0

你也可以使用這裏的文件'cat <<<「\ begin {verbatim} $(ls」$ 1「)\ end {verbatim}」' – 2012-12-11 18:55:36

+0

謝謝!你剛剛解決了那個花了我一個小時試圖弄清楚的問題! – viraxis