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>처럼 입력하시면 좋습니다.

Progress

허접하나마 tikz로 함 해보았습니다.


progression_of_differences_series_2.png

% test9.tex

\documentclass[b4paper]{xoblivoir}


\usepackage[dvipsnames,svgnames,x11names]{xcolor}


\usepackage{tikz}

\usetikzlibrary{matrix,arrows,shapes}


\usepackage{amsmath}


\usepackage{tikz}


\parindent=0pt


\usepackage{tabu}


\usepackage{cprotect} % for \verb in \caption. use \cprotect


\newcommand\element[2]{%

\tikz[remember picture,baseline=(#1_#2.base)]\node (#1_#2) {\ensuremath{#1_{#2}}};%

}


\newcommand\connect[4][red]{%

\tikz[remember picture,overlay,color=#1]\draw[line width=.5pt, line join=round] (#2) -- (#3) --  (#4);

}


\newcommand\smoothconnect[4][blue]{%

\tikz[remember picture,overlay,color=#1]\draw[line width=.8pt, line join=round] (#2) parabola [bend at end] (#3) parabola  (#4);

}


\newcommand\realsmoothconnect[4][blue]{%

\tikz[remember picture,overlay,color=#1]\draw[line width=.8pt, line join=round] (#2.south) parabola [bend at end] (#3.north) parabola  (#4.south);

}




\begin{document}


\begin{table}

\caption{계차수열. tabu를 이용하여 직관적으로그리면 다음과 같다.}

\centering{%

\begin{tabu}{X[$,c]|X[$,5]}

\tabucline[1pt]{-}

\{a_n\} & a_1 \qquad a_2 \qquad a_3 \qquad \dotsb \qquad a_{n-1} \qquad a_n \qquad a_{n+1}   \\

\{b_n\} & \qquad b_1 \qquad b_2 \qquad b_3 \qquad \dotsb \qquad b_{n-1} \qquad b_n   \\

\{c_n\} & \qquad \qquad c_1 \qquad c_2 \qquad c_3 \qquad \dotsb \qquad c_{n-1}   \\

\tabucline[1pt]{-}\end{tabu}

}

\end{table}


\begin{table}

\cprotect\caption{열 간격을 늘린다. \verb!\tabulinesep!의 간격을 늘리는 것이다.}

\centering{%

\tabulinesep=3mm

\begin{tabu}{X[$,c]|X[$,5]}

\tabucline[1pt]{-}

\{a_n\} & a_1 \qquad a_2 \qquad a_3 \qquad \dotsb \qquad a_{n-1} \qquad a_n \qquad a_{n+1}   \\

\{b_n\} & \qquad b_1 \qquad b_2 \qquad b_3 \qquad \dotsb \qquad b_{n-1} \qquad b_n   \\

\{c_n\} & \qquad \qquad c_1 \qquad c_2 \qquad c_3 \qquad \dotsb \qquad c_{n-1}   \\

\tabucline[1pt]{-}\end{tabu}

}

\end{table}



\begin{table}

\cprotect\caption{각 수열의 항이 tikz 노드를 지니도록 하자. \verb!\element!라는 명령을 정의하여 각 항을 표시한다. 그리고 $a_1$--$b_1$--$a_2$를 이어본다. 잇는 명령도 일정한 패턴이 있으므로 \verb!\connect!라는 명령을 정의한다. 기본은 빨간색인데 옵션으로 바꿀 수 있도록 하자다.}

\centering{%

\tabulinesep=3mm

\begin{tabu}{X[$,c]|X[$,5]}

\tabucline[1pt]{-}

\{a_n\} &  \element{a}{1} \qquad \element{a}{2} \qquad \element{a}{3} \qquad \dotsb \qquad \element{a}{n-1} \qquad \element{a}{n} \qquad \element{a}{n+1}   \\

\{b_n\} & \qquad \element{b}{1} \qquad \element{b}{2} \qquad \element{b}{3} \qquad \dotsb \qquad \element{b}{n-1} \qquad \element{b}{n}   \\

\{c_n\} & \qquad \qquad \element{c}{1} \qquad \element{c}{2} \qquad \element{c}{3} \qquad \dotsb \qquad \element{c}{n-1}   \\

\tabucline[1pt]{-}\end{tabu}

}

\connect{a_1}{b_1}{a_2}

\connect{a_2}{b_2}{a_3}

\connect{a_n-1}{b_n-1}{a_n}

\connect{a_n}{b_n}{a_n+1}

\connect[SeaGreen]{b_1}{c_1}{b_2}

\connect[DarkRed]{b_2}{c_2}{b_3}

\connect[MidnightBlue]{b_n-1}{c_n-1}{b_n}

\end{table}




\begin{table}

\cprotect\caption{이번엔 곡선으로 이어보자. \verb!\smoothconnect!라는 명령을 정의한다. tikz에서 곡선을 긋는 방법은 많다. 여기서는 \verb!parabola!라는 것을 이용해본다. 기본은 파란색인데 역시 옵션으로 색깔을 줄 수 있다.}

\centering{%

\tabulinesep=3mm

\begin{tabu}{X[$,c]|X[$,5]}

\tabucline[1pt]{-}

\{a_n\} &  \element{a}{1} \qquad \element{a}{2} \qquad \element{a}{3} \qquad \dotsb \qquad \element{a}{n-1} \qquad \element{a}{n} \qquad \element{a}{n+1}   \\

\{b_n\} & \qquad \element{b}{1} \qquad \element{b}{2} \qquad \element{b}{3} \qquad \dotsb \qquad \element{b}{n-1} \qquad \element{b}{n}   \\

\{c_n\} & \qquad \qquad \element{c}{1} \qquad \element{c}{2} \qquad \element{c}{3} \qquad \dotsb \qquad \element{c}{n-1}   \\

\tabucline[1pt]{-}\end{tabu}

}

\smoothconnect{a_1}{b_1}{a_2}

\smoothconnect{a_2}{b_2}{a_3}

\smoothconnect{a_n-1}{b_n-1}{a_n}

\smoothconnect{a_n}{b_n}{a_n+1}

\smoothconnect[SeaGreen]{b_1}{c_1}{b_2}

\smoothconnect[DarkRed]{b_2}{c_2}{b_3}

\smoothconnect[Cyan]{b_n-1}{c_n-1}{b_n}

\end{table}



\begin{table}

\cprotect\caption{아뿔싸! 각 항 노드의 중심부(center)에서 선이 출발하다니… 윗수열의 시작과 끝 항은 노드의 남쪽(south)에서, 아랫수열 항은 노드의 북쪽(north)을 경유하도록 조금 바꿔 \verb!\realsmoothconnect! 명령을  정의해야겠다.}

\centering{%

\tabulinesep=3mm

\begin{tabu}{X[$,c]|X[$,5]}

\tabucline[1pt]{-}

\{a_n\} &  \element{a}{1} \qquad \element{a}{2} \qquad \element{a}{3} \qquad \dotsb \qquad \element{a}{n-1} \qquad \element{a}{n} \qquad \element{a}{n+1}   \\

\{b_n\} & \qquad \element{b}{1} \qquad \element{b}{2} \qquad \element{b}{3} \qquad \dotsb \qquad \element{b}{n-1} \qquad \element{b}{n}   \\

\{c_n\} & \qquad \qquad \element{c}{1} \qquad \element{c}{2} \qquad \element{c}{3} \qquad \dotsb \qquad \element{c}{n-1}   \\

\tabucline[1pt]{-}\end{tabu}

}

\realsmoothconnect{a_1}{b_1}{a_2}

\realsmoothconnect{a_2}{b_2}{a_3}

\realsmoothconnect{a_n-1}{b_n-1}{a_n}

\realsmoothconnect{a_n}{b_n}{a_n+1}

\realsmoothconnect[SeaGreen]{b_1}{c_1}{b_2}

\realsmoothconnect[DarkRed]{b_2}{c_2}{b_3}

\realsmoothconnect[Cyan]{b_n-1}{c_n-1}{b_n}

\end{table}


\end{document}


===


[메모] 

  • \cprotect 명령은 \caption에서 \verb 명령을 써야할 때 필요한 것입니다. \usepackage{cprotect}.
  • 표를 그리기 위해 tabu를 사용했습니다. 첫 번째 표에서 수식 앞뒤로 $ 기호를 붙이지 않고도 \(a_1\), \(a_2\)와 같이 수식이 표현되었는데, 이는 tabu의 셀 속성에 $가 들어있기 때문입니다. 
  • \ensuremath의 기능을 알아두세요.
  • \tikz의 옵션 중에서 remember picture, overlay가 무엇인지 알아보세요. (이것들을 제거하고 컴파일해보세요)
  • \tikz가 들어가는 문서는 기본적으로 최소 두 번 이상 컴파일해야하는 것을 잊지 마세요. 노드가 자리를 잡고 제 기능을 다 하려면... 
  • tikz 매뉴얼을 보고 두 노드를 곡선으로 잇는 다양한 방법을 찾아보세요. 
  • \element라는 명령을 정의하면서 tikz 옵션으로 baseline=(#1_#2.base)을 주었는데, 이게 없으면 각 항의 수직 위치가 어떻게 변하는지 비교해보세요. 
  • 더 세련되게 할 수 있는 방법을 찾으면 득달같이 올려주세요. 





XE Login