PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sehr merkwürdiges Problem mit PSTricks (auto-pst-pdf) und Tabellen



ooze
24-01-2011, 22:42
Hallo,
ich habe ein sehr merkwürdiges Problem im Zusammenhang von PSTricks und Tabellen. Und zwar verwende ich das Paket auto-pst-pdf. Nach einer bestimmten Tabelle in meinem Dokument werden keine Bilder mehr angezeigt. Die Bilder tauchen auch nicht im von auto-pst-pdf erzeugten [dokument]-pics.pdf auf.

Das komische ist, das Problem taucht, soviel hab ich schon herausgefunden, erst ab der Anzahl von 13 Zeilen in der Tabelle auf, bei 12 Zeilen funktioniert alles.

Erläuterung zum Minimalbeispiel:
Die Ausgabe sollte so aussehen:
http://i.imgur.com/VJEGa.jpg

Wenn man aber nun 13 Zeilen in der Tabelle hat, dann erscheint das Bild (das Kreuz) unter der Tabelle nicht mehr.

Ich habe im Minimalbeispiel eine Zeile, die man ein/auskommentieren muss um das Problem nachzuvollziehen zu können, mit einem Kommentar markiert.

Eine weitere Besonderheit ist wohl das Paket ltablex (http://www.ctan.org/tex-archive/macros/latex/contrib/ltablex/), welches nicht Bestandteil von TeXlive 2010 ist. Ich brauche dieses Paket aber unbedingt, da die Tabellen im Originaldokument sehr viel umfangreicher sind und sich über mehrere Seiten erstrecken. Das PSTricks Bild habe ich in Inkscape erstellt und und als PSTricks exportiert, das sollte allerdings keine Rolle spielen.

Hier das Minimalbeispiel:


\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{ltablex}
\usepackage[on]{auto-pst-pdf}

\begin{document}
%================================================= ==========
%==========================PSPICTURE============== ==========
%================================================= ==========
\begin{figure}[htbp]

\psset{xunit=.5pt,yunit=.5pt,runit=.5pt}
\begin{pspicture}(744.09448242,1052.36218262)
{
\newrgbcolor{curcolor}{0 0 0}
\pscustom[linewidth=1,linecolor=curcolor]
{
\newpath
\moveto(89.29128,1009.75139162)
\lineto(131.0872,988.85343262)
}
}
{
\newrgbcolor{curcolor}{0 0 0}
\pscustom[linewidth=1,linecolor=curcolor]
{
\newpath
\moveto(129.18738,1017.35064962)
\lineto(97.840445,986.95361762)
}
}
\end{pspicture}
\end{figure}
%================================================= ==========
%=============ENDE=========PSPICTURE============== ==========
%================================================= ==========

\begin{tabularx}{\textwidth}
{
>{\setlength{\hsize}{0.5\hsize}\centering\arrayback slash}X%
>{\setlength{\hsize}{2.1\hsize}\raggedright\arrayba ckslash}X%
>{\setlength{\hsize}{0.9\hsize}\raggedleft\arraybac kslash}X%
>{\setlength{\hsize}{0.9\hsize}\raggedleft\arraybac kslash}X%
>{\setlength{\hsize}{0.9\hsize}\raggedleft\arraybac kslash}X%
>{\setlength{\hsize}{0.9\hsize}\raggedleft\arraybac kslash}X%
>{\setlength{\hsize}{0.9\hsize}\raggedleft\arraybac kslash}X%
>{\setlength{\hsize}{0.9\hsize}\raggedleft\arraybac kslash}X%
}
\caption{Hallo ich bin eine Caption la}\\
\label{tab:tabelle_transformierte_groessen1}\\
\hline
Nr. & Transformation & $\tilde{a}_{11}$ & $\tilde{a}_{22}$ & $\tilde{a}_{33}$ & $\tilde{a}_{23}$ & $\tilde{a}_{31}$ & $\tilde{a}_{12}$\\
\hline
\hline
\endfirsthead

\multicolumn{8}{c}{{\small\textsf{Tabelle \ref{tab:tabelle_transformierte_groessen1}: Fortsetzung}}}\\
\hline
Nr. & Transformation & $\tilde{a}_{11}$ & $\tilde{a}_{22}$ & $\tilde{a}_{33}$ & $\tilde{a}_{23}$ & $\tilde{a}_{31}$ & $\tilde{a}_{12}$\\
\hline
\hline
\endhead

\hline
\multicolumn{8}{c}{\textsf{\small Fortsetzung auf der nächsten Seite}}\\
\endfoot

\hline
\endlastfoot

%Zeile 1 ein/auskommentieren!
%1 & $I,C$ & $a_{11}$ & $a_{22}$ & $a_{33}$ & $a_{23}$ & $a_{31}$ & $a_{12}$\\
2 & $R_1,D_1$ & $a_{11}$ & $a_{22}$ & $a_{33}$ & $a_{23}$ & $-a_{31}$ & $-a_{12}$\\
3 & $R_2,D_2$ & $a_{11}$ & $a_{22}$ & $a_{33}$ & $-a_{23}$ & $a_{31}$ & $-a_{12}$\\
4 & $R_3,D_3$ & $a_{11}$ & $a_{22}$ & $a_{33}$ & $-a_{23}$ & $-a_{31}$ & $a_{12}$\\
5 & $T_1,CT_1$ & $a_{11}$ & $a_{33}$ & $a_{22}$ & $a_{23}$ & $a_{12}$ & $a_{31}$\\
6 & $R_1T_1,D_1T_1$ & $a_{11}$ & $a_{33}$ & $a_{22}$ & $a_{23}$ & $-a_{32}$ & $-a_{31}$\\
7 & $R_2T_1,D_2T_1$ & $a_{11}$ & $a_{33}$ & $a_{22}$ & $-a_{23}$ & $a_{12}$ & $-a_{31}$\\
8 & $R_3T_1,D_3T_1$ & $a_{11}$ & $a_{33}$ & $a_{22}$ & $-a_{23}$ & $-a_{12}$ & $a_{31}$\\
9 & $T_2,CT_2$ & $a_{33}$ & $a_{22}$ & $a_{11}$ & $a_{12}$ & $a_{31}$ & $a_{23}$\\
10 & $R_1T_2,D_1T_2$ & $a_{33}$ & $a_{22}$ & $a_{11}$ & $a_{12}$ & $-a_{31}$ & $-a_{23}$\\
11 & $R_2T_2,D_2T_2$ & $a_{33}$ & $a_{22}$ & $a_{11}$ & $-a_{12}$ & $a_{31}$ & $-a_{23}$\\
12 & $R_3T_2,D_3T_2$ & $a_{33}$ & $a_{22}$ & $a_{11}$ & $-a_{12}$ & $-a_{31}$ & $a_{23}$\\
13 & $R_3T_2,D_3T_2$ & $a_{33}$ & $a_{22}$ & $a_{11}$ & $-a_{12}$ & $-a_{31}$ & $a_{23}$\\
\end{tabularx}

%================================================= ==========
%==========================PSPICTURE============== ==========
%================================================= ==========
\begin{figure}[htbp]

\psset{xunit=.5pt,yunit=.5pt,runit=.5pt}
\begin{pspicture}(744.09448242,1052.36218262)
{
\newrgbcolor{curcolor}{0 0 0}
\pscustom[linewidth=1,linecolor=curcolor]
{
\newpath
\moveto(89.29128,1009.75139162)
\lineto(131.0872,988.85343262)
}
}
{
\newrgbcolor{curcolor}{0 0 0}
\pscustom[linewidth=1,linecolor=curcolor]
{
\newpath
\moveto(129.18738,1017.35064962)
\lineto(97.840445,986.95361762)
}
}
\end{pspicture}
\end{figure}
%================================================= ==========
%=============ENDE=========PSPICTURE============== ==========
%================================================= ==========

\end{document}


Ich freue mich über jeden Hinweis, da ich ansonsten dazu gezwungen würde alle bilder die nach den Tabellen kommen per \includegraphics einzubinden, das Ergebnis sieht dann leider sehr viel schlechter aus als mit PSTricks.

Grüße,
ooze

voss
25-01-2011, 09:03
Ich freue mich über jeden Hinweis, da ich ansonsten dazu gezwungen würde alle bilder die nach den Tabellen kommen per \includegraphics einzubinden, das Ergebnis sieht dann leider sehr viel schlechter aus als mit PSTricks.


Ein Problem mit ltablex. Wieso benutzt du denn hier nicht eine normale longtable?

Herbert

ooze
25-01-2011, 10:33
Ein Problem mit ltablex. Wieso benutzt du denn hier nicht eine normale longtable?

Herbert

Hallo Herbert,
ehrlich gesagt ist es schon eine Weile her, dass ich die Tabellen erstellt habe. Ich glaube der Grund ist, dass man mit longtable zwar Tabellen erreichen kann welche sich über mehrere Seiten erstrecken, aber bei der Spaltenbreite recht unflexibel ist. Mit ltablex kann man die Spaltenbreite dynamisch, abhängig z.B. von \textwidth als Tabellenbreite, bekommen UND muss nicht auf mehrere Seiten lange Tabellen verzichten. Und wer möchte seine Tabellen nicht gerne exakt so breit wie \textwidth haben?

Es war ein ziemliches Herumgefummel das so hinzukriegen und rückwirkend würde ich mir das auch nochmal überlegen es nochmal so zu machen.

Ok, also d.h. es gibt keine "schöne" Lösung für das Problem?

Dann muss ich wohl in den sauren Apfel beißen und für jedes Bild, welches nach meinen Tabellen kommt ein eigenes .tex file anlegen, mit auto-pst-pdf das ...-pics.pdf erzeugen und dieses dann mit \includegraphics einbinden. Das Ergebnis im Druck sollte dann ja das Gleiche sein.

Gruß,
ooze

bobmalaria
25-01-2011, 12:43
hi,

du kannst dein glück mit dem relativ neuen paket tabu (http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/tabu.html) versuchen. ich habe es noch nicht versucht aber es scheint viele gute dinge zu vereinen und einiges zu verbessern. einen versuch ist es sicher wert.

gruss

voss
25-01-2011, 13:33
ehrlich gesagt ist es schon eine Weile her, dass ich die Tabellen erstellt habe. Ich glaube der Grund ist, dass man mit longtable zwar Tabellen erreichen kann welche sich über mehrere Seiten erstrecken, aber bei der Spaltenbreite recht unflexibel ist. Mit ltablex kann man die Spaltenbreite dynamisch, abhängig z.B. von \textwidth als Tabellenbreite, bekommen UND muss nicht auf mehrere Seiten lange Tabellen verzichten. Und wer möchte seine Tabellen nicht gerne exakt so breit wie \textwidth haben?


dazu braucht man keine tabularx, zumal i ndeinem Beispiel lediglich eine einzige Spalte mit X versehen sein sollte. Ich selbst benutze lieber longtable, die ich mit

\LTXtable{\linewidth}{blah}

einlese. In der longtable kannst du dann auch den Typ X benutzen. Die
Tabellen selbst habe ich _immer_ in externen Dateien. Man kann sie aber
auch mit

\begin{filecontents*}{tab1.tex}
....
\end{filecontents*}
aus dem Dokument heraus rausschreiben, bevor man sie mit \LTXtable wieder einleist.

Herbert

ooze
25-01-2011, 21:57
Die Vorschläge schaue ich mir bei Gelegenheit mal an, aktuell fehlt mir dazu leider die Zeit, der Abgabetermin rückt näher ;-). Vielen Dank an alle!