如何将标题放在图形的中心?

如何将标题放在图形的中心?

下面的代码创建一个图形环境,在里面创建一个 tikz 环境,绘制一条线,关闭它然后添加标题。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{caption}
\usetikzlibrary{arrows}
\title{}
\author{}
\date{}
\begin{document}
\maketitle

\begin{figure}[h]
\begin{tikzpicture}
\draw (0,0) -- (5,0);
\end{tikzpicture}
\caption{A line.}
\end{figure}

\end{document}

标题位于整个页面的中间。是否可以将标题改为位于图形的中心?

答案1

默认标题位于页面中央。使用\centering也会使图形居中。

如果你想将标题与图片置于中心而是将两者都放在minipage图形的宽度范围内。

A

\documentclass{article}
\usepackage{tikz}
\usepackage{caption}
\usetikzlibrary{arrows}
\title{}
\author{}
\date{}

\usepackage{showframe} % ONLY to show the margins <<<<<<<,


\begin{document}
\maketitle

\begin{figure}[h]
    \centering
    \begin{tikzpicture}
        \draw (0,0) -- (5,0);
    \end{tikzpicture}
    \caption{A line I.}
\end{figure}

\begin{figure}[h]
    \begin{minipage}{5cm} % added <<<<<<<<<<<<<<
        \begin{tikzpicture}
            \draw (0,0) -- (5,0);
        \end{tikzpicture}
        \caption{A line II.}
    \end{minipage}
\end{figure}
    
\end{document}

如果您事先不知道图像的宽度,可以测量它。

\documentclass{article}
\usepackage{tikz}
\usepackage{caption}
\usetikzlibrary{arrows}
\title{}
\author{}
\date{}

\usepackage{showframe} % ONLY to show the margins <<<<<<<,

\newdimen\imagewidth %<<<<<<<<<<<<<<

\begin{document}
\maketitle  

\settowidth{\imagewidth}{% measure the image width <<<<<<<<<<
    \begin{tikzpicture}
    \draw (0,0) -- (5,0);
\end{tikzpicture}
}

\begin{figure}[h]
    \begin{minipage}{\the\imagewidth} % use the image width <<<<<<<<<<<<<<
        \begin{tikzpicture}
            \draw (0,0) -- (5,0);
        \end{tikzpicture}
        \caption{A line III. If you don't know the width of the image in advance, you can measure it.}
    \end{minipage}
\end{figure}

\end{document}

b

相关内容