KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당자유글 › tblr 환경 안에서 연산 명령을 사용할 때

yihoze | 2023.08.29 10:31:01 | 메뉴 건너뛰기 쓰기

tblr 환경 안에서는 연산과 관련된 매크로들이 기대와 다르게 작동하는 것으로 보입니다. 아래는 간단한 예인데, \fp_eval:n에서 컴파일 오류가 발생합니다. 반면 tabular 환경에서는 잘 넘어갑니다.  이게 버그라고 생각하고 싶지는 않고, 그냥 알아두시면 좋지 않을까 합니다. 표에서 이런 연산을 실제로 해야 할 일도 없을 테니까요.

\documentclass{article}
\usepackage{tabularray}

\ExplSyntaxOn
\int_gzero_new:N \l_cnt_int
\int_gzero_new:N \l_sum_int

\NewDocumentCommand \EG { d() }
{
    \IfValueTF {#1}
    {
      #1 \quad
      \int_gincr:N \l_cnt_int
      \int_gadd:Nn \l_sum_int { #1 }
      \int_use:N \l_sum_int \,/\, \int_use:N \l_cnt_int 

    }{
      \int_use:N \l_sum_int \,/\, \int_use:N \l_cnt_int \,=\,
      \fp_eval:n { \l_sum_int / \l_cnt_int }
      \int_gzero:N \l_cnt_int
      \int_gzero:N \l_sum_int
    }
}

\ExplSyntaxOff

\begin{document}

\begin{tblr}{colspec=X, hline{1,Z}=0.4pt}
\EG(2) \\
\EG(3) \\
\EG(0) \\
\EG(1) \\
\EG(4) \\
\EG(5) \\ 
\hline \EG 
\end{tblr}

\bigskip

\begin{tabular}{l}
\hline
\EG(2) \\
\EG(3) \\
\EG(0) \\
\EG(1) \\
\EG(4) \\
\EG(5) \\
\hline 
\EG \\
\hline
\end{tabular}

\end{document}

댓글 [2]

댓글 쓰기

목록

KTUG 한국 텍 사용자 그룹