我正在尝试将两张图片放入我的 latex 文档中。我希望格式为
2(a)文本
图片 图片
文字 文字
当我执行以下操作时
%2a
\item Here are the histograms of M and A values. \\
\includegraphics[scale=.4]{2a hist M values.jpeg}
\includegraphics[scale=.4]{2a hist a values.jpeg}
I would not say either of these are normally distributed.
我得到了我想要的,但第二张图片超出了页面范围
%2a
\item Here are the histograms of M and A values.
\begin{figure}[h!]
\includegraphics[scale=.4]{2a hist M values.jpeg}
\includegraphics[scale=.4]{2a hist a values.jpeg}
\end{figure}
I would not say either of these are normally distributed.
这会很好地格式化图像,但文本会继续,就好像图像被放在章节末尾一样。文本基本上在第一句之后继续,而我希望它在图像之后继续。
谁能帮我这个?
答案1
如果不需要标题,则可以figure
完全省略环境。此外,可以借助minipage
s 对齐图形。
\documentclass{article}
\usepackage{graphicx}
\usepackage{showframe} %% for demo of grids, remove in your file
\begin{document}
\begin{enumerate}
\item Here are the histograms of M and A values.\par
\begin{minipage}{.45\linewidth}
\includegraphics[width=\linewidth]{example-image-a}
\end{minipage}%
\hfill
\begin{minipage}{.45\linewidth}
\includegraphics[width=\linewidth]{example-image-b}
\end{minipage}
\par
I would not say either of these are normally distributed.
\end{enumerate}
\end{document}
如果您想要字幕,您可以使用提供宏的caption
或包。capt-of
\captionof
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption} %% provides \captionof command. capt-of package does this too.
\usepackage{showframe} %% for demo of grids, remove in your file
\begin{document}
\begin{enumerate}
\item Here are the histograms of M and A values.\par
\begin{minipage}{.45\linewidth}
\includegraphics[width=\linewidth]{example-image-a}
\captionof{figure}{some figure}
\end{minipage}%
\hfill
\begin{minipage}{.45\linewidth}
\includegraphics[width=\linewidth]{example-image-b}
\captionof{figure}{Some other figure}
\end{minipage}
\par
I would not say either of these are normally distributed.
\end{enumerate}
\end{document}
答案2
为了更详细地解释一下发生了什么,LaTeX 具有用于确定最佳浮动位置的内部参数。无需任何额外的软件包,浮动选项包括:
t
- 页面顶部b
- 页面底部p
- 浮动内容单独页面h
- 如果可能的话,请点击此处!
- 这将覆盖 LaTeX 的内部参数
因此,可以这样写\begin{figure}[htbp]
,让图形浮动位于以下任意位置(IE、此处、页面顶部、页面底部或者单独的、专用于浮动元素的页面)。
现在,\begin{figure}[h]
应该只将图形放在此处。但是,由于 LaTeX 内部确定了良好的浮动位置,因此只有当这里是浮动的好位置时,它才会将其放在此处。使用!
应该覆盖这一点。也就是说,\begin{figure}[h!]
应该覆盖 LaTeX 的内部参数,并明确将浮动放在此处。(在您的例子中,它似乎没有覆盖这一点;我们将在下面回到这一点。首先,介绍一下float
。)
现在,还有另一种选择,H
从float
包装中,根据LaTeX 维基百科,是“有点相当于h!
”。
根据float
文档(第 3-4 页),H
无论如何,位置说明符始终会将浮动放置在此处。从这个意义上讲,它在某种程度上等同于h!
。
但是,以下代码仍然会产生您不想要的结果:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{enumerate}
\item Here are the histograms of M and A values.
\begin{figure}[h!]
\includegraphics[width=.45\linewidth]{example-image-a}
\includegraphics[width=.45\linewidth]{example-image-b}
\end{figure}
I would not say either of these are normally distributed.
\end{enumerate}
\end{document}
另一方面,使用H
位置说明符会产生所需的结果:
\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\begin{document}
\begin{enumerate}
\item Here are the histograms of M and A values.
\begin{figure}[H]
\includegraphics[width=.45\linewidth]{example-image-a}
\includegraphics[width=.45\linewidth]{example-image-b}
\end{figure}
I would not say either of these are normally distributed.
\end{enumerate}
\end{document}
我认为,这个看似难题的答案在于浮点数在内部是如何处理的。在前一种情况下,h!
使用 where 时,LaTeX 仍将该事物视为浮点数。另一方面,当使用H
fromfloat
时,我怀疑该事物被放在 中minipage
,就像 @HarishKumar 的回答一样。(虽然文档float
没有明确说明发生了什么,但这种怀疑的来源来自 @DavidCarlisle 的回答,他说“H
使得环境本质上根本不是浮点数,它或多或少与使用相同minipage
”。)
因此,在前一种情况下,该事物仍被视为浮点数,但它是不是在后一种情况下,实际的浮点数。在后一种情况下,由于“这是 M 和 A 值的直方图”和“我不认为它们都是正态分布的”之间发生了minipage
(或minipage
类似的事情),因此强制发生段落中断。
另一方面,由于在前一种情况下,该对象只是一个浮点数,因此不会发生段落中断。而且,由于原始文件中没有换行符.tex
,因此“这是 M 和 A 值的直方图”和“我不认为这两个值是正态分布的”被视为同一段落的一部分。
请注意,您可以使用以下代码实现所需的结果:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{enumerate}
\item Here are the histograms of M and A values.
\begin{figure}[h!]
\includegraphics[width=.45\linewidth]{example-image-a}
\includegraphics[width=.45\linewidth]{example-image-b}
\end{figure}
I would not say either of these are normally distributed.
\end{enumerate}
\end{document}
或者,正如@HarishKumar 在他的回答中所做的那样,您可以使用 TeX 原语\par
,它相当于原始.tex
文件中的一个空白行。
总而言之,您在 OP 中指出的不良结果是由于与h!
不同, 导致该事物仍然被 LaTeX 视为合法浮点数,而不是,并且它还由于在您的 OP 中的代码中没有发生段落中断。H
float
minipage
H
您可以通过使用来实现所需的结果float
,使用实际minipage
环境(如@HarishKumar 在他的回答中所做的那样),或者继续使用h!
但实际上使用换行符或将两行文本分成单独的段落\par
。