自定义部分标题中不需要的水平空间

自定义部分标题中不需要的水平空间

我目前正在使用以下代码在 LaTeX 中生成一个漂亮的章节标题。但是,我很难弄清楚如何去掉标题(简介)前后的额外水平空间。我希望下划线只延伸到标题末尾,没有额外的空间。我还希望蓝色框的宽度根据其中章节编号的宽度而变化(因此没有多余的空间,如下图所示)。我该如何实现这一点? 在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{calc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xcolor, lipsum}
\renewcommand*\thesection{\arabic{section}}
\usepackage[explicit,calcwidth]{titlesec}
\definecolor{myBlue}{HTML}{0088FF}

\titleformat{\section}[block]{\Large\bfseries\sffamily}
{\rlap{\color{red}\rule[-6pt]{\titlewidth}{1pt}}\colorbox{myBlue}{
           \raisebox{0pt}[13pt][3pt]{\makebox[60pt]{
                \selectfont\color{white}{\thesection}}
            }}}
{15pt}
{\color{myBlue}#1}
\titlespacing*{\section}{0pt}{0mm}{0mm} 

\begin{document}

\section{Introduction}
\lipsum[1]

\end{document}

答案1

不要忘记由结束线产生的空格。

几乎总是不需要explicit选项titlesec,就像您的情况一样。

我重新格式化了代码,以便更清楚地显示各种嵌套。请注意,%末尾会产生空格。

您所拥有的声明\selectfont毫无用处并且已被删除。

\titleformat{\section}[block]
  {\Large\bfseries\sffamily}
  {%
   \rlap{\color{red}\rule[-6pt]{\titlewidth}{1pt}}%
   \colorbox{myBlue}{%
     \raisebox{0pt}[13pt][3pt]{%
       \makebox[60pt]{%
         \color{white}\thesection
       }%
     }%
   }%
  }
  {15pt}
  {\color{myBlue}}

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{calc}
\usepackage[T1]{fontenc}
\usepackage[calcwidth]{titlesec}

\usepackage{lipsum}

\renewcommand*\thesection{\arabic{section}}

\definecolor{myBlue}{HTML}{0088FF}

\titleformat{\section}[block]
  {\Large\bfseries\sffamily}
  {%
   \rlap{\color{red}\rule[-6pt]{\titlewidth}{1pt}}%
   \colorbox{myBlue}{%
     \raisebox{0pt}[13pt][3pt]{\makebox[60pt]{%
       \color{white}\thesection}%
     }%
   }%
  }
  {15pt}
  {\color{myBlue}}
\titlespacing*{\section}{0pt}{0mm}{0mm} 

\begin{document}

\section{Introduction}
\lipsum[1]

\end{document}

相关内容