对齐章节编号和标题

对齐章节编号和标题

如果我有:

\documentclass{report} %use KOMA scrbook
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} % Für Umlaute
\usepackage{helvet}

\renewcommand{\familydefault}{\sfdefault}
\usepackage{multicol} % mehrere Spalten

\usepackage[explicit]{titlesec}
\usepackage{tikz} 
\usepackage{varwidth} 
\usepackage{linegoal} 

\titleformat{\section}
  {\fontsize{10pt}{0}\bfseries}{}{0em}
  {%
  \begin{tikzpicture}
  \node[inner ysep=1.75mm,text width=85mm,
    align=left,left color=black!15,right color=black!15] 
    {\thesection\hspace{5mm}\parbox[t][0pt][t]{\linewidth}{\raggedright #1}};
  \end{tikzpicture}%
  }
\begin{document}

\begin{multicols}{2} 
\section{aaaa}
\section{bbbb}
\section{cccc}
\section{dddd}
\section{eeee}
\section{ffff}
\section{gggg}
\section{hhhh}
\section{iiii}
\section{jjjj}
\section{kkkk}
\end{multicols}

\end{document}

我得到:

在此处输入图片描述

章节编号应全部在第一条红线处结束全部章节标题应从第二条红线开始。

我怎样才能强制这样做?

答案1

这是该代码的修正版本。只需将\thesection其括起来\parbox即可。您可以根据需要进行调整。

\documentclass{report} %use KOMA scrbook
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} % Für Umlaute
\usepackage{helvet}

\renewcommand{\familydefault}{\sfdefault}
\usepackage{multicol} % mehrere Spalten

\usepackage[explicit]{titlesec}
\usepackage{tikz} 
\usepackage{varwidth} 
\usepackage{linegoal} 

\titleformat{\section}
  {\fontsize{10pt}{0}\bfseries}{}{0em}
  {%
  \begin{tikzpicture}
  \node[inner ysep=1.75mm,text width=85mm,
    align=left,left color=black!15,right color=black!15] 
    {\parbox{10mm}{\raggedleft\thesection}\hspace{5mm}\parbox[t][0pt][t]{\dimexpr\linewidth-15mm}{\raggedright #1}};
  \end{tikzpicture}%
  }
\begin{document}

\begin{multicols}{2} 
\section{Short title}
\section{bbbb}
\section{cccc}
\section{dddd}
\section{eeee}
\section{ffff}
\section{A longer title}
\section{hhhh}
\section{iiii}
\section{jjjj}
\section{kkkk}
\end{multicols}

\end{document}

相关内容