KTUG 한국 텍 사용자 그룹

Menu

KTUG :: Q&A 마당

wraprule.png

 

\documentclass[a4paper]{article}
\usepackage{kotex}
\usepackage{xparse}

\ExplSyntaxOn
\keys_define:nn { wraprule }
{
    gap          .tl_set:N = \l_wraprule_gap,
    thickness    .tl_set:N = \l_wraprule_thickness,
    raise        .dim_set:N = \l_wraprule_raise,
    font        .tl_set:N = \l_wraprule_font
}

\NewDocumentCommand \WrapruleSetup { m }
{
    \keys_set:nn { wraprule } { #1 }
}

\WrapruleSetup{
    gap=\enspace,
    thickness=0.75pt,
    raise=0.5ex,
    font=\ttfamily
}

\NewDocumentCommand \wraprule { s O{} m }
{
    \group_begin:
    \WrapruleSetup{#2}
    \hbox_set:Nn \l_tmpa_box {\l_wraprule_gap \l_wraprule_font #3 \l_wraprule_gap}
    \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
    \dim_set:Nn \l_tmpb_dim { \linewidth - \l_tmpa_dim }
    \IfBooleanTF {#1}
    {
        \noindent\raisebox{\l_wraprule_raise}{
            \rule{.5\l_tmpb_dim}{\l_wraprule_thickness}
            \raisebox{-\l_wraprule_raise}{\box_use:N \l_tmpa_box}
            \rule{.5\l_tmpb_dim}{\l_wraprule_thickness}
        }
    }{
        \noindent\raisebox{\l_wraprule_raise}{            
            \raisebox{-\l_wraprule_raise}{\box_use:N \l_tmpa_box}
            \rule{\l_tmpb_dim}{\l_wraprule_thickness}
        }
    }
    \group_end:
}
\ExplSyntaxOff


\begin{document}

blah

\wraprule[raise=.25ex]{□ 일러두기}

blah

\wraprule*[thickness=.25pt]{□ 일러두기}

blah

blah

\end{document}

KTUG 한국 텍 사용자 그룹