为什么练习问题的标题没有居中?

为什么练习问题的标题没有居中?

正如解释的那样这个答案, 为锻炼,图像可以放在center环境中(不是在浮动中figure)。这在练习主体中效果很好。

但是在 里面\Question,图像标题没有居中:

结果

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{graphicx}

\usepackage{caption}
\usepackage{exercise}

\begin{document}

\begin{Exercise}[title=MWE, label=ex:mwe]
In the main exercise text, the caption is correctly centered on the image.
\begin{center}
    \captionsetup{type=figure}
    \includegraphics[width=0.8\textwidth]{example-image}  % example-image visible with mwe installed
    \caption{Caption text, properly centered.}
\end{center}

\Question{
    Why inside a ``Question'', the caption is not centered on the image ?
    \begin{center}
        \captionsetup{type=figure}  % placed here for hyperref
        \includegraphics[width=0.8\textwidth]{example-image}
        \caption{Caption text, shifted.}
    \end{center}
}

\end{Exercise}

\end{document}

标题文档很清楚:对于单行,标题应该始终居中。
exercise没有在“支持的软件包”部分列出,但这似乎很正常,因为它exercise没有明确处理标题。

caption这是或中的问题吗exercise?还是我应该学习的东西?
发生了什么?
如何正确修复?
欢迎提出建议。

答案1

Center 是一个列表,将与其他列表(如练习)嵌套。换句话说,center 不是相对于页面居中,而是相对于 \Question。\caption 忽略列表。

所以问题是,您是否真的希望标题相对于图像居中,或者图像相对于页面居中?

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{graphicx}

\usepackage{caption}
\usepackage{exercise}
\usepackage{showframe}

\makeatletter
\newcommand\fullwidth{\hskip-\@totalleftmargin \linewidth=\textwidth}
\makeatother

\begin{document}

\begin{Exercise}[title=MWE, label=ex:mwe]

\Question{
    Here we center the caption relative to the image.
    \begin{center}
        \captionsetup{type=figure, position=below}  % placed here for hyperref
        \includegraphics[width=0.8\textwidth]{example-image}
        \parbox{\linewidth}{\caption{Caption text.}}
        \rule{\linewidth}{1pt}
    \end{center}
}

\Question{
    Here we center the image relative to the page.
    \begin{center}
        \captionsetup{type=figure, position=below}  % placed here for hyperref
        \fullwidth\includegraphics[width=0.8\textwidth]{example-image}
        \caption{Caption text.}
        \rule{\linewidth}{1pt}
    \end{center}
}

\end{Exercise}

\end{document}

答案2

您的图片完全居中,但您的第一句话中的 \parindent 和问题中较小的文本宽度在视觉上误导了您。我扩展了相应的文本。如果您编译它们,您应该会得到附加的结果:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{graphicx}

\usepackage{caption}
\usepackage{exercise}

\begin{document}

\begin{Exercise}[title=MWE, label=ex:mwe]
In the main exercise text, the caption is correctly centered on the image. This as well is a longer line.
\begin{center}
\captionsetup{type=figure}
\includegraphics[width=0.8\textwidth]{example-image}  % example-image visible with mwe installed
\caption{Caption text, properly centered.}
\end{center}

\Question{
Why inside a ``Question'', the caption is not centered on the image? Why is this a shorter line?
\begin{center}
    \captionsetup{type=figure}  % placed here for hyperref
    \includegraphics[width=0.8\textwidth]{example-image}
    \caption{Caption text, shifted.}
\end{center}
}

\end{Exercise}

\end{document}

有问题的图形

相关内容