KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당정보글 › \pdfstrcmp와 문자열 sorting

karnes | 2014.05.25 11:20:58 | 메뉴 건너뛰기 쓰기

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}



결과는 첨부 그림과 같다.


screenshot-a.png

첨부 [1]

댓글 쓰기

목록

KTUG 한국 텍 사용자 그룹