PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeilenumbruch nach rotate_90 in Tabelle



dissens
17-08-2006, 17:01
Hallo,

ich habe wahrlich nicht viel Ahnung von Lyx/LaTex, versuche aber gerade Tabellen in Lyx zu layouten und das klappt leider nicht so recht.
Ich habe eine Tabelle, in der der Text mancher Zellen um 90° gedreht ist. Soweit so gut.
Aber wenn der Text lang ist, verlängert Lyx einfach die Reihenhöhe, sodass alles in eine Zeile passt. Damit wird die Tabelle dann furchtbar lang und das sieht echt doof aus.
strg+enter führt dazu, dass der Text an jeder möglichen Stelle umgebrochen wird und damit ist dann der Text deutlich breiter als die Spalte
\newline hat gar keinen Effekt.

Was mache ich falsch?

Anbei der fragliche Teil der Tabelle (mit export>latex erstellt, geschrieben ist das alles in Lyx und -- bis auf das \multirow -- auch ohne jeden ERT.


\begin{tabular}{>{\raggedright}p{2cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}}
\hline
&
\multicolumn{6}{c}{Globalized production}&
\multicolumn{6}{c}{Localized production}&
&
&
\multicolumn{2}{c}{\multirow{2}{2.5cm}{Climate change (IS92a), 2071-2100 average}}\tabularnewline
Population&
\multicolumn{3}{c}{12 billion}&
\multicolumn{3}{c}{5.6 billion}&
\multicolumn{3}{c}{12 billion}&
\multicolumn{3}{c}{5.6 billion}&
&
&
\multicolumn{2}{c}{}\tabularnewline
Consumption pattern&
\begin{sideways}
\parbox[b]{1cm}{Doubled consump

tion\\
of animal products}%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Doubled consumption of animal products%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Doubled consumption of animal products%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Doubled consumption of animal products%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Reference run%
\end{sideways}&
\begin{sideways}
Natural vegetation%
\end{sideways}&
\begin{sideways}
Lower bound%
\end{sideways}&
\begin{sideways}
Upper bound%
\end{sideways}\tabularnewline
\hline
\multicolumn{17}{c}{Agricultural area {[}million km$^{\text{2}}$]}\tabularnewline
\hline
Agricultural area&
6.9&
5.3&

dissens
18-08-2006, 12:53
OK, offensichtlich hat niemand eine Idee,

mit minipages geht es.
Aber wenn trotzdem jemand einen Kommentar hat, was Grund und Ursache für da Scheitern sind, würde ich mich trotzdem freuen.

Grüße!
Dissens

RedCloud
18-08-2006, 12:58
OK, offensichtlich hat niemand eine Idee,

mit minipages geht es.
Aber wenn trotzdem jemand einen Kommentar hat, was Grund und Ursache für da Scheitern sind, würde ich mich trotzdem freuen.

Tabellen in LyX, die vom normalen Standard abweichen, sind ein Graus beim Exportieren. In solchen Fällen tut man sich selbst den größten Gefallen, wenn man die selbst erstellt und als externe Datei einbindet.

Unabhängig davon hat man wenig Lust, dein Beispiel zu nehmen, daraus erst einmal ein lauffähiges Testdokument zu erstellen, indem man erstmal mühsam feststellt, was für Pakete benötigt werden, damit man deinem Problem überhaupt mal näher kommt.

z.B.:


\documentclass{scrbook}
\usepackage{array,rotating,amsmath,multirow}

\newcommand\RBox[2][4cm]{\rotatebox{90}{%
\parbox{#1}{\raggedright\footnotesize#2}}}
\begin{document}

\bgroup
\raggedright
\begin{tabular}{b{2cm}*{16}{>{\arraybackslash}b{.5cm}}}\hline
& \multicolumn{6}{c}{Globalized production}& \multicolumn{6}{c}{Localized production}&
& &
\multicolumn{2}{c}{\multirow{2}{2.5cm}{Climate change (IS92a), 2071-2100 average}}\tabularnewline
Population&
\multicolumn{3}{c}{12 billion}& \multicolumn{3}{c}{5.6 billion}&
\multicolumn{3}{c}{12 billion}& \multicolumn{3}{c}{5.6 billion}&
&&\multicolumn{2}{c}{}\tabularnewline
Consumption pattern&
\RBox{Doubled consumption of animal products} &
\RBox{1995 consumption} &
\RBox{Halved consumption of animal products} &
\RBox{Doubled consumption of animal products} &
\RBox{1995 consumption} &
\RBox{Halved consumption of animal products} &
\RBox{Doubled consumption of animal products} &
\RBox{1995 consumption} &
\RBox{Halved consumption of animal products} &
\RBox{Doubled consumption of animal products} &
\RBox{1995 consumption} &
\RBox{Halved consumption of animal products} &
\RBox{Reference run} &
\RBox{Natural vegetation} &
\RBox{Lower bound} &
\RBox{Upper bound} \tabularnewline\hline
\multicolumn{17}{c}{Agricultural area {[}million km$^{\text{2}}$]}\tabularnewline\hline
Agricultural area & 6.9 & 5.3 &
\end{tabular}
\egroup

\end{document}


rc

dissens
18-08-2006, 15:25
Unabhängig davon hat man wenig Lust, dein Beispiel zu nehmen, daraus erst einmal ein lauffähiges Testdokument zu erstellen, indem man erstmal mühsam feststellt, was für Pakete benötigt werden, damit man deinem Problem überhaupt mal näher kommt.

rc

OK sehe ich ein, sorry.

Hier also der code, ohne minipages


% LyX 1.4.1 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english,psfig,chapterbib,cite,glapprox,myowndef]{extbook}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{verbose,a4paper,tmargin=2.5cm,bmargin=2c m,lmargin=2.5cm,rmargin=2cm,headheight=26pt,headse p=0.5cm,footskip=1cm}
\usepackage{fancyhdr}
\pagestyle{fancy}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{array}
\usepackage{longtable}
\usepackage{rotating}
\usepackage{amsmath}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
%% Special footnote code from the package 'stblftnt.sty'
%% Author: Robin Fairbairns -- Last revised Dec 13 1996
\let\SF@@footnote\footnote
\def\footnote{\ifx\protect\@typeset@protect
\expandafter\SF@@footnote
\else
\expandafter\SF@gobble@opt
\fi
}
\expandafter\def\csname SF@gobble@opt \endcsname{\@ifnextchar[%]
\SF@gobble@twobracket
\@gobble
}
\edef\SF@gobble@opt{\noexpand\protect
\expandafter\noexpand\csname SF@gobble@opt \endcsname}
\def\SF@gobble@twobracket[#1]#2{}
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\newenvironment{lyxlist}[1]
{\begin{list}{}
{\settowidth{\labelwidth}{#1}
\setlength{\leftmargin}{\labelwidth}
\addtolength{\leftmargin}{\labelsep}
\renewcommand{\makelabel}[1]{##1\hfil}}}
{\end{list}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{multirow}
\usepackage{graphicx}
\setlength{\extrarowheight}{2pt}

\usepackage{babel}
\makeatother
\begin{document}

\chapter{blabla}
\section*{Abstract}
Hier kommt dann der text

\begin{sidewaystable}

\caption{Selected results}
\begin{tabular}{>{\raggedright}p{2cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}>{\raggedright}b{1cm}}
\hline
&
\multicolumn{6}{c}{Globalized production}&
\multicolumn{6}{c}{Localized production}&
&
&
\multicolumn{2}{c}{\multirow{2}{2.5cm}{Climate change (IS92a), 2071-2100 average}}\tabularnewline
Population&
\multicolumn{3}{c}{12 billion}&
\multicolumn{3}{c}{5.6 billion}&
\multicolumn{3}{c}{12 billion}&
\multicolumn{3}{c}{5.6 billion}&
&
&
\multicolumn{2}{c}{}\tabularnewline
Consumption pattern&
\begin{sideways}
\parbox[b]{1cm}{Doubled consump

tion\\
of animal products}%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Doubled consumption of animal products%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Doubled consumption of animal products%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Doubled consumption of animal products%
\end{sideways}&
\begin{sideways}
1995 consumption%
\end{sideways}&
\begin{sideways}
Halved consumption of animal products%
\end{sideways}&
\begin{sideways}
Reference run%
\end{sideways}&
\begin{sideways}
Natural vegetation%
\end{sideways}&
\begin{sideways}
Lower bound%
\end{sideways}&
\begin{sideways}
Upper bound%
\end{sideways}\tabularnewline
\hline
\multicolumn{17}{c}{Agricultural area {[}million km$^{\text{2}}$]}\tabularnewline
\hline
A&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
B&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
C&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
\hline
\multicolumn{17}{c}{Terrestrial carbon pools {[}PgC]}\tabularnewline
\hline
D&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
E&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
F&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
\hline
\multicolumn{17}{c}{Net Primary Production (NPP) {[}PgC/a]}\tabularnewline
\hline
G&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
\hline
\multicolumn{17}{c}{Water flows {[}km\ensuremath{}/a]}\tabularnewline
\hline
H&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
I&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
J&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
K&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
L&
1&
2&
3&
4&
5&
6&
7&
8&
9&
10&
11&
12&
13&
14&
15&
16\tabularnewline
\hline
\end{tabular}


\end{sidewaystable}

\end{document}




Ich dachte, es sei doof so viel code reinzuschreiben, aber du hast natürlich Recht -- ohne alle Angaben kann keiner was damit anfangen.

RedCloud
18-08-2006, 16:00
OK sehe ich ein, sorry.


haste mein Beispiel überhaupt ausprobiert??

rc

dissens
18-08-2006, 16:39
haste mein Beispiel überhaupt ausprobiert??

rc

Ja, danke.
Ich habe allerdings noch nicht die Zeit gefunden, nachzuvollziehen, warum deins geht und meins nicht. (Ich muss erstmal noch fast immer nachkucken, was so ein Befehl eigentlich macht, etc.)

Es ist also einfach RBox{bla}
statt
\begin{sideways}bla\end{sideways}
oder?
Aber das kann man vermutlich wieder nur direkt im Editor machen und nicht in Lyx -- ich bin jetzt unsicher, ob ich Lyx überhaupt perspektivisch für weitere Dinge benutzen soll oder nicht. Aber du hast ja schon gesagt, dass Tabellen in Lyx ätzend sind.
Kann man die einfach als .tex Dateien einbinden?

Dein Bsp. sieht gut aus -- oder zumindest viel besser als mein erster Versuch. Aber ich weiß bei deinem Ansatz noch nicht, wie ich noch einen zweiten Zeilenumbruch erzwinge (bzw. die Reihenhöhe weiter beschränke). Wahrscheinlich kann man ganz einfach die Breite der RBox angeben, oder?

Ich will nicht undankbar sein, aber jetzt wo es mit den minipages klappt, werde ich mich erstmal um den Rest des Dokuments kümmern -- in einer Woche habe ich Abgabetermin. Danach würde ich aber gern besser verstehen, was eigentlich warum passiert.

Also, vielen Dank für deine Mühen, ich weiß sie zu schätzen -- und hoffentlich noch mehr in gut einer Woche.

Grüße!
dissens