尝试使用 graphix 创建全页宽度图像,noindent 不起作用

尝试使用 graphix 创建全页宽度图像,noindent 不起作用

我刚刚开始学习 TeX,我读到 \noindent 允许我创建不包含页边距的全宽图像;但是,以下代码不起作用。

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\noindent\includegraphics[width=1.0\paperwidth]{universe.jpg}
\end{document}

图像看起来具有正确的宽度,但是 \noindent 似乎没有效果。

答案1

您想在图像上叠加文本。这意味着图像应该作为背景图像。您可以使用background包。

\documentclass{article}
\usepackage[pages=some]{background}
\usepackage{lipsum}

\backgroundsetup{
position=current page.center,
angle=0,
color=blue!30,
opacity=0.5,
scale=1,
contents={\includegraphics[width=\paperwidth]{example-image-a}}
}%
\begin{document}
  \BgThispage
  \lipsum
\end{document}

在此处输入图片描述

height=\paperheight也添加或\includegraphics[width=\paperwidth]{example-image-a}选择合适的图像。

这也是有可能的tikz

\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}

\begin{document}
  \begin{tikzpicture}[remember picture,overlay]
    \node[inner sep=0pt,opacity=0.5] at (current page.center)
                          {\includegraphics[width=\paperwidth]{example-image-a}};
  \end{tikzpicture}
  \lipsum
\end{document}

两种方法都需要 2-3 次编译才能稳定下来。

答案2

总结评论:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\oddsidemargin-1in
\noindent\includegraphics[width=1.0\paperwidth]{it} % Name of your graphics here
\end{document}

假设:一页文档,正如我们可以从评论中得出的:

我决定尝试制作一张带有全出血图像和一些叠加文本的“模因”明信片。

在此处输入图片描述

答案3

更新

对于 TikZ 爱好者(我就是其中之一),这里有一个适用于任何文档类别的解决方案。

\documentclass{book}
\usepackage{graphicx,tikz,calc}
\usetikzlibrary{calc}
\newlength\imageheight

\newcommand{\placeimage}[1]{%
\tikz[overlay,remember picture]{%
\coordinate(H);
\node[anchor=north] at(current page.north|-H) {#1};}
\setlength{\imageheight}{\heightof{#1}+\baselineskip}
\vspace{\imageheight}
}
\begin{document}

We can place the image here ...\par
\placeimage{\includegraphics[width=\paperwidth]{example-image-A}}\par
and continue our text after the image here ...

\end{document}

在这个解决方案中,我定义了一个新的宏,使用以下命令将图像放置在页面顶部所需的位置:

\tikz[overlay,remember picture]{%
\coordinate(H);
\node[anchor=north] at(current page.north|-H) {#1};}

这会将图像放置在当前位置的正下方,并水平居中。然后我们需要留出等于的垂直空间以\imageheight继续输入文本。这可以通过计算所需空间来实现:

\newlength\imageheight
\setlength{\imageheight}{\heightof{#1}+\baselineskip}

并将计算出的空间添加到最后一个位置\vspace{\imageheight}

第一个解决方案

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\noindent
\makebox[\linewidth]{%
\includegraphics[width=1.0\paperwidth]{example-image-A}
}
\end{document}

正如 egreg 指出的那样,这可能会在其他类中失败,例如book具有onesidetwoside设置的类。因此,这里有一个适用于所有情况的完整解决方案。

\documentclass{article}
\usepackage{graphicx,changepage}
\setlength{\parindent}{0in}

\newcommand{\adjustimg}{% Horizontal adjustment of image
  \checkoddpage%
  \ifoddpage\hspace*{\dimexpr\evensidemargin-\oddsidemargin}\else\hspace*{-\dimexpr\evensidemargin-\oddsidemargin}\fi%
}
\newcommand{\centerimg}[2][width=\textwidth]{% Center an image
  \makebox[\textwidth]{\adjustimg\includegraphics[#1]{#2}}%
}

\begin{document}

\centerimg[width=\paperwidth]{example-image-A}

\newpage

\centerimg[width=\paperwidth]{example-image-B}

\end{document}

在此处输入图片描述

相关内容