1

Why isn't the tcolorboxvert. centered relative to the body of text? How to remedy?

PS1: How doesn't the ruler specified by \DeclareNewLayer get displayed?

PS2: this is a follow up to "disabling display of \chapter". As you can see, I'm doing away with \chapter altogether (nevermind the chapter counter, toc, etc., I'll deal with it later).

PS3: the uneven spaces are not due to tcoloborbox or the footer, hence the new title. Also added the grid.

\documentclass{report}
\usepackage[inline,shortlabels]{enumitem}
\usepackage{fontawesome}
\usepackage{lastpage}
\usepackage{lipsum}
\usepackage{xparse}

% Read PS3:
\usepackage[grid,
  gridcolor=red!20,
  subgridcolor=green!20,
  gridunit=in]{eso-pic}

% geometry---------------------------------------------------------
\usepackage[
paper=a6paper,
layout=a6paper,
centering,
  left=7em, % fat margins only to better inspect the flaw
  right=7em,
  top=7em,
  bottom=7em,
showframe
]{geometry}
\savegeometry{default}
\savegeometry{default}
%\loadgeometry{default}

%tabularx--------------------------------------------------------------
\usepackage{tabularx}

\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\NewDocumentCommand{\thedoc}
{}% Is there not a command for `token list` in xparse?
{THIS DOC}

\NewDocumentCommand{\myheaderii}
{+mm}
{%
  \begin{tabularx}{\textwidth}{@{}XR@{}}#1&#2\end{tabularx}
}  
\NewDocumentCommand{\myheaderiii}
{+mmm}
{%
  \begin{tabularx}{\textwidth}{@{}X@{}C@{}R@{}}#1&#2&#3\end{tabularx}
}  
\NewDocumentCommand{\chapterMark}{}{UNDEFINED!}
\NewDocumentCommand{\setchapterMark}{m}
{%
  \RenewDocumentCommand{\chapterMark}{}{#1}
}
%\setcounter{chapter}{0}
\NewDocumentCommand{\newChapter}{
  m % chapter title
  m % chapter mark
  +m % chapter content
}
{%
  \setchapterMark{#2}
  \thispagestyle{specialii}
  \begin{tcolorbox}[
    title=\noindent\myheaderii{\bfseries#1}{\chapterMark}]
    #3
  \end{tcolorbox}
}

%tcolorbox--------------------------------------------------------
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\tcbset{breakable}

%pagestyle--------------------------------------------------------
\usepackage{titleps}
\newpagestyle{specialii}
{
  \setfoot{%
    \myheaderii{\thedoc}{\thepage/\pageref{LastPage}}%
  }{}{}
}
\newpagestyle{specialiii}
{
  \setfoot{%
    \myheaderiii{\thedoc}{\chapterMark}{\thepage/\pageref{LastPage}}%
  }{}{}
}

% https://tex.stackexchange.com/questions/318809/place-a-ruler-somewhere-on-a-page
% TODO: 
\usepackage{scrlayer}
\DeclareNewLayer[
  foreground,
  innermargin,
  contents=\layercontentsmeasure
]{measurelayer}
\DeclareNewPageStyleByLayers{measurestyle}{measurelayer}

\usepackage{hyperref}
\begin{document}
\pagestyle{specialiii}
\begin{titlepage}\vspace*{\fill}\huge\begin{center}\thedoc\end{center}\vspace*{\fill}\end{titlepage}
%\loadgeometry{default}

\vspace*{\fill}

\newChapter{Fonts}{\faFont}{%
\lipsum[1][1]

  \begin{enumerate}[(i), leftmargin=2em]
  \item \lipsum[1][2]
  \end{enumerate}

\lipsum[1][3]

  \begin{enumerate}[(i), leftmargin=2em]
  \item \lipsum[1][4]
  \item \lipsum[1][5]
  \end{enumerate}

%\lipsum[1][5]
%  \begin{enumerate}[(i), leftmargin=2em]
%\item \lipsum[1][6]
%\item \lipsum[1][7]
%\end{enumerate}
%
%\lipsum[1][8]
%\begin{enumerate}[(i), leftmargin=2em]
%  \item \lipsum[1][9]
%  \end{enumerate}
}

\vspace*{\fill}

\end{document} 

Shot

Erwann
  • 2,100
  • measurelayer is a layer, specialii is a page style, I was hoping \AddLayersToPageStyle{measurelayer}{specialii} (or the other way around) would work but Error: not a layer page style. – Erwann Oct 08 '19 at 17:47

1 Answers1

0

Adding \vspace{\baselineskip} next to the second \vspace*{\fill} does the job under different setups. Why it is need in the first place, I don't know.

Erwann
  • 2,100