
Ich möchte eine Figur einbinden, die aus zwei oder mehr Unterfiguren besteht. Das ist mein Code:
\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}
Und ich habe die folgenden Pakete importiert:
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{fancyhdr}
\usepackage{subcaption}
\usepackage{geometry}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{eucal}
\usepackage{setspace}\singlespacing
Ich habe diesen Fehler in allen \caption-Zeilen:
Fehlender \endcsname eingefügt. \caption{Caption} Zusätzlicher \endcsname. \caption{Caption}
Wie kann ich es reparieren?
Antwort1
in mwe (minimales Arbeitsbeispiel) habe ich unten aus Ihren Codefragmenten zusammengestellt, in denen ich die folgenden Änderungen vorgenommen habe:
demo
Option hinzufügengraphicx
(die schwarze Kästen anstelle Ihrer Bilder generiert, was ich nicht getan habe)lipsum
Paket für Blindtext im Testdokument hinzufügen- Ersetzen Sie
\quad
die Breite\hfill
, indem Sie Bilder in gleichem Abstand zwischen dem linken und rechten Textrand platzieren zum Code fügen Sie einige Codes hinzu, die Ihnen hilfreich sein könnenmwe(minimales funktionierendes Beispiel) ist:
\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}
Das Ergebnis ist:
von obenmweDaraus folgt, dass sein Code keinen Fehler verursacht. Da die Protokolldatei Ihres Dokuments unbekannt ist, ist es schwierig zu sagen, woher Ihr Fehler stammt. Für weitere Hilfe fügen Sie bitte Ihre Dokumentfragmente in einem kleinen, aber vollständigen Dokument zusammen, wie oben beschrieben.mweund fügen Sie es Ihrer Frage hinzu.
Antwort2
Hoffe das hilft.
\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}
Ich erhalte die folgende Ausgabe für Ihren Quellcode, da ich die Bilder nicht habe. Der Screenshot ist zu Ihrer Information beigefügt.
Bearbeitung 2: Alternative Lösung mithilfe SubFloat
der Umgebung (Abbildungen mit 13 Unterabbildungen).
\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}