将 xsavebox 与二维码叠加

将 xsavebox 与二维码叠加

作为问题的延续以最有效的方式制作一份包含大量几乎相同页面的文档我试图用 覆盖我的xsaveboxqrcode但是,出现问题:二维码和框的内容出现在不同的页面上,而我希望二维码位于右上角。

笔记:每页的二维码会有所不同,但是盒子的内容不会改变。

LuaLaTeX MWE

\documentclass[12pt]{article}

\usepackage[showframe,margin=0.5in]{geometry}

\usepackage{xsavebox}

\usepackage{mathtools}

\usepackage{tikz}

\usepackage{qrcode}

\usepackage{calc}

\usepackage{lipsum}

\usepackage{tabularx}

\setlength{\parindent}{0pt}

\begin{document}


\newcommand{\Hello}{
    \begin{tabularx}{\textwidth}{ | X | p{6cm} | }
        \begin{minipage}[t][6cm][c]{\linewidth}
            \sffamily\bfseries\LARGE\centering Header
        \end{minipage}
        &
        {}
    \end{tabularx}

    \vspace*{2cm}

    \lipsum[1-4]
}

\xsavebox{MyBox}{
    \begin{minipage}[t][\textheight]{\textwidth}
        \Hello
    \end{minipage}
}

    \foreach\AA in{1,...,100}{
    \begin{tikzpicture}[remember picture, overlay]
        \node[shift={(-3cm-0.5in,-3cm-0.5in)}] at (current page.north east) {
                \qrcode[height=6cm,level=H]{123456789};
        };
    \end{tikzpicture}

    \xusebox{MyBox}

    \newpage
    }

\end{document}

答案1

更新:如果您删除原始代码的空行,它也会起作用。(我也\newpage用替换\clearpage,但这在这里并不重要。)

\documentclass[12pt]{article}

\usepackage[showframe,margin=0.5in]{geometry}

\usepackage{xsavebox}

\usepackage{mathtools}

\usepackage{tikz}

\usepackage{qrcode}

\usepackage{calc}

\usepackage{lipsum}

\usepackage{tabularx}

\setlength{\parindent}{0pt}

\begin{document}
\newcommand{\Hello}{
    \begin{tabularx}{\textwidth}{ | X | p{6cm} | }
        \begin{minipage}[t][6cm][c]{\linewidth}
            \sffamily\bfseries\LARGE\centering Header
        \end{minipage}
        &
        {}
    \end{tabularx}

    \vspace*{2cm}

    \lipsum[1-4]
}

\xsavebox{MyBox}{%
\begin{minipage}[t][\textheight]{\textwidth}
        \Hello
\end{minipage}
}

    \foreach\AA in{1,...,100}{
    \begin{tikzpicture}[remember picture, overlay]
        \node[shift={(-3cm-0.5in,-3cm-0.5in)}] at (current page.north east) {
                \qrcode[height=6cm,level=H]{\AA}
        };
    \end{tikzpicture}
%
    \xusebox{MyBox}
%
    \clearpage
    }

\end{document}

文物... 也有效。 eso-pic确实用同样的东西覆盖每一页,但我不知道这是否是最有效的方法。更新:本示例使用 的二维码\AA

\documentclass[12pt]{article}

\usepackage[showframe,margin=0.5in]{geometry}

\usepackage{xsavebox}

\usepackage{mathtools}

\usepackage{tikz}

\usepackage{qrcode}

\usepackage{calc}

\usepackage{lipsum}

\usepackage{tabularx}

\setlength{\parindent}{0pt}
\usepackage{eso-pic}
\begin{document}


\AddToShipoutPictureFG{%
    \begin{tikzpicture}[remember picture, overlay]
        \node[shift={(-3cm-0.5in,-3cm-0.5in)}] at (current page.north east) {
         \qrcode[height=6cm,level=H]{\AA};      
        };
    \end{tikzpicture}}



\newcommand{\Hello}{
    \begin{tabularx}{\textwidth}{ | X | p{6cm} | }
        \begin{minipage}[t][6cm][c]{\linewidth}
            \sffamily\bfseries\LARGE\centering Header
        \end{minipage}
        &
        {}
    \end{tabularx}

    \vspace*{2cm}

    \lipsum[1-4]
}

\xsavebox{MyBox}{
    \begin{minipage}[t][\textheight]{\textwidth}
        \Hello
    \end{minipage}
}

    \foreach\AA in{1,...,100}{


    \xusebox{MyBox}

    \newpage
    }

\end{document}

相关内容