Alinhamento do estilo de capítulo veelo modificado (memórias)

Alinhamento do estilo de capítulo veelo modificado (memórias)

Estou tendo alguns problemas para modificar o estilo do capítulo Veelo. Devido às minhas margens menores (preciso de papel tamanho A5), o veelo normal não funcionou corretamente. Então, em vez de ter o número do capítulo na margem, quero que ele fique alinhado à direita do bloco de texto (veja a figura). Estou fazendo isso agora codificando-o, mas devido à largura diferente dos vários caracteres numéricos, ele não funciona de forma consistente para todos os capítulos. Além disso, a caixa preta que se estende para fora das marcas de corte é alinhada à esquerda do número, fazendo com que a caixa tenha tamanhos diferentes para números de capítulo diferentes.

Minha pergunta: você poderia verificar meu código abaixo e me dizer o que devo alterar para 1) alinhar o número à direita ao bloco de texto e 2) fazer com que a caixa preta tenha o mesmo tamanho, independentemente da largura do número?

Muito obrigado!

Exemplo de página de capítulo

\makeatletter
\newlength{\numberheight}
\setlength{\numberheight}{\beforechapskip}

\newlength{\barlength}

\makechapterstyle{myveelo}{%
\setlength{\afterchapskip}{40pt}
\renewcommand*{\chapterheadstart}{\vspace*{40pt}}
\renewcommand*{\afterchapternum}{\par\nobreak\vskip 25pt}
\renewcommand*{\chapnamefont}{\normalfont\LARGE\flushright}
\renewcommand*{\chapnumfont}{\normalfont\HUGE}
\renewcommand*{\chaptitlefont}{\normalfont\HUGE\bfseries\flushright}
\renewcommand*{\printchaptername}{%
\chapnamefont\MakeUppercase{\@chapapp}\hspace*{\midchapskip}}
\renewcommand*{\chapternamenum}{}
\setlength{\beforechapskip}{18mm}
\setlength{\midchapskip}{\paperwidth}
\addtolength{\midchapskip}{-\textwidth}
\addtolength{\midchapskip}{-\spinemargin}
\addtolength{\midchapskip}{-11.5em}
\renewcommand*{\printchapternum}{%
\makebox[0pt][l]{\hspace{-1.5cm}%
\resizebox{!}{\numberheight}{\chapnumfont \thechapter}%
\hspace{1.8em}%
\rule{\midchapskip}{\beforechapskip}%
}}%
\makeoddfoot{plain}{}{}{\thepage}}

\makeatother

Responder1

Sua redefinição de \printchapternumdeve ser alterada para algo como

\renewcommand*{\printchapternum}{%
  \enspace\resizebox{!}{\numberheight}{\chapnumfont\thechapter}%
  \rlap{\hspace{1cm}\rule{\midchapskip}{\beforechapskip}}%
}%

altere o 1cmque usei para separar o número e o quadrado preenchido para o valor desejado.

O código completo:

\documentclass{memoir}
\usepackage{graphicx}

\makeatletter
\newlength{\numberheight}
\setlength{\numberheight}{\beforechapskip}

\makechapterstyle{myveelo}{
  \setlength{\afterchapskip}{40pt}
  \renewcommand*{\chapterheadstart}{\vspace*{40pt}}
  \renewcommand*{\afterchapternum}{\par\nobreak\vskip 25pt}
  \renewcommand*{\chapnamefont}{\normalfont\LARGE\flushright}
  \renewcommand*{\chapnumfont}{\normalfont\HUGE}
  \renewcommand*{\chaptitlefont}{\normalfont\HUGE\bfseries\flushright}
  \renewcommand*{\printchaptername}{%
    \chapnamefont\MakeUppercase{\@chapapp}}
  \renewcommand*{\chapternamenum}{}
  \setlength{\beforechapskip}{18mm}
  \setlength{\midchapskip}{\paperwidth}
  \addtolength{\midchapskip}{-\textwidth}
  \addtolength{\midchapskip}{-\spinemargin}
  \addtolength{\midchapskip}{-11.5em}
  \renewcommand*{\printchapternum}{%
    \enspace\resizebox{!}{\numberheight}{\chapnumfont\thechapter}%
    \rlap{\hspace{1cm}\rule{\midchapskip}{\beforechapskip}}%
  }%
  \makeoddfoot{plain}{}{}{\thepage}%
}

\chapterstyle{myveelo}
\makeatother

\begin{document}

\chapter{Test chapter}
\setcounter{chapter}{100}
\chapter{Test chapter}

\end{document}

Uma imagem da saída:

insira a descrição da imagem aqui

informação relacionada