TiKZ-图片适合页面边缘

TiKZ-图片适合页面边缘

我尝试使用 TiKZ 为 A6 小册子创建适合奇数页边距(水印)的图像。我的想法是首先创建一个与 A6 页面大小完全相同的图像,编译为 PDF,然后将eso-pic其设置为小册子文档的背景。

但是,我意识到我想使用诸如\thesection在页边空白处显示信息之类的命令,因此我宁愿以一种让所有内容都适合同一文档的方式来执行此操作。我想要实现的示例如下这里,其中文档显示一张 A4 纸上有八页 A6 纸,第一页是奇数。

我不知道如何扩展tikzpicture以完全适合页面。图像的某些部分应该适合页面边缘,所以我需要它精确缩放,没有边距。你可以说我正在尝试做,恰恰相反。

答案1

这个怎么样,它利用了马丁·沙勒的回答这个答案

\documentclass[10pt]{scrartcl}
\usepackage[margin=20mm,a6paper]{geometry}
\usepackage{tikz}
\usepackage{xifthen}
\usetikzlibrary{fit,calc}
\usepackage{lipsum}
\usepackage{everypage}

\parindent0mm

\newcommand{\currentsidemargin}{%
  \ifodd\value{page}%
    \oddsidemargin%
  \else%
    \evensidemargin%
  \fi%
}

\AddEverypageHook{%
\ifthenelse{\isodd{\thepage}}
{   \begin{tikzpicture}[overlay, remember picture]
        \path (current page.north west) ++(\hoffset, -\voffset) node[anchor=north west, shape=rectangle, inner sep=0, minimum width=\paperwidth, minimum height=\paperheight] (pagearea) {};
        \path (pagearea.north west) ++(1in+\currentsidemargin,-1in-\topmargin-\headheight-\headsep) node[anchor=north west, shape=rectangle, inner sep=0, minimum width=\textwidth, minimum height=\textheight] (textarea) {};
        \node[inner sep=0,fit=(pagearea.north east)(textarea.north east)(pagearea.south east)] (marginbox) {};
        \draw (marginbox.south east) rectangle (marginbox.north west);
        \draw (marginbox.south east) -- (marginbox.north west);
    \end{tikzpicture}
}{}
}

\begin{document}

\lipsum[1-10]

\end{document}

在此处输入图片描述

答案2

我不太明白这个问题,但你可以相当直白地制作你的页面,然后通过例如将它们组合起来我可以将 16 页的 pdf 转换为 LaTeX 中的 8x2 矩阵吗?

对于多页文件,你可以使用类似

\documentclass{article}
\usepackage[paperheight=148mm,paperwidth=105mm]{geometry}
\usepackage{tikz,lipsum}

\begin{document}
\thispagestyle{empty}

\begin{tikzpicture}[remember picture,overlay]
    \draw[line width=5mm,red!20] 
    ([shift={(-0.5\pgflinewidth,-0.5\pgflinewidth)}]current page.north east) 
    rectangle 
    ([shift={(0.5\pgflinewidth,0.5\pgflinewidth)}]current page.south west);
    \node[scale=3,opacity=0.2,rotate=60] at (current page.center) {\textsf{First Watermark}};
\end{tikzpicture}
\lipsum[2]
\newpage
\thispagestyle{empty}

\begin{tikzpicture}[remember picture,overlay]
    \draw[line width=5mm,blue!20] 
    ([shift={(-0.5\pgflinewidth,-0.5\pgflinewidth)}]current page.north east) 
    rectangle 
    ([shift={(0.5\pgflinewidth,0.5\pgflinewidth)}]current page.south west);
\end{tikzpicture}
\lipsum[3]
\end{document}

请注意,您必须运行两次才能remember picture,overlay正常工作。

在此处输入图片描述

编辑仅限页面侧面,

\documentclass{article}
\usepackage[paperheight=148mm,paperwidth=105mm]{geometry}
\usepackage{tikz,lipsum}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
    \draw[line width=5mm,blue!20] 
    ([shift={(-0.5\pgflinewidth,\pgflinewidth)}]current page.north east) 
    --
    ([shift={(-0.5\pgflinewidth,0)}]current page.south east) node[circle,anchor=east,pos=0.2,fill,draw,text=black] {\Large $\Gamma$};
\end{tikzpicture}
\lipsum[3]
\end{document}

在此处输入图片描述

相关内容