我可以使用titlesec在每个节标题下以线宽在一行处划行吗?

问题描述 投票:0回答:1

我想在文档中的每个节标题下划线,并在行宽处加一行。

出于我的不理解,使用titlesec应该可以,但是当我输入:

\titleformat*{\section}{\titleline*[c]{\titlerule[.8pc]{.}}}
\titleformat*{\section}{\titlerule[1pc]{.}}

但是,什么也没发生。我在语法上玩了一点,但是什么也没发生。另外,我没有收到任何错误消息。我会忘记一些(空)参数吗?

代码:

\documentclass{article}
\usepackage[defaultfam,tabular,lining]{montserrat} 
\usepackage[a4paper, left=2cm, right=2cm, bindingoffset=0cm]{geometry}
\usepackage{multicol}
\usepackage{titlesec}
\usepackage{lipsum}
\usepackage{etoolbox}
\titlespacing*{\section}
{0pt}{2.5mm}{0mm}
\titleformat*{\section}{\titleline*[c]{\titlerule[.8pc]{.}}}
\titleformat*{\section}{\titlerule[1pc]{.}}
\titleformat*{\section}{\bfseries}
\titleformat*{\section}{\Large}

\begin{document}

\begin{multicols}{2}
\section*{First section}
\lipsum[1-2]
\section*{second section}
\lipsum[3-4]
\section*{third}
\lipsum[5-6]

\end{multicols}
\end{document}
latex
1个回答
0
投票

使用可选的after-code参数可能是在每个节标题之后添加一行的最简单方法:

\titleformat{⟨command⟩}[⟨shape⟩]{⟨format⟩}{⟨label⟩}{⟨sep⟩}{⟨before-code⟩}[⟨after-code⟩]

\documentclass{article}
\usepackage[defaultfam,tabular,lining]{montserrat} 
\usepackage[a4paper, left=2cm, right=2cm, bindingoffset=0cm]{geometry}
\usepackage{multicol}
\usepackage{titlesec}
\usepackage{lipsum}
\usepackage{etoolbox}
\titlespacing*{\section}
{0pt}{2.5mm}{0mm}

\titleformat{\section}
  {\normalfont\Large\bfseries}{\thesection}{1em}{}[\titlerule\vspace*{4pt}]


\begin{document}

\begin{multicols}{2}
\section*{First section}
\lipsum[1-2]
\section*{second section}
\lipsum[3-4]
\section*{third}
\lipsum[5-6]

\end{multicols}
\end{document}
© www.soinside.com 2019 - 2024. All rights reserved.