PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit \rotatebox: Breite falsch definiert? Überschriften verschieben sich.



VossIC
11-11-2006, 16:58
Hallo zusammen,

ich möchte eine Verbtabelle in Portugiesisch erstellen. Die erste Spalte soll die Namen der Zeitstufen enthalten. Diese sollen um 90° gedreht sein und zentriert in der Spalte stehen. Dahinter erscheinen dann je Zeitstufe 6 Verbformen (dt.: ich trinke, du trinkst usw.) --> Das klappt soweit.

Mein Problem ist:
1.) Der Text ist nicht in der "multirow" zentriert.

2.) Die Namen der Zeitformen verschieben sich immer weiter nach unten.

3.) Der Zeilenumbruch innerhalb der \parbox rückt die zweite Zeile ein.

Was mache ich falsch? :confused:

Wenn möglich, würde ich gerne die Breite der vertikalen boxes anhand der Höhe der jeweils 6 Verb-Spalten definieren. Deren Höhen sind aber nicht einheitlich.

Hier der Code dazu:



\documentclass[pdftex,a4paper]{scrreprt}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel,german=quotes]{csquotes}

\usepackage{array,amsmath,multirow}
\usepackage[dvips]{rotating}

\newcommand{\gbl}[2][6]{
\multirow{#1}{24pt}{
\rotatebox{90}{
\parbox[t]{2,5cm}{
\centering #2}}}}

\begin{document}
\sf

\begin{tabular}{|c|l|l|l|}

\hline
& \textsc{Indicativo} & \textsc{Conjuntivo} & \textsc{Condicional} \\

\hline \hline
\gbl{presente}
& lev-o (è) & lev-e (è) & levar-ia \\
& lev-as (è) & lev-es (è) & levar-ias \\
& lev-a (è) & lev-e (è) & levar-ia \\
& lev-amos & lev-emos & levar-íamos \\
& lev-ais & lev-eis & levar-íeis \\
& lev-am (è) & lev-em (è) & levar-iam \\

\hline
\gbl{préterio\newline imperfeito}
& lev-ava & lev-asse & \\
& lev-avas & lev-asses & lev-a (è) \\
& lev-ava & lev-asse & lev-e (è) \\
& lev-ámos & lev-ássemos & lev-emos (è) \\
& lev-áveis & lev-ásseis & lev-ai \\
& lev-avam & lev-assem & lev-em (è) \\

\hline
\gbl{préterio\newline perfeito}
& lev-ei & & \\
\cline{4-4}
& lev-aste & & não lev-es (è)\\
& lev-ou & & não lev-e (è)\\
& lev-ámos & & não lev-emos \\
& lev-astes & & não lev-eis \\
& lev-aram & & não lev-em (è)\\

\hline
\gbl{préterio mais-\newline que-perfeito}
& lev-ara & & \textsc{Gerúndio} \\
\cline{4-4}
& lev-aras & & lev-ando \\
\cline{4-4}
& lev-ara & & \textsc{Particípio} \\
\cline{4-4}
& lev-áramos & & lev-ado \\
& lev-áreis & & \\
& lev-aram & & \\

\hline
& & & \textsc{Infinitivo} \\
& & & pessoal \\
\cline{4-4}
\gbl{futuro\newline imperfeito}
& levar-ei & levar & levar \\
& levar-ás & levar-es & levar-es \\
& levar-á & levar & levar \\
& levar-emos & levar-mos & levar-mos \\
& levar-eis & levar-des & levar-des \\
& levar-ão & levar-em & levar-em \\
\hline

\end{tabular}

\end{document}


Ich habe recht lange gesucht. Die meisten Probleme ließen sich schon lösen, aber anscheinend ist das Ganze zu komplex für mich, so dass ich bei diesem Problem gar nicht recht wusste, wo ich anfangen soll.

Vielen Dank im Voraus. Ich freue mich auf Eure Antworten. :)

edico
12-11-2006, 08:55
Die Tabelle ist mit vielen Leerzeilen geschrieben, mal unabhängig davon, dass sie fürchterlich unübersichtlich gesetzt ist ... warum die vielen Zwischenräume?
Diese - auf alle Fälle - produzieren Fehler.
Punkt (1) versteh ich noch, die folgenden nicht ...
... die Tabelle 'gleichmässig' aus ...

\documentclass[%pdftex, <<<<<<<<<<<<<<<<<<<< Widerspruch
a4paper]{scrreprt}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{charter,helvet,courier}
\usepackage[babel,german=quotes]{csquotes}

\usepackage{array,amsmath,multirow}
\usepackage%[dvips] <<<<<<<<<<<<<<<<<<<<<<<< Widerspruch
{rotating}

\newcommand{\gbl}[2][6]{%
\multirow{#1}{24pt}{%
\rotatebox{90}{%
\parbox[t]{2,5cm}{%
\centering #2%
}}}}

\begin{document}
\sf

\begin{tabular}{|c|l|l|l|}\hline
& \textsc{Indicativo} & \textsc{Conjuntivo} & \textsc{Condicional}\\\hline\hline
\gbl{presente}
& lev-o () & lev-e () & levar-ia \\
& lev-as () & lev-es () & levar-ias \\
& lev-a () & lev-e () & levar-ia \\
& lev-amos & lev-emos & levar-amos \\
& lev-ais & lev-eis & levar-eis \\
& lev-am () & lev-em () & levar-iam \\\hline
%\gbl{prterio\newline imperfeito}
\gbl{prterio imperfeito}
& lev-ava & lev-asse & \\
& lev-avas & lev-asses & lev-a () \\
& lev-ava & lev-asse & lev-e () \\
& lev-mos & lev-ssemos & lev-emos () \\
& lev-veis & lev-sseis & lev-ai \\
& lev-avam & lev-assem & lev-em () \\\hline
%\gbl{prterio\newline perfeito}
\gbl{prterio perfeito}
& lev-ei & & \\ %\cline{4-4} % ?????
& lev-aste & & no lev-es () \\
& lev-ou & & no lev-e () \\
& lev-mos & & no lev-emos \\
& lev-astes & & no lev-eis \\
& lev-aram & & no lev-em () \\\hline
%\gbl{prterio mais-\newline que-perfeito}
\gbl{prterio mais- que-perfeito}
& lev-ara & & \textsc{Gerndio} \\\cline{4-4}
& lev-aras & & lev-ando \\\cline{4-4}
& lev-ara & & \textsc{Particpio} \\\cline{4-4}
& lev-ramos & & lev-ado \\
& lev-reis & & \\
& lev-aram & & \\\hline
%& & & \textsc{Infinitivo} \\ % ?????
%& & & pessoal \\\cline{4-4} % ?????
%\gbl{futuro\newline imperfeito}
\gbl{futuro imperfeito}
& levar-ei & levar & levar \\
& levar-s & levar-es & levar-es \\
& levar- & levar & levar \\
& levar-emos & levar-mos & levar-mos \\
& levar-eis & levar-des & levar-des \\
& levar-o & levar-em & levar-em \\\hline
\end{tabular}

\end{document}

edico

P.S. habe ich vergessen:
%\sf diese veraltete LaTeX-2.09-Anweisung ersetzen durch
\sffamily

voss
12-11-2006, 10:21
Hallo zusammen,

ich möchte eine Verbtabelle in Portugiesisch erstellen. Die erste Spalte soll die Namen der Zeitstufen enthalten. Diese sollen um 90° gedreht sein und zentriert in der Spalte stehen. Dahinter erscheinen dann je Zeitstufe 6 Verbformen (dt.: ich trinke, du trinkst usw.) --> Das klappt soweit.

Mein Problem ist:
1.) Der Text ist nicht in der "multirow" zentriert.

2.) Die Namen der Zeitformen verschieben sich immer weiter nach unten.

3.) Der Zeilenumbruch innerhalb der \parbox rückt die zweite Zeile ein.



\newcommand{\gbl}[2][6]{%
\multirow{#1}{24pt}{%
\rotatebox{90}{\parbox[t]{2,5cm}{\centering #2}}}}

\begin{document}
\sffamily
\begin{tabular}{|c|l|l|l|}\hline
& \textsc{Indicativo} & \textsc{Conjuntivo} & \textsc{Condicional} \\\hline \hline
\gbl{presente} & lev-o (è) & lev-e (è) & levar-ia \\
[...]


und ebenfalls in -allen_ \gbl die \newline rausschmeißen ...

Herbert

VossIC
13-11-2006, 14:34
Hallo,

vielen Dank, so einfach kann es gehen. :rolleyes:

@edico: Warum erzeugen Leerstellen Fehler? Das kann ich nicht nachvollziehen. LaTeX behandelt doch beliebig viele Leerzeichen als ein einziges, oder nicht?

Ich gebe dir wegen der Übersichtlichkeit zwar nicht Recht - ich kann gut damit arbeiten - ich habe aber die Leerstellen trotzdem rausgeworfen, weil es nicht praktikabel ist, wenn ich andere Verben eintragen will, dann verschieben sich die Abstände eh wieder.

Danke für den Hinweis mit \sffamily.

@voss: Die Zeilenumbrüche sind raus und es sieht so aus, wie ich es haben wollte. Und es war überhaupt kein großer Aufwand. :) Super, danke!