从偶数页左侧开始

从偶数页左侧开始

我编译了全部代码,部分页面如下。

奇数页 在此处输入图片描述 偶数页 在此处输入图片描述

我的问题是,长表无法从偶数页左侧开始。我想要的是,将其添加到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。因此,您可能需要更正包装的选项值geometry

桌子太宽

由于表格太宽,请参阅 Davids 的回答,列宽需要减小。tabularx带有其X列的包可用于适合一页的表格。 还有一些处理 和 的并集的包longtable可以tabularx在这里使用。

下面的例子计算了最大宽度。表头的指定相当简单。

每列位于空间的左侧和右侧\tabcolsep(除非在表格规范中进行了覆盖)。如果array已加载包,则规则也会为空间做出贡献。注意,包array经常被其他包加载。因此,该示例在序言的末尾对包进行了测试。

计算可以用许多不同的方法完成。例如包calc、e-TeX 的\dimexprpgfmath。示例仅限于基本的 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}

结果

相关内容