從偶數頁向左開始

從偶數頁向左開始

我編譯的整個程式碼,以下是一些頁面。

奇數頁 在此輸入影像描述 偶數頁 在此輸入影像描述

我的問題是,長表不會在偶數頁開始。我想要的,添加到marginparwidthmarginparsep

這是我想要的偶數頁。 在此輸入影像描述

這裡是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}

我想這就像...

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

我該怎麼辦?

答案1

\begin{center}aroundlongtable不會影響對齊,它只會增加虛假的垂直空間。

longtable預設情況下居中,但如果您想要左對齊,可以使用

\begin{longtable}[l]

但你根本無法對齊它,因為它太寬了

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

你沒有空間容納兩根7公分的柱子,

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

使那些5厘米

答案2

從偶數頁向左開始

包的showframe可視化效果非常好,為什麼表格在偶數頁上確實以縮排開始。可以看到,標題行也移動了,左側空間被一個相當大的「marginpar」列佔據,寬度為5.5cm。因此,您可能需要修正 package 的選項值geometry

桌子太寬

由於表格太寬,請參閱 Davids 的回答,需要減小列寬。tabularx帶有列的包X可用於適合一頁的表格。還有一些包處理longtablewith的並集tabularx,可以在這裡使用。

下面的範例計算最大寬度。桌頭規格很簡單。

每列都位於空間的左側和右側\tabcolsep(除非在表格規格中被覆寫)。如果array載入了包,則規則也會貢獻空間。注意,包array經常被其他套件載入。因此,此範例在前導碼末尾對套件進行了測試。

可以透過多種不同的方式進行計算。範例有 package calc、 e-TeX's \dimexpr、 package pgfmath。此範例僅限於基本的 LaTeX 命令\setlength\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}

結果

相關內容