Komaclass scrbook 内のフリップブック画像の配置

Komaclass scrbook 内のフリップブック画像の配置

ドキュメント ( scrbook) の右上または右下の余白にフリップブックを追加したいと考えています。ファイル名に増加する番号を付けて、すべてのページに画像を挿入することにすでに成功しています。念のため言っておきますが、Komaclasses が文句を言うので、私はそれを使いたくないのです。同じことが、自身をロードするfancyhdrパッケージにも当てはまります。flipbookfancyhdr

適切な配置に苦労しています。次の MWE を検討して、コンパイルされた結果を確認してください。

\documentclass{scrbook}
\usepackage{graphicx}
\usepackage{showframe}
\usepackage{picture}
\usepackage{scrlayer-scrpage}

\makeatletter
\rohead*{%
  \if@mainmatter
  \begin{picture}(-\marginparsep,\headheight)
    \put(0,-\headsep){\includegraphics[width=\marginparwidth,height=37.4pt]{example-image-a}}
  \end{picture}
  \else\fi
}
\makeatother

\begin{document}
\mainmatter
\chapter{title}
\begin{description}
  \item[headheight] \the\headheight 
  \item[headsep] \the\headsep 
  \item[marginparwidth] \the\marginparwidth 
  \item[marginparsep] \the\marginparsep 
\end{description}

\paragraph{Intended size and placement of flipbook image:}
\begin{itemize}
  \item width of image = marginparwidth
  \item height of image = headsep + headheight
  \item lower left corner of image should be at the top left corner of the margin notes
    box (compare showframe)
  \item Alternative placement: top left corner of image should be at the lower
    left corner of the margin notes box
\end{itemize}
\end{document}

ここに画像の説明を入力してください

残っている問題は、picture 環境と put コマンドの値を反復せずに画像を配置する方法です。また、ボーナスとして、 を回避する方法もありますPackage scrlayer-scrpage Warning: \headheight too low

答え1

scrheadingsページ スタイルとに追加できるフリップブック用の独自のレイヤーを宣言します。その後、他のコンテンツにと をplain.scrheadings引き続き使用できます。\ohead\rohead

\documentclass{scrbook}
\usepackage{graphicx}
\usepackage{showframe}
\usepackage{picture}

\usepackage{scrlayer-scrpage}
\makeatletter
\DeclareNewLayer[
  background,
  oddpage,
  textarea,
  addhoffset=\textwidth+\marginparsep,
  width=\marginparwidth,
  height=\headsep+\headheight,
  align=b,
  mode=picture,
  contents={%
    \if@mainmatter
      \putLL{\includegraphics[width=\layerwidth,height=\layerheight]{example-image-a}}%
    \fi
  }
]{flipbook.odd}
\makeatother

\AddLayersToPageStyle{plain.scrheadings}{flipbook.odd}
\AddLayersToPageStyle{scrheadings}{flipbook.odd}

\begin{document}
\mainmatter
\chapter{title}
\begin{description}
  \item[headheight] \the\headheight 
  \item[headsep] \the\headsep 
  \item[marginparwidth] \the\marginparwidth 
  \item[marginparsep] \the\marginparsep 
\end{description}

\paragraph{Intended size and placement of flipbook image:}
\begin{itemize}
  \item width of image = marginparwidth
  \item height of image = headsep + headheight
  \item lower left corner of image should be at the top left corner of the margin notes
    box (compare showframe)
  \item Alternative placement: top right corner of image should be at the lower
    left corner of the margin notes box
\end{itemize}
\end{document}

ここに画像の説明を入力してください

関連情報