PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \sidewaystable und horizontale linien



tini
20-03-2007, 09:33
hallo,

ich habe eine ziemlich große tabllle, welche ich mit \sidewaystable um 90° gedreht habe. leider zeichnet er mir die horizontalen linien der tabelle jetzt nur noch bis zur mitte.

es handelt sich hierbei um einen artikel (documentclass wurde von der zeitschrift bereitgestellt), welcher im begutachtungsprozess einspaltig und im endzustand zweispaltig ist.

im normalfall kann ich latex sagen, dass eine tabelle über eine \begin{table} oder über beide spalten \begin{table*} gehen soll und er zeichnet mir die horizontalen linien dementsprechend. gibt es für sidewaystable auch sowas?

grüße...tini

localghost
21-03-2007, 08:39
Poste doch mal den Code, der die Tabelle erzeugt, in einem Minimalbeispiel (http://www.latex-einfuehrung.de/mini.html). Dann bekommt man eine Vorstellung von dem Problem und kann es auch besser nachvollziehen. Natürlich sollte dein Beispiel den Fehler auch reproduzieren.

tini
21-03-2007, 12:35
hier das beispiel:

\documentclass[review]{igs}
\usepackage{natbib}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{epsfig}
\usepackage{times}
\usepackage{rotating,subfigure}
\usepackage{fancyhdr,pictex}
\usepackage{mathpazo}
\usepackage[OT1,T1]{fontenc}
\usepackage{hyperref}
%\usepackage{latexsym}
%\usepackage{tocbibind}
%\usepackage{tabulary}
\usepackage{longtable}
\usepackage{float}
\clubpenalty=10000 \widowpenalty=10000 \displaywidowpenalty=10000
\tolerance=5000

\begin{document}

\begin{sidewaystable}
\caption{Listing of combined strain.}
\begin{tabular}[H!]{llllllllllll}
\hline
\textbf{strain triangle} & \textbf{combined}]} & \textbf{x} & \textbf{x} & \textbf{y} & \textbf{y} & \textbf{z} & \textbf{z} & \textbf{max} & \textbf{degree} & \textbf{min} & \textbf{degree}\\
\hline
2 & -4.32$\times$10\textsuperscript{-5} & 9.60$\times$10\textsuperscript{-7} & 3.54$\times$10\textsuperscript{-5} & -5.18$\times$10\textsuperscript{-5} & 2.80$\times$10\textsuperscript{-5} & 5.09$\times$10\textsuperscript{-5} & 4.51$\times$10\textsuperscript{-5} & -7.61$\times$10\textsuperscript{-5} & 60.71 & 2.52$\times$10\textsuperscript{-5} & 150.71\\
3 & -1.15$\times$10\textsuperscript{-4} & 2.94$\times$10\textsuperscript{-5} & 1.66$\times$10\textsuperscript{-4} & -3.07$\times$10\textsuperscript{-5} & 2.08$\times$10\textsuperscript{-5} & 1.31$\times$10\textsuperscript{-6} & 1.67$\times$10\textsuperscript{-4} & -1.20$\times$10\textsuperscript{-4} & 52.32 & 1.18$\times$10\textsuperscript{-4} & 142.32\\
\hline \label{tab:straintriangle}
\end{tabular}
\end{sidewaystable}

\end{document}

hoffe ist nicht verwirrend.

grüße...tini

countbela666
21-03-2007, 15:46
Hallo tini,

wenn ich einige (umfangreiche) Änderungen an deinem Beispiel vornehme, kann ich dein Problem nicht nachvollziehen:

\documentclass[review]{article} % die Klasse igs habe ich nicht
\usepackage{natbib}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{textcomp}
%\usepackage{epsfig} % grusel: uralt, ist nur ein Wrapper für graphicx (s. l2tabu)
%\usepackage{times} % times UND mathpazo ist Humbug
\usepackage{rotating,subfig} % subfigure ist veraltet
\usepackage{fancyhdr,pictex}
\usepackage{mathpazo} % s. o., außerdem muss dann noch eine entsprechende
\usepackage[scaled=.95]{helvet} % Serifenlose korrekt skaliert und eine Äquidistanzschrift
\usepackage{courier} % eingebunden werden; hier Helvetica und Courier (s. l2tabu)
\usepackage[OT1,T1]{fontenc}
%\usepackage{hyperref}
%\usepackage{latexsym}
%\usepackage{tocbibind}
%\usepackage{tabulary}
\usepackage{longtable}
\usepackage{float}
\usepackage{hyperref} % hyperref immer als letztes Paket laden, speziell wenn float im Spiel ist
\clubpenalty=10000 \widowpenalty=10000 \displaywidowpenalty=10000
\tolerance=5000

\begin{document}

\begin{sidewaystable}
\caption{Listing of combined strain.}
\begin{tabular}{H!}{llllllllllll} % [H!] hat nichts hinter tabular zu suchen
\hline
\textbf{strain triangle} & \textbf{combined}]} & \textbf{x} & \textbf{x} & \textbf{y} & \textbf{y} & \textbf{z} & \textbf{z} & \textbf{max} & \textbf{degree} & \textbf{min} & \textbf{degree}\\ % schließende eckige und geschweifte Klammern weg
\hline
2 & -4.32$\times$10\textsuperscript{-5} & 9.60$\times$10\textsuperscript{-7} & 3.54$\times$10\textsuperscript{-5} & -5.18$\times$10\textsuperscript{-5} & 2.80$\times$10\textsuperscript{-5} & 5.09$\times$10\textsuperscript{-5} & 4.51$\times$10\textsuperscript{-5} & -7.61$\times$10\textsuperscript{-5} & 60.71 & 2.52$\times$10\textsuperscript{-5} & 150.71\\
3 & -1.15$\times$10\textsuperscript{-4} & 2.94$\times$10\textsuperscript{-5} & 1.66$\times$10\textsuperscript{-4} & -3.07$\times$10\textsuperscript{-5} & 2.08$\times$10\textsuperscript{-5} & 1.31$\times$10\textsuperscript{-6} & 1.67$\times$10\textsuperscript{-4} & -1.20$\times$10\textsuperscript{-4} & 52.32 & 1.18$\times$10\textsuperscript{-4} & 142.32\\
\hline \label{tab:straintriangle}
\end{tabular}
\end{sidewaystable}

\end{document}Grüße
Marcel

sommerfee
21-03-2007, 15:53
Hallo tini,

Tritt das Problem auch bei dir auf, wenn du "article" statt "igs" benutzt?

Bei mir tritt es mit "article" als Dokumentenklasse nämlich nicht auf, und "igs" habe ich nicht hier.

Sollte es an "igs" liegen, wäre eine Bezugsquelle nett, um das Problem näher untersuchen zu können. Eine Brutal-Idee hätte ich allerdings jetzt schon:

"rotating" durch "rotfloat" ersetzen und unter das "\usepackage{float}" ein "\restylefloat{table}" einfügen. Dann wird die Fließumgebung von dem float-Paket gesetzt (und "rotfloat" ist ein "rotating", was sich mit dem float-Paket verträgt), das könnte das Problem mit der igs-Klasse eventuell umgehen. (Vorausgesetzt natürlich, es liegt überhaupt daran.)

Liebe Grüße,
Axel

tini
26-03-2007, 08:23
moin...

an marcel: die usepackages sind alle vorgaben von der zeitschrift und igs....ist die documentclass, die ich verwenden muss, wenn ich da veröffentlichen will. also...kommt keine andere in frage. ich habe keine ahnung was ein wrapper ist... :o)....

an axel: wie schon an marcel geschrieben...ich MUSS diesen stil nehmen...deshalb kann ich dir leider nicht sagen, ob bei mir ein anderer funktioniert. den rest werde ich mal ausprobieren. ansonsten gibt es eine noch brutalere idee....tabelle ändern ;o).

danke euch schon mal....

grüße tini

sommerfee
26-03-2007, 08:30
an axel: wie schon an marcel geschrieben...ich MUSS diesen stil nehmen...

Innerer Zwang quasi? ;)

Nein, mal im Ernst: Probiere doch bitte trotzdem mal kurz eine andere Dokumentenklasse aus und berichte, ob es dann immer noch diesen Fehler bei dir gibt oder nicht. Es geht ja nur um das Ausprobieren und Berichten, damit wir dem Problem weiter auf die Schliche kommen, das ist alles. Irgendwie muß man ja einkreisen, woran es liegt und wenn es ohne igs geht, wissen wir immerhin mit Sicherheit, daß es an igs liegt. (bzw. wenn nicht an was anderem)

Bezugsquelle von igs?

Liebe Grüße,
Axel

countbela666
26-03-2007, 10:05
die usepackages sind alle vorgaben von der zeitschrift und igs....ist die documentclass, die ich verwenden muss, wenn ich da veröffentlichen will. also...kommt keine andere in frage. ich habe keine ahnung was ein wrapper ist... :o)....Die eingebundenen Pakete kannst du meinetwegen lassen wie sie sind, ich wollte dich nur darauf hinweisen, dass sich in dieser Paketliste viele Widersprüche und veraltete Ansichten befinden. Nur das Verschieben von hyperref ans Ende der Liste würde ich dir dringend ans Herz legen, da du ansonsten wirklich Probleme bekommst -- z. B. mit dem ebenfalls eingebundenen float-Paket.

Außerdem hast du dich gar nicht zu meinem eigentlichen Lösungsvorschlag (Entfernen der rot markierten Zeichen in der Tabelle) geäußert. Mit diesen Zeichen gibt's nämlich definitiv Fehler wegen nicht balancierter Klammern.

Grüße
Marcel

tini
26-03-2007, 10:33
hallo ihr beiden,

an axel: könnte man sagen, dass es ein innerer zwang ist...vielleicht aber doch ehr ein äußerer :o)....den style findet du http://www.igsoc.org/production/ ....denke aber, das er doch sehr speziell ist und sonst nicht gebraucht werden kann...

an marcel: sorry...hatte vergessen dazu was zu schreiben. das [H!] habe ich gelöscht, und die ] zuviel war nur ein produkt meiner löschkunst, weil ich euch nicht die komplette überschrift zumuten wollte.

an beide: ich werde es noch mit einer anderen documentcalss laufen lassen...gebt mir nur 2 tage (vielleicht schaffe ich es auch noch heute)...der artikel ist dringend und wir haben eine andere lösung bisher gefunden, entscheidung und format an die layoutbeauftragten abgeben :o)...aber ich teste das noch und melde mich dann...

grüße,
tini

Salnic
26-03-2007, 10:53
Hi Axel,

> Bezugsquelle von igs?
International Glaciological Society
http://www.igsoc.org/production/

es scheint wirklich am igs zu liegen.

Salnic

sommerfee
26-03-2007, 11:26
Hallo tini,



den style findet du http://www.igsoc.org/production/ ....denke aber, das er doch sehr speziell ist und sonst nicht gebraucht werden kann...

Um dein Problem zu finden ist er aber schon ganz gut zu gebrauchen ;)

Ich habe mal kurz reingeschaut und es auch gefunden:

igs.cls definiert innerhalb von Tabellen (tabular) \hline um, und zwar so, daß eine feste Länge von 86mm gesetzt wird. Dies läßt sich normalerweise innerhalb von igs.cls umgehen, indem "table*" anstelle von "table" verwendet wird, dann wird \textwidth anstelle von 86mm verwendet.

ABER: "table*" ist leider innerhalb von igs.cls etwas unglücklich definiert, so daß das rotating-Paket dort nicht korrekt aufsetzt. (Und "table" ist ebenfalls unglücklich definiert, so daß das optionale Argument der Umgebung nicht mehr funktioniert. Und überhaupt ist es schade, daß igs.cls nicht auf article.cls aufsetzt, sondern stattdessen ein umgebasteltes article.cls ist. Aber ich schweife ab...)

Zur Lösung:
Man könnte innerhalb der sidewaystable der igs-Klasse vorgaukeln, es sei "table*" verwendet worden. Bei der Gelegenheit könnte man auch korrigieren, daß bei "sidewaystable" die Erweiterung von igs/table nicht greift, indem man noch ein \fstyle@table (welches diese Erweiterung beinhaltet) einbaut, also etwa so:


\begin{sidewaystable}
\makeatletter\@tablestartrue\fstyle@table\makeatot her
...

Wirklich nicht hübsch, aber sollte klappen. Eine bessere, elegantere Lösung fällt mir so spontan nicht ein, außer man zieht die Definitionen von "table", "table*" und "tabular" der igs-Klasse gerade...

Liebe Grüße,
Axel

sommerfee
26-03-2007, 14:38
Noch eine Anmerkung hierzu:





\usepackage{rotating,subfig} % subfigure ist veraltet

Ich würde subfig in diesem Falle unbedingt so einbinden:


\usepackage[caption=false]{subfig}

Denn ansonsten wird die Anpassung an den captions, die die igs-Klasse vornimmt, von dem caption-Paket "übergebügelt".

Liebe Grüße,
Axel