๋ ๋์ ์ฌ๊ธฐ:
\prg_new_conditional:Npnn \tl_if_integer:n #1 { p, T, F, TF }
{
\tl_if_blank:nTF{#1}
{
\prg_return_false:
}
{
\tl_if_blank:oTF { \__int_to_roman:w -0#1 }
{
\prg_return_true:
}
{
\prg_return_false:
}
}
}
์ด๋ฆ์ด ์ด์ํด ๋ณด์
๋๋ค. ์ค์ ๋ก ์ ์๋ฅผ ํ์ธํ์ง ์์ต๋๋ค(์: -5
๋ ์ ์์ด์ง๋ง false๋ฅผ ๋ฐํํ๊ณ +7
๋ false๋ฅผ ๋ฐํํจ). ์ซ์๋ง ์์ผ๋ฉด ํ
์คํธ์ฒ๋ผ ๋ณด์
๋๋ค.
@zauguin ์ด๋ฆ์ ๊ด์ฐฎ์ง๋ง ๊ธฐ๋ฅ์ ์ ์ฉํ๊ณ tex book์ ์ด์ ๋๊ธ๊ณผ ์ผ์นํ์ฌ ์ซ์์ธ์ง ํ์ธํฉ๋๋ค. ์ ์๋ฅผ ์ ๊ท์์ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์๋ค๋ ๋ฐ ๋์ํ์ง๋ง ์๋๊ฐ ๋๋ฆด ๊ฒ์ ๋๋ค.
๊ทํ์ ์๊ฒฌ์ผ๋ก ๊ฐ์ :
\prg_new_conditional:Npnn \tl_if_digit:n #1 { p, T, F, TF }
{
\tl_if_blank:nTF{#1}
{
\prg_return_false:
}
{
\tl_if_blank:oTF { \__int_to_roman:w -0#1 }
{
\prg_return_true:
}
{
\prg_return_false:
}
}
}
\prg_generate_conditional_variant:Nnn \tl_if_digit:n { o } { p, T, F, TF }
\prg_new_conditional:Npnn \__tl_if_integer:n #1 { p, T, F, TF }
{
\exp_args:No\str_if_eq:onTF{\tl_head:n{#1}}{+}
{
\exp_args:No\tl_if_digit:oTF{\tl_tail:n{#1}}
{
\prg_return_true:
}
{
\prg_return_false:
}
}
{
\exp_args:No\str_if_eq:onTF{\tl_head:n{#1}}{-}
{
\exp_args:No\tl_if_digit:oTF{\tl_tail:n{#1}}
{
\prg_return_true:
}
{
\prg_return_false:
}
}
{
\prg_return_false:
}
}
}
\prg_new_conditional:Npnn \tl_if_integer:n #1 { p, T, F, TF }
{
% fast path
\tl_if_digit:nTF{#1}
{
\prg_return_true:
}
{
% slow path
\__tl_if_integer:nTF{#1}
{
\prg_return_true:
}
{
\prg_return_false:
}
}
}
@bastien-roucaries TeX๋ ์ซ์ ์์ ์ฌ๋ฌ ๊ธฐํธ๋ฅผ ํ์ฉํ๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก ํ ์คํธ๋ก ์ถฉ๋ถํ์ง๋ง ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋๋ค. ์ด๊ฒ์ด ๊ตฌํ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ธฐํธ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
\ExplSyntaxOn
\prg_new_conditional:Npnn \str_if_integer:n #1 { p, T, F, TF }
{ \exp_after:wN \__str_if_integer_sign:N \tl_to_str:n {#1} \scan_stop: }
\cs_new:Npn \__str_if_integer_sign:N #1
{
\if:w $
\if_meaning:w - #1 F \fi:
\if_meaning:w + #1 F \fi: $
\exp_after:wN \__str_if_integer_digits:w \exp_after:wN #1
\else:
\exp_after:wN \__str_if_integer_sign:N
\fi:
}
\cs_new:Npn \__str_if_integer_digits:w #1 \scan_stop:
{
\tl_if_blank:nTF {#1}
{ \prg_return_false: }
{
\tl_if_blank:oTF { \__int_to_roman:w -0#1 }
{ \prg_return_true: }
{ \prg_return_false: }
}
}
\cs_new:Npn \test #1
{ \typeout { #1: \str_if_integer:nTF {#1} { INT } { NOT } } }
\test { }
\test { ~ }
\test { 1 }
\test { - }
\test { -1 }
\test { +1 }
\test { +-+-+-1 }
\stop
ํ
์คํธ๋ ์ธ์์์ ํ ํฐ ํ์ฅ์ ๋ฐฉ์งํ๊ธฐ ์ํ str
์
๋๋ค. ๊ด์ฐ๊ณผ ๊ทํ์ ๊ตฌํ ๋ชจ๋ ๊ธฐํธ๋ฅผ ํ์ฅํ์ง ์์ง๋ง \romannumeral
๋ฅผ ์ฌ์ฉํ์ฌ ์ซ์๋ฅผ ํ์ฅํฉ๋๋ค. tl
๋ฒ์ ์ ์๋ง๋ ํ์์ ๋ฐ๋ผ ๋ชจ๋ ๊ฒ์ ํ์ฅํด์ผ ํ ๊ฒ์
๋๋ค.
\str_if_integer:nTF
๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๋ ๋ฐ ๋์ํ์ง๋ง ํ์ฉ๋๋ ์ ์๊ฐ ๋ฌด์์ธ์ง๋ ์์ง ๋ช
ํํ์ง ์์ต๋๋ค. ์๋ง๋ ๊ธฐํธ ์ฌ์ด์ ๊ณต๋ฐฑ์ด ํ์ฉ๋์ด์ผ ํ์ง๋ง TeX๊ฐ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ์ ๋ด์์๋ ํ์ฉ๋์ง ์์ต๋๊น?
\romannumeral
๊ธฐ๋ฐ ์ฝ๋๋ "์ซ์๊ฐ ๋๋ฌด ํผ" ์ค๋ฅ์ ํจ๊ป ๊ธด ์ซ์ ๋ฌธ์์ด์ ๋ํด ์ค๋จ๋ฉ๋๋ค. ์๋ง๋ ์ฐ๋ฆฌ๋ ํ ๋ฒ์ ๋ช ์๋ฆฟ์๋ง ์ก๋ ๋ ๋๋ฆฐ ํ๋ก์ธ์ค๊ฐ ํ์ํ์ง๋ง, ์๋ฆฟ์ ์ฌ์ด์ ๊ณต๋ฐฑ์ ๊ฐ์งํ๋ ๊ฒ์ ์ฑ๊ฐ์ ์ผ์
๋๋ค.
๋์/์ถ๊ฐ๋ \str_to_integer:nF
๋ก ๋ฌธ์์ด์ด ์ ์์ฒ๋ผ "์ถฉ๋ถํ" ๋ณด์ธ๋ค๋ฉด(๋ค์ ๋์จํ๋ค๊ณ ๊ฒฐ์ ํ ์ ์์(๊ทธ๋ฌ๋ ์ ๋ฌธ์ํ๋์ด ์์)) ๋ ๋ฒ์งธ ์ธ์๋ฅผ ์
๋ ฅ ์คํธ๋ฆผ์ ๋จ๊ฒจ๋ก๋๋ค.
@blefloch \romannumeral์ ๋ฌธ์ํ๋ ์ ํ์ ๋ฌด์์ ๋๊น?
@bastien-roucaries TeX๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ์ฅ ํฐ ์ ์: 2ยณยนโ1 = 2147483647.
@PhelypeOleinik @blefloch ๋ +-+-+-+-+-+-+-+-+-+-+-+-+00000000000000000000000000000000000000000000000000000000000000000
๊ทธ๋์ ์ต๋ ๋ฌธ์์ด ํฌ๊ธฐ๋ ๋ฌด์์ ๋๊น?
@bastien-roucaries \romannumeral
๋ 0์ด ์๋ ์ซ์์ ๋ํด "์ซ์๊ฐ ๋๋ฌด ํผ"์ผ๋ก๋ง ์ค๋จ๋ฉ๋๋ค. TeX๋ ๊ฒฐ๊ณผ ์ ์๊ฐ [โ2ยณยนโ1, 2ยณยนโ1] ๋ฒ์ ๋ด์ ์๋ ํ ์์๋ก ๊ธด 0 ๋ฌธ์์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@bastien-roucaries @blefloch 16์ง์ ๋๋ 8์ง์ ํ์์ ์ ์๋ฅผ ์์ง ์๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ
-`a
๋ ์ ์์ ๋๋ค.
l3bitset \__bitset_test_digits:nTF
์ ์ซ์์ ๋ํ ๋ด๋ถ ํ
์คํธ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ํ์ํ์ง ์์๊ธฐ ๋๋ฌธ์ ๊ธฐํธ๋ฅผ ์ฒ๋ฆฌํ์ง ์์ง๋ง ์ ์ ํํ์์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
@eg9 ๊ฐ ๋ฐฉ๊ธ ์์ํ๋ฏ์ด ์ค์ ์ฌ์ฉ ์ฌ๋ก๋ ๋ฌด์์
๋๊น? ์ซ์ ๋ฌธ์์ด์ ๋ํ ์ฌ์ฉ์ ์์ค ๋ฌธ์ ๊ฒ์ฌ์
๋๊น, ์๋๋ฉด ๋ฌธ์์ด์ด expl3 ์ ์ ํจ์์ ๋ํ ์ ํจํ ์
๋ ฅ์ธ์ง ํ์ธํ์ญ์์ค. ํ์๋ expl3 ์ปจํ
์คํธ์์ ๋ ์ ์ฉํด ๋ณด์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก \numexpr#1
๋ค์ ์๋ฌด๊ฒ๋ ๋จ์ง ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ทธ๋๋ก ์ซ์ ๋ฌธ์์ด์ ๋ํ ๋๋ฆฐ ๊ฒ์ฌ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
@davidcarlisle ์ด ๋ฒ๊ทธ๋ ์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ์ ๊ดํ ๊ฒ์ด์ง๋ง ๋ ๋ฒ์งธ๋ก ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค.
๋๋ ํน๋ณํ ์ํฉ์์ (์๋ง๋) ์ ์ฉํ์ง๋ง ์ ๊ธฐ์ ์ผ๋ก ํ์ํ ์ฌ์ฉ ์ฌ๋ก๊ฐ ๋ช ํํ์ง ์์ ์์์ ํ์ฅ์ผ๋ก L3 ํ๋ก๊ทธ๋๋ฐ ๊ณ์ธต์ ํ์ฅํ๋ ๊ฒ์ ์ฐฌ์ฑํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๋์๊ฒ ์ด๊ฒ์ ํ๋์ ๊ทธ๋ฌํ ์์ ๋๋ค. ๊ทธ๊ฑธ๋ก ์์ํ๋ฉด ๋์ ์ด๋์ผ๊น์? ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ผ๋ง๋ ๋ง์ ํน๋ณํ "์ด๊ฒ์ X์ ๋๋ค"๋ฅผ ์ง์ํด์ผ ํฉ๋๊น? ์ด์ ๋ํ ๋์ ํฌํ๋ ์๋์ค์ ๋๋ค. ํต์ฌ ์ธ์ด๊ฐ ์๋๋๋ค.
@FrankMittelbach TL์์ ์ผ๋ถ ๊ณ์ฐ์ ์ํํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์๋ ๊ฒ์ด ์ ์ฉํฉ๋๋ค. ๋ค๋ฅธ ํ๋๋ ์ ๊ท์์ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ง๋ง ํ์ฅ ์ปจํ ์คํธ์์ ์๋ํ์ง ์๋๋ค๋ ํจ์ ์ด ์์ต๋๋ค(ํ์ฅ ์ปจํ ์คํธ์์ ์๋ํ๋ ค๋ฉด ์ด ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค)
์์ฌ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํต์ฌ ์ธ์ด์ ํฌํจ๋๋ ๊ฒ์ ๋ณด์ฆํ ๋งํผ ์ ์ฉํฉ๋๊น(๋๋ ์ค์ ๋ก ํ์ํ ๋ ์ผ๋ถ ํจํค์ง ์ฝ๋์ ์ผ๋ถ๋ก ์ ๊ณต๋๋ ๊ฒฝ์ฐ์๋ง)? ๊ทธ๊ฒ์ ์ฌ๊ธฐ์์ ์ ์๊ฒ ์ง๋ฌธ์ด๋ฉฐ ์ง๊ธ๊น์ง ํฌํจ์ ์ฐฌ์ฑํ๋ ์ฃผ์ฅ์ ์ค์ ๋ก ๋ณด์ง ๋ชปํ์ต๋๋ค.
"์ฐจ์์ ๋๊น?", "๊ฑด๋๋ฐ๊ธฐ์ ๋๊น?", " ๊ทธ๋ฅ ๊ธ์์ ๋๊น?", "๋น ASCII ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ต๋๊น?", "๋ ์ง ํ์์ ๋๊น?" ๋ฐ, ๊ทธ๋ฆฌ๊ณ , ๊ทธ๋ฆฌ๊ณ ... ๊ฐ๋ฅ์ฑ์ ๋งค์ฐ ๊ฐ๋ฐฉ์ ์ด๋ฉฐ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํ๋ ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ 99%์ ์๊ฐ์ ๊ทธ๋ฅ ๊ฑฐ๊ธฐ์ ์์์ ๊ณต๊ฐ์ ์ฐจ์งํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณต๊ฐ์ ๊ณผ๊ฑฐ์ ๊ฐ์ด ํ๋ฆฌ๋ฏธ์์ด ์๋์ง๋ง ์ฌ์ ํ ํต์ฌ ์์คํ ์ ๋ณต์ก์ฑ๊ณผ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ์ถ๊ฐํฉ๋๋ค. ๋ค์ ๋งํ์ง๋ง ์ด ๊ธฐ๋ฅ์ด ๊ด๋ฒ์ํ๊ณ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๊น? ๊ทธ๋ ๋ค๋ฉด ํฌํจ ํ๋ณด๋ก ๊ฐ์ฃผ๋ ์ ์๋ค๋ ์ค๋๋ ฅ ์๋ ์ฃผ์ฅ์ ๋ฃ์ต๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ด๋ฅผ ํ์๋ก ํ๋ ์ฝ๋์ ์ผ๋ถ๋ก ๊ตฌํํด์ผ ํฉ๋๋ค.
@FrankMittelbach ๋ฌธ์ ๋ biblatex์๋ง ํด๋น๋ฉ๋๋ค. ์ผ๋ถ ํ๋๊ฐ ์ ์์ธ์ง(ํ์ด์ง ๋ฒํธ์ ๋ํด ์๊ฐ) ํ
์คํธํด์ผ ํ๋ฏ๋ก ํ์ฅ ๊ฐ๋ฅํ ์ปจํ
์คํธ์์ ์ด์ ๋ํด ์ฝ๊ฐ์ ์ฐ์ฐ์ ์ํํด์ผ ํฉ๋๋ค.
Ok ti๋ ๊ตฌ์ฒด์ ์ด์ง๋ง ๊น๋ค๋ก์ด ๋ถ๋ถ์ ํ์ฅ ๊ฐ๋ฅํ ๊ฒ์
๋๋ค.
์ด๋ฌํ ์ข
๋ฅ์ ํ
์คํธ๋ ๋ฌธ์ํ๋์ด์ผ๋ง ํ ์ ์์ต๋๋ค. ๋ฌธ์๋ฅผ ์ฝ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ฒ๋ค๊ฐ biblatex ์ฝ์ด๋ ํ ํฐ์ด ์ ์์ธ ๊ฒฝ์ฐ ํ
์คํธ(ํ์ฅ ๊ฐ๋ฅ)๊ฐ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํด๊ฒฐ์ฑ ์ ์ ๊ท์์ ํ์ฅ ๊ฐ๋ฅํ๊ฒ ๋ ๋๋งํ๋ ๊ฒ์ ๋๋ค(์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค)
์คํดํ์ง ๋ง์ธ์. ์ ๋ ์ฐ๋ฆฌ๊ฐ biblatex ์ธก์์ ์ด ์์ ์ ์ํํ๋ ๋ฐ ๋์์ ์ค๋ค๋ ๊ฒ์ ์ ํ ๋ฐ๋ํ์ง ์์ต๋๋ค. ํต์ฌ์์ ์ด๋ฅผ ์ง์ํ๊ธฐ ์ํด ํต์ฌ์ด ๋์ด์ผ ํ๋ ์ผ๋ถ ๊ธฐ๋ฅ์ด ๋๋ฝ๋์์ ์ ์์ต๋๋ค. ๋ด ์์ ์ ํต์ฌ์ด "์ผ๋ฐ์ ์ธ" ์๊ตฌ ์ฌํญ์ผ๋ก ์ ํ๋์ด์ผ ํ๊ณ ํน์ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ ์ผ๋ฐ ํ ๋๋ฅผ ์ ๊ณตํด์ผ ํ์ง๋ง ๊ฑฐ์ ์ฌ์ฉ๋์ง ์๋ ๋ชจ๋ ์ข ๋ฅ์ ํ์ฅ์ ์ ๊ณตํด์๋ ์ ๋๋ค๋ ๊ฒ์ ๋๋ค(์: biblatex๊ฐ ์ฌ์ฉ๋์ง ์์). ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ ๋งค์ฐ ๋ถํ๋ ค์ง ๋ช ๋ น ์ธํธ๋ก ๋๋ ๊ฒ์ ๋๋ค.
์์ ์ ํ์ฅ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ ๊ธฐ๋ฅ์ด๋ ์๋ ์ ํ ๋๋ ๋ ๋ชจ๋์์ ๋ง๋ํ ๊ฐ๊ฒฉํ๋ฅผ ์๋ฐํฉ๋๋ค. ๊ทธ๋์ ์ ๊ท์์ ํ์ฅ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ์ด ์ข์ ์๊ฐ์ธ์ง ์์ฌ์ค๋ฝ๊ธด ํ์ง๋ง @blefloch ๊ฐ ์ด์ ๋ํด ์ธ๊ธํ๋๋ก ํ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋ ์์ธํ ์์ง ๋ชปํ๋ ๊ฒฝ์ฐ: ์ด๋๊ฐ์ ํ๋๊ฐ ์ค์ ๋๊ณ ํ ๋น์ด ํ์ํ๋ฏ๋ก ํ์ฅ ๊ฐ๋ฅํ๊ฒ ์ํ๋์ง ์์ผ๋ฏ๋ก ํด๋น ๋จ๊ณ์์ ์ ์ ๋๋ ๋ค๋ฅธ ๊ฒ์ด ์๋์ง ํ์ธํ๊ณ ๋ค์์ ์ํํ ์ ์๋ ์ฌ์ค์ ๊ธฐ๋กํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ฅ ๊ฐ๋ฅํ๊ฒ ์ฌ์ฉํ์ญ์์ค(๋์์ด ๋๊ฑฐ๋ ์คํ ๊ฐ๋ฅํ์ง ํ์คํ์ง ์์ง๋ง ํ๋๋ฅผ ๋ฐ๋ณตํด์ ํ ์คํธํ๋ ๊ฒ์ ํผํ ์ ์์ต๋๋ค).
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
\str_if_integer:nTF
๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๋ ๋ฐ ๋์ํ์ง๋ง ํ์ฉ๋๋ ์ ์๊ฐ ๋ฌด์์ธ์ง๋ ์์ง ๋ช ํํ์ง ์์ต๋๋ค. ์๋ง๋ ๊ธฐํธ ์ฌ์ด์ ๊ณต๋ฐฑ์ด ํ์ฉ๋์ด์ผ ํ์ง๋ง TeX๊ฐ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ์ ๋ด์์๋ ํ์ฉ๋์ง ์์ต๋๊น?\romannumeral
๊ธฐ๋ฐ ์ฝ๋๋ "์ซ์๊ฐ ๋๋ฌด ํผ" ์ค๋ฅ์ ํจ๊ป ๊ธด ์ซ์ ๋ฌธ์์ด์ ๋ํด ์ค๋จ๋ฉ๋๋ค. ์๋ง๋ ์ฐ๋ฆฌ๋ ํ ๋ฒ์ ๋ช ์๋ฆฟ์๋ง ์ก๋ ๋ ๋๋ฆฐ ํ๋ก์ธ์ค๊ฐ ํ์ํ์ง๋ง, ์๋ฆฟ์ ์ฌ์ด์ ๊ณต๋ฐฑ์ ๊ฐ์งํ๋ ๊ฒ์ ์ฑ๊ฐ์ ์ผ์ ๋๋ค.๋์/์ถ๊ฐ๋
\str_to_integer:nF
๋ก ๋ฌธ์์ด์ด ์ ์์ฒ๋ผ "์ถฉ๋ถํ" ๋ณด์ธ๋ค๋ฉด(๋ค์ ๋์จํ๋ค๊ณ ๊ฒฐ์ ํ ์ ์์(๊ทธ๋ฌ๋ ์ ๋ฌธ์ํ๋์ด ์์)) ๋ ๋ฒ์งธ ์ธ์๋ฅผ ์ ๋ ฅ ์คํธ๋ฆผ์ ๋จ๊ฒจ๋ก๋๋ค.