![尝试使用 graphix 创建全页宽度图像,noindent 不起作用](https://linux22.com/image/319440/%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20graphix%20%E5%88%9B%E5%BB%BA%E5%85%A8%E9%A1%B5%E5%AE%BD%E5%BA%A6%E5%9B%BE%E5%83%8F%EF%BC%8Cnoindent%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我刚刚开始学习 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
答案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
具有oneside
或twoside
设置的类。因此,这里有一个适用于所有情况的完整解决方案。
\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}