Enger schwarzer Kasten um Kapitelüberschriften?

Enger schwarzer Kasten um Kapitelüberschriften?

Ich möchte einen engen schwarzen Kasten um meine Kapitelüberschriften herum erstellen, idealerweise 1ptmit nur einem Rand auf jeder Seite. Bisher habe ich die besten Ergebnisse mit Folgendem erzielt soul:

mit "Soul"-Paket

Sie werden jedoch feststellen, dass der Rand unten zu groß ist. Außerdem wird die Hervorhebung oben auf jeder ungeraden Seite wiederholt:

mit "Soul"-Paket

Was ist der cleverste Weg, diese Dinge zu tun? Ich habe nichts dagegen, etwas anderes als zu verwenden soul, es schien mir einfach eine gute Lösung zu sein.

MWE unten. Bitte beachten Sie, dass Sie dieMikočacsSchriftart (oder vielleicht eine beliebige TTF-Schriftart?) in FONTLOCATION.

\documentclass[book,dvipsnames]{memoir}

\usepackage{xcolor}
\usepackage{fontspec}
\usepackage{anyfontsize}
\usepackage{soul}
\sethlcolor{black}

%% Change height of highlight
\makeatletter
 \def\SOUL@hlpreamble{%
 \setul{}{2ex}%
 \let\SOUL@stcolor\SOUL@hlcolor
 \SOUL@stpreamble
 }
\makeatother

\newfontfamily{\archivo}[Path=/FONTLOCATION]{Mikodacs.ttf}

\usepackage{lipsum} %% For dummy text

%% Chapterstyle
\makechapterstyle{lucknerto}{%
\setlength{\beforechapskip}{-2\onelineskip}%
\setlength{\afterchapskip}{2\onelineskip}%
\renewcommand*{\printchaptername}{}%
\renewcommand*{\chapternamenum}{}%
\renewcommand*{\chapnumfont}{\normalfont\large\sffamily\bfseries}%
\renewcommand*{\afterchapternum}{}%
\renewcommand{\printchaptertitle}{\centering\archivo\color{White}\fontsize{23}{27.6}\selectfont\MakeUppercase}
}
\chapterstyle{lucknerto} %% enable

%% Pagestyle 
\makepagestyle{luckner}%
\makeevenhead{luckner}{}{\small{{\MakeUppercase{book title}}}}{} 
\makeoddhead{luckner}{}{\small{{\MakeUppercase{\leftmark}}}}{}
\makeevenfoot{luckner}{\large{\thepage}}{}{}
\makeoddfoot{luckner}{}{}{\large{\thepage}}
\pagestyle{luckner} %% enable

\begin{document}
\chapter{\hl{Foobar}}
\lipsum[1-20]
\end{document}

Antwort1

Die Stilisierung erfolgt ganz einfach über tcolorboxeinen eigenen \tcboxBefehl, welcher den persönlichen Vorlieben entsprechend angepasst werden kann.

Die „Schwierigkeit“ besteht darin, zu verstehen, was memoirmit dem Kapiteltitel passiert. Ich musste etwas ändern, \printchaptertitleum ein Argument zu haben (was der übliche Fall ist), anstatt mit beweglichen Argumenten zu arbeiten.

\documentclass[book,dvipsnames]{memoir}

\usepackage{xcolor}
\usepackage{fontspec}
\usepackage{anyfontsize}
\usepackage{soul}
\usepackage{tcolorbox}
\sethlcolor{black}

%% Change height of highlight
\makeatletter
 \def\SOUL@hlpreamble{%
 \setul{}{2ex}%
 \let\SOUL@stcolor\SOUL@hlcolor
 \SOUL@stpreamble
 }
\makeatother

\newfontfamily{\archivo}[Path=/FONTLOCATION]{Micodacs.ttf}

%\newfontfamily{\archivo}{Liberation Sans}

\usepackage{lipsum} %% For dummy text

\tcbset{chapterhead/.style={%
    fontupper=\archivo\fontsize{23}{27.6}\selectfont,
    left skip=1ex, % for example
    nobeforeafter, %no spacing before and after the box etc
    halign=center, % horizontal align within box, can be omitted
    valign=center, % vertical align within box, can be omitted
    colback=black, % black background colour
    size=tight, % tight box
    colupper=white, % white foreground colour
  }
}

\newtcbox{\blackbox}[1][]{%
  chapterhead,
  #1,
}

%% Chapterstyle
\makechapterstyle{lucknerto}{%
\setlength{\beforechapskip}{-2\onelineskip}%
\setlength{\afterchapskip}{2\onelineskip}%
\renewcommand*{\printchaptername}{}%
\renewcommand*{\chapternamenum}{}%
\renewcommand*{\chapnumfont}{\normalfont\large\sffamily\bfseries}%
\renewcommand*{\afterchapternum}{}%
\renewcommand{\printchaptertitle}{\centering\tcbox[nobeforeafter,halign=center,valign=center,colback=black,size=tight,colupper=white,code={\noexpand\MakeUppercase}]}%\centering\archivo\color{blue}\fontsize{23}{27.6}\selectfont\MakeUppercase}
\renewcommand{\printchaptertitle}[1]{\centering\blackbox{\MakeUppercase{##1}}}%\centering\archivo\color{blue}\fontsize{23}{27.6}\selectfont\MakeUppercase}
}
\chapterstyle{lucknerto} %% enable

%% Pagestyle 
\makepagestyle{luckner}%
\makeevenhead{luckner}{}{\small{{\MakeUppercase{book title}}}}{} 
\makeoddhead{luckner}{}{\small{{\MakeUppercase{\leftmark}}}}{}
\makeevenfoot{luckner}{\large{\thepage}}{}{}
\makeoddfoot{luckner}{}{}{\large{\thepage}}
\pagestyle{luckner} %% enable

\begin{document}
\chapter{Foobar}
\lipsum[1-20]
\end{document}

Bildbeschreibung hier eingeben

Ausgabe mit der Schriftart Mikodacs:

Bildbeschreibung hier eingeben

verwandte Informationen