Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
margin note 영역에 tikz로 그림을 그릴 때 질문입니다.
2021.07.24 21:48
장이 시작하는 쪽을 제외한 나머지 페이지의 본문 옆 여백에 선을 긋고 memo 라고 적으려 하는데요,
1. mwe는 제가 원하는 바를 나타내기 위해 여기 게시글들을 읽다 본 memtikzpagenodes.sty 의 도움을 받아 작성했습니다만,
이 sty을 사용하지 않을 때 tikz로 어느 위치를 지정해야 저 선을 그릴 수 있나요?
2. 이 선을 그리는 명령이 홀수 쪽과 짝수 쪽에서 다르고,
(그리는 위치도 달라질테고, node below 뒤도 left와 right로 다른데 말입니다)
chapter가 시작하는 쪽을 제외한 나머지 쪽에서만 나타나게 하고 싶은데 이는 어떻게 구현할 수 있을까요?
mwe와 memtikzpagenodes.sty 같이 첨부합니다.
항상 감사드립니다.
댓글 3
-
Confused
2021.07.25 15:35
-
noname
2021.07.25 15:52
댓글이 작성된 글을 수정할 수 없다해서, 이 글 이후로는 닉네임을 바꿔서 사용하겠습니다. 감사합니다.
-
noname
2021.07.26 00:57
memoir의 page layout parameters가 std latex class의 그것과 조금 달라서 tikz의 pagenode의 위치가 어긋나는 경향이 있습니다. 첨부하신 memtikzpagenodes가 그 문제의 해결을 시도한 것인 것으로 알고 있습니다.
생각해보면 굳이 memoir current page node를 만들 것 없이, 그냥 current page 노드의 위치를 수정해주면 될 것 같습니다. 다음 코드를 preamble에 두면 그럭저럭 작동합니다. (실은 memtikzpagenodes와 큰 차이 없는 발상입니다.) 이제 current page 노드를 memoir/oblivoir에서 쓸 수 있게 되었습니다.
\makeatletter \newcommand\setpagenode{% \expandafter\def\csname pgf@sh@ns@current page\endcsname{rectangle}% \strictpagecheck% \checkoddpage% \ifoddpage% \expandafter\def\csname pgf@sh@np@current page\endcsname{% \def\southwest{\pgfpoint{\stockwidth-\paperwidth-\trimedge}% {\stockheight-\trimtop-\paperheight}}% \def\northeast{\pgfpoint{\stockwidth-\trimedge}{\stockheight-\trimtop}}% }% \else \expandafter\def\csname pgf@sh@np@current page\endcsname{% \def\southwest{\pgfpoint{\trimedge}{\stockheight-\trimtop-\paperheight}}% \def\northeast{\pgfpoint{\trimedge+\paperwidth}{\stockheight-\trimtop}}% }% \fi \expandafter\def\csname pgf@sh@nt@current page\endcsname{{1}{0}{0}{1}{0pt}{0pt}}% \expandafter\def\csname pgf@sh@pi@current page\endcsname{pgfpageorigin}} \pgfkeys{/tikz/overlay/.add code={}{\setpagenode}} \makeatother
이제 1번 질문에 대해 생각하면, 예컨대 왼쪽 페이지이면 다음처럼 할 수 있겠습니다.
\begin{tikzpicture}[remember picture, overlay] \draw[red,line width=1pt,] ([xshift=\foremargin-\marginparsep,yshift=\lowermargin]current page.south west) -- ++(0pt,\textheight) node[blue,below left] {\sffamily Memo\,\, }; \end{tikzpicture}
node에서 xshift, yshift하는 방법을 썼는데, 이건 다른 식으로도 얼마든지 할 수 있겠습니다.
2번 질문에 대해서는 memoir의 장점 중의 하나인 pagestyle 기능을 사용하십시오. 대략 다음처럼 구성하면 되겠습니다.
\makepagestyle{mypstyle} \makeevenhead{mypstyle}{ \begin{tikzpicture}[...] 왼쪽 페이지에 해당하는 코드 \end{tikzpicture} }{}{} \makeodd*head{mypstyle}{%%% 별표를 지워주세요. 금지어 때문 \begin{tikzpicture}[...] 오른쪽 페이지에 해당하는 코드 \end{tikzpicture} }{}{}
이제 다음 명령을 \chapter가 시작하기 전에 두면 의도대로 동작합니다.
\pagestyle{mypstyle}
왜냐하면 \chapter 명령이 놓인 페이지는 무조건 chapter라는 이름의 페이지 스타일이 적용되기 때문입니다.
====
ps. 닉네임에 무슨 제약이나 선점이 있는 건 아니라고 생각합니다. 굳이 저 때문에 다른 이름으로 바꾸실 필요 없지 않을까요... :)
다름 아니라 이 커뮤니티엔 동일하게 noname이란 닉네임을 쓰는 고수분이 계십니다. 혼선을 막기 위해 가급적 다른 닉네임으로 질문해주시길 바랍니다