我想使用titlesec
渐变阴影部分标题延伸到左边距。我想让部分编号和渐变延伸到左边距,但是希望章节标题文本与文档文本对齐。
\documentclass{article}
\usepackage{tikz}
\usepackage[nobottomtitles*]{titlesec}
\usepackage{blindtext}
\titleformat{\section}[block]%
{\Large\bfseries
\tikz[overlay] \shade[left color=black!20,right color=white] (0,-1ex) rectangle (\textwidth,1em);}%
{\thesection}%
{3em}% <---- what do I need here???
{}
\titlespacing*{\section}{-5em}{*1}{*1}
\begin{document}
\section{Here is my section title}
\blindtext
\end{document}
似乎我需要类似的东西5em-<sep>-<labelwidth>
,但我不知道如何实现。我希望无论使用什么字体或字体大小,结果都能正常工作。
问题:如何以独立于字体的方式使章节标题文本与文档正文文本对齐?
答案1
借助以下工具构建章节标题几乎更容易:titlesec
的explicit
选项。这允许您使用#1
的:<title>
\section{<title>}
\documentclass{article}
\usepackage{tikz}
\usepackage[nobottomtitles*,explicit]{titlesec}
\usepackage{lipsum}
\titleformat{\section}[block]
{\Large\bfseries}
{}
{0pt}
{\hspace{-5em}% Move into margin
\tikz[overlay] \shade[left color=black!20, right color=white] (0,-1ex) rectangle (\dimexpr\textwidth+5em,1em);% Set background shaded rectangle
\makebox[5em][l]{\thesection}#1}% Set number + title
\titlespacing*{\section}{0pt}{*1}{*1}
\begin{document}
\section{Here is my section title}
\lipsum[1]
\end{document}