图像在下一页向下移动,向右移动

图像在下一页向下移动,向右移动
    \documentclass[12pt]{exam}
    \newtheorem{theorem}{Theorem}
    \usepackage{graphicx}
    \usepackage{amsmath}
    \usepackage{commath}
    \usepackage{epstopdf}
    \usepackage{tikzpagenodes}
    \usepackage{float}
    \begin{document}
    \usepackage{float}

\usepackage{lipsum}

\newenvironment{absolutelynopagebreak}
  {\par\nobreak\vfil\penalty0\vfilneg
   \vtop\bgroup}
  {\par\xdef\tpd{\the\prevdepth}\egroup
   \prevdepth=\tpd}

   \begin{questions}
   \question Answer the following questions on the basis of given diagram
   \begin{figure}[hbt!]
   \begin{center}
   \includegraphics[scale=0.70]{images/assignment-1.png}
   \end{center}
   \end{figure}

   \end{questions}
   \end{document}

我正在尝试构建一个基于图片的功能,但是图片在下一页中向下移动,此外图片还向右移动,如何将其带回到当前页面的中心位置并靠近标有问题编号的位置。

这是我根据 @ABlueChameleon 的建议更新的代码

\documentclass[12pt]{exam}
        \newtheorem{theorem}{Theorem}
        \usepackage{graphicx}
        \usepackage{amsmath}
        \usepackage{commath}
        \usepackage{epstopdf}
        \usepackage{tikzpagenodes}
        \usepackage{float}
        \begin{document}

       \begin{questions}
       \question Answer the following questions on the basis of given diagram
       \begin{figure}[hbt!]
       \begin{absolutelynopagebreak}
   \includegraphics[scale=0.70]{images/assignment-1.png}
   \end{absolutelynopagebreak}

       \end{figure}

       \end{questions}
       \end{document}

答案1

如果您没有看到问题之前的图像,或者下一页的图像,请不要使用t(顶部)选项。

由于您也使用了该!选项,因此您的图像对于可用空间来说仍然太大。该选项scale不是将图像适合特定文档布局的最佳选项,因为它会生成相对于原始图像的大小,但不是相对于页面中的可用空间。为此,您应该使用widthand/或height

当您只使用其中一个选项时,图像将按比例缩放。同时使用widthheight显然图像将被扭曲以实现两个维度,除非您使用keepaspectratio具有明显含义的。在这种情况下,图像将被缩放尽可能多, 但不超过那个设置。

由于您只有一行文字,因此这也适用于您的图像:

\documentclass[12pt]{exam}
\usepackage{graphicx}
\usepackage{commath}
\begin{document}
\begin{questions}
\question Answer the following questions on the basis of given diagram
\begin{figure}[h!]
\centering
\includegraphics[
        width=\linewidth,
        height=\dimexpr\textheight-2\baselineskip,
        keepaspectratio
                ]{example-image-9x16.png}
\end{figure}
\end{questions}
\end{document}

姆韦

否则,根据需要减小高度。例如,\dimexpr\textheight-5\baselineskip 2 允许问题中显示几行文本,或者仅.33\textheight.显示文本区域的三分之一。

另一方面,如果图像仍然向任何方向偏移,则意味着源图像中的图形周围有一些不相等的空白空间。如果将图像放在 \fbox 中(例如\fbox{\includegraphics[...]{...}}),您将看到整个图像(包括不可见的背景)都正确放置。在这种情况下,请参阅 如何自动从图像中裁剪背景?.你甚至可以这样做相对坐标选项)...或者您可以简单地使用一些图像编辑器(如 Gimp)裁剪源图像。

相关内容