주소록이나 다른 목적으로 다양하게 (아래 예의 경우 csv가 더 나을 수도 있겠습니다만) 응용할 수 있겠습니다. csvsimple 패키지는 응용하기에 다소 불편할 수 있을 것 같고요.
\TabPositions{0pt, 0.275\linewidth, 0.65\linewidth, 0.825\linewidth} \NewDocumentCommand \readfile { m } { \ior_open:Nn \l_tsv_ior { #1 } \bool_until_do:nn { \ior_if_eof_p:N \l_tsv_ior } { \ior_str_get:NN \l_tsv_ior \l_tmpx_tl \tl_if_empty:NF \l_tmpx_tl { \regex_replace_all:nnN {\t} {|} \l_tmpx_tl \seq_set_split:NnV \l_tmpa_seq {|} \l_tmpx_tl \int_compare:nNnTF { \seq_count:N \l_tmpa_seq }{ = }{ 1 } { \section{ \seq_item:Nn \l_tmpa_seq {1} } }{ \seq_use:Nnnn \l_tmpa_seq { \tab }{ \tab }{ \tab } \newline } } } \ior_close:N \l_tsv_ior }
엑셀에서 열 수 있다는 게 csv와 tsv의 또 다른 매력이겠지요.
KTUG 한국 텍 사용자 그룹
주소록이나 다른 목적으로 다양하게 (아래 예의 경우 csv가 더 나을 수도 있겠습니다만) 응용할 수 있겠습니다. csvsimple 패키지는 응용하기에 다소 불편할 수 있을 것 같고요.
\TabPositions{0pt, 0.275\linewidth, 0.65\linewidth, 0.825\linewidth}
\NewDocumentCommand \readfile { m }
{
\ior_open:Nn \l_tsv_ior { #1 }
\bool_until_do:nn { \ior_if_eof_p:N \l_tsv_ior }
{
\ior_str_get:NN \l_tsv_ior \l_tmpx_tl
\tl_if_empty:NF \l_tmpx_tl
{
\regex_replace_all:nnN {\t} {|} \l_tmpx_tl
\seq_set_split:NnV \l_tmpa_seq {|} \l_tmpx_tl
\int_compare:nNnTF { \seq_count:N \l_tmpa_seq }{ = }{ 1 }
{
\section{ \seq_item:Nn \l_tmpa_seq {1} }
}{
\seq_use:Nnnn \l_tmpa_seq { \tab }{ \tab }{ \tab } \newline
}
}
}
\ior_close:N \l_tsv_ior
}
엑셀에서 열 수 있다는 게 csv와 tsv의 또 다른 매력이겠지요.