PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ändern des Seitenlayouts im Text mit geometry



LivToole
28-07-2008, 11:43
Hallo,

ich hab eine ziemlich breite Tabelle die ich am besten zentriert auf die Breite des Papiers oder zumindest um einen bestimmten Wert nach links verschieben möchte, da sie über den rechten Seitenrand hinausgeht.

Ich verwende das geometry-Paket. Leider habe ich noch nichts passendes gefunden um im laufenden Text die breite meines linken randes zu verändern.

Hier mal das mini

\documentclass[
12pt,
bigheadings,
a4paper,
pagesize,
onecolumn,
openany,
titlepage,
parksip,
headsepline,
chapterprefix,
liststotoc,
bibtotoc,
liststotocnumbered,
tocindent,
listsindent,
pointlessnumbers,
fleqn,
]{scrbook}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{calc}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage[centertags,sumlimits,reqno]{amsmath}
\usepackage{marginnote}
\usepackage{relsize}
\usepackage{ragged2e}
\usepackage{textcomp}
\usepackage[fixamsmath,disallowspaces]{mathtools}
\usepackage{fixmath}
\usepackage{icomma}
\usepackage[nice]{nicefrac}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{dcolumn}
\usepackage[normalem]{ulem}
\usepackage[ngerman]{varioref}
\usepackage[expansion=true,protrusion=true]{microtype}
\usepackage{multicol}
\usepackage{units}
\usepackage{geometry}
\geometry{
paperwidth = 210mm,
paperheight = 297mm,
portrait,
textwidth = 134mm,
textheight = 204mm,
lmargin=46.0mm,
right=30.0mm,
top=42mm,
bottom=51mm,
headheight=9mm,
headsep=8mm,
footskip=13mm,
marginparwidth=50mm,
marginparsep=2mm,
}
\renewcommand{\baselinestretch}{1.3}

\begin{document}

% \renewcommand*{\geometry}{lmargin=20mm}
% \hspace*{-16mm}
\setlength\lmargin{20mm}
\begin{table}
% \renewcommand*{\geometry}{lmargin=20mm}
% \hspace*{-16mm}
\caption[Pointing nach OPCPA-Strahlengang]{Pointing des Oszillatorstrahls direkt am Ausgang des Oszillators und am Strahlrohreingang.}
\label{tab:OPCPA-2Juni}
\begin{tabular}{ccccrrrr}\hline\hline
& & & & \multicolumn{2}{c}{hor} & \multicolumn{2}{c}{ver} \\
Ort & Uhrzeit & Messnr. & Temp. & Drift & Jitter & Drift & Jitter\\
& & & $\nicefrac{\text{K}}{\text{h}}$ & $\nicefrac{\mu \text{rad}}{\text{h}}$ & \textpm \unit[2]{$\mu$rad}& $\nicefrac{\mu \text{rad}}{\text{h}}$ & \textpm \unit[2]{$\mu$rad} \\ \hline
direkt & 18:33:31 - 19:26:09 & 1 - 1476 & 0 & \textminus 3,6 & 1,2 & 3,2 & 1,8 \\
direkt & 19:26:11 - 20:07:27 & 1477 - 2634 & \textminus 0,02 & \textminus 2 & 1,1 & 4,3 & 1,8 \\ \hline
BL-Eingang & 18:33:31 - 20:07:27 & 1 - 2634 & \textminus 0,03 & 1,6 & 3,8 & 1,6 & 4,2 \\ \hline
& & & & & & & \\ \hline
direkt & 20:53:38 - 22:27:37 & 1 - 2632 & \textminus 0,02 & \textminus 1,3 & 1,3 & \textminus 0,5 & 1,9 \\ \hline
BL-Eingang & 20:53:38 - 22:27:37 & 1 - 2632 & \textminus 0,02 & 0,7 & 3,6 & \textminus 1,6 & 3,7 \\ \hline \hline
\end{tabular}
\end{table}

hab es mit setlength, addtotlength, hspace* und renewcommand probiert. Aber leider funktioniert das nicht.
Die doc zu geometry bin ich auch schon durchgegangen aber nix in der richtung gefunden.

MFG
Liv

bobmalaria
28-07-2008, 11:47
hi,

wäre es nicht besser das paket tabularx zu verwenden und den dort angebotenen spaltentyp X der dann die tabelle auf seitenbreite skaliert.
sieht meiner meinung nach schlecht aus wenn sich im dokument der rand verändert.

\usepackage{tabularx}
.
.
.

\begin{tabularx}{1\textwidth}{XXXXX}

\end{tabularx}

außerdem würde ich für höhere spalten nicht baselinestrech verändern sondern arraystretch

\renewcommand{\arraystretch}{1.2}

gruß

LivToole
28-07-2008, 13:11
hi,

\renewcommand{\baselinestretch}{1.3}
ist vielleicht hier im minibeispiel etwas überflüssig weil sich das nur auf den normalen text beziehen soll, gar nicht auf den zeilenabstand in der tabelle.

tabularx würde ich eigentlich nur ungern verwenden, da ich die tabelle schon breiter haben möchte als textwidth (klar geht auch mit tabularx). Also im prinzip soll schon die breite der tabelle so bleiben wie sie ist.
Ich hätte gern die tabelle nur gern nach links verschoben. am besten so das sie auf paperwidth zentriert ist, aber das kann ich dann noch mit einer fixen länge bewerkstelligen. allerdings müsste ich nur wissen wie ich das nach links verschieben kann. das mit dem rand verkleinern war nur ein gedanke von mir.

Auserdem würde ich das generell wissen, damit ich das evtl. auch mal im Anhang meiner Bachelor-Arbeit verwenden kann, um da besser Diagramme zu setzen.

Also generell wie kann ich die Einstellungen die ich in der Praembel getroffen hab im Text ändern.
Und wie kann ich eine Umgebung wie eine Tabelle nach links über den Textrand rausschieben.

MFG

Stefan_K
28-07-2008, 15:02
Hallo Liv,

überbreite Abbildungen oder Tabellen kannst Du mit \makebox zentrieren:

\centering\makebox[0cm]{
\begin{tabular}
...
\end{tabular}
Alternativ kannst Du mit der addmargin-Umgebung den Rand vorübergehend verringern, z.B.

\begin{addmargin}{-2cm}
\begin{tabular}
...
\end{tabular}
\end{addmargin}
Man könnte sich überlegen, für die Tabelle kleineren Schriftgrad zu wählen oder den Spaltenabstand zu verringern.

Generelle Geometrie-Einstellungen der Präambel kannst Du mit dem gmeometric-Paket (http://www.ctan.org/tex-archive/help/Catalogue/entries/gmeometric.html) innerhalb des Dokuments verändern.
Statt der Änderung von \baselinestretch empfehle ich die Verwendung des setspace-Pakets (http://www.ctan.org/tex-archive/help/Catalogue/entries/setspace.html).

Viele Grüße,

Stefan

LivToole
28-07-2008, 18:34
HI,

super danke. Sowohl makebox als auch addmargin funktioniert. Leider funktioniert das gmeometric-Packet (http://www.ctan.org/tex-archive/help/Catalogue/entries/gmeometric.html) nicht.

Was auch nicht ganz so schön ist, das die caption noch auf die textbreite beschränkt ist und auch nicht mit nach rechts wandert. aber damit kann ich wohl leben.

ja man sollte wohl besser setspace (http://www.ctan.org/tex-archive/help/Catalogue/entries/setspace.html) verwenden. Allerdings ist das ja auch nix anderes nur entsprechend für die Schriftgröße angepasst. Und ich glaub das liegt auch bei 1.2 oder sowas?!

Stefan_K
28-07-2008, 18:52
Leider funktioniert das gmeometric-Packet (http://www.ctan.org/tex-archive/help/Catalogue/entries/gmeometric.html) nicht.
Wenn Du noch sagst, wie es nicht funktioniert, ob Fehlermeldungen auftreten und wenn ja, welche, kann man evtl. weiterhelfen.


ja man sollte wohl besser setspace (http://www.ctan.org/tex-archive/help/Catalogue/entries/setspace.html) verwenden. Allerdings ist das ja auch nix anderes nur entsprechend für die Schriftgröße angepasst. Und ich glaub das liegt auch bei 1.2 oder sowas?!
Bei 12pt liegt der stretch-Wert mit \onehalfspacing bei 1.241 und mit \doublespacing bei 1.655.
setspace tut einiges mehr, was z.B. das spacing in Fußnoten, Gleitumgebungen und Tabellen betrifft. Die Dokumentation ist in setspace.sty selbst enthalten.

Viele Grüße,

Stefan

LivToole
28-07-2008, 19:19
Also ich erhalte zwar keine Fehlermeldung von LaTeX selbst, allerdings wird der Rand nicht vergrößert und im pdf erscheint an der stelle an der ich den befehl setze


! \geometry can be used only in preamble ( on input line 75)lmargin=20mm

der code sieht so aus
\begin{table}
\caption[Pointing nach OPCPA-Strahlengang]{Pointing}
\label{tab:OPCPA-2Juni}
\geometry{lmargin=20mm}
\begin{tabular}{ccccrrrr}\hline\hline
...
...
\end{tabular}
\end{table}

So wirklich intensiv hab ich mich noch nicht damit beschäftigt, allerdings ist mir das in einem früheren bericht mal aufgefallen, das in nicht gleitenden Tabellen der Zeilenabstand anders war (ich hab damals vermutet es ist der normale Text-Zeileabstand) als in gleitenden Tabellen mit arraystretch. Aber ich habs das nicht ausgetestet, da ich damals nicht viel zeit hatte um den Bericht zu erstellen.

Stefan_K
28-07-2008, 19:21
Hast Du gmeometric überhaupt geladen?

Stefan

LivToole
28-07-2008, 20:15
ja hab ich, ansonsten hätte er einen fehler angezeigt direkt beim erstellen. so wird die Warnung/Fehler aber im pdf angezeigt

LivToole
28-07-2008, 20:33
ok der fehler

! \geometry can be used only in preamble ( on input line 75)lmargin=20mm
tritt nur dann auf wenn in der preamble das paket gmeometric nach geometry geladen wird.

und es funktioniert doch. ich hatte die breite in der table Umgebung gesetzt. Das muss aber auserhalb stattfinden. hätte ich auch gleich drauf kommen können.

auf jedenfall sieht das jetzt so aus.


... ...
... ...
\usepackage{gmeometric}
\usepackage{geometry}
\geometry{
paperwidth = 210mm,
paperheight = 297mm,
portrait,
textwidth = 134mm,
textheight = 204mm,
lmargin=46.0mm,
right=30.0mm,
top=42mm,
bottom=51mm,
headheight=9mm,
headsep=8mm,
footskip=13mm,
marginparwidth=50mm,
marginparsep=2mm,
}


\begin{document}

\geometry{lmargin=20mm}
\begin{table}
\caption[Pointing nach OPCPA-Strahlengang]{Pointing}
\label{tab:OPCPA-2Juni}
\begin{tabular}{ccccrrrr}\hline\hline
& & & & \multicolumn{2}{c}{hor} & \multicolumn{2}{c}{ver} \\
Ort & Uhrzeit & Messnr. & Temp. & Drift & Jitter & Drift & Jitter\\
& & & $\nicefrac{\text{K}}{\text{h}}$ & $\nicefrac{\mu \text{rad}}{\text{h}}$ & \textpm \unit[2]{$\mu$rad}& $\nicefrac{\mu \text{rad}}{\text{h}}$ & \textpm \unit[2]{$\mu$rad} \\ \hline
direkt & 18:33:31 - 19:26:09 & 1 - 1476 & 0 & \textminus 3,6 & 1,2 & 3,2 & 1,8 \\
direkt & 19:26:11 - 20:07:27 & 1477 - 2634 & \textminus 0,02 & \textminus 2 & 1,1 & 4,3 & 1,8 \\ \hline
BL-Eingang & 18:33:31 - 20:07:27 & 1 - 2634 & \textminus 0,03 & 1,6 & 3,8 & 1,6 & 4,2 \\ \hline
& & & & & & & \\ \hline
direkt & 20:53:38 - 22:27:37 & 1 - 2632 & \textminus 0,02 & \textminus 1,3 & 1,3 & \textminus 0,5 & 1,9 \\ \hline
BL-Eingang & 20:53:38 - 22:27:37 & 1 - 2632 & \textminus 0,02 & 0,7 & 3,6 & \textminus 1,6 & 3,7 \\ \hline \hline
\end{tabular}
\end{table}

\end{document}


allerdings wird die gesamte Seite verbreitert und nicht nur die stelle an der die Tabelle steht. Aber für den Anhang in meinem Bericht genau das richtige :). Im normalen text werde ich aber


\centering\makebox[0cm]{

verwenden.

Also vielen DANK!!

bobmalaria
29-07-2008, 00:15
hi,

den befhel solltest du ganz einfach begrenzen können



{
\geometry{lmargin=20mm}
\begin{table}
\caption[Pointing nach OPCPA-Strahlengang]{Pointing}
\label{tab:OPCPA-2Juni}
\begin{tabular}{ccccrrrr}\hline\hline
& & & & \multicolumn{2}{c}{hor} & \multicolumn{2}{c}{ver} \\
Ort & Uhrzeit & Messnr. & Temp. & Drift & Jitter & Drift & Jitter\\
& & & $\nicefrac{\text{K}}{\text{h}}$ & $\nicefrac{\mu \text{rad}}{\text{h}}$ & \textpm \unit[2]{$\mu$rad}& $\nicefrac{\mu \text{rad}}{\text{h}}$ & \textpm \unit[2]{$\mu$rad} \\ \hline
direkt & 18:33:31 - 19:26:09 & 1 - 1476 & 0 & \textminus 3,6 & 1,2 & 3,2 & 1,8 \\
direkt & 19:26:11 - 20:07:27 & 1477 - 2634 & \textminus 0,02 & \textminus 2 & 1,1 & 4,3 & 1,8 \\ \hline
BL-Eingang & 18:33:31 - 20:07:27 & 1 - 2634 & \textminus 0,03 & 1,6 & 3,8 & 1,6 & 4,2 \\ \hline
& & & & & & & \\ \hline
direkt & 20:53:38 - 22:27:37 & 1 - 2632 & \textminus 0,02 & \textminus 1,3 & 1,3 & \textminus 0,5 & 1,9 \\ \hline
BL-Eingang & 20:53:38 - 22:27:37 & 1 - 2632 & \textminus 0,02 & 0,7 & 3,6 & \textminus 1,6 & 3,7 \\ \hline \hline
\end{tabular}
\end{table}
}

LivToole
29-07-2008, 00:45
nein leider nicht.
da wird der rand ganz normal gesetzt