MikTeX Package Manager (mpm) unter Linux für LaTeX

Juni 24, 2008 by chr15t0ph

Nun gut. Das Folgende bezieht sich auf die Linux-Distribution “openSUSE
10.3″, gilt aber weitgehend für beliebige Distributionen:

1. MikTeX-Source-Code besorgen:
——————————-

==> http://www.miktex.org/SourceCode.aspx

wget http://kent.dl.sourceforge.net/sourceforge/miktex/miktex-2.7.2960.tar.bz2

(ggf. feststellen, ob es eine neuere Version gibt)

2. Einige nötige rpm-Pakete installieren:
—————————————–

libidn-devel libcurl-devel libopenssl-devel
zlib-devel libmspack cmake lynx

(C-Compiler, make usw. bereits vorausgesetzt)

3. Quellen kompilieren:
———————–

tar jxvf miktex-2.7.2960.tar.bz2
cd miktex-2.7.2960/
cmake -G “Unix Makefiles”
make
make install
gzip /usr/local/share/man/man1/*.1
ldconfig
cd ..
rm -r miktex-2.7.2960

4. MANPATH ergänzen:
——————–

echo “export MANPATH=/usr/local/share/man:\$MANPATH” > \
/etc/profile.d/miktex.sh

5. Anwendung:
————-

5.1 Anlegen einer lokalen MikTeX-Datenbank:

initexmf -u

5.2 Anfrage nach den auf den Servern verfügbaren updates

mpm –update-db –verbose
mpm –list

5.3 Ausgewähltes Paket installieren bzw. erneuern

mpm –install=pstricks –verbose
texhash

Anm.: Die Dateien werden, wenn nicht anders angegeben, nach $TEXMFLOCAL
installiert. Danach ist der MikTeX-Datenbank bekannt, dass zu “pstricks”
gehörige Dateien existieren und dann wird ein späteres

mpm –update=pstricks –verbose
texhash

erfolgreich sein. Ein einfacher/sparsamer Weg, wie man die Existenz der
in TeXLive grundsätzlich vorhandenen Dateien der MikTeX-Datenbank
bekannt machen kann, kenne ich nicht. Denkbar wäre:

mpm –list > miktex.list
mpm –update-some=miktex.list

Damit installiert man sich weitgehend alles, was sowieso
schon installiert ist, noch einmal. Es hätte allerdings den Vorzug, dass
von da an

mpm –update

automatisch beliebige Neuheiten installiert. Den Weg werde ich aber
nicht gehen und stattdessen bei Bedarf per “mpm –install=xxx”
ausgewählte Pakete in den update-Mechanismus einfügen, was ja auch schon
ein Vorteil ist.

5.4 Weitere Informationen:

mpm –help
man mpm
==>
http://staff.ee.sun.ac.za/pjrandewijk/wiki/index.php/M%28iKTeX%29_P%28ackage%29_M%28anager%29_for_Unix-alikes

Mit proxy-Servern kommt “mpm” offenbar nicht zurecht, obwohl es laut
Beschreibung funktionieren sollte. Abgesehen davon habe ich das Gefühl,
dass “mpm” ganz gut brauchbar ist, solange es keine auf TeXLive
angepasste Lösung gibt, was sich aber für “TeXLive 2008″ andeutet.

Kritiken und sonstige Kommentare sind willkommen.

– Rolf Niepraschk (http://www.ureader.de/msg/136217368.aspx)

Wegbeschreibung: Hirsch / Nürnberg

Juni 4, 2008 by chr15t0ph

- Hinweg:
Straßenbahn 4: Hallertor -> Gibitzenhof
(hh:17, hh:37, hh:57 : von hh=[17;23])
(hh:17, hh:34, hh:55 : von hh=[24])

- Rückweg:
N6: Vogelweiherstr. -> Hauptbahnhof
(hh:42 : von hh=[01;04])

How to be Popular in High School

April 23, 2008 by chr15t0ph

An interesting article “How to be Popular in High School” from TSB - The Seduction Bible.

Me envisioning closures in Scheme

April 23, 2008 by chr15t0ph

Closure (computer science): an abstraction binding a function to its scope.

Keywords: scope, binding of name to location or value, enclosed variable, mutating existing bindings

(define (factory1a) (let ((myBound 5)) (lambda (x) (set! myBound (+ myBound x)) myBound) ))
(define (factory1b) ((lambda (myBound) (lambda (x) (set! myBound (+ myBound x)) myBound) ) 5) )
(define closure1a (factory1a))
(define closure1b (factory1b))
(define closure2 (factory1a))
(print “comp.lang.functional: Closures are a big deal in a non-pure functional language, because mutable closed-over lexical variables can model an encapsulated mutable state. That’s how Scheme has started.”)
(newline)
(closure1a 0) ; => 5
(closure1b 0) ; => 5
(closure2 0) ; => 5
(closure1a 1) ; => 6
(closure1b 1) ; => 6
(closure2 1 8) ; => 23
(closure1a 2) ; => 8
(closure1b 2) ; => 8
(closure2 19) ; => 42

(define (factory2) (let ((myBound 0)) (lambda (x) (/ x myBound)) )) ; if evaluated it will always result in a division-by-zero error
(define closuresAreFirstOfAllLazyAndSetBangDoesNotMatter (factory2))
(print “closure is executed”)
(newline)

(closure1a 0) ; => still 8 (”myBound” of factory2 is not the same as of factory1 and its derived closures)
(closure2 0) ; => still 42
(closuresAreFirstOfAllLazyAndSetBangDoesNotMatter 23) ; => division-by-zero error

How to Think Before Speaking

April 23, 2008 by chr15t0ph

Ein weiser Artikel zum Thema “How to Think Before Speaking“.

Apache Konfiguration: ssl, webdav, htaccess, Subversion

April 14, 2008 by chr15t0ph

Klassische Beispiele der Softwarezuverlässigkeit

April 10, 2008 by chr15t0ph

Subversion (SVN) unter Windows per Apache und WebDAV einrichten

April 6, 2008 by chr15t0ph

Synching Outlook, Google Calendar, Gmail

April 3, 2008 by chr15t0ph

for free: WiKis

April 2, 2008 by chr15t0ph

Web 2.0 WiKis:
http://www.wikidot.com/

for free: Web 2.0 Office Applications

April 2, 2008 by chr15t0ph

Database for Web 2.0 Office Applications:
http://www.o20db.com/

for free: Meetings Scheduler

April 2, 2008 by chr15t0ph

Web 2.0 Scheduler for arranging meetings:
http://www.diarised.com/

for free: Time Tracker

April 2, 2008 by chr15t0ph

Web 2.0 Time Tracker:
http://www.tiktrac.com/

Kleine wget Kommandos zum runterladen von Uni-Skripten

April 2, 2008 by chr15t0ph

# Webpage
wget -e robots=off -N -nd –http-user=<ID> –http-passwd=<PW> -E -k -p <URL>

# Directly linked content files:
wget -e robots=off -N -nd –http-user=<ID> –http-passwd=<PW> -E -r –level=1 -k -A pdf pps -R htm html -np <URL>

Contra: Webpage does not locally reference the content files

Alternative:
leechget.net: “File” » “WebParser”

Selbstständigkeit (die Flamme am Leben halten)

März 20, 2008 by chr15t0ph

Das inspirierendes Video eines Vortrags des Schweizers Ralf Dobelli, dem Mit/Gründer von www.getabstract.de, über unternehmerische Selbstständigkeit und den Weg dorthin:
http://www.streamachine.net/startglobal/start/8_dobelli/high/