Me gustaría agregar una imagen en el margen al lado del encabezado. La parte inferior de la imagen debe estar alineada con la línea base del encabezado. En mi MWE (ver más abajo), la parte superior de la imagen se ajusta con la parte superior del encabezado.
¿Cómo puedo ajustar la imagen en la línea de base?
¿Sugieres otras mejoras? Por ejemplo, ¿tiene sentido usarlo marginnote
en ihead
?
MWE:
\documentclass{scrreprt}
\usepackage{blindtext, graphicx, marginnote}
\usepackage[twoside = true]{geometry}
\usepackage[automark, headsepline, footsepline, plainfootsepline]{scrlayer-scrpage}
\ihead{%
\marginnote{%
\includegraphics[width=\marginparwidth]{example-image-a}%
}
}
\begin{document}
\Blinddocument
\end{document}
Respuesta1
No usaría marginnote
pero solo scrlayer-scrpage
:
\documentclass{scrreprt}
\usepackage{mwe,graphicx}
\usepackage[twoside = true]{geometry}
\usepackage[automark, headsepline, footsepline, plainfootsepline]{scrlayer-scrpage}
\rohead{\headmark\makebox[0pt][l]{\hskip\marginparsep\includegraphics[width=\marginparwidth]{example-image-a}}}
\lehead{\makebox[0pt][r]{\includegraphics[width=\marginparwidth]{example-image-a}\hskip\marginparsep}\headmark}
\begin{document}
\Blinddocument
\end{document}
También puede agregar su propia capa al estilo de la página scrheadings
y, si desea que la imagen también esté en páginas simples plain.scrheadings
:
\documentclass{scrreprt}
\usepackage{mwe,graphicx}
\usepackage[twoside = true]{geometry}
\usepackage[automark, headsepline, footsepline, plainfootsepline]{scrlayer-scrpage}
\DeclareNewLayer[background,
head,
addhoffset=\ifodd\value{page}\textwidth+\marginparsep\else-\marginparwidth-\marginparsep\fi,
width=\marginparwidth,% optional reduce layer width
contents={\includegraphics[width=\marginparwidth]{example-image-a}}]{image}
\AddLayersToPageStyle{scrheadings}{image}
%\AddLayersToPageStyle{plain.scrheadings}{image}
\begin{document}
\Blinddocument
\end{document}
El resultado es el mismo, pero no es necesario dividirlo \ihead
en \lehead
y \rohead
. Y sólo tienes que activar la línea única comentada para activar la imagen para páginas simples.
Por cierto: sugeriría poner la imagen una vez en un cuadro y usar el cuadro en cada página:
\documentclass{scrreprt}
\usepackage{mwe,graphicx}
\usepackage[twoside = true]{geometry}
\usepackage[automark, headsepline, footsepline, plainfootsepline]{scrlayer-scrpage}
\newsavebox\headimagebox
\AtBeginDocument{\sbox\headimagebox{\includegraphics[width=\marginparwidth]{example-image-a}}}
\DeclareNewLayer[background,
head,
addhoffset=\ifodd\value{page}\textwidth+\marginparsep\else-\wd\headimagebox-\marginparsep\fi,
width=\marginparwidth,
contents=\usebox\headimagebox]{image}
\AddLayersToPageStyle{scrheadings}{image}
\AddLayersToPageStyle{plain.scrheadings}{image}% used on chapter start page
\begin{document}
\Blinddocument
\end{document}
Y si el código debe colocar el logo siempre al lado derecho en modo de una sola cara:
\documentclass{scrreprt}
%\documentclass[twoside]{scrreprt}
\usepackage{mwe,graphicx}
\usepackage{geometry}
\usepackage[automark, headsepline, footsepline, plainfootsepline]{scrlayer-scrpage}
\newsavebox\headimagebox
\AtBeginDocument{\sbox\headimagebox{\includegraphics[width=\marginparwidth]{example-image-a}}}
\makeatletter
\DeclareNewLayer[background,
head,
addhoffset=\ifcase\if@twoside \ifodd\value{page} 0 \else 1 \fi\else 0 \fi\textwidth+\marginparsep\else-\wd\headimagebox-\marginparsep\fi,
width=\marginparwidth,
contents=\usebox\headimagebox]{image}
\makeatother
\AddLayersToPageStyle{scrheadings}{image}
\AddLayersToPageStyle{plain.scrheadings}{image}% used on chapter start page
\begin{document}
\Blinddocument
\end{document}
Pero en este caso podría ser más fácil usar capas diferentes para las páginas izquierda y derecha:
\documentclass{scrreprt}
%\documentclass[twoside]{scrreprt}
\usepackage{mwe,graphicx}
\usepackage{geometry}
\usepackage[automark, headsepline, footsepline, plainfootsepline]{scrlayer-scrpage}
\newsavebox\headimagebox
\AtBeginDocument{\sbox\headimagebox{\includegraphics[width=\marginparwidth]{example-image-a}}}
\DeclareNewLayer[background,
oddpage,% for right pages in double-side mode or all pages in single-side mode
head,
addhoffset=\textwidth+\marginparsep,
width=\marginparwidth,
contents=\usebox\headimagebox]{image.odd}
\DeclareNewLayer[background,
evenpage,% for left pages in double-side mode
head,
addhoffset=-\wd\headimagebox-\marginparsep,
width=\marginparwidth,
contents=\usebox\headimagebox]{image.even}
\AddLayersToPageStyle{scrheadings}{image.odd,image.even}
\AddLayersToPageStyle{plain.scrheadings}{image.odd,image.even}% used on chapter start page
\begin{document}
\Blinddocument
\end{document}