我正在尝试将一个图形放在列表旁边,列表正在讨论该图形。这很好,我可以使用 minipage 环境来做到这一点。但是,我的问题是,当我尝试在图形上添加标题时,它会为包含 minipages 的整个“图形”添加标题,而不仅仅是图片本身。我已附上我所做的示例。
我在网上搜索过,但没能找到解决方案。我试过使用子图、换行文本、浮动图等。这些方法都不起作用,经常输出错误位置的图。
关于如何修复此问题您有什么想法吗?
这是我目前的文档:
\documentclass[twoside,a4paper]{report}
\usepackage[ignorefoot, ignoremp, ignorehead]{geometry}
\usepackage{fancyhdr}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{eepic}
\usepackage{mhchem}
\usepackage{chemstyle}
\usepackage{color}
\usepackage{./Scripts/simplemargins}
\usepackage{array}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{wrapfig}
\usepackage{paralist}
\usepackage{enumitem}
\usepackage{cite}
\usepackage{graphicx}
\usepackage{titlesec}
\usepackage{booktabs}
\usepackage{subfig}
\usepackage{hyperref}
\begin{document}
\begin{figure}[ht]
\begin{minipage}[b]{0.48\linewidth}
\begin{itemize} [ ] % To get list without points
\item{Blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\item{More blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[b]{0.48\linewidth}
\centering
\includegraphics[scale=0.2]{caption_example.pdf}
\caption{default}
\label{fig:label}
\end{minipage}
\end{figure}
\end{document}
答案1
使用带有选项的 chemstyle 包floatrow
(以确保 floatrow 包将被 chemstyle 包使用)并\RawFloats
在图中放置一个作为第一个命令:
\documentclass[twoside,a4paper]{report}
\usepackage[demo]{graphicx} % option "demo" added for compiling without images
\usepackage[floatrow]{chemstyle}
\usepackage{enumitem}
\begin{document}
\begin{figure}[ht]
\RawFloats
\begin{minipage}[b]{0.48\linewidth}
\begin{itemize} [ ] % To get list without points
\item{Blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\item{More blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[b]{0.48\linewidth}
\centering
\includegraphics[scale=0.2]{caption_example.pdf}
\caption{default}
\label{fig:label}
\end{minipage}
\end{figure}
\end{document}
(该\RawFloats
命令在 floatrow 包文档中描述。)
答案2
正如马丁在评论中所建议的那样,最小化代码通常会有所帮助(这就是为什么它被称为最小示例:)
\usepackage{graphix}
您在前言中添加了两个,这似乎太多了。而且,要重现您的问题,所有化学包似乎也太多了。
如果我最小化你的例子,我没有看到代码有什么问题,正如你所见此截图。
\documentclass[twoside,a4paper]{report}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\usepackage{enumitem}
\begin{document}
\lipsum[1]
\begin{figure}[ht]
\begin{minipage}[b]{0.48\linewidth}
\begin{itemize}[ ] % To get list without points
\item{Blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\item{More blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[b]{0.48\linewidth}
\centering
\includegraphics[scale=0.2]{caption_example.pdf}
\caption{default}
\label{fig:label}
\end{minipage}
\end{figure}
\lipsum[1]
\end{document}
使用您的代码,我似乎无法在打开时编译文档\usepackage{chemstyle}
,因此这可能是第一个需要查看的包。
此外,我无法访问%\usepackage{./Scripts/simplemargins}
。看名字,我认为这simplemargins
可能是罪魁祸首。也许它对边距做了一些奇怪的事情,影响了标题……
答案3
包如何chemstyle
控制标题放置的一种解决方法是不使用figure
列表和图形的环境,而是使用
\captionof{figure}{<caption>}
代替
\caption{<caption>}
使用这种方法,构造将不再浮动,这对您来说可能会或可能不会接受。
另一种方式是使用subfloat
重新定义的子标题,使其看起来像正常的图形标题:
\documentclass[twoside,a4paper]{report}
\usepackage[ignorefoot, ignoremp, ignorehead]{geometry}
\usepackage{fancyhdr}
\usepackage{amsmath,amsthm,amssymb}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\usepackage{eepic}
\usepackage{mhchem}
\usepackage{chemstyle}
\usepackage{color}
%\usepackage{./Scripts/simplemargins}
\usepackage{array}
\usepackage{multirow}
\usepackage{bigstrut}
\usepackage{wrapfig}
\usepackage{paralist}
\usepackage{enumitem}
\usepackage{cite}
\usepackage{graphicx}
\usepackage{titlesec}
\usepackage{booktabs}
\usepackage{subfig}
\usepackage{hyperref}
\begin{document}
\captionsetup[subfigure]{font=normalsize,labelformat=simple}
\renewcommand{\thesubfigure}{Figure \arabic{figure}:}
\begin{figure}[ht]
\begin{minipage}[b]{0.48\linewidth}
\begin{itemize} [ ] % To get list without points
\item{Blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\item{More blah blah blah
\begin{enumerate}
\item{Text}
\item{Text}
\end{enumerate}
}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[b]{0.48\linewidth}
\subfloat[default]{
\centering
\includegraphics[scale=0.2]{caption_example.pdf}
\label{fig:label}}
\end{minipage}
\end{figure}
\end{document}