Mai
09
2011
0

LaTeX Kommentare per sed entfernen

Möchte man in LaTeX-Dokumenten jegliche Kommentare entfernen, aber “\%” in den Dokumenten erhalten, so liefert sed die gewünschten Ergebnisse:

sed '/^\%/d;s/[:space:]*[^\\]\%.*//g;/^$/d' infile.tex > outfile.tex

Wenn man nicht möchte, dass Leerzeilen mit entfernt werden, so hilft folgender Befehl:

sed '/^\%/d;s/[:space:]*[^\\]\%.*//g' infile.tex > outfile.tex

Viel Spaß damit!

Beispiel:
% Kram, den man nicht mehr haben will
% wann wer wie wo was erstellt hat
%
% by H.Dickten 09.05.2011
\begin{document} % Dukument anfang
%
% Tolle Frage
Hier ist der wichtige Text. Wussten Sie, dass 10\% der
% ein weiterer Kommentar
Kommentare überflüssig % und noch einer
sind?

Und ein neuer Absatz.
%
% Tolle Antwort
Glaub ich nicht!
%
%
%Nun kommt noch der footer
\end{document}

wird zu

\begin{document}
Hier ist der wichtige Text. Wussten Sie, dass 10\% der
Kommentare überflüssig
sind?
Und ein neuer Absatz.
Glaub ich nicht!
\end{document}

Written by Hensing in: bissig,howto,Linux,Mac,Uni | Schlagwörter: , , , , , , ,
Jan
26
2011
0

[update] Python OptionParser: invalid integer value

Nachdem ich mich gewundert habe, warum bei mir jeweils zwei Kanäle meiner Daten (Kanal 08 und 09) nicht berechnet worden sind, habe ich die Jobs per Hand gestartet und stieß auf folgendes Phänomen:

Man nehme folgende minimal.py:


#!/usr/bin/python
# -*- coding: utf8 -*-
# minimal example by H.Dickten 2011

from optparse import OptionParser
parser = OptionParser()

parser.add_option("-c", "--channel1", type = int, dest="ch1",default = -1,
help = "channel 1")
parser.add_option("-C", "--channel2", type = int, dest="ch2",default = -1,
help = "channel 2")

(options, args) = parser.parse_args()
parser.destroy()
print "Channel1 = %d, Channel2 = %d. EXIT.\n" % (options.ch1, options.ch2)

und führe folgende test.sh aus:

#!/bin/bash
for i in 6 06 7 07 8 08 9 09 10
do
echo "i = $i"; python minimal.py -c 1 -C $i
done

Phänomen:
Wie man sieht werden alle Zahlen (mit und ohne vorstehenden Nullen) wunderbar als int geparsed. Nur die Zahl 08 und 09 werden nicht als 8 und 9 erkannt.

Abhilfe:
Man lässt die Zahlen als string parsen und castet diese später auf int via:

options.ch1 = int(options.ch1)

Gestestet mit Python 2.6.6 (debian squeeze) und Python 2.6.5 (Windows 7)

Update:
Python interpretiert “08″ als Oktalzahl (Quelle: docs.python.org). Demnach werden Hex- und Binärzahlen mit dem Präfix “0x” bzw. “0b” gekennzeichnet; Oktalzahlen jedoch nur mit der Ziffer “0″ anstelle der eindeutigen Kette “0o”. Dies sollte geändert werden ist wohl in Python 3 geändert worden, damit Zahlen nicht falsch interpretiert werden können (z.B. 072 (dezimal) != 072 (oktal) = 0o72 = 58 (dezimal)).

Nov
09
2010
0

Neues von der .zshrc Front

Vorhin habe ich eine kleine Funktion zum konvertieren von beliebig kodierter Textdateien in die UTF-8-Kodierung geschrieben. Einfach folgende Zeilen in die .zshrc übernehmen:


# Funktion zum konvertieren nach utf-8
conv2utf8() {
if [[ $OSTYPE == linux-gnu ]]; then
ENCIN=`file $@ -i | awk '{print $3}' | sed 's/charset=//g'`
else
ENCIN=`file $@ -I | awk '{print $3}' | sed 's/charset=//g'`
fi

ENCOUT='utf-8'
SUFFIXIN=${@##*.}
PREFIXIN=${@%.*}

OUT=$PREFIXIN"_utf8."$SUFFIXIN

print "Konvertiere $@ von $ENCIN nach $ENCOUT ..."
iconv -f $ENCIN -t $ENCOUT $@ > $OUT
}

Gebrauch: conv2utf8 Textdatei.txt.
Das Resultat ist anschließend in Textdatei_utf8.txt zu finden.

Viel Spaß damit!

Jun
28
2010
0

Hur(r)a – ein Parkkünstler!

Dies ist ein Beispiel aus dem Buch “Die Kunst des Parkens II”, welches ab sofort im Viehweg Verlag erhältlich ist ;-)

So kann man parken - muss man aber nicht.

Gut, dass durch den Künstler keine “Schäden durch Anprall von Fahrzeugen” verursacht worden sind – sonst hätte die Hausrat herhalten müssen ;-)

Written by Hensing in: bissig,Dinge, die keiner braucht,Frohlocket! |

Powered by WordPress | Aeros Theme | TheBuckmaker.com | Original background by Dino Abatzidis | modified by H.Dickten