Auf geraden Seiten links beginnend

Auf geraden Seiten links beginnend

Das sind meine gesamten Codes, zusammengestellt auf einigen Seiten weiter unten.

ungerade Seite Bildbeschreibung hier eingeben gerade Seite Bildbeschreibung hier eingeben

Mein Problem, die Longtable startet bei geraden Seiten nicht links. Das will ich, füge das marginparwidthund hinzu marginparsep.

Hier die Seite, die ich will. Bildbeschreibung hier eingeben

Hier das MWE

\documentclass[a4paper,twoside,openright,12pt]{book}
\usepackage[left=1.5cm,right=1cm,top=3cm,bottom=1.5cm,marginparwidth=5.5cm,marginparsep=1cm,outer=8cm]{geometry}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{longtable}
\usepackage{showframe}
\usepackage{lipsum}

\begin{document}

\lipsum[1-3]

\begin{longtable}[l]{|p{7cm}|p{7cm}|}
\hline
The power delivered at each instant, of course, varies with the
magnitude of the sinusoidal ac current & The power delivered at each instant, of course, varies with the magnitude of the sinusoidal ac current\\
\hline
\end{longtable}

\end{document}

Ich denke, das ist so...

\checkoddpage
\ifoddpage
START -(\marginparsep+\marginparwidth)
\else
NOTHING DO
\fi

Was soll ich machen?

Antwort1

\begin{center}herum longtablehat keinen Einfluss auf die Ausrichtung, es fügt nur unnötigen vertikalen Raum hinzu.

longtableist standardmäßig zentriert, aber wenn Sie eine Ausrichtung linksbündig wünschen, können Sie

\begin{longtable}[l]

aber man kann es überhaupt nicht ausrichten, da es viel zu breit ist

Overfull \hbox (95.13185pt too wide) in alignment at lines 16--21

Sie haben keinen Platz für zwei 7cm Säulen,

 {|p{7cm}|p{7cm}|}

machen diese 5cm

Antwort2

Auf geraden Seiten links beginnend

Package showframevisualisiert sehr gut, warum die Tabelle auf geraden Seiten ziemlich eingerückt beginnt. Wie man sieht, wird auch die Kopfzeile verschoben und der linke Platz wird von einer ziemlich großen "marginpar"-Spalte mit width eingenommen 5.5cm. Daher sollten Sie die Optionswerte für package korrigieren geometry.

Zu breiter Tisch

Da die Tabelle zu breit ist, siehe DavidsAntwortmüssen die Spaltenbreiten reduziert werden. Das Paket tabularxmit seinen XSpalten kann für Tabellen verwendet werden, die auf eine Seite passen. Es gibt auch einige Pakete, die sich mit der Vereinigung von longtablemit befassen tabularx, die hier verwendet werden können.

Das folgende Beispiel berechnet die maximale Breite. Die Angabe des Tabellenkopfs ist recht einfach.

Jede Spalte erhält links und rechts den Platz \tabcolsep(sofern sie nicht in der Tabellenspezifikation überschrieben wurde). Wenn ein Paket arraygeladen wird, dann trägt auch das Regelwerk zum Platz bei. Achtung, Pakete arraywerden oft von anderen Paketen geladen. Deshalb implementiert das Beispiel am Ende der Präambel einen Test für das Paket.

Die Berechnung kann auf viele verschiedene Arten erfolgen. Beispiele sind Paket calc, e-TeX's \dimexpr, Paket pgfmath. Das Beispiel beschränkt sich auf die grundlegenden LaTeX-Befehle \setlengthund \addtolength.

\documentclass[a4paper,twoside,openright,12pt]{book}
\usepackage[
  left=1.5cm,
  right=1cm,
  top=3cm,
  bottom=1.5cm,
  marginparwidth=5.5cm,
  marginparsep=1cm,
  outer=8cm
]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{array}
\usepackage{longtable}
\usepackage{showframe}
\usepackage{lipsum}

\newdimen\TabColWidth

\makeatletter
\newif\ifPackageArray
\AtBeginDocument{\@ifpackageloaded{array}{\PackageArraytrue}{}}
\makeatother

\begin{document}

\lipsum[1-3]

\setlength{\TabColWidth}{\linewidth}
\addtolength{\TabColWidth}{-4\tabcolsep}
\ifPackageArray
  \addtolength{\TabColWidth}{-3\arrayrulewidth}
\fi
\setlength{\TabColWidth}{.5\TabColWidth}

\begin{longtable}[l]{|p{\TabColWidth}|p{\TabColWidth}|}
\hline
The power delivered at each instant, of course, varies with the
magnitude of the sinusoidal ac current & The power delivered at each
instant, of course, varies with the magnitude of the sinusoidal ac current\\
\hline
\end{longtable}

\end{document}

Ergebnis

verwandte Informationen