Miktex und Texlive unter Linux

Ebuild für MiKTeX Tools:

dev-tex/miktex-tools/miktex-tools-2.8_beta2.ebuild

EAPI=1

inherit cmake-utils

DESCRIPTION=“Miktex Tools for Unix“

MY_P=“miktex-2.8-beta-2″
S=“${WORKDIR}/${MY_P}“

HOMEPAGE=“http://miktex.org/unx/“
SRC_URI=“http://ctan.osmirror.nl/systems/win32/miktex/source/${MY_P}.tar.bz2″

LICENSE=“GPL-2″
SLOT=“0″

KEYWORDS=“~x86 ~amd64″
IUSE=““

COMMON_DEPEND=“x11-libs/qt:4″

RDEPEND=“${COMMON_DEPEND}“

DEPEND=“${COMMON_DEPEND}“

src_unpack() {
unpack ${A}
cd „${S}“
epatch „${FILESDIR}/qvariant.patch“
}

Es ist noch ein Patch notwendig. Erstellt habe ich ihn mittels:

diff -u Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp.bak Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp > qvariant.patch

dev-tex/miktex-tools/files/qvariant.patch (Funktioniert so nicht, es müssen die Leerzeichen an den Zeilenanfängen durch Tabs ersetzt werden)

— Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp.bak 2008-09-09 15:40:42.000000000 +0200
+++ Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp 2009-03-23 14:02:02.000000000 +0100
@@ -97,7 +97,7 @@
true)
.c_str());
case 2:
– return (packageInfo.GetSize());
+ return (uint)(packageInfo.GetSize());
case 3:
return (QDateTime::fromTime_t(packageInfo.timePackaged).date());
case 4:

miktex-tools kann nun installiert werden (vorher sollte noch mpm (alte Version) deinstalliert werden):

emerge –unmerge dev-tex/mpm

MAKEOPTS=“-j1″ emerge miktex-tools

Das -j1 ist wichtig, da paralleles Make hier nicht funktioniert.
Anschließend speichert mpm die Latex-Pakete als normaler Benutzer in dem Verzeichnis ~/miktex-texmf ab.
Damit TeXLive sie auch findet, kann man einfach

rm ~/texmf
ln -s ~/miktex-texmf ~/texmf

ausführen. Pakete, die vom Miktex Packet Manager (z.B. mittels mpm_qt) installiert werden, werden nun (nach evtl erst nach texhash) auch von TexLive gefunden.

Pfade anzeigen lassen:
kpsewhich -expand-path „\$TEXMFHOME“
kpsewhich -show-path=tex

Konfigurationsdatei für texlive:
/etc/texmf/web2c/texmf.cnf