我正在使用以下代码在一行中显示两个 tikzpictures。
\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage[labelformat=empty]{caption}
\begin{document}
\begin{center}
\begin{minipage}[b]{.5\textwidth}
\centering
\begin{tikzpicture}
\draw (0,2) -- (0,-2);
\end{tikzpicture}
\captionof{figure}{
A non-essential apartment\\
of type $A_1$.}
\end{minipage}%
\begin{minipage}[b]{.5\textwidth}
\centering
\begin{tikzpicture}
\foreach \x in {0,0.6,1.2,1.8}
\draw (\x,2)--(\x,-2) (2,\x)--(-2,\x) (-\x,2)--(-\x,-2) (2,-\x)--(-2,-\x);
\end{tikzpicture}
\captionof{figure}{
A non-irreducible apartment\\
of type $A_1\times A_1$.}
\end{minipage}
\end{center}
\end{document}
为什么第二个标题没有居中?
更新:缩短第二个标题中的文字以更清楚地显示问题。
答案1
第一个标题没有 ,只能\\
放在一行上,这会导致采用不同的路线,但最终\\
在居中范围内执行 ,并且线条居中。
第二个标题不适合一行,所以设置在 parbox 中。
这里我使用了 caption package setup 命令来跳过单行检查,因此两个字幕的处理方式相同。如果您希望字幕在 parbox 中居中(或者只让对齐字幕的最后一行居中),caption 包中有相应的选项。
\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage[labelformat=empty]{caption}
\begin{document}
\begin{center}
\captionsetup{singlelinecheck=off,justification=centerlast}
\begin{minipage}[b]{.5\textwidth}
\centering
\begin{tikzpicture}
\draw (0,2) -- (0,-2);
\end{tikzpicture}
\captionof{figure}{
A non-essential apartment\\
of type $A_1$.}
\end{minipage}%
\begin{minipage}[b]{.5\textwidth}
\centering
\begin{tikzpicture}
\foreach \x in {0,0.6,1.2,1.8}
\draw (\x,2)--(\x,-2) (2,\x)--(-2,\x) (-\x,2)--(-\x,-2) (2,-\x)--(-2,-\x);
\end{tikzpicture}
\captionof{figure}{
A non-irreducible essential apartment
of type $A_1\times A_1$.}
\end{minipage}
\end{center}
\end{document}