몇몇 글자들이 실제와 달라서,
1) 세그먼트 이미지들을 실제와 같게 직접 그리고 (이건 일이 아니고)
2) 주어진 문자열에서 글자들을 하나씩 쪼개어 대응하는 이미지로 대체하는 매크로를 만들었습니다.
매크로 만들기가 다소 어려울 줄 알았는데, Expl3에 그런 용도로 사용할 수 있는 함수가 이미 만들어져 있더군요.
\segment{0.123456789}
\segment{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
\keys_define:nn { segment }
{
scale .tl_set:N = \l_segment_scale,
raise .tl_set:N = \l_segment_raise,
}
\NewDocumentCommand \SegmentSetup { m }
\keys_set:nn { segment } { #1 }
\SegmentSetup{
scale=1,
raise=0pt,
\cs_new:Npn \segment_include:n #1
\raisebox{\l_segment_raise}{ \includegraphics[scale=\l_lineimg_scale]{#1} }
\NewDocumentCommand \segment { m }
\tl_map_inline:nn { #1 } %% 이 함수 쓰면 끝
\tl_if_eq:nnTF {##1} {.}
{ \segment_include:n {dot} }
{ \segment_include:n {##1} }
KTUG 한국 텍 사용자 그룹
몇몇 글자들이 실제와 달라서,
1) 세그먼트 이미지들을 실제와 같게 직접 그리고 (이건 일이 아니고)
2) 주어진 문자열에서 글자들을 하나씩 쪼개어 대응하는 이미지로 대체하는 매크로를 만들었습니다.
매크로 만들기가 다소 어려울 줄 알았는데, Expl3에 그런 용도로 사용할 수 있는 함수가 이미 만들어져 있더군요.
\segment{0.123456789}
\segment{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
\keys_define:nn { segment }
{
scale .tl_set:N = \l_segment_scale,
raise .tl_set:N = \l_segment_raise,
}
\NewDocumentCommand \SegmentSetup { m }
{
\keys_set:nn { segment } { #1 }
}
\SegmentSetup{
scale=1,
raise=0pt,
}
\cs_new:Npn \segment_include:n #1
{
\raisebox{\l_segment_raise}{ \includegraphics[scale=\l_lineimg_scale]{#1} }
}
\NewDocumentCommand \segment { m }
{
\tl_map_inline:nn { #1 } %% 이 함수 쓰면 끝
{
\tl_if_eq:nnTF {##1} {.}
{ \segment_include:n {dot} }
{ \segment_include:n {##1} }
}
}