expl3 ํจํค์ง ๋ฐ LaTeX3 ํ๋ก๊ทธ๋๋ฐ(v. 2017/09/18) ๋ฌธ์
LaTeX3 ์ฝ๋ฉ ๊ท์น์ ๋ชจ๋ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ์ ์ธํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ ์ฌํ๊ฒ, The LaTeX3 Interfaces (v. 2017/09/18) ๋ฌธ์
... ํญ์ ์ ์ธํด์ผ ํ๋ ๋ณ์์ ๋ฌ๋ฆฌ
expl3
๋ ๋ณ์๋ฅผ ๋ก์ปฌ๋ก ์ ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ ์ธ๊ณ์ ์ผ๋ก๋ง. ๊ทธ๋ฌ๋ ๋ค์ํ \..._set:N...
ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ์ผ๋ก ์ง์ญ ๋ณ์๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ฌ์ ํ โโ๊ฐ๋ฅํฉ๋๋ค.
๋ถํ์ํ๊ฒ ์ ์ญ ๋ฒ์์ ๋ณ์๋ฅผ ๋คํํ๋ ๊ฒ์ ํผํด์ผ ํ๋ ๊ฒ์ด ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ์ ์์น์ ๋๋ค. ๋ด๊ฐ ์๋ ๋ชจ๋ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(C, C#, Fortran, Java, Lisp, Pascal ๋ฐ Python ํฌํจ)์ ๋ง์ฐฌ๊ฐ์ง๋ก TeX ์ธ์ด๋ ๊ทธ๋ฃน์ด๋ผ๋ ์ง์ญ ๋ณ์๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ฒ์ ์ง์ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฒ๋ค๊ฐ LaTeX3 ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฒด๋ ๋งค๋ด์ผ์์ ์ ์ํ ๋ด์ฉ์๋ ๋ถ๊ตฌํ๊ณ ๊ณ ๋ง๊ฒ๋ ์ง์ญ ๋ณ์ ์์ฑ์ ์ง์ํฉ๋๋ค.
์ ์๊ฐ์๋ ์์ ์ธ์ฉ๋ ํ๊ณ๋ ๋งค๋ด์ผ์์ ์ญ์ ๋์ด์ผ ํ๋ฉฐ ๋ณ์๋ ๊ฐ๋ฅํ ํ ๋ก์ปฌ์์ ์์ฑ๋ ์ ์๊ณ ์์ฑ๋์ด์ผ ํ๋ค๋ ์ค๋ช ์ด ์์ด์ผ ํฉ๋๋ค.
๋์ฑ์ด ๋ชจ๋ ๋ณ์๊ฐ ์ฌ์ฉ๋๊ธฐ ์ ์ ์ ์ธ๋๋ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ๊ถ์ฅํ๊ณ ์ถ๋ค๋ฉด(๊ฐ์ธ์ ์ผ๋ก ์ด๊ฒ์ ํ๋ก๊ทธ๋๋จธ์ ๊ฐ๋ณ ์ทจํฅ์ ๋งก๊ฒจ์ผ ํ๋ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค), ํจ์๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค. ์ ์ญ ๋ณ์ ์ ์ธ์ ์ํ ํจ์๊ฐ ์๋ ๊ฒ์ฒ๋ผ ์ง์ญ ๋ณ์ ์ ์ธ์ ์ํด ์ ๊ณต๋ฉ๋๋ค.
ํ์ฌ ์์น๋ expl3
์ง์ํ๋ TeX ๊ธฐ๋ณธ ์ฌํญ๊ณผ ํจ๊ป ์๋ํ๋ ํจํด์ ์ค์ ํ๊ธฐ ์ํ ํ์ ์ฌ๋ฌ ์คํ์ ๋ฐ๋ฆ
๋๋ค. ํนํ ๋ณ์๋ ๋งคํฌ๋ก๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ ์ ์๋ค๋ ์ ๊ณผ TeX ๊ทธ๋ฃนํ๊ฐ ์๋ํ๋ ๋ฐฉ์์ ์ผ๋์ ๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ ๋(_e.g._ int
์ ํ) ๋ ์ง์คํฐ ๋ฒํธ์ ์ก์ธ์ค์ ์ฌ์ฉํ๋ cs๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ ํ ๋น์๊ฐ ํ์ํฉ๋๋ค. ๋์กฐ์ ์ผ๋ก, ํ์ํ์ง ์์ ๋งคํฌ๋ก ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง์ ๊ฒฝ์ฐ. ๋ฐ๋ผ์ \cs_set_eq:NN
๋ฅผ ์ฌ์ฉํ์ฌ ์ tl
์ด๋ฆ์ ์์ฑํ ์ ์์ง๋ง(์:) ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ํญ๋ชฉ์์๋ ์คํจํฉ๋๋ค.
\int_set_eq:NN \l_undeclared_int \l_tmpa_in
์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ก์ปฌ ๋ ์ง์คํฐ ํ ๋น์๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ฉฐ ๊ณผ๊ฑฐ์ _e.g._ \int_local_new:N
๋ํด ์๋ํ์ต๋๋ค. (์ด๋ฌํ ๊ตฌํ ์ค ํ๋์ ๋ํด์๋ etex
ํจํค์ง๋ฅผ ์ฐธ์กฐํ๊ฑฐ๋ expl3
๊ธฐ๋ก์ ๋ค์ ์ดํด๋ณด์ญ์์ค.) ํ์ ๊ฒฐ๊ตญ TeX ๋ฒ์ ์ง์ ์ '์ ํฉ'ํ์ง ์์ ๊ฒ ๊ฐ์ ์ด์ ๋ฐ๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฌ๊ธฐ์ ํต์ฌ์ TeX ๊ทธ๋ฃนํ๊ฐ ์ ์ธ์ ๊ธฐ๋ฐํ์ง ์๊ณ ์คํ๋ ค ๋ช
์์ ๊ทธ๋ฃน์ ๊ธฐ๋ฐํ๊ณ ์ง์ญ ๋ณ์๊ฐ ์ค์ฒฉ๋ ๊ทธ๋ฃน ๋ด์ ์กด์ฌํ๋ค๋ ๊ฒ์
๋๋ค.
\begingroup
\def\foo{}
\begingroup
\show\foo
๋ณ์์ ๋ก์ปฌ _์์ฑ_์ ์๋ํ์ ๋ TeX ๊ทธ๋ฃนํ๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ชจํธํ๊ฒ ํ๊ณ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ค๋ํ ์ ์๋ ์ํ์ด ์๋ ๊ฒ์ฒ๋ผ ๋ณด์์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ณ์์ '๋ชจ๋ ์ ์ญ' _์ ์ธ_์ ์ฌ์ฉํ์ง๋ง ์ด๋ฌํ ๋ณ์์ ๋ก์ปฌ ๋ฐ ์ ์ญ _์ค์ _์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค( \l_...
_๋ \g_...
๊ท์น). ์ด๊ฒ์ ์ค์ํ ๊ฒ, ์ฆ ๊ฐ์น๋ฅผ ์ง์ญํํฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ์ ์ธ์ด ์ต์์ ์์ค์ ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
\tl_new:N \l_my_tl
\int_new:N \l_my_int
...
\cs_new_protected:Npn \my_func:nn #1#2
{
\group_begin:
\tl_set:Nx \l_my_tl { \tl_lower_case:n {#1} }
ํ์ฌ๊น์ง ์ด ํจํด์ expl3
๊ฐ ์ฌ์ฉ๋ ์์
์ ๋ํด ์ ์๋ํ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
tex์์๋ ์ง์ญ์ ์ผ๋ก ์ ์๋ ๋ณ์๋ผ๋ ๊ทธ๋ฃน์ด ๋๋ ํ์ ์์ ํ ์๋ฉธ๋์ง ์์ต๋๋ค. ๊ทธ๋ค์ ์ฌ์ ํ โโ์ฝ๊ฐ์ ๋ฌธ์์ด ๊ณต๊ฐ์ ์ฌ์ฉํฉ๋๋ค: https://tex.stackexchange.com/questions/316999/release-space-in-the-string-pool. ๋ฐ๋ผ์ ๋ณ์๋ฅผ ์ ์ญ ๊ฐ์ฒด๋ก ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
@u-fischer ์ข์ ์ : ๋น์์ ์ค์ ๋ก ๊ณ ๋ คํ ๊ฒ์ ์๋์ง๋ง ์ผ๋์ ๋ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ ์๊ฐ์๋ ์ด ์ ๊ทผ ๋ฐฉ์์ด ์๋ชป๋์์ต๋๋ค. ์ด๋ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ์์น์ ์๋ฐฐ๋๋ฉฐ ์ง์ญ ๋ณ์ ์์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ๋ TeX์๋ ์๋ฐฐ๋ฉ๋๋ค. ๋ํ ์ผ๋ถ ๋ฐ์ดํฐ ์ ํ์ ์ง์ญ ๋ณ์๋ฅผ ์์ฉํ๊ณ ์ผ๋ถ๋ ๊ทธ๋ ์ง ์๊ธฐ ๋๋ฌธ์ LaTeX3๋ฅผ ์ผ๊ด์ฑ์ด ์๊ฒ ๋ง๋ญ๋๋ค.
๋ชจ๋ ์ ํ์ ๋ณ์์ ๋ํ ๋ก์ปฌ ์์ฑ์ ๋ค์ ์์ํ๋๋ก ์์ฒญํ๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ ํ๊ถ์ ์ค๋๋ค. ๋ชจ๋ ๋ณ์๋ฅผ ์ ์ญ์ ์ผ๋ก ์ ์ํ๋ ๊ฒ์ ์ ํธํ๋ ์ฌ๋์ ๊ทธ๋ ๊ฒ ํ ์ ์๊ณ ์ผ๋ถ๋ ์ ์ญ์ ์ผ๋ก, ์ผ๋ถ๋ ์ง์ญ์ ์ผ๋ก ์ ์ํ๋ ค๋ ์ฌ๋๋ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ๋๋ ๊ธฐํ ์ฃผ์ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ์ค๋ช ์์์ ์ธ๊ธํ ์ ์์ต๋๋ค.
2017๋ 10์ 18์ผ 21:17 EvanAad [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ด ์๊ฐ์ ์ด๊ฒ์ ์๋ชป๋ ์ ๊ทผ ๋ฐฉ์์ด๋ฉฐ ๋ค์์ ์์ฒญํ๊ณ ์ถ์ต๋๋ค.
๋ณ์์ ๋ก์ปฌ ์์ฑ์ ๋ค์ ์์ํฉ๋๋ค. ์ด๊ฒ์ ํ๋ก๊ทธ๋๋จธ์๊ฒ
์ ํ: ๋ชจ๋ ๋ณ์๋ฅผ ์ ์ญ์ ์ผ๋ก ์ ์ํ๋ ๊ฒ์ ์ ํธํ๋ ์ฌ๋๋ค์ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค.
์ผ๋ถ๋ ์ ์ญ์ ์ผ๋ก ์ ์ํ๊ณ ์ผ๋ถ๋ ๋ก์ปฌ๋ก ์ ์ํ๋ ค๋ ์ฌ๋๋ค๋ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค.๋ ์ง์คํฐ ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ณ์์ ๊ฒฝ์ฐ ๋ค์์์ ๋ฆฌ์์ค๋ฅผ ํ ๋นํฉ๋๋ค.
๊ณ ์ ๋ ์ ์ญ ํ์ด๋ฏ๋ก ์ด๋ฆ์ ์ ์ญ ํ ๋น์ ์ค์ ๋ก ํจ์ฌ ๋ ๋ง์ต๋๋ค.
์์ฐ์ค๋ฌ์ด. ์ฐ๋ฆฌ๊ฐ etex๋ฅผ ๊ฐ์ ํ๋ฉด 256๊ฐ ์ด์์ ๋ ์ง์คํฐ๊ฐ ์์ต๋๋ค.
๊ฐ ์ ํ์ ๋ฐ๋ผ ํ ๋น ๋์์ ์๋ง๋ ๊ทธ๊ฒ๋ณด๋ค ๋ ๋ง์ด ์จ๊ฒจ์ง ์ ์์ต๋๋ค.
ํด๋์ ํ ์ค๋ก ํ ์ ์์ง๋ง ์ฌ์ ํ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ๋๋ค.
๊ธฐ๋ณธ TeX ์์คํ . expl3์ ๊ฒฐ์ฝ ์์ ํ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ด ๋ ์ ์์ต๋๋ค.
์ธ์ด: ๊ธฐ๋ณธ TeX ์์คํ ๊ณผ ํจ๊ป ์๋ํด์ผ ํฉ๋๋ค. ๋น์ ์ ์๋๋ค
C#๊ณผ ๋น๊ตํ์ง๋ง ๋ค๋ฅธ TeX ๊ธฐ๋ฐ ์ธ์ด์ ํนํ
\newcount์ ์น๊ตฌ๋ค.
๋ค๋ฅธ ๋ชจ๋ ์ธ์ด๊ฐ ๋ณ์๋ฅผ ํ์ฉํ๋ค๊ณ ๋งํ๋ ๊ฒ๋ ์ฌ์ค์ด ์๋๋๋ค.
์๋ฅผ ๋ค์ด fortran์ ์ง์ญ ๋ฒ์์์ ์ ์ธ๋ ๋ณ์๋ง ํ์ฉํฉ๋๋ค.
ํจ์/์๋ธ๋ฃจํด์ ์์ ๋ถ๋ถ์ ์ ์ธ๋ฉ๋๋ค.
์์ ์ด๋ ๊ฒ๋ ์ง์ญ ์ ์ธ์ ์ถ๊ฐํ์ง ์์ ๊ฒ์์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฒ์ฉ ์ธ์ด์ ํธ์ํ๋ ๊ฒ์ ์ข์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋๋ค.
tex ์กฐํ ๋ด์์ ํฉ๋ฆฌ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ํ์ํฉ๋๋ค.
์ ์ญ ์ ์ธ ์์คํ
์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฌธ์ ์์ต๋๋ค.
Fortran์์ ํจ์/์๋ธ๋ฃจํด ์์ ์ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๋ค๋ ์ฌ์ค์ด ํด๋น ๋ณ์๊ฐ ์ ์ญ ๋ณ์์์ ์๋ฏธํ์ง๋ ์์ต๋๋ค. ๋ชจ๋ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๋ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ๊ณ ์งํ๋ค๋ฉด ๊ทธ๋ ๊ฒ ํ๋ ์ ์ญ ๋ณ์ ์ ์ธ์ ํด๋นํ๋ ์ง์ญ ๋ณ์ ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ญ์์ค.
๋ฒ์ ์ง์ ๋ฐ ์ง์ญ ๋ณ์์ ๋ํ ๊ทผ๊ฑฐ๋ ๋ฌด์๋ณด๋ค๋ ๊ฐ๋ ์ ์ ๋๋ค. ๊ธฐ๋ณธ TeX ์์ง์ด ์ง์ญ ๋ณ์์ ๊ด๋ จ๋ ์ผ๋ถ ๋ฆฌ์์ค๋ฅผ ํด์ ํ์ง ์๋๋ค๋ ์ฌ์ค์ ๋ฌด์ํ ์ ์์ง๋ง ์ ์๊ฐ์๋ ์ด๊ฒ์ด ๋ฒ์ ์ง์ ๋ฐ ์ง์ญ ๋ณ์์ ๊ฐ๋ ์ ์์ ๋ ์ด์ ๊ฐ ๋ ์ ์์ต๋๋ค. ํ์ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ ์ธํ๊ณ ๊ธฐ๋ณธ ๊ตฌํ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ํ๋ก๊ทธ๋๋จธ์ ๊ฒฝ์ฐ ๋ฌธ์์์ ํ๊ณผ ์ฃผ์ ์ฌํญ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ฒ์ฉ ์ธ์ด์ ํธ์ํ๋ ๊ฒ์ ์ข์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋๋ค.
TeX๋ฅผ ํฌํจํ์ฌ 1960๋ ๋๋ถํฐ ์ค๋๋ ๊น์ง ๊ฑฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๊ตฌํ๋ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ์ ์์น์์ ๋ฒ์ด๋๋ ๊ฒ์ LaTeX3 ํ์ด ํด์ผ ํ ๋งค์ฐ ๊ฐ๋ ฅํ ์ด์ ๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ ์ฆ ์ฑ ์์ ์ด๋์์๋ ์ข์ ํ๋ก๊ทธ๋๋ฐ ๊ดํ์ผ๋ก ๊ฐ์ฃผ๋๋ ๊ฒ๊ณผ TeX์ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒ์ ํ์งํ๋ ค๋ ์ฌ๋๋ค์๊ฒ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ณด์กดํ๊ณ ์ ํ๋ ์ฌ๋๋ค์๊ฒ๋ ์๋๋๋ค.
@EvanAad ํ ํฐ ๋ชฉ๋ก, ์ผํ ๋ชฉ๋ก ์ํ์ค ๋ฐ ์์ฑ ๋ชฉ๋ก ๋ณ์๋ ์ค์ ๋ก TeX ๋งคํฌ๋ก์ด์ง๋ง ๋ค๋ฅธ ์ข ๋ฅ์ ๋ณ์๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ์ ์ ๋ณ์๋ฅผ ๋ก์ปฌ๋ก ์ ์ธํ๋ ๊ฒ์ด ํ์ฉ๋๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ๋ ์ง์คํฐ๋ฅผ ์๋ชจํ๋ฉฐ ํ ๋น์ด ์ด๋ฏธ ํ ๋น๋ ๋ ์ง์คํฐ๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๋๋ก ์ ์ญ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๋ก์ปฌ ์ ์ ๋ณ์ \x
์ ์์ ๋ ๋ฒจ์ \y
๋ณ์๊ฐ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์๋ ๋ ์ง์คํฐ 100์ด ํ ๋น๋์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฌ์ฉ \y
๊ฐ์ ์์ค์์ \x
๋ก์ปฌ๋ก ์ ์ํ๋ ๊ฒ์ ๋จ์ํ ์ฌ์์ด ๋ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ํ ๋น๋ ๋ ์ง์คํฐ์ ๊ธ๋ก๋ฒ ๋ถ๊ธฐ๊ฐ ํ์ํ๋ฏ๋ก ๋ก์ปฌ ํ ๋น ๋ ์ง์คํฐ๋ฅผ ํด์ ํ๊ธฐ๊ฐ โโ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ๋ก์ปฌ ํ ๋น์ ์ํด ๋ ์ง์คํฐ ๋ธ๋ก์ ์์ฝํ๋ ๊ฒ์ ์๋ฃจ์
์ด ์๋๋๋ค.
ํ ์ ์๋ค๋ ๋ง์ ์๋์ง๋ง ๊ณ ํต์ ๊ฒช์ ๊ฐ์น๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
\newcount๊ฐ ๋จ์ํ ๋ก์ปฌ(๋๋ ์ ์ญ)์ด ์๋๋ผ๋ ์ฌ์ค์ ๋์น๊ณ ์์ต๋๋ค.
์ด๋ฆ์ ์ ์ธํ๋ฉด ์ด๋ฆ์ ์ธ๋ถ์์ ์ ์๋ ๊ณ ์ ์ด๋ฆ๊ณผ ์ฐ๊ฒฐํฉ๋๋ค.
์์. ํ๋์ ์นด์ดํธ ๋ ์ง์คํฐ 42์ ๋ชจ๋ ์ด๋ฆ์ด ์์ต๋๋ค.
count42๊ฐ ๋์ผํ ๋ ์ง์คํฐ๋ฅผ ์ฐธ์กฐํ๋์ง ์ฌ๋ถ๋ฅผ ์๋ฏธํ๋ ๊ฒ์ผ๋ก ์ ์ธ๋์์ต๋๋ค.
์ด๋ฆ ํ ๋น์ ๋ก์ปฌ ๋๋ ๊ธ๋ก๋ฒ์
๋๋ค. ๋ค๋ฅธ๊ณณ๊ณผ์ ๋น๊ต๋ฅผ ๋ง์๋๋ ธ๋ฏ์ด
์ธ์ด๋ ๊ทธ๋ค์ง ์ ์ฉํ์ง ์์ง๋ง ๋น๊ต๋ฅผ ์ํ๋ฉด
ํ ๋น ํ์ผ ์คํธ๋ฆผ ๋๋ ์ผ๋ถ ๋น๊ต: ํญ์ ๊ฒฉ๋ฆฌํ ์๋ ์์ต๋๋ค.
์ธ๋ถ์์ ์ ์๋ ๊ฒ๊ณผ ์ธํฐํ์ด์คํ ๋ ๋ก์ปฌ ์ ์ธ
์์.
2017๋ 10์ 18์ผ 21์ 43๋ถ์ EvanAad [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
Fortran์ ์์ ์ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๋ค๋ ์ฌ์ค
ํจ์/์๋ธ๋ฃจํด์ ํด๋น ๋ณ์๊ฐ ์ ์ญ์ ์์ ์๋ฏธํ์ง ์์ต๋๋ค. ๋ด๊ฐ
๋ชจ๋ ๋ณ์๊ฐ ์๋ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ๊ถ์ฅํ๋ ๊ฒฝ์ฐ
๋ฐ๋์ ์ ์ธ๋์ด์ผ ํ์ง๋ง ๋ก์ปฌ ์ ์ธ์ ์ํ ํจ์๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
์ ์ญ ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ณ์์ ํด๋นํ๋ ๋ณ์์ ๋๋ค.๋ฒ์ ์ง์ ๋ฐ ์ง์ญ ๋ณ์์ ๋ํ ๊ทผ๊ฑฐ๋ ๋ฌด์๋ณด๋ค ์ค์ํฉ๋๋ค.
๊ฐ๋ ์ . ๊ธฐ๋ณธ TeX ์์ง์ด ์ผ๋ถ๋ฅผ ๋ฆด๋ฆฌ์คํ์ง ์๋๋ค๋ ์ฌ์ค
์ง์ญ ๋ณ์์ ๊ด๋ จ๋ ๋ฆฌ์์ค๋ ๋ฌด์ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ด ์๊ฐ์๋ ์ด๊ฒ์ด ๊ฐ๋ ์ ์์ ๋ ์ด์ ๊ฐ ๋ ์๋ ์์ต๋๋ค.
๋ฒ์ ๋ฐ ์ง์ญ ๋ณ์. ํ์ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ ์ธํ๊ณ ,
๊ธฐ๋ณธ ๊ตฌํ์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ํ
์ค๋ช ์์์ ์ฃผ์ ์ฌํญ์ ์ ๊ณตํ ์ ์์ต๋๋ค.โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/latex3/latex3/issues/410#issuecomment-337721923 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/ABNcAimMfBDqA-e96Q7tkS-ERr5fv_2Mks5stmLqgaJpZM4P-Mpq
.
์ค์ํ ์ ์ ์์
๊ณผ ๋ค์์ด ์ธ๊ธ ํ ๋ฐ์ ๊ฐ์ด, ์ ์๋ค๋ ๊ฒ์
๋๋ค int
์๊ฐ ๋ ์ ๋ก์ปฌ๋ก ์ ์ ๋ (๊ทธ๋ฆฌ๊ณ ์๋ค) ์ํํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ์ธ์ด๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๊ณ ํต์ ๊ฐ์น๊ฐ์๋ค ์๊ฐ ์ ๋ฌผ ๊ตฌ์กฐํ ํ๋ก๊ทธ๋๋ฐ์ ์๋ฆฌ์ ์ผ์นํ๋ค ์ผ๊ด์ฑ์๋ ์ถ์ํ ๊ณ์ธต.
๊ทธ๋ฌ๋ ๋๋ LaTeX3 ์ธ์ด๋ฅผ ๊ตฌํํ๋ ๊ณ ํต์ ๊ฒช์ ์ฌ๋์ด ์๋๊ธฐ ๋๋ฌธ์ ๊ณ ํต์ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋งํ๊ธฐ๋ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋น๋ก์ด ์ ๊ทผ์ ํ๊ณ ์ค์ ๋ก ๊ณ ํต๋ฐ์ ๊ฐ์น๊ฐ ์๋ค๊ณ ๋งํฉ์๋ค. ๊ด์ฐฎ์. ์ด ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ ํ์ ์ง์ญ ๋ณ์ ์์ฑ์ ํ์ฉํ๋ ์ ํ๊ณผ ํ์ฉํ์ง ์๋ ์ ํ์ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค๋ด์ผ์์ ์ด๋ฌํ ๋ฒ์ฃผ๋ฅผ ์ค๋ช
ํ์ญ์์ค. ๋งํ์ง ๋ง์ธ์: ๋ชจ๋ ๋ณ์๋ ์ฌ์ฉ ์ ์ ์ ์ธํด์ผ ํฉ๋๋ค. "๋ฐ์ดํฐ ์ ํ์๋ ๋ ๊ฐ์ง ๋ฒ์ฃผ๊ฐ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ cs
, tl
, clist
, ...๋ก ๊ตฌ์ฑ๋๋ฉฐ ๋ ๋ฒ์งธ๋ ์ง์ญ ๋ณ์๋ฅผ ์์ฉํฉ๋๋ค. int
, ... ๊ทธ๋ ์ง ์์ต๋๋ค." ๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ๋ฒ์ฃผ๊ฐ ์กด์ฌํ๋ ์ด์ ๋ฅผ ์ค๋ช
ํ์ญ์์ค. ์ด๋ฐ ์์ผ๋ก ๋ฌธ์๋ ์ฌ์ค์ ์ถฉ์คํ๋ฉฐ ํ๋ก๊ทธ๋๋จธ๋ ์ ๋ณด๋ฅผ ์ ์๊ณ ์ ํํ ์ ์์ต๋๋ค. ์ผ๋ถ ํ๋ก๊ทธ๋จ์ ๋ ๋ฒ์งธ ๋ฒ์ฃผ์ ๋ฐ์ดํฐ ์ ํ์ ์ ํ ์ฌ์ฉํ ํ์๊ฐ ์์ผ๋ฉฐ ์ด๋ฌํ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ญ ๋ณ์๋ฅผ ์ ์ธํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น?
@EvanAad ๋ด๊ฐ TeX ํ๋ก๊ทธ๋๋ฐ(TeX90์ '์ ํต์ ์ธ' ์ ํ ์ฌํญ ํฌํจ)์ ์ต์ํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ํ์ฌ๋ก์๋ ํ์ฌ ์ ๊ทผ ๋ฐฉ์์ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ก์ปฌ ํ ๋น ๋ณ์๋ฅผ ์ง์ํ๊ณ ์ค์ ๋ก ๊ถ์ฅํฉ๋๋ค. ์ด๋ ๋งค์ฐ ์ผ๋ฐ์ ์ด๋ฉฐ ์ค์ ๋ก ๋ณ์ ์ด๋ฆ ์ง์ ์ ๋ํ ๊ตฌ๋ฌธ์ ์ผ๋ถ์
๋๋ค( \l_...
/ \g_...
). ๊ทธ๋ค์ด ์ ์ญ์ ์ผ๋ก ํ ๋น/'์์ฝ'๋๋ค๋ ์ฌ์ค์ ๊ทธ๊ฒ์ ๋ฐฉํดํ์ง ์์ต๋๋ค.
BTW, ์ฐ๋ฆฌ๋ ๊ตฌํ์ ์ธํฐํ์ด์ค๋ฅผ ๋ฌถ๊ณ ์ถ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, prop
๋ฐ์ดํฐ ์ ํ์๋ ์ ๊ฐ ์๋ ์ต์ํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ๊ตฌํ์ด ์์ต๋๋ค. ๊ทธ ์ค ํ๋๋ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ฌ ํ๋๋ ๋งคํฌ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฌ๊ธฐ์ ํ ๊ฐ์ง ๋ ๋ง๋ถ์ด์๋ฉด, ๋ํ์ ๋ฑ๋ผ๋ฅผ ๋ถ๋ฌ๋จ๋ฆฐ ์งํธ๋ผ๊ธฐ(๋ด ๊ธฐ์ต์)๋ ์ง์ญ ๋ ์ง์คํฐ/๋ณ์ ํ ๋น ์์คํ ์ด ๋ฌด๋์ง ๊ฒ์ ๋ถ์ผ์น ๋๋ฌธ์ด์์ต๋๋ค. ๋งคํฌ๋ก์ ๋ ์ง์คํฐ๊ฐ ๋ค๋ฅด๊ฒ ๋์ํ๊ธฐ ๋๋ฌธ์ ์์ฑํ ๋ ๋ค๋ฅธ ๋์์ผ๋ก ๋๋ฌ์ต๋๋ค.
\group_begin:
\int_new_local:N \l_tmpa_int
\int_gset:Nn \l_tmpa_int {7}
\group_end:
% `\l_tmpa_int` undefined
๋
\group_begin:
\tl_new_local:N \l_tmpa_tl
\tl_gset:Nn \l_tmpa_tl {7}
\group_end:
% `\l_tmpa_tl` defined as `7`
๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ค๋ฒํค๋๋ก ์ธํด ์ฌ๊ฐํ๊ฒ ๊ณ ๋ ค๋์ง ์์ ๋งคํฌ๋ก์ ๋ํ ํ ๋น ์์คํ ์ ์์ฑํ๋ ๊ฒ์ ๋๋ค. (TeX๋ ๋ ๋ง์ ๋ณ์๊ฐ ์ ์๋๋ ์๋๋ฅผ ๋ฆ์ถ๋ฏ๋ก ํ ํฐ ๋ชฉ๋ก์ ์๋ฅผ ๋ ๋ฐฐ๋ก ๋๋ฆฌ๋ฉด ์ฑ๋ฅ์ ๋์ ๋๊ฒ ์ํฅ์ ์ค ์ ์์ต๋๋ค.)
๋๋ ์ฌ์ ํ expl3
๊ฐ ๋งคํฌ๋ก์ ๋ ์ง์คํฐ๋ฅผ ๋์ผํ ๋ชจ์๊ณผ ๋๋์ ์ฃผ๋ ํจ์๋ก ์ถ์ํํ์ฌ ์ณ์ ์ผ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋จ์ ์ ๊ตฌ๋ฌธ์ด ์์ฐ์ค๋ฝ๊ฒ ์ง์ ํ ์ง์ญ ๋ณ์์ ๋ ์ง์คํฐ๋ฅผ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. ์์์ ์ค๋ช
ํ ์ด์ ๋๋ฌธ์ TeX์์ ์ฌ์ฉ์ด ๊ทนํ ์ ํ์ ์ด์ง๋ง ๋ด ๊ด์ ์์ ์ด๋ ํ์ฉ ๊ฐ๋ฅํ ์ ์ถฉ์์
๋๋ค.
@wspr ํ์ง๋ง ๋ํ์ ๋ฑ๋ผ๊ฐ ๋ถ๋ฌ์ง ๊ฒ์ผ๋ก ์ธ์ฉํ ์๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ญ ๋ณ์์ ์ ์ญ์ ์ผ๋ก ํ ๋นํ์ฌ ์ธ์ด๋ฅผ ๋จ์ฉํ ์์
๋๋ค. ์ด๊ฒ์ ํ๋ก๊ทธ๋๋จธ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ญ ๋ณ์์ธ ๊ฒ์ฒ๋ผ ์ฌ์ ํ \l_...
๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ฌ ์์คํ
์ ์ธ์ด ๋จ์ฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํฉ๋๋ค.
... ๊ทธ๊ฒ์ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ ์์น๊ณผ ์ผ์นํฉ๋๋ค.
ํ๋ ์ด์์ ์ธํธ๊ฐ ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ ๋งค์ฐ ๋๋ดํ ์ง์ ์
๋๋ค.
์์น๊ณผ ๋ค๋ฅธ ์์น์ ํตํฉํ๋ ค๋ ์๋๋ฅผ ๊ฐ์ํ ๋
์์ ์งํฉ์ ์ผ๋ฐ์ ์ผ๋ก ๊ณผ๊ฑฐ์ ํฌ์ง๋ง ์ธ๋ชจ์๋ ์ธ์ด๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ค์ํ ์ ์ ๋ฐ๋์ ๋ฌด์ธ๊ฐ๋ฅผ ํ ์ ์๋ค๋ ๊ฒ์ด ์๋๋๋ค(
Turing ์์ ํ ๊ธฐ๋ฐ ๋ด์์๋ ๋ชจ๋ ๊ฒ์ด ํด๋น ์์ค์์ ๋์ผํฉ๋๋ค)
๋ฌด์ธ๊ฐ๋ฅผ ํจ์จ์ ์ด๊ณ ์ผ๊ด๋๊ฒ ์ํํ ์ ์๋์ง ์ฌ๋ถ ๋ฑ
@wspr : ์ ์ด ๋ฌธ์ ๋ฅผ ๊นกํจ์ฒ๋ผ ๋ซ์๋์? ๊ทธ๊ฒ์ ์๋ฌด๊ฒ๋ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
@EvanAad โ ๊ทธ๋ฅ ๊น๋ํ๊ฒ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ๋ ผ์๋ ํ์คํ ๊ณ์๋ ์ ์์ผ๋ฉฐ ์ ๋นํ ๊ฒฝ์ฐ ๋ค์ ์ด ๊ฒ์ ๋๋ค.
์ผ๋ถ ๋จ๊ฑฐ์ด ๋๊ธ๋ก ์ธํด ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ผ์์ ์ผ๋ก ์ ๊ทธ๊ณ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ๊ด๋ จ ์ง๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด ํ ๋ก ์ ๊ฒฐ๊ณผ ์ค ํ๋๋ ์ ์ด๋ ๋ฌธ์์์ ์ ์ญ ์ ์ธ๋ง ์ ํํ ์ด์ ๋ฅผ ๋ ์์ธํ ์ค๋ช
ํด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค. @EvanAad ๋๋ ๋น์ ์ด TeX ์์คํ
์ ํ๊ณ๋ฅผ ์ ์ดํดํ์ง ๋ชปํ๋ค๊ณ ์๊ฐํ์ง๋ง, ์ ์ ๋ค๋ก ๋ฌผ๋ฌ์์ ๊ทธ ๋ฌธ์ ๋ฅผ ๋ฌด์ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ์์ \int_local_new:N
๋๋ ์ ํํ ์๋ฏธ ์ฒด๊ณ์ ํจ๊ป ์ ํํ ๋ค๋ฅธ ์์คํ
์ ์ฌ์ฉํ๋ ์(์: 10-20์ค)๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น? ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ์ค์ ์์ ํ ๋ก ์ ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ ์ด์ /๋จ์ ์ ํด์ํ ์ ์์ต๋๋ค.
์๋ฌผ์ ๊ฐ ํ๋ฆด ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ ๊ฒ ๊ฐ์๋ฐ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด์จ๋ ์ด ๋ํ์ ์ฐธ์ฌํ๋ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ๋ช ์๊ฐ ๋์ ์ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค. (์ฐธ๊ณ ๋ก 410๋ฒ์ 411๋ฒ์ผ๋ก ๋ณต์ฌํด์ ํ ๋ก ์ด ๋ค์ฃฝ๋ฐ์ฃฝ์ด ๋ ๊ฒ์ ๊ทธ๋ค์ง ํฉ๋ฆฌ์ ์ด์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.)
์ด๊ฒ์ด ๋งค์ฐ ์์ธํ ๋ ผ์๋ผ๋ ์ฌ์ค์ ๋์ด์ผ๋ณด๋ฉด, ์ฐ๋ฆฌ๋ฅผ ์ฌ๊ธฐ๊น์ง ์ค๊ฒ ํ ๊ธฐ์ ์ , ์ฌํ์ ์ญ์ฌ๋ฅผ ์์ฝํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ธฐ์ ์์ค์์ TeX๋ ์ ์ฅ์ ์ํ ๋ ์ง์คํฐ์ ๋งคํฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋งคํฌ๋ก๋ \def
์ฌ์ฉํ์ฌ '์์ฑ'ํ ์ ์์ง๋ง ๋ ์ง์คํฐ๋ฅผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์ ์ญ ๋ ์ง์คํฐ ๋ฒํธ _e.g._ \count40
๋ฅผ ์ผ๋ถ ์ด๋ฆ(์: \mycount
์ ์ฐ๊ฒฐํ๋ ํ ๋น์๊ฐ ํ์ํฉ๋๋ค. \newcount
, _etc._ ๋ชจ๋ธ์ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก \newcount
์ ์ญ์ ์ผ๋ก ํ ๋นํ๋ฉฐ ์ด๋ฆ์๋ ๋ถ๊ตฌํ๊ณ ๊ฒ์ฌ๋ฅผ ์ํํ์ง ์์ต๋๋ค. ๋ค๋ฅธ ํ์, ํนํ LaTeX2e ๋ฐ ConTeXt๋ ๋ชจ๋ ์ผ๋ฐ์ ์ผ๋ก ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ์ต๋๋ค. ๊ทธ๋ค์ ๋ํ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ณ ๋ ์ง์คํฐ๊ฐ ๋ก์ปฌ ๋๋ ์ ์ญ์ ์ผ๋ก _ํ ๋น_๋๋ค๋ ์์ด๋์ด๋ฅผ ์ฑํํ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์คํ ์ถ์ ์ด ๋ฐฉ์ง๋๊ธฐ ๋๋ฌธ์
๋๋ค.
TeX90์ ๊ณตํต ์ ํ์ ๋ ์ง์คํฐ๋ฅผ 256๊ฐ๋ง ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ ์ปจํ
์คํธ์์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํ์ต๋๋ค. _e.g._ graphics
์์ ์ฝ๋๋ฅผ '์ ์'์ผ๋ก ์ ์งํ๊ธฐ ์ํด ๋ง์ ์์ ๋ ์ง์คํฐ์ ๊ทธ๋ฃน ๋ด์์ ์ ์ด๋ฆ์ด ์ง์ ๋๊ณ ์์ ํ ๋ก์ปฌ์์ ์ฌ์ฉ๋ฉ๋๋ค. e-TeX๋ฅผ ์ฌ์ฉํ๋ฉด _lot_ ๋ ๋ง์ ๋ ์ง์คํฐ๊ฐ ์์ผ๋ฏ๋ก ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ ํ์ํฉ๋๋ค. ์ ์ฉ ๋ชฉ์ ์ ์ํด ๋ ๋ง์ ๋ ์ง์คํฐ(๋ฐ ๋งคํฌ๋ก)๋ฅผ ์์ ๋กญ๊ฒ ํ ๋นํ ์ ์์ต๋๋ค. ํนํ, ๊ทธ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ฌ๋ฌ ์ด๋ฆ์ผ๋ก ๋ ์ง์คํฐ๋ฅผ '์ฌํ์ฉ'ํ๋ผ๋ ์๋ฐ์ ๋ฐ๋ ๊ฒ๊ณผ ๊ฐ์ง ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
expl3
์ ์ฝ๋ ๊ธฐ๋ฐ์ _long_ ์๊ฐ ๋์ ๊ฐ๋ฐ๋์์ผ๋ฉฐ ์๋ e-TeX๊ฐ ํ์ํ์ง ์์์ต๋๋ค. expl3
๊ฐ๋ฐ์ ์ฃผ๋ก LaTeX2e์ '์๋จ'์์ ์ด๋ฃจ์ด์ง๋ฉฐ expl3
๋ ๋ฌธ์ ์ด๋ฆ ๊ณต๊ฐ์ ์ค์ผ์ํค์ง ์๊ณ ํต์ฌ LaTeX2e ๋์์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
ํนํ LaTeX2e์ \newcount
๋ ์ผ๋ฐ์
\def\foo{%
\begingroup
\newcount\localfoocnt
\foo
๊ฐ ์ฌ๋ฌ ๋ฒ ํธ์ถ๋๋ ๊ฒ์ฒ๋ผ '๋์ ์คํ์ผ'์
๋๋ค. ๊ทธ๋ฌ๋ฉด ํด์ ๋์ง ์๋ ๋ ์ง์คํฐ๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
expl3
์ ๊ฒฝ์ฐ ํ์ ๋ฌธ์ํ๋ ๋ณ์ ๋์์ ๋งคํฌ๋ก ๋๋ ๋ ์ง์คํฐ ๊ตฌํ์ ๋ฌถ๋ ๊ฒ์ ํผํ๋ ค๊ณ ํ์ต๋๋ค. (์ ๊ทผ์ ์์ด tl
๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์ ์ ์ ์ํฉ๋๋ค. ์ด๋ ๊ถ๊ทน์ ์ผ๋ก ๋งคํฌ๋ก์ ์์กดํฉ๋๋ค.) ๋ํ ์ ์, ์ฐจ์, _etc._์ ๋ํ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์ ๊ณตํฉ๋๋ค. ๋งคํฌ๋ก์์ ๋ชจ๋ ์์
์ ์ํํ๋ ๊ฒ๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ๊ณผ '์์ฒด ์ข
๋ฃ'. (e-TeX์ ๋ค์ํ \<thing>expr
ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฅํฉ๋๋ค.) ๋ฐ๋ผ์ ํ ๋น์ ์์คํ
์ด ํ์ํ๊ณ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ๋ ์ง์คํฐ ๊ธฐ๋ฐ ๋ณ์๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ๋ณ์ ์ ํ์ ํ ๋นํด์ผ ํฉ๋๋ค. . @EvanAad ๊ฐ ๊ด์ฐฐํ ๊ฒ์ฒ๋ผ ๊ฒ์ฌ๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ ์ค๋ฅ ์์ด _e.g._ \tl_set_eq:NN \l_new_tl \l_existing_tl
๋ฅผ ์ํํ ์ ์์ง๋ง ์ด๊ฒ์ ์ง์๋๋ ๋์์ด ์๋๋๋ค(์๋ฅผ ๋ค์ด ๊ฒ์ฌ๋ฅผ ํตํด ํ๋๊ทธ๊ฐ ํ์๋จ).
expl3
ํ ๋น์์ ์ผ๋ถ๋ก \newcount
์ ๋ฌ๋ฆฌ new
๊ฐ ์กด์ฌ๋ฅผ ํ์ธํ๋๋ก ๊ฒฐ์ ๋์์ต๋๋ค.
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_new:N \l_my_tl
\my_foo:
๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ฉด _error_๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ TeX์ ์ฒซ ๋ฒ์งธ ๋ ๋ถํฐ ํ์ค TeX ๊ดํ์ด์๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ด ๋ฃ์ต๋๋ค. ํ ๋น์ ๋งคํฌ๋ก ์ธ๋ถ๋ก ์ด๋ํฉ๋๋ค. (์ฐธ๊ณ ๋ก \newcount
๋ \outer
์ด๋ฏ๋ก ๋งคํฌ๋ก ๋ด์์ '๊ธ์ง'๋ฉ๋๋ค.)
\tl_new:N \l_my_tl
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_clear:N \l_my_tl
etex
ํจํค์ง๋ ์๋
์ ์ \loccount
_versus_ \globcount
, _etc์ ๊ฐ์ด ๋ก์ปฌ ๋ฐ ๊ธ๋ก๋ฒ ๋ ์ง์คํฐ ํ ๋น์ ์ํํ ์ ์๋ ๋ ์ง์คํฐ ํ ๋น์๋ฅผ ๋์
ํ์ต๋๋ค. ๊ฝค ๋ง์ ์๊ฐ ๋์, expl3
๋ก๋ etex
ํ๊ณ ๊ทธ๊ฒ์์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉ ๋ \int_local_new:N
๊ณผ ์ ์ฌํฉ๋๋ค. ๋๋ถ๋ถ์ TeX ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ญ ํ ๋น์ ์ํํ๋ ๋ฐ ์ต์ํ๋ค๋ ์ฌ์ค์ ๊ฐ์ํ ๋ ์ด๊ฒ์ด ๊ทธ๋ ๊ฒ ๋๋ฆฌ ์ฑํ๋์ง ์์ ๊ฒ์ ์๋ง๋ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ ํ์ ์คํด์ ์์ง๊ฐ ์๋ค๋ ์ ๋ ์ฐ๋ คํ๋ค. ๊ฐ์ ๊ฒ์ผ๋ก
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_local_new:N \l_my_tl
\my_foo:
์ ๋ํ ์ค์ฒฉ ํธ์ถ ๋๋ \l_my_tmp_tl
์ ๊ฐ์ '๊ฐ๋จํ' ์ด๋ฆ์ด ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋ ๋์ ๊ณณ์์ ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง์ ๋ํ ์ง๋ฌธ์ด ์์ต๋๋ค. new
๊ฐ ๊ฒ์ฌ๋ฅผ ์ํํ๊ธฐ๋ฅผ ์ํ๋ค๋ ์ผ๋ฐ์ ์ธ ์๊ฐ์ ๋ฐ๋ฅด๋ฉด ์ด๋ ์ค๋ฅ์
๋๋ค. ๋ค๋ฅธ ๋ง์ ์ธ์ด์์ ์จ ํ๋ก๊ทธ๋๋จธ๋ ์ด๊ฒ์ด ๋ค์ ์ด์ํ๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ๋ฌผ๋ก TeX์ ๋ฒ์ ์ง์ ๊ท์น์ ๋ง์ต๋๋ค.
ํนํ ์ต๊ทผ ๋ช ๋
๋์ LaTe2e ์ปค๋์ด ๋ณ๊ฒฝ๋์ด ๋ ์ด์ etex
๋ฅผ ๋ก๋ํ๊ณ ์ถ์ง ์์ต๋๋ค(์ฌ์ค, ์ฐ๋ฆฌ๋ expl3
'์์ฒด ํฌํจ'์ผ๋ก ๋ง๋ค๊ธฐ ์ํด ์ด์ฌํ ๋
ธ๋ ฅํ์ต๋๋ค). ๋ฐ๋ผ์ ์๋ก์ด ๋ก์ปฌ ํ ๋น์๋ expl3
์ฌ์ฉํ์ง ์๋ ์ฌ๋๋ค์ ์ํ '๋ฐฉํด' ๋์ ์์ด LaTeX2e์ ํจ๊ป ์๋ํ๋๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค.
\l_my_tmp_tl
์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ฌผ๋ก ์ฌ์ ํ ์ ์ญ ํ ๋น์ ์ํํ ์ ์์ง๋ง ํ์ฌ ๊ทธ๋ฃน์์ ์ด๋ค \l_...
๋ณ์๊ฐ ๋ก์ปฌ๋ก ํ ๋น๋๊ณ ์ด๋ค ๊ฒ์ด ์ ์ญ์ ์ผ๋ก ํ ๋น๋์ง๋ง ๋ก์ปฌ๋ก ํ ๋น๋๋์ง ์์์ผ ํฉ๋๋ค.
ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ ์์ง๋ง ๋ณ์๋ฅผ ํ ๋นํ๋ ๊ฒ์ด ๋จ์ํ ์ค์ ํ๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ์์ ์ด ๋๋ฏ๋ก(ํ์คํ ๊ฒ์ฌ๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ) ๋ก์ปฌ ํ ๋น์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์ญ ํ ๋น์ ํ๋ฌ์ค๋ณด๋ค ์ฝ๊ฐ ๋๋ฆด ๊ฒ์ ๋๋ค. ์ง์ญ ๊ณผ์ .
๋ฐ๋ผ์ ๊ธฐ์ ์ ์ธ ์ด์ ์ '์ญ์ฌ์ ๋ง๋' ์ด์ ๋ก ์ฐ๋ฆฌ๋ ์๊ฒฉํ๊ฒ ๊ธ๋ก๋ฒ _ํ ๋น_์ ๊ณ ์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๊ฒ์ ๊ถ์ฅ๋๊ณ ๋งค์ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ณ์์ ๋ก์ปฌ _ํ ๋น์ ์ด๋ค ์์ผ๋ก๋ ๋ฐฉ์งํ์ง ์์ต๋๋ค.
๊ทธ๊ฒ์ ์ฐ๋ฆฌ๋ฅผ '์ฌํ์ ' ์์๋ก ์ด๋๋๋ค. ์ต๊ทผ ๋ช ๋
๋์ expl3
๋น์ค์ ๋ถํ์ '๊ด๋ฒ์ํ๊ฒ' ์์ ์ ์ผ๋ก ๋ง๋๋ ๋ฐ ํฌ๊ฒ ๋์์ด ๋์์ต๋๋ค. ์ด๋ค ๋จ๊ณ์์ ํ์ ๋ฌผ๊ฑด์ ๋ํ ๊ฒฐ์ ์ ๋ด๋ ค์ผ ํฉ๋๋ค. ๋ถ๋ถ์ ์ผ๋ก๋ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ ์ ์๋๋ก ํ๊ณ ๋ถ๋ถ์ ์ผ๋ก๋ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฅธ ์์
์ผ๋ก ๋์ด๊ฐ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ๋ค๊ณ ํด์ ์ฐ๋ฆฌ๊ฐ ๋ฌผ๊ฑด์ ๋ค์ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ๋ง์ ์๋ ์์ง๋ง ๋ ํ๋ฆฝ๋ ๊ด์ต์๋ ๋ณ๊ฒฝํด์ผ ํ ํฉ๋นํ ์ด์ ๊ฐ ํ์ํฉ๋๋ค.
์ฌ๊ธฐ์์ ํ์ฌ๋ก์๋ '์ผ๋ฐ์ ์ธ' ์ ๊ทผ ๋ฐฉ์์ด ๋ฌด์์ด ์๋ชป๋์๋์ง ์์ง ๋ชปํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
\tl_new:N \l_my_tl
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_clear:N \l_my_tl
์ ์ด๋ ๋์๊ฐ์ ํ์ฌ ์ค์ ์ ๋ณ๊ฒฝํด์ผ ํ๋ ์ง์ ๊น์ง๋.
@blefloch ์, @wspr ์ด ์ค๋ ๋๋ฅผ ๋ซ๋ ๊ฒ์ ๋ํ ์ ๋ฐ์์ด
@josephwright ์์ธํ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ ์ ๋ํด ์๊ฐํ ํ \<module>_clear_new:N
๋ง ์ฌ์ฉํ๋ฉด ์ค์ ๋ก ๋ชจ๋ ๋ณ์๊ฐ \<module>_set...
์ฌ์ฉํ์ฌ ํ ๋นํ๋ ํ ์ฃผ๋ณ ๊ทธ๋ฃน์ ๋ก์ปฌ์ธ ๊ฒ์ฒ๋ผ ์๋ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค \<module>_clear_new:N
\<module>_set...
๋์ \<module>_gset...
. ๊ฒ๋ค๊ฐ ์ด ๊ดํ์ ์ฌ์ฉ ์ ์ ๋ณ์๋ฅผ ์ ์ธํ๋ LaTeX3 ๊ท์น๊ณผ ์ผ์นํ๋ค๊ณ ์๊ฐํ๋ฏ๋ก ํ์ธ์ด ์ผ์ ธ ์์ผ๋ฉด ํ๋๊ทธ๊ฐ ์ง์ ๋์ง ์์ต๋๋ค.
์ด ์ฐ์ต์ ๋ฐ๋ผ @josephwright ๋ง์ง๋ง ์์ ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ค์ ์์ฑํฉ๋๋ค.
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_clear_new:N \l_my_tl
์ด ์คํค๋ง์ ๋ง์ง ์๋ ์ ์ผํ ๋ฐ์ดํฐ ์ ํ์ cs
์ด์ง๋ง ๋ด๊ฐ ์๋ ํ \cs_set:Npn
๋ฑ์ ์ฌ์ฉํ์ฌ ์ด ์ ํ์ ๋ณ์๋ฅผ ๋ง๋๋ ๊ฒ์ด ํฉ๋ฒ์ ์
๋๋ค. LaTeX3๋ cs
๋ฅผ ๋ค๋ฅธ ๊ฒ๊ณผ ๋๋ฑํ๊ฒ ์ผ๋ฐ ๋ฐ์ดํฐ ์ ํ์ผ๋ก ์ทจ๊ธํ์ง ์๊ธฐ ๋๋ฌธ์ ๋จผ์ ์ ์ธํ์ง ์๊ณ ๋ค๋ฅธ ์ค๋ ๋๋ก). ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด cs
๋ณ์๋ ๋ก์ปฌ์์ ์์ฑํ ์ ์์ต๋๋ค. ๊ตฌ๋ฌธ ์ผ๊ด์ฑ์ ์ ์งํ๋ ค๋ฉด ํญ์ ๋๋ง์ \cs_clear_new:N
๋ํผ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ด๊ฐ ์ผ๋ คํ๋ ํ ์ด์ ์ํ๋ ๊ฒฝ์ฐ ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ ์ ์์ต๋๋ค. @wspr .
@EvanAad \<thing>_clear_new:N
์์ ์ ์ธ์ ๋ณ์๊ฐ ์ด๋ฏธ ์กด์ฌํ์ง ์๋ _is_ global์
๋๋ค. ๊ทธ๋์
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_clear_new:N \l_my_tl
\group_end:
}
\my_foo:
\tl_show:N \l_my_tl
์ด์ ์ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ค์ ํ์ง ์์๋ค๊ณ ๊ฐ์ ํ๋ฉด \l_my_tl
๊ฐ ์ ์๋๊ณ ๋น์ด ์์์ ๋ณด์ฌ์ค๋๋ค.
์ด ํ ๋ก ์ด ๋ ๋์ ๋ฌธ์๋ก ์ด์ด์ง๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉฐ @blefloch ์ ํฉ๋ฅํ๊ณ ์ถ์ต๋๋ค. ํนํ, ๋ด ์๋ ๊ฒ์๋ฌผ์์ ์ธ์ฉํ ๋ฌธ์ฅ์์์ ๊ฐ์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ํน์ ์ฝ๋ฉ ํจํด์ "๋ฐ๋์" ๋ฐ๋ผ์ผ ํ๋ค๊ณ ์์ฑํ ๋ ๋ฌธ์์์ ์ด "๋ฐ๋์"๊ฐ ์๋ฏธํ๋ ๋ฐ๋ฅผ ์ค๋ช ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํจํด์ ์ค์ํ์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ฉ๋๊น?
5์ ์๋ก์, ํจ์ ์ด๋ฆ ๋์ ์ธ์ ์ฌ์์ ์ถ๊ฐํ๋ ๊ท์น์ ์ทจํ์ญ์์ค. ๋ด๊ฐ ๋งํ ์ ์๋ ํ, ์ด ๊ท์น์ ์ค์ํ์ง ์์ผ๋ฉด ์ ๋๋ก ์๋ํ์ง ์๋ ์ ์ผํ ๊ธฐ๋ฅ์ \cs_new:Nn
์ด์ง๋ง `cs_ new:Npn '์ ํฌํจํ ๋๋จธ์ง ๊ธฐ๋ฅ์ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
6์ ๋ํ ์๋ฅผ ๋ค๋ฉด \g_...
๋ฐ \l_...
์ง์ญ ๋ฐ ์ ์ญ ๋ณ์๋ฅผ ํ์ํ๋ ๊ท์น์ ๋ฐ๋ฅด์ญ์์ค. ๋ด๊ฐ ์๋ ํ, ์ด ํ์ฝ์ ๋ฐ๋ฅด์ง ์๋ ๊ฒ์ ๋ํ ์ํฅ์ ์ ํ ์์ ๊ฒ์
๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํฉ๋๋ค.
@EvanAad โ ์ฌ๊ณผ๋ฅผ ์๋ฝํ์ผ๋ฉฐ ํ ๋ก ์ด ์๋ฃ๋๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ ๊ฒ์ ๋ํด ์ ์ ์ฅ์์๋ ์ ๊ฐ์ ๋๋ค.
@josephwright โ ์ง์ญ ํ ๋น์ ๋ํ ์์ ์ด์ ์ค ํ๋๋ก์,
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_new_local:N \l_my_tl
...
๊ทธ๋ฌ๋ฉด \l_my_tl
๊ฐ ์ธ๋ถ๋ก๋ถํฐ์ ๊ฐ์ญ์ผ๋ก๋ถํฐ ์์ ๋ก์ธ ๋ฟ๋ง ์๋๋ผ _clear
ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ ๋ณ์์ ๋ชจ๋ ์์ทจ๊ฐ ํจ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ฌ๋ผ์ง๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ฆ, ์ฝ๋ ๋ง ๋ด๋ ๋ฐ ์ ์ญ ๋ณ์๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. (๊ทธ๋ฆฌ๊ณ \tl_if_exist_p:N
๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ํ ์ผ์ด ์ผ์ด๋์ง ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.)
(์คํํด์ผ ํ์ง๋ง ๋ ๋ ผ์ํ ์ฌํญ์ด ์์ผ๋ฉด ๋์ค์ ๊ณ์ํ ์ ์์ต๋๋ค.)
@wspr ์, ํ์ง๋ง ์ด๊ฒ์ TeX ๊ทธ๋ฃน ๋ฒ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๋ ์ฌ์ค๊ณผ ํจ๊ป ๋์์์ต๋๋ค. ๋ฐ๋ผ์ ๋ค์ ํ์์ ๊ตฌ์ฑ์์ '๋ฐ ์ ์ญ์ ์ผ๋ก' ์ฌ์ฉํ ์ ์์ต๋๋ค.
\cs_new_protected:Npn \my_foo:
{
\group_begin:
\tl_new_local:N \l_my_tl
\tl_set:Nn \l_my_tl { foo }
\__my_foo:
..
}
\cs_new_protected:Npn \__my_foo:
{
\group_begin:
\tl_use:N \l_my_foo % Definition from \my_foo: => "foo"
...
}
๊ทธ๊ฒ์ ์ ์ด๋ ์ฐ๋ฆฌ ์๊ฐ์ ์ผ๋ถ์์ต๋๋ค.
์ด ๊ธ์ ๋ ๋๊ธฐ ์ ์ ๊ธฐ์ ์์ค์์ ๋ก์ปฌ ๋ ์ง์คํฐ ํ ๋น์๋ฅผ ์ค์ ํ๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์์ ๊ฐ์กฐํ๊ณ ์ถ์ต๋๋ค.
@josephwright โ ๋๋ ๊ทธ๊ฒ์ ํผ๋์ค๋ฌ์ด ์๋ก ๋ณธ ์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Matlab์์๋ ๋ฒ์๋ฅผ ๊ณต์ ํ์ง ์๋ ํ์ ํจ์์ ๋ฒ์๋ฅผ ๊ณต์ ํ๋ ์ค์ฒฉ๋ ํ์ ํจ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ๊ทธ๋์ ๋ด ์๊ฐ์๋ ํญ์ \__my_foo:
๊ฐ "์ธ๋ถ" ๊ธฐ๋ฅ์ ๋ฒ์๋ฅผ ์์ ํ์ง ์๋ ์ด์
(ํ ๋ก ์ ๊ณ์ํด์ ์ฃ์กํฉ๋๋ค. ๊ธด ํ๋ฃจ์์ต๋๋ค. ์ค์ ๋ก ๊ณ์ํ๊ณ ์ถ์ ์ฌ๋์ด ์์ต๋๊น?)
Am 19.10.2017 um 09:23 schrieb Joseph Wright:
๋๋ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ๋ ๋๊ธฐ ์ ์ ๊ทธ๊ฒ์ ๊ฐ์กฐํ๊ณ ์ถ๋ค๊ณ ์๊ฐํ๋ค.
๊ธฐ์ ์์ค ๋ก์ปฌ ๋ ์ง์คํฐ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
ํ ๋น์.
์, ๊ทธ๋ฌ๋ Turing ์ธ์์ ์๋นํ ๊ฐ๊น์ต๋๋ค. ์ฆ, ๊ทธ๋ฌํ ๊ตฌํ
๊ธฐ๋ณธ ์์ง ๋๋ฌธ์ ๋ฐํ์์ ๋งค์ฐ ๋นํจ์จ์ ์ผ ๊ฒ์
๋๋ค.
๋ ์ง์คํฐ ์ ์ฅ์๋ฅผ ์ ์ญ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ expl3(ํด๋น ์์ค์์)
"ํฉ๋ฆฌ์ ์ผ๋ก ํจ์จ์ ์ด์ด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ์ญ ๋ฐ ์ง์ญ ๋ณ์์ ๊ทธ mutator์ ๊ฐ์ต๋๋ค. ๊ฝค
์ ์ญ ์์
์ ์ํํ๋ ๊ฒฝ์ฐ ๊ฐ ๊ธฐ๋ฅ์์ ํ
์คํธํ๋ ๊ฒ๋ณด๋ค
์ง์ญ ๋ณ์, ๊ฐ๋
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฆ์๋ง ์กด์ฌํฉ๋๋ค.
์๋ฅผ ๋ค์ด \l_...์ ์ง์ญ ๋ณ์๋ก ๊ฐ์ฃผ๋๋ฉฐ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
..._ gset:Nn ๊ณผ ๊ฐ์ ์ ์ญ ํจ์๋ฅผ ์ฌ์ฉํ์ง๋ง ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ํ
์คํธํ์ง ์์ต๋๋ค.
์คํ ์๊ฐ
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ฒ์ฌ ๋ชจ๋์ ์ ๊ณตํฉ๋๋ค(๋ช ๋ฐฐ ๋ ๋๋ฆฌ๊ฒ ์คํ๋จ)
์ด๋ ์ด๋ฌํ ๋ชจ๋ ๊ท์น์ด ์ค์ ๋ก ์ค์๋๋์ง ํ์ธํฉ๋๋ค.
์ ์ญ/๋ก์ปฌ ๋ณ์๋ก ๋์๊ฐ๋ ค๋ฉด
expl3์ ํ์ค ๊ฐ๋ ์
๋ณ์ ์ด๋ฆ์ ํ ๋ฒ(์ ์ญ์ ์ผ๋ก) ์ ์ธํฉ๋๋ค.
์ ์ด๋ ์ผ๋ถ ์ ํ์๋ ์ ์ญ ์ ์ฅ ์ ์ฅ์๋ง ์์ต๋๋ค.
์ง์ญ ๋ฐ ์ ์ญ ๋ณ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ์ด๋ฆ ๊ท์น \l_ \g_ ์ฌ์ฉ
์ ์ญ ๋ฐ ์ง์ญ์ ๋ชจ๋ ์ ๊ณตํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ ํ ์ฌํญ์ด ์์ต๋๋ค.
๋ฒ์ ์์ ๋ถ๋ถ์ ์ง์ญ ๋ณ์๋ฅผ ์ ์ธํ์ง ์์ต๋๋ค.
๋์ ๊ทธ ์์ ์์ _set ๋๋ _clear_new๋ฅผ ์ฌ์ฉํ๊ณ ํ์๋
๋ณ์์ ์ด๋ฆ์ด ๊ทธ ์ง์ ์ ์ ์ญ์ ์ผ๋ก ์ฌ ์ ์์์ ์๋ฏธํ ์ ์์ต๋๋ค.
์กด์ฌํ๋
๋ฒ์ ์ธ๋ถ์ ๋ณ์๊ฐ ์ฌ์ ํ ๊ธฐ๋ณธ๊ฐ๊ณผ ํจ๊ป ์กด์ฌํฉ๋๋ค.
์ ํ์ ๊ฐ(์: _int๊ฐ 0 ๋ฑ)์ด๋ฏ๋ก ์ปดํ์ผ๋ฌ๋ฅผ ์ป์ง ๋ชปํฉ๋๋ค.
์๋ํ์ง ์์ "์ค์๋ก" ๊ทธ๋ฌํ ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฒ์
๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ป์ ์ ์๋ ์ ์ผํ ๊ฒ์ ๋ค์์ ์ ์ธํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
์ด๋ฆ์ด ๋ฒ์ ๋ฐ์์ ์ฌ๋ผ์ง๋๋ก ์ง์ญ ๋ณ์(๊ทธ๋ฆฌ๊ณ
์ธ๋ถ์์ ์ฐธ์กฐ๋๋ ๊ฒฝ์ฐ ๋ฐํ์ ์ ์ด๋ค ์ข
๋ฅ์ ์ ์๋์ง ์์ ์ค๋ฅ
์ ์ธ๋ ๋ฒ์).
๊ทธ๋ ๊ฒํ๋ ค๋ฉด (์ ๊ฐ๋ฅํฉ๋๋ค) expl3์ ์์ฒด ์ ์ง ๊ด๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
์ ์ญ ์ด๋ฆ ๊ฐ์ ๋จ์ํ ์ฐ๊ฒฐ์ ํจ์ฌ ๋ฐ์ด ๋๋ ๋ฆฌ์์ค ํ
์์ง์์ ์ ๊ณตํ๋ ํ์ด๋ฉฐ ์ด๋ ๋ชจ๋ ์ก์ธ์ค๊ฐ
๋งค์ฐ ํ์ ํ๊ฒ ๋๋ ค์ง ์์
- ์ด๋ expl3์ ์ค๊ณ ๊ธฐ์ค์ ์๋ฐฐ๋ฉ๋๋ค.
@FrankMittelbach โ ์ด์ ๋น์ ์ ๋๋ฅผ ๊ถ๊ธํดํฉ๋๋ค. ๋ ์ง์คํฐ์ ๋ํ etex.sty ์ ๊ทผ ๋ฐฉ์์ด ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋นํจ์จ์ ์ ๋๊น? ๋๋ tl ๋ณ์๋ฅผ ์๋ฏธํ ์๋ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๋์ํฉ๋๋ค!
@FrankMittelbach ๋ด ์๊ฒฌ์ผ๋ก๋ LaTeX3 ํ์ ๋ฐ๋ฅธ ๋ชจ๋ฒ ์ฌ๋ก์ LaTeX3 ์ธ์ด ๊ท์น์ ๋ฌธ๋ฒ์ ๋๋ ์๋ฏธ์ ํ์ ์๊ตฌ ์ฌํญ์ ๊ตฌ๋ณํ๊ณ ๋ฌธ์์์ ๋ช ํํ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๊ทํ๊ฐ ์ธ์ฉํ ๋ ๊ฐ์ง ๊ท์น, ์ฆ:
\l_
\g_
๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ญ ๋ฐ ์ ์ญ ๋ณ์๋ฅผ ๋ํ๋
๋๋ค.LaTeX3 ํ์ด ๊ถ์ฅํ๋ ์ด ์ฝ๋ฉ ๊ท์น ๋ฃจ๋ธ๋ฆญ์ ์ํ์ง๋ง ๋ ์ค ์ด๋ ๊ฒ๋ ์ธ์ด์ ๋ฌธ๋ฒ ๊ท์น์ ์ํด ๊ฐ์ ๋์ง ์์ผ๋ฉฐ ์ด๋ฌํ ๊ท์น์ ์ค์ํ์ง ์์๋ ์ค๋ฅ๋ ๊ธฐ๋ฅ ์์ค์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
์ฆ, ์ด๋ฌํ ๊ท์น์ ๋ฐ๋ฅด๋ ๊ฒ์ ๊ฐ์ธ์ ์ทจํฅ๊ณผ ์ฝ๋ฉ ์คํ์ผ์ ๋ฌธ์ ์ด๋ฉฐ, ๋ด ์๊ฐ์๋ ๋ฌธ์์์ ์ด๋ฅผ ๋ช ํํ ํด์ผ ํฉ๋๋ค.
50mh๋ผ๋ ํ์๋ ๊ท์น์ด ์๋๋ผ ์ด์ ์ด๋ผ๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๊ท์ฝ์ด๋ฉฐ ์ด์ ์๊ฐ ๊ทธ๊ฒ์ ์ค์ํ๋์ง ์ฌ๋ถ๋ ์ทจํฅ์ ๋ฌธ์ ์
๋๋ค(๋จ์ง
๋๋ถ๋ถ ์ฆ์ ํ์ธ๋์ง ์๊ธฐ ๋๋ฌธ์)
_gset๊ณผ ํจ๊ป \l_ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ ํ TeX์์ ํ๋ก๊ทธ๋๋ฐํ์ง๋ง
๋น์ ์ expl3์ ๋ฌธ๋ฒ ๊ท์น์ ์์ข
ํ๋ ๊ฒ์ ์ค๋จํ์ต๋๋ค
์ธ์ด. ์ฝ๋๊ฐ ์ฆ์ ์์๋ฉ๋๊น? ์๋ง ์๋์ง ๋ชจ๋ฅด์ง๋ง ๋น์ ์
์ ์ฅ ์คํ ๋น๋์
์์ฑ(TeXbook ์์ธ ์ฐธ์กฐ)
๋น์ ์ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ํ์ธํ๋ ๊ฒฝ์ฐ์๋ง ๋ฌธ๋ฒ ๊ท์น์ ๋งํ๊ณ ์์ต๋๊น?
๋ฐํ์, ์๋ฅผ ๋ค์ด ๋งค์ฃผ ํ์์ผ?
@FrankMittelbach ๋ฌผ๋ก , ๋น์ ์, ๊ทธ๊ฒ์ ์ ์์ ๋๋ฌด์ด์ง๋ง ํ์ธ๋์ง ์์ต๋๋ค ๋๋ฌธ์ ๋ด ์์ ์,์ด ์ธ์ด์ ๊ท์น์ ์ผ๋ถ๋ก ์ ์๋์ด์๋ ์๋๋ค๋ ๊ฒ๋ณด๋ค์ด ์ธ์ด์ ๊ท์น์ ์ผ๋ถ๋ก ์ ์ ๊ฒฝ์ฐ ์ด ๊ท์น์ ์ค์ํ์ง ์๋๋ค๊ณ ํด์ ๊ทธ ์์ฒด๋ก ์ค๋ฅ๋ ๊ธฐ๋ฅ ์์ค์ด ๋ฐ์ํ์ง๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
"์์ด๋ฅผ ์ธ ๋ ์ํฌ๊ฐ ๋ฒ์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ ์ค๋ฅธ์์ ์ก๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค"๋ผ๋ ๋ง์ ์ฐจ์ด์ ๋๋ค. ์์ด๋ ์ค๋ฅธ์์ ํ์ ์ก๊ณ ์จ์ผ ํ๋ค๋ ๋ฒ์ ํต๊ณผ์์ผฐ์ต๋๋ค. ๋ฌผ๋ก , ๊ทธ๋ฐ ๋ฒ์ ํต๊ณผ ์ํฌ ์ ์๊ณ ๊ทธ๊ฒ์ ์ ๋นํํ๋ ๊ฑด์ ํ ๊ทผ๊ฑฐ๊ฐ ์์ง๋ง, ๊ฒฐ๊ตญ ํ์ ์ก์ ์์ ๊ฐ๋ณ ์๊ฐ์๊ฒ ๋งก๊ฒจ์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ท์น์ ๋ฐ๋ฅด์ง ์๊ธฐ๋ก ์ ํํ๊ณ ์ฌ์ ํ ๊ทธ๊ฒ์ ์ค์ํ๋ ์ฌ๋๋ค๋งํผ ๊น๋ํ๊ฒ ๊ธ์ ์ฐ๋ ์ฌ๋๋ค์ด ์์ ๊ฒ์ ๋๋ค.
@FrankMittelbach ๋ ๋ก์ปฌ ์ ์ธ์ ์ค๋ฒํค๋๋ฅผ ๊ณผ์ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค( \loccount
๋ ๋ก์ปฌ์์ ์นด์ดํธ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ์ญ์ ์ผ๋ก ์ํํ์ง ์์ผ๋ฏ๋ก ์ค๋ฒํค๋๋ฅผ ์ ์ ์งํฉ๋๋ค).
\int_zero_new:N
๋ฐ \tl_clear_new:N
์ ๋งค์ฐ ์ ์ฌํ \int_local:N
๋ฐ \tl_local:N
(= \tl_set_eq:NN #1 \c_empty_tl
) ๋ฑ์ ์ ๊ณตํ๋ ๋ฐ ํฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค
@EvanAad ๋ณ์๋ฅผ ์ ์ธํ์ง ์์ผ๋ฉด ์ด๋ ์์ ์์
\documentclass{article}
\usepackage{expl3}
\begin{document}
\ExplSyntaxOn
\tl_put_left:cn { l_my_tl } { foobar \par }
\l_my_tl
\end{document}
@blefloch ๋ด๊ฐ \<module>_clear_new
), ์ด๋ฆ์ \l_amount_paid_int
์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์์ ๋ง์ฐฌ๊ฐ์ง๋ก \amount_paid
๋๋ \amountPaid
์
๋๋ค. \l_..._int
๋ ์ ์์ด๊ณ ๋ก์ปฌ์์ ์ฌ์ฉ๋์ด์ผ ํจ์ ์๊ธฐ์์ผ์ฃผ๋ ๋ฉ์ง ๋๋ชจ๋์ด์ง๋ง ๊ฐ์ ๋ก ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
ํ์ธ๋์ง ์๊ณ ์ด ๊ท์น์ ์ค์ํ์ง ์๊ธฐ ๋๋ฌธ์
๊ทธ ์์ฒด๋ก๋ ์ค๋ฅ๋ ๊ธฐ๋ฅ ์์ค์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
ํ์ง๋ง ๊ทธ๊ฒ ์์ ์ด์ผ
) ์ํฉ์ ๋ฐ๋ผ ํด๋ฅผ ๋ผ์นฉ๋๋ค. ์ฆ, ํผํฉํ ๋
๋์ผํ ๋ณ์์ ๋ํ ์ ์ญ ๋ฐ ์ง์ญ ํ ๋น
b) ์์ฒญ ์ ํ์ธํฉ๋๋ค(ํ์ฌ ํด๋น ์ฝ๋๋
๊ธฐ๋ฅ์ ์ด์ง๋ง)))
ps ์ ํ์ ์ก๋ ๊ฒ(์ผ์์ก์ด)์ ๋ํ ๋น์ ์ ์์ ์ ์๊ฒ ์ต๋๋ค.
(๋ด ์์ ๊ฑฐ์์) ์ ํ ์๋๋ฅผ ์ด๊ณผํ์ง๋ง ์ฌ์ ํ ์ด๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
๊ตํต ๊ท์น์ ๊ตํต ๊ท์ฝ์ด ์๋๋ฉฐ ์๋ฅผ ๋ค ์ ์์ต๋๋ค.
ํด๋ฅผ ๋ผ์น ์ง ์์ง๋ง ๊ทธ๋ก ์ธํด ์ฃฝ๊ฑฐ๋ ์ ์ด๋ ๋ฒ๊ธ์ผ๋ก ๋๋ ์๋ ์์ต๋๋ค.
(์ด์ ์ฝ๋ ์์ ์์ ์ง์ ํ ๊ฒ์ tl์ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ ์ ์ ์ ์ธํ๋ ๊ฒ์ด ํ์์ ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ ์ธ์ ํ ์คํธํ๋ ๊ฒ์ฌ ์ต์ ์ด ์์ง๋ง ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์์๋ ๊ทธ๋ฌํ ์ค๋ฒํค๋๋ฅผ ์ํ์ง ์์ต๋๋ค.)
๋๋ ์ด๋ฆ์ด ๋จ์ง ๊ด๋ก ๋ผ๋
'๊ด๋ก'์์ \amountPaid
๋ ๋ฌธ์ ๋ช
๋ น์ด์ง๋ง \l_amount_paid_int
๋ ๊ทธ๋ ์ง ์์ผ๋ฉฐ ํ์๋ amount
๋ค์์คํ์ด์ค์ ์ผ๋ถ์
๋๋ค(๊ด๋ก์ ๋ฐ๋ผ TeX์์ ๊ฝค ์ค์ํ ๊ฒ์
๋๋ค. ). \l_
/ \g_
์๋ ์ ์ฉ๋์ง ์์ง๋ง ๋ง์ ์ธ์ด๊ฐ ๊ธฐ์ ์์ค์์ ์ ์ฉ๋์ง ์๊ณ ๋ช
๋ช
์ ๊ฐ๋ ฅํ '์กฐ์ข
'์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
2017๋ 10์ 19์ผ 16:58์ Joseph Wright [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
'๊ด๋ก'์์ amountPaid๋ ๋ฌธ์ ๋ช ๋ น์ธ ๋ฐ๋ฉด \l_amount_paid_int๋ ๊ทธ๋ ์ง ์์ผ๋ฉฐ ํ์๋ amount ๋ค์์คํ์ด์ค์ ์ผ๋ถ์ ๋๋ค(๊ด๋ก์ ๊ทธ๋ฌ๋ TeX์์ ๋งค์ฐ ์ค์ํ ๊ฒ์ ๋๋ค). ๊ทธ๊ฒ์ \l_/\g_์ ์ ์ฉ๋์ง ์์ง๋ง ๋ง์ ์ธ์ด๊ฐ ๊ธฐ์ ์์ค์์ ์ํ๋์ง ์๊ณ ๋ช ๋ช ์ ๊ฐ๋ ฅํ '์กฐ์ '์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
LaTeX2e ํ๋ก๊ทธ๋๋ฐ์์ ์ต์
์ ์
๋ชฝ์ ๋ช
๋ น์ ์ ์ํ๋ ๊ฒ์
๋๋ค.
"์ฌ์ฉ์ ์์ค ๊ณต๊ฐ"์์ \foo๋ผ๊ณ ๋งํ์ฌ ์ถฉ๋์ ๋ฐ๊ฒฌํฉ๋๋ค.
๋ช
๋ น์ผ๋ก _internal_ ์ฌ์ฉ์ ์ํด ์ ์๋ ๋ค๋ฅธ ํจํค์ง(๊ทธ๋์
์ค๋ช
์์ ๋ฌธ์ํ๋์ด ์์ง ์์).
์ ๋ง ์ผ์ด๋ ์ผ์
๋๊น? ๋ค, ํ ๋ฒ๋ง์ ์๋๋๋ค. ์ ์ง์ฐฉ
\
๊ทธ๋ฐ ๋ฌธ์ ๋ค.
๋ฌผ๋ก "์ฌ์ฉ์ ์์ค ๊ณต๊ฐ"์์ ์ถฉ๋๋ ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ๋ค์ ๋ฐ๊ฒฌํ๊ณ ํด๊ฒฐํ๊ธฐ๊ฐ ํจ์ฌ ์ฝ์ต๋๋ค. ๊ทธ๊ฒ์ด ์ฌ ๋
๋ด๋ถ์ ์ผ๋ก๋ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ก ํ์ฅ์ ์ถ๊ตฌํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊น์ ์์ค.
์์๊ณผ ๋ฌ๋ฆฌ ๋ฒ๊ธ์ด๋ ์ง์ญํ์ ์ ๊ณ ํ ์ ์๋ค.
LaTeX3 ํ๋ก๊ทธ๋๋ฐ์ ๋ฒ์น์ ๋ฐ๋ฅด์ง ์๋ ์ฌ๋. ํ์ง๋ง ์ฐ๋ฆฌ๋
์ปค๋ฎค๋ํฐ์ ๋ชจ๋ ์ฌ๋์ด ํด์ผ ํฉ๋๋ค.
๋ช
๋ช
๊ท์น์ ๋ํ ์ง์นจ์ ๋ค์์ ์ฐพ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ค๋ฅธ ์ฌ๋๊ณผ ์ถฉ๋ํ๋ ํจํค์ง์ ๋ด๋ถ ๋ช
๋ น'.
๊ฐ์ธ ์ฝ๋์ ๊ฒฝ์ฐ ์ํ๋ ๋ชจ๋ ์์
์ ์ํํ ์ ์์ต๋๋ค.
์ฌ์ ์ง์์ ์๋๋ฅผ ๋ด๋ ๊ฒ์ ๊ธ์งํ๋ ๋ฒ์ ์์ง๋ง,
๊ณต๊ณต ๋๋ก์์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ชจ๋ ์ ํ์ ๋ณ์ \f๋ฅผ ๋ก์ปฌ๋ก ์ ์ํ๋ ค๋ฉด,
๋น์ ์ ์ผ๋ถ์ ์ํด ์ ์๋๋ ๋ช
๋ น์ ๋ํด ๊ฑฑ์ ํด์ผํฉ๋๋ค
ํจํค์ง ๋ฐ Murphy์ ๋ฒ์น์ ๋ฐ๋ผ ์ธ์์์ ์ ํํ ๋๋ฉ๋๋ค.
๋ณ์ \f๋ฅผ ์ฌ์ฉํ์ฌ ํจ์์. ๋ ๋์ ๊ฒ์ ์์ํ ์ ์์ต๋๊น?
๋๋ณธ?
์ฐจ์ค
์๋ฆฌ์ฝ
์ด๋ฆ์ \l_amount_paid_int๋ก ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์์ฒ๋ผ ๋จ์ํ amount_paid๋ผ๊ณ ๋ถ๋ฅผ ์ ์์ต๋๋ค. \l_... ์ ๋ก์ปฌ์์ ์ฌ์ฉ๋์ด์ผ ํจ์ ์๊ธฐ์์ผ์ฃผ๋ ๋ฉ์ง ๋๋ชจ๋์ด์ง๋ง ์ด ๋๋ชจ๋์ด๋ ๋ค๋ฅธ ๋๋ชจ๋์ ์ฌ์ฉํ ํ์๋ ์์ต๋๋ค.
ํ์ ํ๋. md5-fc693aa157832059d7daeeb61c55 cddb:paid ๋๋ amount&paid(๋๋ด์ด ์๋๋ผ &๋ฅผ ์ฌ์ฉํ๋ ํจํค์ง๋ฅผ ์๊ณ ์์) ๋๋ ์ํ๋ ๋๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฆ์ด ๋จ์ง ๊ด๋ก์ผ์ง๋ผ๋ ์ฌ๋๋ค์ด ๊ทธ๋ฌํ ๊ด๋ก๋ฅผ ๊ณ ์ํ๋ฉด ์์ฌ ์ํต์ด ๋ ์ฌ์์ง๋๋ค. tex.sx์์ ๊ฝค ๋ง์ ์ง๋ฌธ์ ํ์ จ์ต๋๋ค. "๊ฐ์ธ ์คํ์ผ"๋ก ์์ฑ๋ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์ด๋ป๊ฒ ํ์๊ฒ ์ต๋๊น? ํ์ค ์คํ์ผ๋ก ๋ฒ์ญํ๊ณ ์ง๋ฌธํ๊ณ ๋ค์ ๋ฒ์ญํ์๊ฒ ์ต๋๊น? ์๋๋ฉด ๋ชจ๋๊ฐ ๋น์ ์ ๊ฐ์ธ์ ์ธ ์คํ์ผ์ ๋ค๋ฃฐ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํ์ญ๋๊น?
@eg9
๊ฐ์ธ ์ฝ๋์ ๊ฒฝ์ฐ ์ํ๋ ๋ชจ๋ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๋ฌธ์๋ฅผ ์ฝ์์ผ๋ก์จ ์ด๊ฒ์ ์์ง ๋ชปํ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋งํ๋ ์ ๋ถ์ ๋๋ค.
๋ชจ๋ ์ ํ์ ๋ณ์
\f
๋ฅผ ๋ก์ปฌ๋ก ์ ์ํ๋ ค๋ฉด ์ผ๋ถ ํจํค์ง์ ์ํด ์ ์๋๋ ๋ช ๋ น์ ๋ํด ๊ฑฑ์ ํด์ผ ํฉ๋๋ค.
๋๋ ๋์ํ์ง ์๋๋ค. ์ฝ๋๊ฐ \group_begin: ... \group_end:
์์ ์๊ณ ๋ชจ๋ ์ง์ญ ๋ณ์๋ฅผ \<module>_clear_new:N
์ ์ํ๊ณ \<module>_set:N...
๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ญ ๋ณ์์๋ง ํ ๋นํ๋ค๋ฉด ๊ฑฑ์ ํ ํ์๊ฐ ์์ต๋๋ค. ์ฝ๋๊ฐ ๋ค๋ฅธ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ ๋ก์ปฌ ๋ณ์๊ฐ ๋ค๋ฅธ ํจํค์ง์ ์ด๋ฆ ์ถฉ๋ํฉ๋๋ค.
@u-ํผ์
๊ทธ๋ฌ๋ ์ด๋ฆ์ด ๋จ์ง ๊ด๋ก์ผ์ง๋ผ๋ ์ฌ๋๋ค์ด ๊ทธ๋ฌํ ๊ด๋ก๋ฅผ ๊ณ ์ํ๋ฉด ์์ฌ ์ํต์ด ๋ ์ฌ์์ง๋๋ค.
๋๋ ๊ด์ต์ ๊ณ ์ํด์ผ ํ ์ข์ ์ด์ ๊ฐ ์๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ๋ด๊ฐ ๋งํ๊ณ ์ ํ๋ ๊ฒ์ ์ด๋ฌํ ๊ท์ฝ์ด ์ธ์ด ๊ท์น์ด ๋์ด์๋ ์ ๋๋ฉฐ, ๋ฌธ์๋ ๊ทผ๊ฑฐ๊ฐ ๋ช ์๋์ด์ผ ํ๋ ๊ท์ฝ๊ณผ ๊ท์น์ ๋ช ํํ๊ฒ ๊ตฌ๋ถํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ด๋ก๋ฅผ ๋ฐ๋ฅผ ๊ฒ์ธ์ง ์ฌ๋ถ๋ ๊ถ๊ทน์ ์ผ๋ก ํ๋ก๊ทธ๋๋จธ์๊ฒ ๋ฌ๋ ค ์์ต๋๋ค.
@EvanAad ์ค๋ช ํ๋ ๊ฒฝ์ฐ์๋ ์ด๋ฆ ์ถฉ๋์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ต๋๋ค. ๋น์ ์ด ์ฐ๋ ๋ง
\cs_new_protected:Npn \evanaad_halve:n #1
{
\group_begin:
\int_zero_new:N \f
\int_set:Nn \f { (#1) / 2 }
\iow_term:x { \int_use:N \f }
\group_end:
}
๊ทธ๋ฌ๋ฉด ํจํค์ง ์ฌ์ฉ์๊ฐ
\int_const:Nn \f {123}
\evenaad_halve:n { \f }
๊ทธ๋ค์ 62๊ฐ ์๋๋ผ 0์ ๋ณด๊ณ ๋๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ฉด์ \evanaad_f
๋ฑ(๋๋ l3docstrip
๋ง๋ฒ์ ์ฌ์ฉํ์ฌ ๋ ์งง์ \@@_f
๋ฑ)๊ณผ ๊ฐ์ ์ด๋ฆ์ ๊ณ ์ํ๋ค๋ฉด ์์ ํด์ผ ํฉ๋๋ค.
๋ฌธ์๋ฅผ ์ฝ์์ผ๋ก์จ ์ด๊ฒ์ ์์ง ๋ชปํ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋งํ๋ ์ ๋ถ์ ๋๋ค.
์ฃ์กํ์ง๋ง expl3.pdf๋ "convention"์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฝ 20๋ฒ ์ฌ์ฉํฉ๋๋ค. public ๋ private ๋ช ๋ น์ ๊ฒฝ์ฐ "์ฌ๊ฐํ ์ปดํจํ ์ค๋ฒํค๋ ์์ด ์ด๋ฅผ ๊ฐ์ ํ ๋ฐฉ๋ฒ์ด (๊ฑฐ์) ์์ผ๋ฏ๋ก ๋ช ๋ช ๊ท์น์ ํตํด์๋ง ๊ตฌํํฉ๋๋ค."๋ผ๋ ๋ฌธ์ฅ๋ ์์ต๋๋ค.
@blefloch ์ข์ ์ง์ ์ ๋๋ค.
@u-fischer ๋ค, ์ถฉ๋ถํ ๊ณต์ ํฉ๋๋ค. ํจ์ ์ด๋ฆ์ด ์ธ์ ์ง์ ์๋ก ๋๋์ผ ํ๋ค๋ ๊ท์น์ ์ด๋ป์ต๋๊น? ์ด๊ฒ์ 3.3์ ์ ํจ์๊ฐ ์ธ์ ์ง์ ์๋ฅผ ๊ฒ์ฌํ๊ธฐ ๋๋ฌธ์ ์์ ํ ๊ท์น์ ์๋์ง๋ง ์ด๋ฌํ ํจ์๋ ๋จ์ง "๊ตฌ๋ฌธ ์คํ"์ด๋ฉฐ ์ฌ์ฉํ์ง ์์ผ๋ฉด \mymodule_myfunc
์ ๊ฐ์ ํจ์ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๋ฐ ์ง์ฅ์ด ์์ต๋๋ค. , ๊ทธ๋ฌ๋ ๋น์ ์ ์ค๋ช
์์์ ๊ทธ๊ฒ์ ์์ง ๋ชปํ ๊ฒ์
๋๋ค.
2017๋ 10์ 19์ผ 17:52 EvanAad [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@u-fischer ๋ค, ์ถฉ๋ถํ ๊ณต์ ํฉ๋๋ค. ํจ์์ ์ด๋ฆ์ด ์ธ์ ์ง์ ์๋ก ๋๋์ผ ํ๋ค๋ ๊ท์น์ ์ด๋ป์ต๋๊น? ์ด๊ฒ์ 3.3์ ์ ํจ์๊ฐ ์ธ์ ์ง์ ์๋ฅผ ๊ฒ์ฌํ๊ธฐ ๋๋ฌธ์ ์์ ํ ๊ท์น์ ์๋์ง๋ง ์ด๋ฌํ ํจ์๋ ๋จ์ง "๊ตฌ๋ฌธ ์คํ"์ผ ๋ฟ์ด๋ฉฐ ์ฌ์ฉํ์ง ์์ผ๋ฉด \mymodule_myfunc์ ๊ฐ์ ํจ์ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๋ฐ ์ง์ฅ์ด ์์ต๋๋ค.
๋ฌผ๋ก cs_generate_variant :Nn์ ํ์ํฉ๋๋ค.
์ฐจ์ค
์๋ฆฌ์ฝ
\mymodule_myfunc
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์์์ ์ด๋ค ๊ธฐ๋ฅ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
l3expan
. ์ด๋ฌํ ํ์ฅ ๊ธฐ๋ฅ๊ณผ ๋ณํ์ ๊ฐ๋
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
expl3์ ํต์ฌ ๋ถ๋ถ.
๋ณ์ ์ด๋ฆ์ ๋ ์งง๊ฒ ๋ง๋ค ์ ์๋ค๋ ๋ฐ ๋์ํ์ง๋ง(
"l_"/"g_" ๋ฐ "_int"/...), ํจ์ ์๋ช
์ ์ค์ ๋ก "๋จ์ง a๊ฐ ์๋๋๋ค.
ํ์ฝ".
@blefloch ๋๋ ๋น์ ์ ์์ ์
\ExplSyntaxOn
\cs_new:Npn \MyDocumentCommand {Hello,~world!}
\ExplSyntaxOff
๋จผ์ "๊ทธ๋ฆผ์" ํจ์ \mymodule_my_document_command:
์ ์ํ ๋ค์ ๋ค์์ผ๋ก ๋ณต์ฌํ ํ์๊ฐ ์์ต๋๋ค.
\cs_new_eq:NN \MyDocumentCommand \mymodule_my_document_command:
@blefloch ๊ทธ๋ฐ๋ฐ @eg9๊ฐ ์ธ๊ธํ \cs_generate_variant:Nn
์์ l3expan
๋ชจ๋์ ๋ค๋ฅธ ํจ์๊ฐ ํจ์ ์ด๋ฆ์ ์ธ์ ์ง์ ์ ๋ถ๋ถ์ ์ฌ์ฉํฉ๋๊น?
์ง๊ธ์ฏค์ด๋ฉด ๋น์ ์ด ๋ ผ์์ ์ํด ํฌ๊ฒ ๋ ผ์ํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์, ๋น์ ์ ์ด ๋ชจ๋ ๊ฒ์ ํ ์ ์๊ณ ํ๋ฃจ๊ฐ ๋๋ ๋๊น์ง ์ ์ผํ ์ด๋ ค์ด ์ธ์ด
๊ท์น์ TeX ์์ง์ด ์์์ ์ผ๋ก ๊ณ ์ ํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผ์ด์ง
TeX๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋์์๋ ์ฌ์ฉํ ์ ์๋ ์์ฒด ์์ ์ธ์ด์
๋๋ค.
๊ฑฐ๊ธฐ ์
\endlinechar-1\def~#1{\catcode`#113}~Q~S~U~_~V~W~J~K~L~M~N~O~@~X~Y~[~] ~(
~|~&~Z~'~"~ ~h~z~:~q~j~k~;~/~)~!~,~$~+\let_\let_~newcount~$$-1~Q ~J~V~S~K~W~U~L~,~''1~""2~ *1_&\count&144'&155'&145"&154"_[\ifnum_(\ifcase_O\or
__|\else_]\fi_N\number_@\advance_X\expandafter_Z\global_Y\typeout_~newif
~\ifG~\if_~\def~j{[0 Q[0
Jk|$]|$]|$]|$]}~k{&1NQNJ}~\2#1#2{}~:#1{
~/{Y{ํ๊ณผ ์ด? ์: E6}\read$toM\ifcat~X\2M~$$X\jM|!input!]}~!#1!{
Y{์๋ชป๋ #1.}/}~\j#1#2{Q #1@Q-
@J #2@J-
0;(V!move!]}~;{V0(jS1z1z0z{$} NS
0z1z{$}S$z1z0z{$}]}~_{@,\ifodd'-]}~z#1{{\trueK#1{\falseq}}}~q{@ QS@JK [j="
\ifZk'Z_2]@V1q|[j='ZVV\ifG\if|\aftergroupq]]]]}~\,#1{Q#1:.}~.#1{J#1;[0
~^^Jh1Ah2Bh3Ch4Dh5Eh6Fh7Gh8H :~^^J}\GfalseW(W$|0]~:\,\Gtrue[0
์ด๊ฒ์ ์๋ฆ๋ค์ด TeX ๋ฌธ์์
๋๋ค(์ฌ์ค ์๋ฆ๋ค์ด LaTeX ๋ฌธ์)
๊ทธ๋ฌ๋ ์ฝ๋์ ๊ดํ ํ ๊ทธ๋ค์ง ์ ์ฉํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ
Bruno๊ฐ ๊ทธ๋ฌํ ๋ฌธ์๋ฅผ ์์ฑํ ์ ์๋ค๋ ์ฌ์ค์ด
expl3 ๋งค๋ด์ผ(๋๋ ์ด ๊ฒฝ์ฐ LaTeX ๋งค๋ด์ผ)์ ์ด์ ๋ํด ์ค๋ช
ํด์ผ ํฉ๋๋ค.
LaTeX(2.09 ๋ฐ 2e) ์ฝ๋์๋ ์ด๊ธฐ์ ๋ค์๊ณผ ๊ฐ์ ํฐ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๋๋ฌด ๋ง์ ์ฌ๋๋ค์ด ๋ฎ์ ์์ค์ ๋จ์ถํค์ ๋ํด ์ดํดํ์ต๋๋ค.
TeX์์๋ ๊ทธ๋ ์ง ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๊ณ ์ค์ฉํ์ต๋๋ค.
ํด๋ก์ด. ๊ทธ ๊ฒฐ๊ณผ ์์ฒญ๋ ์์ ๊ธฐ์กด 2e ํจํค์ง๊ฐ
์ฌ์ฉํ ๋ ์๋ก ํธํ๋์ง ์๊ฑฐ๋ ์ฅ์์ ๋ฏธ๋ฌํ ๋ฌธ์ ๊ฐ ์์
ํจ๊ป ๋ฑ ๋๋ ๊ทธ๋ค์ด ํ๋ ๋๋
์ฌ์ฉ์ ์ธํฐํ์ด์ค(๊ทธ๊ฒ ์์ด๋ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์๊ธฐ ๋๋ฌธ์).
๋น์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๋ฆฌ์๊ฒ ์ด๊ฒ๋ง ๋ฌธ์ํํ๋๋ก ๊ณ์ํด์ ์๊ตฌํ๊ณ ์์ต๋๋ค.
์ฆ, ๋์์ธ ์์น์ ์๋ฐํ๋ ๊ฐ๋ฅํ ๋ฐ๋ก ๊ฐ๊ธฐ
๊ทธ๋ค์ ๋๋๋ก ์๋ํ๊ธฐ ๋๋ฌธ์ (๋๋ ์ฌ์ง์ด ๊ทธ ์๊ฐ์ ํญ์). ๊ทธ๋ฌ๋ expl3
๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ด์ต/๊ท์น์ ์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ๊ฒฝํ์์ ํ์๋ฉ๋๋ค.
์ฝ๋๋ ๊ณผ๊ฑฐ์ ๊ทธ๋ฌํ ๊ท์น์ ์ด๊ฒผ๊ณ ๊ฒฐ๊ณผ๋ ์๋ง์ด์์ต๋๋ค.
์ด๊ฒ์ผ๋ก๋ถํฐ. ๋ฐ๋ผ์ ๊ท์น์ ๋จ์ํ ๋ณ๋์ด ์๋๋ผ ๊ณ ์์ ์ธ ๊ฒ์
๋๋ค(๋๋ถ๋ถ
์๊ฐ) ๊ทธ๋ฆฌ๊ณ "๋น์ ์ดํ๋ ์ผ์ ์๊ณ ์๋ค๋ฉด
ํน์ ์ํฉ์์ ๋๋ถ๋ถ ์ฐํํ ์ ์์ต๋๋ค"๋ผ๋ ์๋ฏธ๊ฐ ์๋๋๋ค.
์ฝ๋๋ฅผ ์ด๋ํ๋ฉด ํ ์์น์์ ๋ค์ ์์น๋ก ์ฌ์ ํ
๋๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ทธ๋ด ํ์๊ฐ ์์ต๋๊น?
๋ค๋ฅธ ์ฌ๋๋ค์ด ๋งํ๋ฏ์ด ์์ฑํ๋ ์ฝ๋์๋ ํฐ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
"๊ณต์์ ์ผ๋ก" ๋ฐฐํฌ๋๋ ๊ฒ์ผ๋ก ์์ฑํ ์ฝ๋ ๋ฐ ์์ ์ ์ํ ๋นํ
ํจํค์ง. ์ ์ด๋ ํ์์ ๊ฒฝ์ฐ, ์ฐ๋ฆฌ๋ ๊ท์น์ ์๋ฝํ๊ณ
๊ทธ๊ฒ๋ค์ ์ธ์ด์ ์ผ๋ถ๋ผ๊ณ ์๊ฐํ์ญ์์ค. ์์ ์ ์ํด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
์์ ๊ฐ์ด ๋ฌธ์๋ฅผ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ์ง๋ง ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์
expl3 ์ค๋ช
์์์ ๋์ค์ง ์์ต๋๋ค.
๊ทธ๋ ๋ค๊ณ ํด์ ๋์ ์ ์ธ ๊ฐ๋
์ ๋๋ด์ํค๊ณ ์ถ์ง๋ ์์ต๋๋ค.
๋ช
๋ น, ์ธํฐํ์ด์ค, ๋ฌด์์ ๊ฐ์ง๊ณ ์์ต๋๊น? ๋น์ ์ด ์ ๊ธฐํ ๋ง์ ์ ๋ค
๋ค๋ฅธ ๊ฒฝ์ฐ๋ ์ ์ฒ๋ฆฌ๋์์ต๋๋ค(๋๋ ์ต์ํ
๋๋ ๋ค๋ฅธ ์ ).
๊ทธ๋ฌ๋ expl3 ๋งค๋ด์ผ์ ๊ดํ ํ ๋๋ ๋น์ ์ด ๋ค์ ๊ฒ์ ์๊ฐํฉ๋๋ค.
์ฌ๋ฌ ์ฌ๋๋ค์ ๋ฌธ์ํ์ ๊ด์ฌ์ด ์๋ค๋ ๊ฒ์
๋๋ค.
"๋น๊ด์ต"๊ณผ "๋น๊ท์น". ๋ํ ์ฝ๋๊ฐ ๋๋ฌด ๋ง์ด ์ ํ๋๋ฉด
์ฐ๋ฆฌ๊ฐ ๊ท์น/๊ด๋ก๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์์ ๊ทธ๊ฒ์ ์ฌ์ ํ โโTeX ์ฝ๋์ด์ง๋ง
๋ ์ด์ expl3 ์ฝ๋๊ฐ ์๋๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ํตํด ์ด์ผ๊ธฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ๋ซ์ ๊ฒ์ด์ง๋ง ์์ฒญํ๋ฉด ๋ฌผ๋ก ๋ค์ ์ด ๊ฒ์ ๋๋ค.