PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stranger Fehler mit LaTeX Beamer & PSTricks



einheitlix
07-10-2009, 14:08
Hallo Leute,

ich benutze LaTeX Beamer um einen Vortrag zusammenzustellen, in dem ich auch PSTricks benutze.

Zu Hause kompiliert meine LaTeX Datei wunderbar, aber am Lehrstuhl kommt ein sehr komischer Fehler. Ich habe das auf folgendes Minimalbeispiel reduziert:



\documentclass{beamer}

\usepackage{pstricks,pst-node,pst-pdf}

\begin{document}

\begin{frame}
\begin{psmatrix}
Hallo
&
World
\end{psmatrix}
\end{frame}

\end{document}


Das ganze kompiliere ich dann mit:

latex test.tex
dvips -o test-pics.ps test.dvi
ps2pdf test-pics.ps
pdflatex test.tex

Das rührt daher, dass einerseits LaTeX Beamer nur mit pdflatex funktioniert, andererseits PSTricks aber mit letzterem seine Probleme hat, die man mittels Einbinden des packages pst-pdf und obiger Befehlssequenz dann wieder hinbiegen kann.

Obiges Beispiel funktioniert bei mir zu Hause.

Am Lehrstuhl kommt folgender Fehler beim Ausführen des letzten Befehls, also pdflatex (die drei ersten Befehle laufen auch durch):


! Misplaced alignment tab character &.
\beamer@doifinframe ...e}\begin {psmatrix} Hallo &
World \end {psmatrix} \en...
l.13 \end{frame}


Versionen:

zu Hause:
pstricks.sty: v1.29, 2009/05/19
pst-node.sty: v1.01, 2008/11/26
pst-pdf.sty: v1.1, 2008/10/09

am Lehrstuhl:
pstricks.sty: v1.15, 2006/12/22
pst-node.sty: v97 patch 11, 2000/11/09
pst-pdf.sty: v1.1o, 2006/08/31

Da ich am Lehrstuhl keine root-Rechte habe, kann ich jetzt hier auch keine neueren Versionen testen. Es wäre aber von Vorteil, wenn es hier auch funktionieren würde... ;) Wisst ihr, was da schiefläuft, und wie man das beheben könnte?

voss
07-10-2009, 15:05
Am Lehrstuhl kommt folgender Fehler beim Ausführen des letzten Befehls, also pdflatex (die drei ersten Befehle laufen auch durch):


! Misplaced alignment tab character &.
\beamer@doifinframe ...e}\begin {psmatrix} Hallo &
World \end {psmatrix} \en...
l.13 \end{frame}


Versionen:

zu Hause:
pstricks.sty: v1.29, 2009/05/19
pst-node.sty: v1.01, 2008/11/26
pst-pdf.sty: v1.1, 2008/10/09

am Lehrstuhl:
pstricks.sty: v1.15, 2006/12/22
pst-node.sty: v97 patch 11, 2000/11/09
pst-pdf.sty: v1.1o, 2006/08/31

Da ich am Lehrstuhl keine root-Rechte habe, kann ich jetzt hier auch keine neueren Versionen testen. Es wäre aber von Vorteil, wenn es hier auch funktionieren würde... ;) Wisst ihr, was da schiefläuft, und wie man das beheben könnte?

das Problem dürfte beamer sein, wahrschienlich auch eine Uraltversion. Du kannst zum testen alle Dateien in ein Unterverzeichnis von texmf vom Dokument packen. Dann export TEXMFHOME=texmf und dann holt TeX alle Dateien, die sich in diesem Verzeichnis befinden vor allen anderen.

Wieso machst du eigentlich pdflatex bei beamer. Mach einfach
latex test.tex
dvips test.dvi
ps2pdf test.ps

und fertig. bzw. ein Klick bei kile und Konsorten.

Herbert

einheitlix
02-11-2009, 18:58
Hallo!

Eine etwas verspätete Antwort... ich hatte das Problem nicht weiter verfolgt, da ich dann einfach an einem anderen Rechner gearbeitet habe, wo neue Versionen installiert waren.

An beamer liegt es nicht, das ist keine Uralt-Version; die beamer.cls ist version 3.07, auf allen Rechnern auf denen ich arbeite. Daran liegt es also nicht. Es liegt tatsächlich an den Uralt-Versionen der pstricks, pst-node und pst-pdf, und die einfachste Lösung ist, sich davon neue Versionen manuell zu ziehen.

Das mit dem eigenen texmf/ Baum hat nicht so gut funktioniert. Wenn ich versuche, den kompletten texmf/ Verzeichnisbaum einer anderen Distribution zu übernehmen, und diesen mittels exporten der TEXMF Variable benutze, kommen ganz wilde Fehler über .so Dateien, die nicht gefunden werden und so, das sieht ungesund aus... ich will ja auch nur die neuen Versionen der pst* Pakete, und nicht gleich einen komplett eigenen TEXMF Baum verwalten :)

Ich habe mir das Problem nochmal angeguckt, weil ich schon wieder ein Problem durch diese veralteten pst* Versionen in Ubuntu bekommen habe, siehe:
http://www.mrunix.de/forums/showthread.php?p=303083

Die einfachste Lösung ist erstmal die neuesten pstricks und pst-node packages zu installieren, genau wie im anderen Thread beschrieben:


# erstmal ein $HOME/texmf/ erstellen, dass bei Ubuntu defaultmaessig
# beim kompilieren von (La)TeX Dateien durchsucht wird
mkdir $HOME/texmf
cd $HOME/texmf

# nun laden wir das neueste pstricks mit allem, was dazu gehoert, und entpacken es;
# siehe http://www.tug.org/PSTricks/main.cgi?file=packages
wget http://www.ctan.org/pub/tex-archive/graphics/pstricks/base.zip
unzip base.zip

# schliesslich muessen die richtigen dateien an die richtigen stellen
mv base/{doc,dvips,README} .
mkdir tex
mv base/{generic,latex} tex/

# dann noch aufraumen
rm -r base base.zip


Hier brauche ich dann aber zusätzlich noch das neueste pst-pdf, sonst tritt der Fehler immer noch auf. Das geht dann so:


# ins verzeichnis wechseln, wo wir pst-pdf installieren wollen
cd $HOME/texmf/tex/latex

# ziehen und entpacken der neuesten version
wget http://www.ctan.org/pub/tex-archive/graphics/pstricks/contrib/pst-pdf.zip
unzip pst-pdf.zip

# generieren der nötigen Dateien
cd pst-pdf/
make


Dann geht's ;)

Danke nochmal für die Tipps!

Malte