为什么字幕会出错?

为什么字幕会出错?

我使用了这里这种方法可行,但是会引发错误:

pdflatex> ! \@caption 的参数有一个额外的 }。...
pdflatex
> ! 段落在 \@caption 完成之前结束。

这是一个可重现的示例——如果您加载任何图片,仍然会出现上述两个错误:

\documentclass[12pt]{article}

\usepackage{a4wide,german,fancyhdr}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{epstopdf}

\begin{document}

text before

\begin{figure}[h!]
  \centering
  %\includegraphics[width=0.5\textwidth]{path2/figure.png}
  \caption{first line\\\hspace{\textwidth} Second line.}
\end{figure}

text after

\end{document}

答案1

\\是一种脆弱的命令。当写入辅助文件时,它会被多次扩展,从而导致错误。在前缀中添加 ,\\错误\protect就会消失。更好的是,不要在标题中使用换行符,这样看起来不太好看。

\documentclass{article}
\usepackage{graphicx}

\begin{document}

text before

\begin{figure}[h!]
  \centering
  \includegraphics[width=0.5\textwidth]{example-image-a}
  \caption{first line\protect\\\hspace{\textwidth} Second line.}
\end{figure}

text after

\end{document}

相关内容