私は、章のタイトルの周りに、理想的には両側に余白のみがあるタイトなブラック ボックスを作成したいと考えています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 フォントで出力: