짝수 페이지에서 왼쪽으로 시작

짝수 페이지에서 왼쪽으로 시작

내 전체 코드가 컴파일되었으며 일부 페이지는 아래에 있습니다.

홀수 페이지 여기에 이미지 설명을 입력하세요 짝수 페이지 여기에 이미지 설명을 입력하세요

내 문제는 longtable이 짝수 페이지에서 왼쪽으로 시작되지 않는다는 것입니다. 내가 원하는 것을 marginparwidth및 에 추가합니다 marginparsep.

여기에 내가 원하는 짝수 페이지가 있습니다. 여기에 이미지 설명을 입력하세요

여기서는 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}around는 longtable정렬에 영향을 주지 않으며 단지 허위 수직 공간을 추가할 뿐입니다.

longtable기본적으로 중앙에 있지만 왼쪽 정렬을 원하면 사용할 수 있습니다

\begin{longtable}[l]

하지만 너무 넓어서 전혀 정렬할 수 없습니다.

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

7cm 기둥 2개를 놓을 공간이 없습니다.

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

5cm로 만들어줘

답변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}

결과

관련 정보