Плотные черные рамки вокруг названий глав?

Плотные черные рамки вокруг названий глав?

Я хочу сделать плотную черную рамку вокруг названий моих глав, в идеале только 1ptс полями с каждой стороны. До сих пор мои лучшие результаты были с soul:

с использованием пакета "душа"

Однако вы заметите, что внизу слишком много полей. Кроме того, выделение повторяется вверху каждой нечетной страницы:

с использованием пакета "душа"

Какой умный способ сделать это? Я не против использовать что-то другое, чем soul, просто это показалось мне хорошим решением.

MWE ниже. Обратите внимание, что вам понадобитсяМикодакишрифт (или, может быть, любой шрифт TTF?) в формате 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}

решение1

Стиль довольно прост в использовании , для этого есть tcolorboxспециальная \tcboxкоманда, которую можно изменять в соответствии с личными предпочтениями.

'Трудность' в том, чтобы понять, что memoirделает с названием главы. Мне пришлось изменить, \printchaptertitleчтобы иметь аргумент (что является обычным случаем), кроме как работать с движущимися аргументами.

\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}

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

Вывод со шрифтом Mikodacs:

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

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