如何在 tikz / titlesec 章节样式中为较长的章节名称添加换行符

如何在 tikz / titlesec 章节样式中为较长的章节名称添加换行符

我使用改编自http://texblog.net/latex-archive/layout/fancy-chapter-tikz/

varwidth我尝试使用基于的包来获取长章节名称的换行符http://texwelt.de/wissen/fragen/4024/wie-kann-ich-in-einer-tikz-node-einen-zeilenumbruch-vornehmen(德语!),但不幸的是我失败了。有人可以帮帮我吗?我怎样才能将章节名称放在左边而不是右边?

\usepackage[explicit]{titlesec}
\newcommand*\chapterlabel{}
\titleformat{\chapter}
  {\gdef\chapterlabel{}
   \normalfont\sffamily\huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture,overlay]
    \node[yshift=-2cm] at (current page.north west)
      {\begin{tikzpicture}[remember picture, overlay]
        \draw[fill=blue] (0,0) rectangle
          (\paperwidth,3cm);
        \node[anchor=east,xshift=.9\paperwidth,rectangle,
          rounded corners=10pt,inner sep=11pt,
          fill=black]
          {\color{white}\chapterlabel#1};
   \end{tikzpicture}
  };
   \end{tikzpicture}
  }
\titlespacing*{\chapter}{0pt}{50pt}{-60pt}

我在报告中使用了我自己的颜色,因此我只是将这个例子中的颜色改为蓝色和黑色......

在此处输入图片描述

答案1

要获取左侧的章节标题而不是右侧的章节标题,请使用

    \node[
       anchor=west,% instead anchor=east
       xshift=.1\paperwidth,% instead xshift=.9\paperwidth
       ...]
      {\color{white}\chapterlabel#1};

下面是一个示例,代码来自我可以如何在 TikZ Node 中设置绘图区?我有所改变。

\documentclass[svgnames]{report}
\usepackage[ngerman]{babel}

\usepackage{varwidth}
\newcommand\Umbruch[2][5cm]{\begin{varwidth}{#1}\raggedright\hspace*{0pt}#2\end{varwidth}}

\usepackage{tikz}
\usepackage{kpfonts}
\usepackage[explicit]{titlesec}
\newcommand*\chapterlabel{}
\titleformat{\chapter}
  {\gdef\chapterlabel{}
   \normalfont\sffamily\huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture,overlay]
    \draw[fill=blue](current page.north east) 
      rectangle +(-\paperwidth,-2cm)coordinate(O);
    \node[anchor=west,xshift=.1\paperwidth,rectangle,
          rounded corners=10pt,inner sep=11pt,
          fill=black] at (O)
          {\color{white}\Umbruch{\chapterlabel#1}};
   \end{tikzpicture}}
\titlespacing*{\chapter}{0pt}{50pt}{-60pt}

\begin{document}
\tableofcontents
\chapter{Einleitung}
Text
\chapter{Titel mit mehr Text}
\section{Section}
Text
\begin{thebibliography}{99}
\bibitem{Test} test reference
\end{thebibliography}
\end{document}

请注意,现在只有一个tikzpicture环境。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

相关内容