列表旁边的图片(标题问题)

列表旁边的图片(标题问题)

我正在尝试将一个图形放在列表旁边,列表正在讨论该图形。这很好,我可以使用 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}

相关内容