如何制作具有精确 A4 尺寸的背景图像?

如何制作具有精确 A4 尺寸的背景图像?

为了制作一个完美适合页面的背景图像,我尝试了两种方法。第一种方法是使用一个文档类,其中页面的尺寸可以设置为 A4,结果如下。

\documentclass[a4paper]{article}
\usepackage{graphicx,tikz}
\usepackage[margin=0cm]{geometry}
\begin{document}
\noindent\resizebox{\pdfpagewidth}{\pdfpageheight}{
    \begin{tikzpicture}
        \draw (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle;
    \end{tikzpicture}
    }
\end{document}

另一件事是查找 A4 的尺寸(以点为单位),我找到了答案A4 尺寸错误?(与 21x29.7cm 一致),然后使用以下代码制作具有这些长度的独立产品。

\documentclass{standalone}
\usepackage{graphicx,tikz}
\begin{document}
\noindent\resizebox{595.276pt}{841.89pt}{
    \begin{tikzpicture}
        \draw (0,0) -- (1,0) -- (1,1) -- (0,1) -- cycle;
    \end{tikzpicture}
    }
\end{document}

这里我只是画了一个矩形以确保它覆盖了整个页面,但不幸的是它并没有覆盖,如下图所示(将纸张颜色改为灰色以使其可见)。两个 tex 文件都给出了相同的输出,因此只有一个图像。

尝试制作背景图像

现在我怀疑是tikz出现了这个错误,并尝试使用picture

\documentclass{standalone}
\usepackage{graphicx,tikz}
\begin{document}
\begin{picture}(595.276,841.89)
    \linethickness{10pt}
    \multiput(0,0)(595.276,0){2}{\line(0,1){841.89}}
    \multiput(0,0)(0,841.89){2}{\line(1,0){595.276}}
\end{picture}
\end{document}

这有效,产生了下一个图像(这次只是为了保持一致性而使用灰色)。

第二次尝试

该图像被用作背景

\documentclass[a4paper]{article}
\usepackage{graphicx,lipsum}    % lipsum for the filling text
\usepackage{wallpaper}
\begin{document}
\CenterWallPaper{1}{img/bg2}
\lipsum[1-5]
\end{document}

现在我想就一件事提出一个争论的意见,并提出两个问题:

  1. 制作一个具有 A4 尺寸的独立文件(可能不精确)会更好吗?或者使用已经具有正确尺寸的文档类(例如[a4paper]{article})?
  2. 如何tikz填充图像,或将图像缩放至页面的宽度和高度?图片环境对于大多数用途来说还不够。
  3. \setlength\unitlength{1pt}当在环境上方添加 线条时picture,线条会发生偏移,并且生成的文档在图像的顶部和底部会出现多余的白色。这是怎么发生的?如何解决?

答案1

如果您想使用wallpaper并插入背景作为图像,您可以使用以下代码:

\documentclass[a4paper]{article}
\usepackage{graphicx,lipsum}    % lipsum for the filling text
\usepackage{wallpaper}
\usepackage{filecontents}
%%------------------- The background---------------
\begin{filecontents*}{bg2.tex}
\documentclass[a4paper]{standalone}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}[remember picture]
        \draw[magenta,fill=gray!30, line width = 4pt] (current page.south west) rectangle (current page.north east);
    \end{tikzpicture}
\end{document}
\end{filecontents*}
%%-------------------
% compile with bg2.tex pdflatex
\immediate\write18{pdflatex bg2}
\begin{document}
\CenterWallPaper{1}{bg2}
\lipsum[1-5]
\end{document}

您必须使用 来编译它。但是使用 tikz,可以使用和--shell escape直接完成。remember pictureoverlay

\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{lipsum}    % lipsum for the filling text
\begin{document}
%%------------------- The background---------------
    \begin{tikzpicture}[remember picture,overlay]
        \draw[magenta,fill=gray!30, line width = 4pt] (current page.south west) rectangle (current page.north east);
    \end{tikzpicture}
%%-------------------
\lipsum[1-5]
\end{document}

这两种代码都需要至少两次编译才能稳定下来。

在此处输入图片描述

答案2

需要注意的是,我需要答案模式,因为评论不允许多行代码。当应用 Harish 如此迅速想出的这个背景时全部页,background可以使用该包。不知何故,它就没有必要[overlay, remember picture]像 Jake 建议的那样使用了。使用完全相同(而且非常漂亮)的粉色样式,多页示例将如下所示。

\documentclass{article}
\usepackage{background,lipsum,tikz}
\begin{document}
\backgroundsetup{angle=0,scale=1,contents=
    \tikz{
        \draw[magenta,fill=gray!30, line width = 4pt]
        (current page.south west) rectangle (current page.north east);
        }
    }
\lipsum[1-5]
\newpage
\lipsum[6-10]
\end{document}

相关内容