\cprotect\caption{각 수열의 항이 tikz 노드를 지니도록 하자. \verb!\element!라는 명령을 정의하여 각 항을 표시한다. 그리고 $a_1$--$b_1$--$a_2$를 이어본다. 잇는 명령도 일정한 패턴이 있으므로 \verb!\connect!라는 명령을 정의한다. 기본은 빨간색인데 옵션으로 바꿀 수 있도록 하자다.}
\cprotect\caption{이번엔 곡선으로 이어보자. \verb!\smoothconnect!라는 명령을 정의한다. tikz에서 곡선을 긋는 방법은 많다. 여기서는 \verb!parabola!라는 것을 이용해본다. 기본은 파란색인데 역시 옵션으로 색깔을 줄 수 있다.}
\cprotect\caption{아뿔싸! 각 항 노드의 중심부(center)에서 선이 출발하다니… 윗수열의 시작과 끝 항은 노드의 남쪽(south)에서, 아랫수열 항은 노드의 북쪽(north)을 경유하도록 조금 바꿔 \verb!\realsmoothconnect! 명령을 정의해야겠다.}
허접하나마 tikz로 함 해보았습니다.
% 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}
===
[메모]