
我想包括一個由 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}