我试图让图像从页面左侧的一定距离(2 厘米)开始。当我使用 tikzpicture 和图形环境中的 tikzpicture 时,我从左侧获得了不同的偏移量。
代码和结果如下,测量是在 Adobe 中完成的。
\documentclass[10pt,a4paper]{report}
\usepackage[a4paper,bindingoffset=0cm,left=2cm,right=2cm,top=2cm,bottom=2cm,footskip=2cm]{geometry}
\usepackage{tikz}
\begin{document}
\begin{figure}
{\includegraphics[scale=0.6]{example-image}}
\end{figure}
\begin{tikzpicture}
\node {\includegraphics[scale=0.6]{example-image}};
\end{tikzpicture}
\begin{figure}
\begin{tikzpicture}
\node {\includegraphics[scale=0.6]{example-image}};
\end{tikzpicture}
\end{figure}
\end{document}
我的序言是否已经正确设置?
我怎样才能强制 tikzpicture 的两个实例保持我想要的偏移量?
答案1
这里实际上有两个问题:
- 默认情况下,中的每个节点周围都有一些填充。您可以通过将和都
tikz
设置为来关闭此功能。inner sep
outer sep
0
- 您需要在
tikzpicture
环境前放置 来关闭\noindent
环境前的段落缩进。当您在环境内时,figure
无需执行此操作。
这是 MWE 的一个补丁,可以修复这两个问题:
\documentclass[10pt,a4paper]{report}
\usepackage[a4paper,bindingoffset=0cm,left=2cm,right=2cm,top=2cm,bottom=2cm,footskip=2cm]{geometry}
\usepackage{tikz}
\begin{document}
\begin{figure}
\includegraphics[scale=0.6]{example-image}
\end{figure}
\noindent% stop paragraph indentation
\begin{tikzpicture}
\node[inner sep=0, outer sep=0] {\includegraphics[scale=0.6]{example-image}};
\end{tikzpicture}
\begin{figure}
\begin{tikzpicture}
\node[inner sep=0, outer sep=0]{\includegraphics[scale=0.6]{example-image}};
\end{tikzpicture}
\end{figure}
\end{document}
这将产生所需的结果:
当然,你可以让节点周围没有任何间距
\tikzset{node/.style={style={inner sep=0, outer sep=0}}}
然后使用\node{\includegraphics...}
。或者,你可以使用 定义不带分隔的节点样式
\tikzset{tight/.style={inner sep=0, outer sep=0}}
然后使用\node[tight]{\includegraphics...}
。
您还可以使用 来“全局”关闭段落缩进\parindent=0pt
。