Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
with
222 additions
and 0 deletions.
- +40 −0 scripts/LaTeX-git-log
- +41 −0 scripts/LaTeX-git-log-author
- +115 −0 scripts/LaTeX-git-wdiff
- +9 −0 scripts/makeindex-dtx
- +8 −0 scripts/pdfoptmod
- +9 −0 scripts/tlmgr-update
There are no files selected for viewing
| @@ -0,0 +1,40 @@ | ||
| #!/bin/bash | ||
| ## Tags auslesen und benutzen | ||
| echo '\begin{tabular}{lp{12cm}} | ||
| % \lable{tabular:Legende:git-log} | ||
| \textbf{Abkürzung} & \textbf{Bedeutung} \\ | ||
| V & \texttt{Version} \\ | ||
| Tag & \texttt{Markierung} einer Menge von Dateien, | ||
| aus denen sich zu einem beliebigen Zeitpunkt eine bestimmte Version wiederherstellen lässt \\ | ||
| Fm & Wie viele \texttt{Dateien} innerhalb dieser Version \texttt{verändert} wurden \\ | ||
| La & Wie viele \texttt{Zeilen} innerhalb dieser Version neu \texttt{hinzugekommen} sind \\ | ||
| Ld & Wie viele \texttt{Zeilen} innerhalb dieser Version \texttt{gelöscht} wurden \\ | ||
| \end{tabular} | ||
| \bigskip | ||
| \iflanguage{ngerman}{\shorthandoff{"}}{} | ||
| \resetplusplus | ||
| \renewcommand{\longtableheader}{\hline \multicolumn{1}{|c}{\textbf{V}} & \multicolumn{1}{c}{\textbf{Tag}} | ||
| & \multicolumn{1}{c}{\textbf{Datum}} | ||
| & \multicolumn{1}{c}{\textbf{Versionsbericht}} & \multicolumn{1}{c}{\textbf{Fm}} | ||
| & \multicolumn{1}{c}{\textbf{La}} & \multicolumn{1}{c|}{\textbf{Ld}} \\ \hline} | ||
| \begin{longtable}{|rlllrrr|} | ||
| \longtableheader | ||
| \endfirsthead | ||
| \longtableheader | ||
| \endhead | ||
| \hline \multicolumn{7}{|r|}{\longtableendfoot} \\ \hline | ||
| \endfoot | ||
| \hline% \hline | ||
| \endlastfoot | ||
| ' | ||
| ## git log --pretty=format:'%ai' | ||
| ## git log --date=short --pretty=format:'%ad' | ||
| ## for privacy | ||
| git log --date=short --pretty=format:'\hline \plusplus & TeMpforsed%d TeMpforsedend & %ad & %s &' --shortstat|grep -v "^$"|sed 'N;s/\n/ /'|sed 's/ deletions(-)$/ \\\\/g'|sed 's/ insertions(+),/ \&/g'|sed 's/+0100/CET/g'|sed 's/+0200/CEST/g'|sed 's/files changed,/\&/g'|sed 's/TeMpforsed ([a-zA-Z]*,\ //g'|sed 's/,\ [a-zA-Z]*) TeMpforsedend//g'|sed 's/master)\ \&/\&/g'|sed 's/[a-zA-Z]*) TeMpforsedend//g'|sed 's/TeMpforsed (//g'|sed 's/TeMpforsed TeMpforsedend //g'|sed 's/ TeMpforsed //g'|sed 's/ / /g'|sed 's/_/ /g'|tac | ||
| echo '\end{longtable}' | ||
|
|
| @@ -0,0 +1,41 @@ | ||
| #!/bin/bash | ||
| ## Tags auslesen und benutzen | ||
| echo '\begin{tabular}{lp{12cm}} | ||
| % \lable{tabular:Legende:git-log} | ||
| \textbf{Abkürzung} & \textbf{Bedeutung} \\ | ||
| V & \texttt{Version} \\ | ||
| Tag & \texttt{Markierung} einer Menge von Dateien, | ||
| aus denen sich zu einem beliebigen Zeitpunkt eine bestimmte Version wiederherstellen lässt \\ | ||
| Fm & Wie viele \texttt{Dateien} innerhalb dieser Version \texttt{verändert} wurden \\ | ||
| La & Wie viele \texttt{Zeilen} innerhalb dieser Version neu \texttt{hinzugekommen} sind \\ | ||
| Ld & Wie viele \texttt{Zeilen} innerhalb dieser Version \texttt{gelöscht} wurden \\ | ||
| \end{tabular} | ||
| \bigskip | ||
| \iflanguage{ngerman}{\shorthandoff{"}}{} | ||
| \resetplusplus | ||
| \renewcommand{\longtableheader}{\hline \multicolumn{1}{|c}{\textbf{V}} & \multicolumn{1}{c}{\textbf{Tag}} | ||
| & \multicolumn{1}{c}{\textbf{Autor}} | ||
| & \multicolumn{1}{c}{\textbf{Datum}} | ||
| & \multicolumn{1}{c}{\textbf{Versionsbericht}} & \multicolumn{1}{c}{\textbf{Fm}} | ||
| & \multicolumn{1}{c}{\textbf{La}} & \multicolumn{1}{c|}{\textbf{Ld}} \\ \hline} | ||
| \begin{longtable}{|rllllrrr|} | ||
| \longtableheader | ||
| \endfirsthead | ||
| \longtableheader | ||
| \endhead | ||
| \hline \multicolumn{8}{|r|}{\longtableendfoot} \\ \hline | ||
| \endfoot | ||
| \hline% \hline | ||
| \endlastfoot | ||
| ' | ||
| ## git log --pretty=format:'%ai' | ||
| ## git log --date=short --pretty=format:'%ad' | ||
| ## for privacy | ||
| git log --date=short --pretty=format:'\hline \plusplus & TeMpforsed%d TeMpforsedend & %an & %ad & %s &' --shortstat|grep -v "^$"|sed 'N;s/\n/ /'|sed 's/ deletions(-)$/ \\\\/g'|sed 's/ insertions(+),/ \&/g'|sed 's/+0100/CET/g'|sed 's/+0200/CEST/g'|sed 's/files changed,/\&/g'|sed 's/TeMpforsed ([a-zA-Z]*,\ //g'|sed 's/,\ [a-zA-Z]*) TeMpforsedend//g'|sed 's/master)\ \&/\&/g'|sed 's/[a-zA-Z]*) TeMpforsedend//g'|sed 's/TeMpforsed (//g'|sed 's/TeMpforsed TeMpforsedend //g'|sed 's/ TeMpforsed //g'|sed 's/ / /g'|sed 's/_/ /g'|tac | ||
| echo '\end{longtable}' | ||
|
|
| @@ -0,0 +1,115 @@ | ||
| #!/bin/bash | ||
| ## Konvertiert die Ausgabe von git diff --color-words in LaTeX Befehle | ||
| tmp="/tmp/git-wdiff.tmp" | ||
| convert2latex (){ | ||
| sed 's/{/(((((/g' \ | ||
| |sed 's/}/)))))/g' \ | ||
| |cat -v \ | ||
| |filtergitoutput \ | ||
| |umlaute \ | ||
| |grep -v "\\includegraphics" \ | ||
| |grep -v "\\figurewrapper" \ | ||
| |sed 's/\\/\\textbackslash /g' \ | ||
| |sed 's/%/\\%/g' \ | ||
| |sed 's/_/\\_/g' \ | ||
| |sed 's/#/\\#/g' \ | ||
| |sed 's/&/\\&/g' \ | ||
| |sed 's/\^\[\[31m/ \\color{red}/g' \ | ||
| |sed 's/\^\[\[32m/\\color{green}/g' \ | ||
| |sed 's/\^\[\[36m/\n\\bigskip\\color{blue}/g' \ | ||
| |sed 's/\^\[\[m/\\color{black}\\xspace /g' \ | ||
| |sed 's/(((((/\\{/g' \ | ||
| |sed 's/)))))/\\}/g' | ||
| } | ||
|
|
||
| umlaute (){ | ||
| sed 's/M-CM-</ü/g' \ | ||
| |sed 's/M-CM-^\\/Ü/g' \ | ||
| |tr "$" "x"|sed 's/M-CM-x/ä/g' \ | ||
| |sed 's/M-CM-^D/Ä/g' \ | ||
| |sed 's/M-CM-6/ö/g' \ | ||
| |sed 's/M-CM-^V/Ö/g' \ | ||
| |sed 's/M-CM-^_/ß/g' \ | ||
| |sed 's/M-bM-^@M-^^/„/g' \ | ||
| |sed 's/M-bM-^@M-^\\/“/g' | ||
| } | ||
| param="$#" | ||
|
|
||
| filtergitoutput (){ | ||
| grep -v "\^\[\[1mdiff --git a" \ | ||
| |grep -v "\^\[\[1mnew file mode " \ | ||
| |grep -v "\^\[\[1mdeleted file mode " \ | ||
| |grep -v "\^\[\[1mindex " \ | ||
| |grep -v "\^\[\[1m--- " \ | ||
| |grep -v "\^\[\[1m+++ " | ||
| } | ||
|
|
||
| echoVersionstable (){ | ||
| echo '\iflanguage{ngerman}{\shorthandoff{"}}{} | ||
| \renewcommand{\longtableheader}{\hline \multicolumn{1}{|c}{\textbf{Tag}} | ||
| & \multicolumn{1}{c}{\textbf{Hash}} | ||
| & \multicolumn{1}{c}{\textbf{Erstellungsdatum}} | ||
| & \multicolumn{1}{c|}{\textbf{Versionsbericht}} \\ \hline} | ||
| \begin{longtable}{|lllp{7.5cm}|} | ||
| %p{8cm} | ||
| \longtableheader | ||
| \endfirsthead | ||
| \longtableheader | ||
| \endhead | ||
| \hline \multicolumn{4}{|r|}{\longtableendfoot} \\ \hline | ||
| \endfoot | ||
| \hline% \hline | ||
| \endlastfoot | ||
| ' | ||
| (git log --pretty=format:'\hline xXx%dxXx & %h & %ai & %s \\' \ | ||
| |grep "$secundhash"'[),]' | ||
| git log --pretty=format:'\hline xXx%dxXx & %h & %ai & %s \\' \ | ||
| |grep "$firsthash"'[),]') \ | ||
| |sed 's/+0100/CET/g'|sed 's/+0200/CEST/g' \ | ||
| |sed 's/, master/,/g' \ | ||
| |sed 's/HEAD,/aktuell/g' \ | ||
| |sed 's/xXx (//g'|sed 's/)xXx//g' | ||
| echo '\end{longtable}' | ||
| } | ||
|
|
||
| echoErklaerung (){ | ||
| echo "%\section*{Verglich zweier Versionen}" | ||
| echo "%\pdfbookmark[1]{Versionenvergleich}{versionenvergleich}" | ||
| echo "Alles, was \textcolor{green}{grün} ist, ist in der aktuellen" | ||
| echo "Version neu hinzugekommen." | ||
| echo "Die \textcolor{red}{roten} Textstellen wurden entfernt." | ||
| echo "\textcolor{blue}{Blaue} Textstellen zeigen Kommentarzeilen" | ||
| echo "vom Versionskontrollsystem an." | ||
| echo "Nach einer solchen Kommentarzeile ist ein Textsprung zu erwarten." | ||
| } | ||
|
|
||
|
|
||
| if [ $param == 0 ] | ||
| then if [ -n "`git diff --color-words`" ] | ||
| then echoErklaerung | ||
| git diff --color-words | convert2latex | ||
| fi | ||
| else if [ -z "`echo $1 |grep -v "\.\."`" ] | ||
| then firsthash=${1%..*} | ||
| secundhash=${1#*..} | ||
| firstuntilsecund="$firsthash..$secundhash" | ||
| shift | ||
| while [ $# -ge 1 ];do files="$files $1";shift;done | ||
| ## git diff --color-words $firsthash..$secundhash &>/dev/null | ||
| if [ -n "`git diff --color-words "$firstuntilsecund" $files`" ] | ||
| then echoVersionstable | ||
| echoErklaerung | ||
| git diff --color-words "$firstuntilsecund" $files | convert2latex | ||
| fi | ||
| else while [ $# -ge 1 ];do files="$files $1";shift;done | ||
| if [ -n "`git diff --color-words $files`" ] | ||
| then echoVersionstable | ||
| echoErklaerung | ||
| git diff --color-words $files | convert2latex | ||
| fi | ||
| fi | ||
| fi | ||
|
|
| @@ -0,0 +1,9 @@ | ||
| #!/bin/sh | ||
| if [ -z "$1" ] | ||
| then echo "Please give the jobname as parameter" | ||
| exit 1 | ||
| fi | ||
| jobname=${1%.} | ||
|
|
||
| makeindex -s gglo.ist -o "$jobname.gls" "$jobname.glo" | ||
| makeindex -s gind "$jobname" |
| @@ -0,0 +1,8 @@ | ||
| #!/bin/bash | ||
| if [ -z "$1" ] | ||
| then echo "Bitte den Dateinamen der PDF Datei übergeben" | ||
| echo "Die Datei wird überschrieben!" | ||
| exit 1 | ||
| fi | ||
| pdfopt "$1" "$1.tmp" | ||
| mv "$1.tmp" "$1" |
| @@ -0,0 +1,9 @@ | ||
| #!/bin/bash | ||
| #http://dante.ctan.org/mirmon/#de | ||
| #tlmgr option location http://ftp.uni-erlangen.de/mirrors/CTAN/systems/texlive/tlnet/ | ||
| source /etc/profile | ||
| export http_proxy='http://knuth.intra:3128/' ## change this | ||
| tlmgr update --self bin-texlive texlive.infra | ||
| tlmgr update --all | ||
|
|
||
|
|