KTUG 임시 피난지
알림과 잡담
\documentclass{article}
\usepackage{xparse}
\usepackage{tikz}
\usepackage{xcolor}
\ExplSyntaxOn
\int_new:N \l_easydraw_elements_int
\tl_new:N \l_easydraw_tl
\tl_new:N \l_easydraw_option_tl
\NewDocumentCommand \EasydrawSetup { m }
{
\tl_set:Nn \l_easydraw_option_tl { #1 }
}
\cs_new:Npn \easydraw_draw:n #1
{
\tl_if_eq:nnTF {#1}{cycle}
{
\tl_put_right:Nn \l_easydraw_tl { #1 }
}{
\tl_put_right:Nn \l_easydraw_tl { (#1) }
}
\int_decr:N \l_easydraw_elements_int
\int_compare:nTF { \l_easydraw_elements_int == 0 }
{
\tl_put_right:Nn \l_easydraw_tl { ; }
}{
\tl_put_right:Nn \l_easydraw_tl { -- }
}
}
\cs_new:Npn \easydraw_count_elements:n #1
{
\int_incr:N \l_easydraw_elements_int
}
\NewDocumentCommand \easydraw { o >{\SplitList{;}} m }
{
\group_begin:
\IfValueT {#1} { \tl_set:Nn \l_easydraw_option_tl { #1 } }
\int_zero:N \l_easydraw_elements_int
\tl_clear:N \l_easydraw_tl
\ProcessList{#2} { \easydraw_count_elements:n }
\tl_put_right:Nn \l_easydraw_tl { \draw[ }
\exp_args:NNo \tl_put_right:Nn \l_easydraw_tl { \l_easydraw_option_tl }
\tl_put_right:Nn \l_easydraw_tl { ] }
\ProcessList{#2}{ \easydraw_draw:n }
\l_easydraw_tl
\group_end:
}
\ExplSyntaxOff
\EasydrawSetup{black}
\begin{document}
\begin{tikzpicture}
\draw[black!30] (0,0) grid (5,5);
\coordinate (A) at (1,1);
\easydraw{0,0; A; 2,1; 3,0; cycle}
\easydraw[thick, blue]{0,3; 2,0; 3,1}
\easydraw{2,2; 3,3; 2,4}
\end{tikzpicture}
\end{document}
댓글 2
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 | 복구는 언제쯤 가능하나요? [3] | 직장인 | 2017.03.27 | 862 |
4 | 함초롬체 LVT가 필요하신 분들께 | HCR-LVT | 2017.04.18 | 389 |
3 | ftp.ktug.org 를 이용하여 TeX Live를 설치하신 경우, repository를 변경하여 update를 받는 방법 | likesam | 2017.03.23 | 1059 |
2 | 무슨 일인가요??? [3] | 메타 | 2017.03.24 | 819 |
» | 무제 [2] | yihoze | 2017.03.23 | 2268 |
게시판을 시험하고자 써본 것입니다.