summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/forarray/forarray
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-04 10:14:39 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-04 10:14:39 +0000
commitcdbc5d3bd4d89338a033d47d1368e8e30d273544 (patch)
tree962744c665dea081ac22477de024ae9373870569 /Master/texmf-dist/doc/latex/forarray/forarray
parent963d78b0d54fe82f96c590fe5302c1faf6289cce (diff)
new forarray package
git-svn-id: svn://tug.org/texlive/trunk@9221 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/forarray/forarray')
-rw-r--r--Master/texmf-dist/doc/latex/forarray/forarray316
1 files changed, 316 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/forarray/forarray b/Master/texmf-dist/doc/latex/forarray/forarray
new file mode 100644
index 00000000000..c6a79f4796e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/forarray/forarray
@@ -0,0 +1,316 @@
+#!/bin/sh
+
+# Functions
+setargs()
+{
+ case $2 in
+ 0)
+ getfilename
+ scope=5;
+ ;;
+ 1)
+ getfilename
+ scope=$3;
+ ;;
+ 2)
+ fileid=$3
+ scope=$4;
+ ;;
+ *)
+ echo "You can only use two arguments together with the script $1."
+ exit;
+ ;;
+ esac
+ file="./$fileid"
+}
+getfilename()
+{
+ fileid=$(echo "$0" | sed -e s-^.*/-- -e s-\\..*--)
+}
+logoutput()
+{
+ exec 3>&1
+ exec >$1.dtl
+ $2
+ exec 1>&3
+ 3>&-
+}
+echonewline()
+{
+ echo ""
+ echo $1
+}
+docstrip()
+{
+ filename="$2"
+ echonewline "$1"
+ echo "\input docstrip" > $filename.tmp
+ echo "\declarepreamble\dtmpre" >> $filename.tmp
+ if [ -e $filename.pre ] ; then
+ echo " Using preamble from $filename.pre"
+ cat $filename.pre >> $filename.tmp
+ fi
+ echo "\endpreamble" >> $filename.tmp
+ echo "\declarepostamble\dtmpst" >> $filename.tmp
+ if [ -e $filename.pst ] ; then
+ echo " Using postamble from $filename.pst"
+ cat $filename.pst >> $filename.tmp
+ fi
+ echo "\endpostamble" >> $filename.tmp
+ echo "$3" >> $filename.tmp
+ echo "\endbatchfile" >> $filename.tmp
+ logoutput $filename "tex -ini $filename.tmp"
+ rm $filename.tmp
+}
+setversion()
+{
+ filename="$1"
+ if [ $2 == $3 ] ; then
+ echo "Processing $1.$2 (Pass No. $4 of $5) ..."
+ else
+ echo "Replacing items in $1.$3 with information from $1.$2 ..."
+ fi
+ echo "#!/bin/sed -f" > $filename.sed
+ cat $filename.$2 | while read ITEM
+ do
+ read CONTENT
+ read BLANK
+ ITEM=$(echo $ITEM | sed "s|:||g")
+ echo "s|<N><<$ITEM>>|$ITEM:\\
+<<$ITEM>>|g" >> $filename.sed
+ echo "s|<<$ITEM>>|$CONTENT|g" >> $filename.sed
+ done
+ $filename.sed < $filename.$3 > $filename.tmp
+ mv $filename.tmp $filename.$3
+}
+dolatex()
+{
+ filename="$1"
+ echonewline "LaTeX pass No. $2 of $1 ..."
+ latex $filename
+}
+doindex()
+{
+ filename="$1"
+ echonewline "Creating index with makeindex -s gind.ist."
+ sed 's\|hyperpage\\' <$filename.idx >$filename.idt
+ mv $filename.idt $filename.idx
+ makeindex -q -s gind.ist $filename.idx
+}
+dopsandpdf()
+{
+ filename="$1"
+ echonewline "Creating $1.ps and $1.pdf ..."
+ logoutput $filename "dvips -q -t a4 -Ppdf -D600 $filename.dvi"
+ logoutput $filename "ps2pdf14 -q -r600 $filename.ps $filename.pdf"
+}
+rmfiles()
+{
+ echo ""
+ for rmfile in $1 ; do
+ filename="./$rmfile"
+ if [ -e "$rmfile" ] ; then
+ echo "Deleting file $rmfile in current directory."
+ rm "$filename"
+ fi
+ done
+}
+deletelatex="
+s|<+L>[^<]*<-L>||g
+s|<[+-][T]>||g
+s|<[+-]Q>|\"|g
+s|§[+-]F§|\'|g
+s|§[+-]P§||g
+s|§PAR§[ ]*|\\
+\\
+|g
+s|§<§|<|g
+s|§>§|>|g
+s|§VERB§||g
+s|§ESC§||g
+"
+setlatex="
+s|<+T>[^<]*<-T>||g
+s|<[+]Q>|\`\`|g
+s|<[-]Q>|\'\'|g
+s|<[+-]L>||g
+s|§+[FP]§|\\\\mbox\{\\\\fontfamily{cmss}\\\\selectfont |g
+s|§-[FP]§|\}|g
+s|§[<>]§||g
+s|§PAR§[ ]*|\\\\par |g
+s|§ESC§|\\\|g
+s/§VERB§/|/g
+s|\ä|\\\\\"\{a\}|g
+s|\ö|\\\\\"\{o\}|g
+s|\ü|\\\\\"\{u\}|g
+s|\ß|\\\\ss|g
+"
+replaceinmodules()
+{
+ filename="$1"
+ for module in $2
+ do
+ echo "Processing $1 (module: $module)."
+ sed "/^%<\*$module>/,/^%<\/$module>/{
+ $3
+ }" < $filename > $filename.tmp
+ mv $filename.tmp $filename
+ done
+}
+commentinmodules()
+{
+ filename="$1"
+ for module in $2
+ do
+ sed "/^%<\*$module>/,/^%<\/$module>/{
+ s/^/% /
+ s/^% %<\*$module>/%<\*$module>/
+ s/^% %<\/$module>/%<\/$module>/
+ }" < $filename > $filename.tmp
+ mv $filename.tmp $filename
+ done
+}
+folduncommentedlines()
+{
+ filename="$1"
+ sed "/^[^%]/{
+ s/§CR§/%\\
+/
+ }" < $filename > $filename.tmp
+ mv $filename.tmp $filename
+ sed "/^%/{
+ s/§CR§//
+ }" < $filename > $filename.tmp
+ mv $filename.tmp $filename
+}
+removemoduletags()
+{
+ filename="$1"
+ for module in $2
+ do
+ sed "s/^%<[\*\/]$module>/%/" < $filename > $filename.tmp
+ mv $filename.tmp $filename
+ done
+}
+hidetext()
+{
+ filename="$1"
+ sed -e "s|^%<begin text>|% \\\\iffalse|" -e "s|^%<end text>|% \\\\fi|" < $filename > $filename.tmp
+ mv $filename.tmp $filename
+}
+replacemoduletags $file.dtx "tex" "% \\iffalse" "% \\fi"
+dofold()
+{
+ filename="$1"
+ for foldfile in $2
+ do
+ fold -s -$filename < $foldfile > $foldfile.tmp
+ mv $foldfile.tmp $foldfile
+ done
+}
+# End Functions
+
+# Variables
+overwrite="\\askforoverwritefalse"
+nopreorpostamble="\\usepreamble\\empty\\usepostamble\\empty"
+dtmpreandpostamble="\\usepreamble\\dtmpre\\usepostamble\\dtmpst"
+# End Variables
+
+setargs $0 $# $1 $2
+
+# Info about this script
+ echonewline "This script extracts the derivative files of the"
+ echo "package $file from the master file $file.dtm."
+ echonewline "Script file: $0."
+ echo "Process ID: $$."
+ echo "Scope: $scope."
+# End Info
+
+filesindirectory=$(ls -1 | wc -l)
+if [ $filesindirectory -ne 3 ] ; then
+ echonewline "The number of files in this directory is not equal to 3."
+ echo "Please put the files"
+ echo "'$fileid' (this script),"
+ echo "'$fileid.dtm' and"
+ echo "'$fileid.dts'"
+ echo "in an empty directory before executing this script."
+ exit
+fi
+
+cp $file.dtm $file.dtx
+
+docstrip "Extracting version file from $file.dtx." $file "\
+\\generate{$overwrite$nopreorpostamble\\file{$file.ver}{\\from{$file.dtx}{version}}}"
+
+echonewline "Inserting information from the version file into $file.dtx."
+if [ $scope -gt 0 ] ; then
+ setversion $file ver ver 1 4
+ setversion $file ver ver 2 4
+ setversion $file ver ver 3 4
+ setversion $file ver ver 4 4
+ setversion $file ver dtx 1 1
+fi
+
+echonewline "Adapting files to LaTeX or ASCII environment."
+replaceinmodules $file.dtx "version preamble postamble sty readme" "$deletelatex"
+replaceinmodules $file.dtx "tex" "$setlatex"
+commentinmodules $file.dtx "manual"
+removemoduletags $file.dtx "tex manual"
+folduncommentedlines $file.dtx
+hidetext $file.dtx
+
+docstrip "Extracting preamble and postamble from $file.dtx." $file "\
+\\generate{$overwrite$nopreorpostamble\
+ \\file{$file.pre}{\\from{$file.dtx}{preamble}}\
+ \\file{$file.pst}{\\from{$file.dtx}{postamble}}\
+}"
+
+dofold 69 "$file.pre $file.pst"
+
+docstrip "Extracting README file, style file and test file from $file.dtx." $file "\
+\\generate{$overwrite$nopreorpostamble\\file{README.txt}{\\from{$file.dtx}{readme}}}\
+\\generate{$overwrite$dtmpreandpostamble\
+ \\file{$file.sty}{\\from{$file.dtx}{sty}}\
+ \\file{$file-test.tex}{\\from{$file.dtx}{test}}\
+}"
+
+dofold 72 "README.txt"
+
+if [ $scope -gt 1 ] ; then
+ echonewline "Creating LaTeX file for processing documentation."
+ echo "\documentclass[11pt,a4paper]{article}" > $file.tmp
+ echo "\input $file.dts" >> $file.tmp
+ echo "\begin{document}" >> $file.tmp
+ echo "\DocInput{$file.dtx} \newpage \DOCindex" >> $file.tmp
+ echo "\end{document}" >> $file.tmp
+ dolatex $file.tmp 1
+fi
+if [ $scope -gt 2 ] ; then
+ doindex $file
+ dolatex $file.tmp 2
+fi
+if [ $scope -gt 3 ] ; then
+ doindex $file
+ dolatex $file.tmp 3
+ doindex $file
+ dolatex $file.tmp 4
+fi
+if [ $scope -gt 1 ] ; then
+ dolatex $file-test.tex 1
+fi
+if [ $scope -gt 3 ] ; then
+ dopsandpdf $file
+ dopsandpdf $file-test
+fi
+if [ $scope -gt 4 ] ; then
+ rmfiles "$file.dvi $file.ps $file.out.ps $file-test.dvi $file-test.ps"
+fi
+if [ $scope -gt 3 ] ; then
+ rmfiles "$file.ilg $file.ind"
+fi
+if [ $scope -gt 2 ] ; then
+ rmfiles "$file.aux $file.dtl $file.idx $file.log $file.tmp $file.toc $file.ver"
+ rmfiles "$file.sed"
+ rmfiles "$file-test.aux $file-test.dtl $file-test.log pexa-sam.tex"
+fi
+rmfiles "$file.pre $file.pst"