Crie macro para imagens diferentes na sobreposição de títulos de capítulos usando Tikz

Crie macro para imagens diferentes na sobreposição de títulos de capítulos usando Tikz

Gostaria de fazer uma sobreposição de imagem do capítulo. Até agora encontrei este código e funciona se eu especificar a imagem diretamente na definição:

\newcommand\chapterlabel{}
\titleformat{\chapter}
  {\gdef\chapterlabel{}
   \normalfont\sffamily\Huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture,overlay]
    \node[below right=4.8cm and 0cm of current page.north east] (a)
      {\begin{tikzpicture}[remember picture, overlay]
        \fill[fill overzoom image=
!!!!!!!!!!!!HERE IS THE IMAGE NAME!!!!!!!!!!!!!!
]
 (current page.north west) rectangle
          (a);
        \node[below right=2.5cm and 2cm of current page.north
     west,color=blue]
              {\color{white}\chapterlabel#1};
       \end{tikzpicture}
      };
   \end{tikzpicture}
  }

Porém, não consigo descobrir como fazê-lo como uma macro, ou seja, quero colocar "#2" no nome da imagem como um espaço reservado e depois posso passar um nome de imagem personalizado como argumento posteriormente.

Responder1

Não tenho ideia de como você pretende que seja a saída, pois você não forneceu um exemplo mínimo de trabalho, mas apenas um trecho de código. De qualquer forma, você deve evitar tikzpictureambientes de aninhamento.

Como sugeri em meu comentário, por que você simplesmente não cria um comando personalizado \myimagenameonde armazena o nome da imagem atual? O mesmo poderia funcionar para o rótulo do capítulo, porém, não entendi pelo seu código como você pretende usar isso.

MWE:

\documentclass{report}
\usepackage{titlesec, tikz, tikzfill}
\usetikzlibrary{positioning, shadows}

\newcommand\mychapterlabel{}
\newcommand\myimagename{example-image-a}
\titleformat{\chapter}
  {\normalfont\sffamily\Huge\bfseries\scshape}
  {\gdef\chapterlabel{\thechapter\ }}{0pt}
  {\begin{tikzpicture}[remember picture, overlay]
    \coordinate[below right=4.8cm and 0cm of current page.north east] (a);
    \fill[fill overzoom image=\myimagename] (current page.north west) rectangle (a);
    \node[below right=2.5cm and 2cm of current page.north west, color=blue]
        {\color{white}\chapterlabel\mychapterlabel};
   \end{tikzpicture}}

\begin{document}

\renewcommand\mychapterlabel{Foo}
\chapter{One}

\renewcommand\mychapterlabel{Bar}
\renewcommand\myimagename{example-image-b}
\chapter{Two}

\end{document}

insira a descrição da imagem aqui

informação relacionada