%!TEX program = SpiX
%$ clxelatex -shell-escape --package-support=minted -synctex=1 $texname
\documentclass{oblivoir}

\usepackage[a4]{fapapersize}

\usepackage{iftex}
\ifx\ifXeTeX\ifLuaTeX\else
\setmainfont{TeX Gyre Bonum}
\setsansfont{TeX Gyre Heros}
\setmonofont{Inconsolata LGC Nerd Font}
\setmainhangulfont{Noto Serif CJK KR}
\setsanshangulfont{Noto Sans CJK KR}
\setmonohangulfont{D2Coding}
\fi
\usepackage{graphicx}
\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
\newtcbinputlisting%[use counter from=mycbox]
	{\mylisting}[2][]{%
		listing engine=minted,minted language=latex,minted style=colorful, listing file={#2},
	title={}, colback=red!5!white,colframe=red!75!black,
	fonttitle=\bfseries, listing only,breakable,#1}

\begin{document}

\title{krmemtikzpagenodes.sty}
\author{Kriss}
\date{2018-04-10}
\maketitle

\section{동기}

\LaTeX 을 접하고 가볍게 사용한 것은 3년째이지만 아직까지 
\LaTeX 으로 책을 만들어본 적은 없었는데,
올해 출판 편집을 맡으면서 본격적으로 \LaTeX 을 파고들게 되었습니다.

그런데 oblivoir로 판면을 짜는데, 판형이 바뀐 경우 tikzpagenodes가 잘못된 영역을 가리키고 있는 문제를 겪게 되었습니다(\fref{fig:1}).

\begin{figure}
\centering
\includegraphics[scale=.3]{figure1}
\includegraphics[scale=.3]{figure11}
\caption{잘못된 영역을 가리키는 tikz pagenode}\label{fig:1}
\end{figure}

원인을 알아보니 다음과 같았습니다. (출처 https://goo.gl/o2ys18)
\begin{quote}
Sizes are correct because TikZ/PGF uses \verb|\paperwidth| and \verb|\paperheight| for page dimensions, which memoir correctly sets without bleed. Origin however isn't calculated at all, a {0pt}{0pt} is hardcoded in pgfmoduleshapes, where current page is created.
\end{quote}
Origin 설정의 문제이므로 해당 글에서는 current page를 대체할 목적으로 memoir page를 정의하고, stockpaper 사이즈에도 사용할 수 있도록 memoir stock을 정의하였더라구요.

대충 보니 원리가 어려운 것 같지는 않아서 memoir header area, memoir footer area, memoir marginpar area, memoir text area에도 적용할 수 있도록 코드를 짜봤습니다.

\begin{figure}
\centering
\includegraphics[scale=.3]{figure2}
\includegraphics[scale=.3]{figure21}
\caption{바른 영역을 가리키는 mem tikz pagenode}\label{fig:2}
\end{figure}

일단 제가 작업하는 것에 대해서는 잘 작동하는 것 같습니다만(\fref{fig:2}), 혹시라도 코드가 잘못된 부분이 있거나 개선할 부분이 있다면 말씀 부탁드리겠습니다.

감사합니다.

\section{sample}

이 패키지의 사용법에 대해서는 동봉된 \verb|krmemtikzpagenodes-sample.tex|의 소스를 보십시오.

\mylisting[before upper=]{krmemtikzpagenodes-sample.tex}

\end{document}
