Ошибка при добавлении фигуры с несколькими подфигурами

Ошибка при добавлении фигуры с несколькими подфигурами

Я хотел бы включить фигуру, составленную из 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{Подпись} Дополнительный \endcsname. \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}

Связанный контент