这是我的代码:
\documentclass[]{article}
\usepackage{titlesec}
\begin{document}
\titleformat{\section}
{\normalfont\Large\bfseries}{\thesection}{1em}{}[{\titlerule[0.8pt]}]
\section*{29th March 2014}
\textit{A little subtitle}
Here starts my first paragraph.
\end{document}
以下是最终文档的屏幕截图:
我希望“小副标题”作为章节标题的一部分,位于水平线上方。
我认为实现这一点的最简单方法是创建一个包含两个输入的部分格式:“日期”和“小标题”。在这种情况下,我的代码将是:
\section*{29th March 2014}{A little subtitle}
我该如何做呢?
答案1
这是一个解决方案,使用etoolbox
和stackengine
。我定义一个\subtitlesec
命令,以副标题作为参数。此命令必须放置在前主标题。我没有检查页眉或内容标题会发生什么,但您始终可以使用可选参数部分。
\documentclass[11pt, twoside]{article}% http://ctan.org/pkg/amsproc
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{titlesec}
\usepackage{etoolbox}
\usepackage{stackengine}
\newbool{secsub}
\newcommand{\secsubtitle}[1]{\global\booltrue{secsub}\smash{\brlap{\mdseries\itshape #1}}}
\titleformat{\section}[hang]{\normalfont\Large\bfseries}{\thesection}{1em}{}[{\titlerule[0.8pt]}{\ifbool{secsub}{\bigskip}{}}\global\setbool{secsub}{false}]%{}
%
\titlespacing*{\section}{0ex}{1.8\baselineskip}{1\baselineskip}%
\begin{document}
\section{\secsubtitle{A subtitle}First section}
A section title with a subtitle.
\section{Another section}
A section title with no subtitle.
\end{document}