为什么更新章节会使 \ref 命令对章节标签不起作用?

为什么更新章节会使 \ref 命令对章节标签不起作用?

一个例子。

\documentclass{article}
\renewcommand{\section}[1]{\medskip \addtocounter{section}{1}\raggedright \textbf{\Roman{section}. \ #1}\medskip}

\begin{document}
\section{First Section}

In \ref{secsec} happens nothing.

\section{Second Section}
\label{secsec}
\end{document}

不是“在 1.1 中什么也没有发生。”而是“在 1.1 中什么也没有发生。”为什么?

答案1

正如其他人所说,章节标题需要的不仅仅是设置字体和间距。您需要设置标签,以避免标题孤零零地位于页面底部等等。

有了titlesec它真的很容易。

\documentclass{article}

\usepackage{titlesec}

\titleformat{\section}[hang]
  {\raggedright\bfseries} % the font for the section title
  {\thesection. \ } % what to add for \section (not for \section*)
  {0pt} % the added space between the number and the title
  {} % the title
\titlespacing*{\section}
  {0pt} % no space at the left
  {\medskipamount} % before
  {\medskipamount} % after

\renewcommand{\thesection}{\Roman{section}}

\begin{document}

\section{First Section}

In \ref{secsec} nothing happens.

\section{Second Section}\label{secsec}

Here as well.

\end{document}

在此处输入图片描述

相关内容