다른 출력 xelatex 및 lualatex (tikzpagenodes, tcolorbox 및 배경 패키지 포함)

Aug 17 2020

챕터 시작 페이지 상단에 이미지를 배치하고 있습니다. 이미지는 모든 페이지 너비를 채워야합니다. 아래 코드는에서 잘 작동 LuaLaTeX하지만 XeLaTeX(적절한 위치를 얻기 위해 3 번 실행해야 함) 실행하면 이미지가 페이지의 가로 중앙으로 이동합니다. 다른 이유로 문서를 XeLaTeX. 나는 실행하는 코드에서 무엇을 변경해야합니다 XeLaTeX함께 표시 출력을하고 얻을 LuaLaTeX?

편집 예제 이미지를 사용하도록 변경되었습니다. 헤더는 이미지 쇼를 존중하도록 변경됩니다. 그러나 사용의 효과 XeLaTeX는 동일합니다.

\documentclass{book}

%%% Include image in chapter opening
\RequirePackage{tikzpagenodes}
%%% fill rectangle with image uisng tcolorbox
%%% https://tex.stackexchange.com/a/219424/2483
\RequirePackage{tcolorbox}
\tcbuselibrary{skins}
\usetikzlibrary{calc}
\usetikzlibrary{fadings}
%%% For the background
%%% https://tex.stackexchange.com/a/86702/2483
\usepackage[pages=some]{background}
\newlength{\bleendlength}
\setlength{\bleendlength}{5mm}
\newcommand{\chapimage}[1]{%
  \backgroundsetup{scale=1,placement=top,contents={
      \tikz[remember picture,overlay] {%
      \path[fill overzoom image=example-image-a, fill image opacity=1, path fading=east, fading angle=-30]
      ($(current page.north west)+(-\bleendlength, \bleendlength)$)
      rectangle
      ($(current page.north east)+(\bleendlength, -6cm)$);
    }
  }
}
}



\begin{document}
\chapter{My first chapter}
\label{cha:my-first-chapter}
\chapimage{}\BgThispage




\end{document}

다음으로 올바른 출력 LuaLaTeX:

잘못된 출력 XeLaTeX:

답변

1 muzimuzhiZ Aug 17 2020 at 22:17

background의 옵션 contents(에 저장 됨 \Background@Contents)에 전달 된 값 은 이미 tikzpicture. 그리고 중첩 tikzpicture은 정의되지 않은 동작입니다. 의 구현을 참조하십시오 \bg@material에서 background2.1, 2014년 3월 4일를 :

\newcommand\bg@material{%
  \begin{tikzpicture}[remember picture,overlay,scale=\Background@Scale]
  \node[
    rotate=\Background@Angle,
    scale=\Background@Scale,
    opacity=\Background@Opacity,
    anchor=\Background@NodeAnchor,
    xshift=\Background@HShift,
    yshift=\Background@VShift,
    color=\Background@Color,
    inner sep=0pt
    ]
    at (\Background@Position) [\Background@Anchor]
      {\Background@Contents};
  \end{tikzpicture}}%

무차별적인 시도는 \bg@material.

% this example produces the same output with pdftex, xetex, and luatex
\documentclass{book}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\usetikzlibrary{calc, fadings}
\usepackage[pages=some]{background}

\newlength{\bleendlength}
\setlength{\bleendlength}{5mm}

\makeatletter
\renewcommand\bg@material{%
  \tikz[remember picture,overlay] {%
    \path[fill overzoom image=example-image-a, fill image opacity=1, path fading=east, fading angle=-30]
    ($(current page.north west)+(-\bleendlength, \bleendlength)$)
    rectangle
    ($(current page.north east)+(\bleendlength, -6cm)$);
  }%
}%
\makeatother

\begin{document}
\chapter{My first chapter}\label{cha:my-first-chapter}

\BgThispage
\end{document}

더 좋은 솔루션은 다른 배경 패키지를 사용하는 더 나은 재정의에서에서 설정 한 특수 페이지 스타일 제공 \chapter(장 제목 페이지 당 유사한 배경 효과를 원한다고 가정)에 이르기까지 다양합니다.