我想包含由 2 个或更多子图组成的图形。这是我的代码:
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{../figuras/fig1}
\caption{Caption}
\end{subfigure}
\quad
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{../figuras/fig2}
\caption{Caption}
\end{subfigure}
\quad
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{../figuras/fig3}
\caption{Caption}
\end{subfigure}
\caption{Caption}
\end{figure}
我已经导入了以下包:
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{fancyhdr}
\usepackage{subcaption}
\usepackage{geometry}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{eucal}
\usepackage{setspace}\singlespacing
我在所有 \caption 行中都遇到此错误:
缺少插入的 \endcsname。\caption{Caption} 额外的 \endcsname。\caption{Caption}
我该如何修复它?
答案1
在下面的 mwe(最小工作示例)中,我根据您的代码片段进行了编写,其中我做了以下更改:
- 添加
demo
选项graphicx
(生成黑框而不是我还没有的图像) lipsum
在测试文档中添加虚拟文本包- 替换
\quad
宽度\hfill
,将图像等距放置在左右文本边框之间 代码中添加一些可能对你有帮助的代码完成姆韦(最小工作示例)是:
\documentclass[english]{book} % \usepackage[latin1]{inputenc} % better to use \usepackage[utf]{inputenc} % which is newest version of document classes default \usepackage{babel} \usepackage{fancyhdr} \usepackage{subcaption} \usepackage{geometry} \usepackage{makeidx} \usepackage[demo]{graphicx} % in the real document remove option "demo" %\usepackage{latexsym} \usepackage{amssymb} \usepackage{eucal} %\usepackage{setspace}\singlespacing \usepackage{lipsum} % for dummy text, remove in the real document \begin{document} \lipsum[1-5] \begin{figure}[htb] %\centering \begin{subfigure}[b]{0.3\textwidth} \includegraphics[width=\linewidth]{../figuras/fig1} \caption{sub caption} \end{subfigure} \hfill \begin{subfigure}[b]{0.3\textwidth} \includegraphics[width=\linewidth]{../figuras/fig2} \caption{sub caption} \end{subfigure} \hfill \begin{subfigure}[b]{0.3\textwidth} \includegraphics[width=\linewidth]{../figuras/fig3} \caption{sub caption} \end{subfigure} \caption{Main caption} \end{figure} \lipsum[6-10] \end{document}
这使:
从上面姆韦因此,其代码不会导致任何错误。由于您的文档的日志文件未知,因此很难说您的错误来自哪里。如需进一步帮助,请将您的文档片段合并到一个小而完整的文档中,如上所示姆韦并将其添加到您的问题中。
答案2
希望这可以帮助。
\documentclass[12pt,twoside]{book}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{fancyhdr}
\usepackage{subcaption}
\usepackage{geometry}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{eucal}
\usepackage{setspace}
\singlespacing
\begin{document}
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{../figuras/fig1}
\caption{Caption}
\end{subfigure}
\quad
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{../figuras/fig2}
\caption{Caption}
\end{subfigure}
\quad
\begin{subfigure}[b]{0.3\textwidth}
\includegraphics[width=\textwidth]{../figuras/fig3}
\caption{Caption}
\end{subfigure}
\caption{Caption}
\end{figure}
\end{document}
由于我没有图像,因此我获得了以下源代码输出。随附屏幕截图供您参考。
编辑2:使用SubFloat
环境的替代解决方案(带有13个子图的图)。
\documentclass[12pt,a4paper,twoside,onecolumn]{book}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{subfig}
\begin{document}
\begin{figure*}
\mbox{\subfloat[]{\label{1} \includegraphics[height=2.3cm]{example-image-a}}}
\mbox{\subfloat[]{\label{2} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{3} \includegraphics[height=2.3cm]{example-image-c}}}
\mbox{\subfloat[]{\label{4} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{5} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{6} \includegraphics[height=2.3cm]{example-image-c}}}
\mbox{\subfloat[]{\label{7} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{8} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{9} \includegraphics[height=2.3cm]{example-image-a}}}
\mbox{\subfloat[]{\label{10} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{11} \includegraphics[height=2.3cm]{example-image-c}}}
\mbox{\subfloat[]{\label{12} \includegraphics[height=2.3cm]{example-image-b}}}
\mbox{\subfloat[]{\label{13} \includegraphics[height=2.3cm]{example-image-b}}}
\caption{Normal Models. \protect\subref{subfig:1} SLR. \protect\subref{subfig:2} MLR. \protect\subref{subfig:3} SWR. \protect\subref{subfig:4} OLS. \protect\subref{5} OLS. \protect\subref{6} OS. \protect\subref{7} Ok. \protect\subref{8} hi. \protect\subref{9} hey. \protect\subref{10} MSD. \protect\subref{11} LPY. \protect\subref{12} MSY. \protect\subref{13} Hello.}
\label{fig}
\end{figure*}
\end{document}