Skip to content

Instantly share code, notes, and snippets.

@zr-tex8r
Forked from y-yu/taple.tex
Last active December 10, 2015 19:39

Revisions

  1. zr-tex8r revised this gist Jan 8, 2013. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions taple.tex
    Original file line number Diff line number Diff line change
    @@ -16,10 +16,10 @@
    % no use fiddling around \@tempcnta etc...
    \ifnum \@fuck@ii<\@fuck@i\relax
    \mem,
    \advance\@tempcntb by 1\relax
    \else%
    \advance\@fuck@ii by 1\relax
    \else
    \mem
    \fi%
    \fi
    }
    \right)
    \endgroup
  2. zr-tex8r revised this gist Jan 8, 2013. 1 changed file with 8 additions and 11 deletions.
    19 changes: 8 additions & 11 deletions taple.tex
    Original file line number Diff line number Diff line change
    @@ -2,27 +2,24 @@

    \makeatletter

    % registers are ALWAYS allocated globally (darn!)
    \newcount\@fuck@i
    \newcount\@fuck@ii

    \def\tuple#1{%
    \begingroup
    \newcount\@fuck@i
    \newcount\@fuck@ii
    \@fuck@i = -1
    \@fuck@ii = 0
    \@for\mem:=#1\do{ \advance\@fuck@i by 1\relax }
    \@for\mem:=#1\do{\advance\@fuck@i by 1\relax } %harmful space chopped
    \left(
    \@for\mem:=#1\do{%
    \@tempcnta = \@fuck@i
    \@tempcntb = \@fuck@ii
    \ifnum \@fuck@ii<\@fuck@i\relax%
    %|\mem - \the\@fuck@ii|,%
    % no use fiddling around \@tempcnta etc...
    \ifnum \@fuck@ii<\@fuck@i\relax
    \mem,
    \advance\@tempcntb by 1%
    \advance\@tempcntb by 1\relax
    \else%
    %|\mem - \the\@fuck@ii|%
    \mem
    \fi%
    \@fuck@i = \@tempcnta
    \@fuck@ii = \@tempcntb
    }
    \right)
    \endgroup
  3. Yoshimura Yuu revised this gist Jan 8, 2013. 1 changed file with 25 additions and 20 deletions.
    45 changes: 25 additions & 20 deletions taple.tex
    Original file line number Diff line number Diff line change
    @@ -2,29 +2,34 @@

    \makeatletter

    % 第一引数:識別子
    % 第二引数:コンマ区切りのやつ
    \def\taple#1#2{%
    \expandafter\newcount\csname #1@xx@i\endcsname
    \expandafter\newcount\csname #1@xx@ii\endcsname
    \@nameuse{#1@xx@i} = -1
    \@nameuse{#1@xx@ii} = 0
    \@for\mem:=#2\do{ \advance\@nameuse{#1@xx@i} by 1 }
    \left(%
    \@for\mem:=#2\do{%
    \ifnum \@nameuse{#1@xx@ii}<\@nameuse{#1@xx@i}\relax%
    \mem,%
    \advance\@nameuse{#1@xx@ii} by 1%
    \else%
    \mem%
    \fi%
    }
    \right)%
    \def\tuple#1{%
    \begingroup
    \newcount\@fuck@i
    \newcount\@fuck@ii
    \@fuck@i = -1
    \@fuck@ii = 0
    \@for\mem:=#1\do{ \advance\@fuck@i by 1\relax }
    \left(
    \@for\mem:=#1\do{%
    \@tempcnta = \@fuck@i
    \@tempcntb = \@fuck@ii
    \ifnum \@fuck@ii<\@fuck@i\relax%
    %|\mem - \the\@fuck@ii|,%
    \mem,
    \advance\@tempcntb by 1%
    \else%
    %|\mem - \the\@fuck@ii|%
    \mem
    \fi%
    \@fuck@i = \@tempcnta
    \@fuck@ii = \@tempcntb
    }
    \right)
    \endgroup
    }
    \makeatother

    \begin{document}

    $\taple{a}{ \taple{A}{0, 9}, \taple{b}{1, 2}, \taple{c}{3, 4} }$
    $ \tuple{ \tuple{a, b, 1, 2}, \tuple{d, i, a}, a, 1, 2, \tuple{1, 2}} $

    \end{document}
  4. Yoshimura Yuu revised this gist Jan 8, 2013. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions taple.tex
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@

    \makeatletter

    % 第一引数:識別子
    % 第二引数:コンマ区切りのやつ
    \def\taple#1#2{%
    \expandafter\newcount\csname #1@xx@i\endcsname
    \expandafter\newcount\csname #1@xx@ii\endcsname
  5. Yoshimura Yuu revised this gist Jan 8, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion taple.tex
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@
    \makeatletter

    \def\taple#1#2{%
    \expandafter\newcount\csname #1@xx@i\endcsname
    \expandafter\newcount\csname #1@xx@i\endcsname
    \expandafter\newcount\csname #1@xx@ii\endcsname
    \@nameuse{#1@xx@i} = -1
    \@nameuse{#1@xx@ii} = 0
  6. Yoshimura Yuu created this gist Jan 8, 2013.
    28 changes: 28 additions & 0 deletions taple.tex
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    \documentclass{jarticle}

    \makeatletter

    \def\taple#1#2{%
    \expandafter\newcount\csname #1@xx@i\endcsname
    \expandafter\newcount\csname #1@xx@ii\endcsname
    \@nameuse{#1@xx@i} = -1
    \@nameuse{#1@xx@ii} = 0
    \@for\mem:=#2\do{ \advance\@nameuse{#1@xx@i} by 1 }
    \left(%
    \@for\mem:=#2\do{%
    \ifnum \@nameuse{#1@xx@ii}<\@nameuse{#1@xx@i}\relax%
    \mem,%
    \advance\@nameuse{#1@xx@ii} by 1%
    \else%
    \mem%
    \fi%
    }
    \right)%
    }
    \makeatother

    \begin{document}

    $\taple{a}{ \taple{A}{0, 9}, \taple{b}{1, 2}, \taple{c}{3, 4} }$

    \end{document}