Как использовать этот стиль главы, чтобы он занимал меньше места?

Как использовать этот стиль главы, чтобы он занимал меньше места?

Мне нравится стиль глав в рамке отсюда:http://hstuart.dk/2007/05/21/styling-the-chapter/

Вот MWE, основанный на этом стиле:

\documentclass{memoir}
\usepackage{tikz, blindtext}
\makechapterstyle{box}{
  \renewcommand*{\printchaptername}{}
  \renewcommand*{\chapnumfont}{\normalfont\sffamily\huge\bfseries}
  \renewcommand*{\printchapternum}{
    \flushright
    \begin{tikzpicture}
      \draw[fill,color=black] (0,0) rectangle (2cm,2cm);
      \draw[color=white] (1cm,1cm) node { \chapnumfont\thechapter };
    \end{tikzpicture}
  }
  \renewcommand*{\chaptitlefont}{\normalfont\sffamily\Huge\bfseries}
  \renewcommand*{\printchaptertitle}[1]{\flushright\chaptitlefont##1}
}
\chapterstyle{box}
\begin{document}
\chapter{Fancy chapter with TikZ}
\blindtext
\end{document}

Теперь я хотел бы убрать часть пробелов, обозначенных 1 и 2 (то есть над и под полем, но в основном над полем). Конечно, должно быть немного пробелов, но я не хочу, чтобы заголовки глав занимали много места, поэтому они должны быть довольно маленькими. Есть идеи, как этого добиться?

Бонусный вопрос: возможно ли сделать все это, разрешив мне использовать reportкласс (я не знаю, какие возможные недостатки memoirкласс может мне принести в дальнейшем)?

Заранее спасибо. введите описание изображения здесь

решение1

Вот ты где.

\documentclass{report}
\usepackage{tikz, blindtext,showframe}  %% blindtext,showframe just for demo
\usepackage{titlesec}
\newcommand*{\chapnumfont}{\normalfont\sffamily\huge\bfseries}
\newcommand*{\chaptitlefont}{\normalfont\sffamily\Huge\bfseries}
\newcommand{\mybox}{%
\begin{tikzpicture}
      \draw[fill,color=black] (0,0) rectangle (2cm,2cm);
      \draw[color=white,font=\chapnumfont] (1cm,1cm) node {\thechapter};
    \end{tikzpicture}%
}
\titleformat{\chapter}[display]
{}{\filleft\mybox}{20pt}{\filleft\chaptitlefont}
\titlespacing*{\chapter} {0pt}{0pt}{0pt}
\begin{document}
\chapter{Fancy chapter with TikZ}
\blindtext
\end{document}

Отрегулируйте значения, в \titlespacing*{\chapter} {0pt}{0pt}{0pt}которых \titlespacing*{\chapter} {0pt}{50pt}{40pt}по умолчанию я сделал все равными нулю.

введите описание изображения здесь

In 20ptin ...\mybox}{20pt}...\titleformatэто вертикальное пространство между номером главы и заголовком. Отрегулируйте, если хотите.

решение2

Вы хотите задать конкретные параметры memoir:

\documentclass{memoir}
\usepackage{tikz, blindtext,showframe}
\makechapterstyle{box}{%
  \setlength{\beforechapskip}{0pt}% was 50pt
  \setlength{\midchapskip}{20pt}%
  \setlength{\afterchapskip}{20pt}% was 40pt
  \renewcommand*{\printchaptername}{}%
  \renewcommand*{\chapnumfont}{\normalfont\sffamily\huge\bfseries}%
  \renewcommand*{\printchapternum}{%
    \flushright
    \begin{tikzpicture}
      \draw[fill,color=black] (0,0) rectangle (2cm,2cm);
      \draw[color=white] (1cm,1cm) node { \chapnumfont\thechapter };
    \end{tikzpicture}%
  }%
  \renewcommand*{\chaptitlefont}{\normalfont\sffamily\Huge\bfseries}%
  \renewcommand*{\printchaptertitle}[1]{\flushright\chaptitlefont##1}%
}

\chapterstyle{box}
\begin{document}
\chapter{Fancy chapter with TikZ}
\blindtext
\end{document}

Я использовал showframeдля наглядности ограничивающие рамки различных частей страницы.

введите описание изображения здесь

Связанный контент