titlesec 与 sectsty 等同

titlesec 与 sectsty 等同

我在用

 \usepackage{titlesec}
 \usepackage{tipa}
 \titleformat{\section}
 {\normalfont\huge\bfseries}
 {\thesection\hskip 10pt\textpipe\hskip 10pt} 
 {0pt}
 {}

用于格式化我的部分。唯一的问题是它有问题hyperref,我无法很好地链接各部分。

看这里目录指向错误的章节页面,而不是子章节页面对于原始问题和 MWE。

我只想使用与另一个包(sectsty或其他包)相同的格式(部分名称前面有一个竖线)。可以吗?

谢谢!

答案1

您不需要任何软件包:

\documentclass{article}

\usepackage{hyperref}

\makeatletter
\renewcommand{\@seccntformat}[1]{%
  \csname the#1\endcsname % the number
  \hspace{10pt}$|$\hspace{10pt}% space, bar, space
}
\makeatother

\begin{document}

\tableofcontents
\newpage

\section{Here's the section title}

\end{document}

在此处输入图片描述

这也会将垂直条添加到小节标题中,但可以将其仅限于小节。

\documentclass{article}

\usepackage{hyperref}

\makeatletter
\renewcommand{\@seccntformat}[1]{%
  % the number
  \csname the#1\endcsname
  % the formatting for the current level
  \@ifundefined{format#1}{\quad}{\csname format#1\endcsname}
}
\makeatother
\newcommand{\formatsection}{%
  \hspace{10pt}$|$\hspace{10pt}% space, bar, space
}

\begin{document}

\tableofcontents
\newpage

\section{Here's the section title}

\subsection{Here's a subsection}

\end{document}

如果不定义\format<level>,通常\quad会在编号和标题之间添加。

在此处输入图片描述

相关内容