Изображение на полях рядом с заголовком

Изображение на полях рядом с заголовком

Я хотел бы добавить изображение на поля рядом с заголовком. Нижняя часть изображения должна быть выровнена с базовой линией заголовка. В моем MWE (см. ниже) верхняя часть изображения скорректирована с верхней частью заголовка.

Как настроить изображение на базовой линии?

Предлагаете ли вы другие улучшения? Например, имеет ли смысл использовать marginnoteв ihead?

МВЭ:

\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}

решение1

Я бы не использовал, marginnoteа только 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}

введите описание изображения здесь

Вы также можете добавить свой собственный слой к стилю страницы scrheadings, и если вы хотите, чтобы изображение отображалось и на обычных страницах 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}

Результат тот же, но вам не нужно разделять на \iheadи \lehead. \roheadИ вам просто нужно активировать одну закомментированную строку, чтобы активировать изображение для простых страниц.

Кстати: я бы предложил поместить изображение один раз в рамку и использовать эту рамку на каждой странице:

\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}

А если код должен всегда размещать логотип справа в одностороннем режиме:

\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}

Но в этом случае было бы проще использовать разные слои для левой и правой страниц:

\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}

Связанный контент