http://www.ktug.org/xe/index.php?document_srl=33728
이 글에 김도현 교수께서 간단한 문자열 소팅 예제를 소개하셨다.
2014년 5월 현재 lualatex으로 해당 샘플을 컴파일하려면 다음 코드를 추가하여야 한다.
\usepackage{pdftexcmds}
\makeatletter
\let\pdfstrcmd=\pdf@strcmp
\makeatother
비슷한 목적의 소팅을 다음처럼 해보면 어떨까? l3sort에 문자열 비교를 위하여 \pdfstrcmp를 가져다 쓴 것이다.
\documentclass{oblivoir}
\usepackage{l3sort,xparse}
\ExplSyntaxOn
\cs_new:Npn \my_sort:n #1
{
\clist_set:Nn \l_mytmp_clist { #1 }
\clist_sort:Nn \l_mytmp_clist
{
\int_compare:nTF { \pdftex_strcmp:D { ##1 } { ##2 } < 0 }
{ \sort_ordered: }
{ \sort_reversed: }
}
\l_mytmp_clist
}
\NewDocumentCommand\mysort { m }
{
\my_sort:n {#1}
}
\ExplSyntaxOff
\begin{document}
\mysort{yyy,zzz,xxx}
\mysort{마,바,가,다,사,나,라}
\end{document}
결과는 첨부 그림과 같다.
KTUG 한국 텍 사용자 그룹