KOMA-Script 中带有背景图像的章节

KOMA-Script 中带有背景图像的章节

我希望有一个这样的章节设计

在此处输入图片描述

因此,在标题框中,应该有一个位于背景中和章节编号上方的图像。

到目前为止我使用的软件包是:

\documentclass[a4paper,11pt,twoside]{scrbook} %{book}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\usepackage{fancybox}
\usepackage{tikz}
\usepackage{cleveref}
\usetikzlibrary{arrows,automata}
\usepackage[latin1]{inputenc}
\usepackage{amssymb,amsmath,amsthm}
\usepackage{needspace}
\usepackage{mathabx}
\usepackage{enumerate}
\usepackage{makeidx}  
\usepackage[ruled]{algorithm2e}
\usepackage{mathrsfs}
\usepackage[many]{tcolorbox}

更新: 通过以下方式代替鸭子:

\chapternumberbackground{\begin{tikzpicture}\includegraphics[width=.2\linewidth]{logo.pdf}\end{tikzpicture}}

我收到除以 0 的错误...为什么?我该如何修复它?

答案1

你可以用 KOMA-Script 的章节标题做很多事情,如果你重新定义\chapterformat\chapterlinesformat\chapterlineswithprefixformat。如果我把你的问题解释为

如何在 KOMA-Script 的章节标题中使用鸭子?

例如我可以这样做:

\documentclass[chapterprefix]{scrbook}
\usepackage{lmodern}% need scalable font
\usepackage{tikzducks}% essential to use ducks
\usepackage{blindtext}

\RedeclareSectionCommand[%
  font=\normalfont\huge\scshape,
  prefixfont=\Large,
  innerskip=0pt
]{chapter}

\let\raggedchapter\raggedleft

\renewcommand*{\chapterlineswithprefixformat}[3]{%
  \IfArgIsEmpty{#2}{#3}{%
    \rule{.333\linewidth}{1pt} #2%
    \parbox[b][\dimexpr .2\linewidth-\dp\strutbox-\baselineskip]{.78\linewidth}{%
      \raggedchapter\strut\ignorespaces #3%
    }\hfill
    \makebox[.2\linewidth][r]{\rule[-\dp\strutbox]{\linewidth}{1pt}}%
  }%
}
\renewcommand*{\chapterformat}{%
  \IfUsePrefixLine{%
    \chapapp\enskip
    \usekomafont{chapter}%
    \raisebox{\dimexpr -.2\linewidth+\baselineskip}[0pt][0pt]{%
%      \frame{%
        \resizebox*{.2\linewidth}{.2\linewidth}{%
          \currentchapternumberbackground
        }%
%      }%
      \makebox[0pt][r]{%
        \parbox{.2\linewidth}{%
          \centering
          \fontsize{.75\linewidth}{\linewidth}\selectfont
          \raisebox{.75\linewidth}{\color{gray!50!red!50}\thechapter}\par
        }%
      }%
    }%
  }{%
    \thechapter\autodot\enskip
  }%
}
\newcommand*{\chapternumberbackground}[1]{%
  \renewcommand*{\currentchapternumberbackground}{#1}%
}
\newcommand*{\currentchapternumberbackground}{%
  {\color{red!50}\rule{1cm}{1cm}}%
}

\begin{document}
\tableofcontents
\chapternumberbackground{\begin{tikzpicture}\duck\end{tikzpicture}}
\chapter{Chapter Name}
\blindtext

\chapternumberbackground{\begin{tikzpicture}\duck[longhair=teal]\end{tikzpicture}}
\chapter{Another Chapter Name}
\blindtext

\chapternumberbackground{\begin{tikzpicture}\duck[crazyhair=green,eyebrow=blue]\end{tikzpicture}}
\chapter{Once more a Longer Chapter Name}
\blindtext

\end{document}

第一章

第二章

第三章

有关 的更多信息\RedeclareSectionCommand\chapterformat\chapterlineswithprefixformat参阅KOMA-Script 手册提供德语版本. 不要忘记关于在 TikZ 中使用鸭子

是的,除了使用tikzpicture这些\duck命令,您还可以使用\includegraphics如下命令:

\chapternumberbackground{\includegraphics[page=54,trim=30 0 30 0,clip]{example-image-duck}}

请注意,\resizebox完整示例代码中的 也会调整此类外部图像的大小。因此,如果您想要其他尺寸的图像,则必须更改或删除\resizebox

相关内容