अलग-अलग आउटपुट xelatex और lualatex (tikzpagenodes, tcolorbox और पृष्ठभूमि पैकेज शामिल हैं)

Aug 17 2020

मैं अध्याय के उद्घाटन के पृष्ठ के शीर्ष पर एक छवि की स्थिति बना रहा हूं। छवि को सभी पृष्ठ की चौड़ाई भरनी चाहिए। नीचे दिए गए कोड के साथ ठीक काम कर रहा है LuaLaTeX, लेकिन जब मैं इसे चलाता हूं XeLaTeX(इसे उचित स्थिति प्राप्त करने के लिए 3 बार चलाया जाना चाहिए) तो छवि को पृष्ठ के क्षैतिज केंद्र में ले जाया जाता है। अन्य कारणों से, मुझे दस्तावेज़ के साथ चलना होगा XeLaTeX। मुझे XeLaTeXदिखाए गए आउटपुट के साथ चलने और प्राप्त करने के लिए कोड में क्या बदलना चाहिए LuaLaTeX?

EDIT ने एक उदाहरण छवि का उपयोग करने के लिए बदल दिया। हेडर छवियों के शो का सम्मान करने के लिए बदल जाएगा; लेकिन उपयोग करने 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एक अपरिभाषित व्यवहार है। V2.1, 2014/03/04 \bg@materialमें कार्यान्वयन देखें background:

\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(मान लें कि आप प्रति अध्याय शीर्षक पृष्ठ के समान पृष्ठभूमि प्रभाव चाहते हैं)।