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>처럼 입력하시면 좋습니다.
Tikz로 만든 프렉탈 곡선 관련 질문입니다.
2020.04.08 15:58
안녕하세요.
TikZ의 decorations 라이브러리와 fancyhdr 패키지를 활용하여, n번째 쪽의 쪽머리에 코흐 눈송이 곡선을 만드는 n번째 단계가 그려지도록 학습지 쪽머리를 꾸며보았습니다.
(제가 제작한 것은 아니고 https://tex.stackexchange.com/questions/529474/fancyhdr-koch-snowflake-as-part-of-headrule 의 답변을 보고 꾸민 것입니다.)
그런데 실제로 학습지를 만들어보니, 7쪽을 넘어가면 컴파일 하는데 너무 많은 시간이 걸리거니와 6쪽부터는 출력 후의 그림은 거의 동일한 듯 합니다. (제 컴에서는 7쪽짜리 문서를 만들면 조판하는데 36초 정도 걸렸습니다 :))
그래서, 6쪽(혹은 원하는 쪽) 이후부터는 6쪽(혹은 원하는 쪽)과 동일한 모양의 그림이 쪽머리에 나올 수 있도록 만드는 방법이 궁금합니다.
아마도, xdef 와 관련된 부분을 손보면 간단히 해결할 수 있는 일 같은데요, 그 내용을 전혀 몰라서 이렇게 질문드립니다.
MWE를 파일로 첨부하였습니다.
텍라이브2019를 사용하고 있으며 XeLaTeX으로 컴파일 하였습니다.
--아래는 첨부한 MWE의 내용입니다.--
\documentclass{oblivoir} \usepackage{mathtools} \usepackage[dbl4x6]{fapapersize} \usefapapersize{*,*,1in,*,1in,*} \newcommand{\mytitle}{학습지 제목} \title{\mytitle} \author{저자 이름} \usepackage{fancyhdr} \usepackage{tikz} \usetikzlibrary{decorations.fractals} \setlength\headheight{40pt} \renewcommand\headrule{% \vspace{-0.75in} \hrulefill {\tikz[decoration=Koch snowflake]{\draw \MyDeco;}}% \xdef\MyDeco{decorate{\MyDeco}}% } \xdef\MyDeco{decorate{ (0,-2) -- (3,-2) }} \fancypagestyle{firstpage}{ \fancyhead[L]{ \begin{tabular}{ll} {\bfseries \mytitle} & \\ { Student No.: \phantom{$\dfrac{1}{1}$MMMM}} & {\ Name: } \end{tabular} \begin{tabular}{ll} {\bfseries \mytitle} & \\ { Student No.: \phantom{$\dfrac{1}{1}$MMMM}} & {\ Name: } \end{tabular} } \fancyhead[C]{} } \pagenumbering{gobble} % 페이지 넘버링 삭제 \pagestyle{firstpage} \begin{document} \begin{enumerate} \item 첫 페이지. \newpage \item 두 번째 페이지 \newpage \item 세 번째 페이지 \newpage \item 네 번째 페이지 \newpage \item 다섯 번째 페이지 \newpage \item 여섯 번째 페이지 \end{enumerate} \end{document}
원하시는 것은 다음과 같이 하면 될 거 같습니다.
\renewcommand\headrule{% \vspace{-0.75in} \hrulefill {\tikz[decoration=Koch snowflake]{\draw \MyDeco;}}% \expandafter\ifnum\value{page}<4 \xdef\MyDeco{decorate{\MyDeco}}\else \fi }
4로 한 것은 적당히 원하는 숫자로 바꾸십시오.
그런데 이 코드로는 매 페이지마다 이 그림을 새로이 그려야 합니다. 한 번에 그리는 선분의 수는 \(4^n\)개이므로 페이지가 조금만 늘어나도 감당할 수 없는 시간이 걸릴 것으로 생각됩니다. 6페이지 이후를 동일하게 한다 해도 매 페이지마다 \(4^6=4096\)개의 선분을 tikz로 그려야 하는 셈인데요.
그냥 한 번 해보는 거라면 상관없지만 이걸로 뭔가 작업물을 만들어야 하는 상황이라면 미리 다른 파일로 해당 그림을 pdf로 만들어두고 \includegraphics하는 것이 어떤가 싶습니다.