我使用了这里这种方法可行,但是会引发错误:
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}