diff options
Diffstat (limited to 'language/korean/kotex-oblivoir/tex/memhangul-common')
3 files changed, 663 insertions, 63 deletions
diff --git a/language/korean/kotex-oblivoir/tex/memhangul-common/memhangul-common.sty b/language/korean/kotex-oblivoir/tex/memhangul-common/memhangul-common.sty index 4550be5467..f96aafc731 100644 --- a/language/korean/kotex-oblivoir/tex/memhangul-common/memhangul-common.sty +++ b/language/korean/kotex-oblivoir/tex/memhangul-common/memhangul-common.sty @@ -1,6 +1,6 @@ %% File `memhangul-common.sty` %% -%% (C) Copyright 2013-2020 Kangsoo Kim <karnes at ktug org> +%% (C) Copyright 2013-2021 Kangsoo Kim <karnes at ktug org> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -17,7 +17,7 @@ %%% 편, 장 섹션 타이틀 재설정 %%% 절의 섹션 타이틀은 수정하지 않음. %% -\ProvidesPackage{memhangul-common}[2020/02/05] +\ProvidesPackage{memhangul-common}[2021/03/03] \let\@CHAPAPP\@chapapp \def\refreshprepostchapters{% @@ -66,8 +66,41 @@ % \fi % \printparttitle{#2}\par}% % \@endpart} +%%%%\long\def\@part[#1]#2{% +%%%%% \ifx#1\@empty\PrerenderUnicode{#2}\else\PrerenderUnicode{#1}\fi +%%%% \M@gettitle{#1}% +%%%% \def\f@rtoc{#1}% +%%%% \@nameuse{part@f@rtoc@before@write@hook}% +%%%% \phantomsection +%%%% \mempreaddparttotochook +%%%% \ifnum \c@secnumdepth >-2\relax +%%%% \refstepcounter{part}% +%%%% \addcontentsline{toc}{part}% +%%%%% {\protect\partnumberline{\thepart}#1}% +%%%% {\protect\partnumberline{\hparttitlehead}#1}% +%%%% \mempartinfo{\thepart}{#1}{#2}% +%%%% \else +%%%% \addcontentsline{toc}{part}{#1}% +%%%% \mempartinfo{}{#1}{#2}% +%%%% \fi +%%%% \mempostaddparttotochook +%%%% \partmark{#1}% +%%%% {\centering +%%%% \interlinepenalty \@M +%%%% \normalfont +%%%% \ifnum \c@secnumdepth >-2\relax +%%%%% \printpartname \partnamenum \printpartnum +%%%%% \midpartskip +%%%% \prepartnum \partnamenum \printpartnum \partnamenum \postpartnum +%%%% \midpartskip +%%%% \fi +%%%% \printparttitle{#2}\par}% +%%%% \@endpart} + + +\def\obparttitlealignment{\centering} + \long\def\@part[#1]#2{% -% \ifx#1\@empty\PrerenderUnicode{#2}\else\PrerenderUnicode{#1}\fi \M@gettitle{#1}% \def\f@rtoc{#1}% \@nameuse{part@f@rtoc@before@write@hook}% @@ -76,17 +109,19 @@ \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}% -% {\protect\partnumberline{\thepart}#1}% - {\protect\partnumberline{\hparttitlehead}#1}% - \mempartinfo{\thepart}{#1}{#2}% +% {\protect\partnumberline{\thepart}\f@rtoc}% + {\protect\partnumberline{\hparttitlehead}\f@rtoc}% + \mempartinfo{\thepart}{\f@rtoc}{#2}% \else - \addcontentsline{toc}{part}{#1}% - \mempartinfo{}{#1}{#2}% + \addcontentsline{toc}{part}{\f@rtoc}% + \mempartinfo{}{\f@rtoc}{#2}% \fi \mempostaddparttotochook \partmark{#1}% - {\centering + {%\centering + \obparttitlealignment \interlinepenalty \@M + \parskip\z@ \normalfont \ifnum \c@secnumdepth >-2\relax % \printpartname \partnamenum \printpartnum @@ -227,16 +262,13 @@ \ifx\ch@pt@c\m@m@empty % no optional args \def\f@rtoc{#1}% \def\f@rhdr{#1}% -% \PrerenderUnicode{#1}% \else % at least one opt arg \def\f@rtoc{\ch@pt@c}% \nametest{#1}{#2}% \ifsamename % one opt arg \def\f@rhdr{\ch@pt@c}% -% \PrerenderUnicode{#1#2}% \else % two opt args \def\f@rhdr{#1}% -% \PrerenderUnicode{#1}% \fi \fi \m@m@Andfalse @@ -296,6 +328,75 @@ \memendofchapterhook% } +%%%\def\@chapter[#1]#2{% +%%% \m@mpn@new@chaptrue% +%%% \m@mpn@new@schapfalse% +%%% \def\f@rbdy{#2}% +%%% \ifx\ch@pt@c\@empty % no optional args +%%% \def\f@rtoc{#2}% +%%% \def\f@rhdr{#2}% +%%% \else % at least one opt arg +%%% \let\f@rtoc\ch@pt@c +%%% \ifx\@empty#1\@empty +%%% \let\f@rhdr\ch@pt@c +%%% \else +%%% \def\f@rhdr{#1}% +%%% \fi +%%% \fi +%%% \m@m@Andfalse +%%% \ifnum \c@secnumdepth >\m@ne +%%% \if@mainmatter +%%% \m@m@Andtrue +%%% \fi +%%% \fi +%%% \ifm@m@And +%%% \ifanappendix +%%% \refstepcounter{APPchapter}% +%%% \else +%%% \refstepcounter{chapter}% +%%% \fi +%%% \fi +%%% \chaptermark{\f@rhdr} +%%% \ifartopt +%%% \@makechapterhead{#2}% +%%% \@afterheading +%%% \else +%%% \insertchapterspace +%%% \if@twocolumn +%%% \@topnewpage[\@makechapterhead{#2}]% +%%% \else +%%% \@makechapterhead{#2}% +%%% \fi +%%% \@afterheading +%%% \fi +%%% \@nameuse{chapter@f@rtoc@before@write@hook}% +%%% \mempreaddchaptertotochook% +%%% \ifm@m@And +%%% \ifanappendix +%%% \addcontentsline{toc}{appendix}{% +%%% \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}% +%%% \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}% +%%% \else +%%% \addcontentsline{toc}{chapter}{% +%%% \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}% +%%% \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}% +%%% \fi +%%% \else +%%% \addcontentsline{toc}{chapter}{\f@rtoc}% +%%% \ifanappendix +%%% \memappchapinfo{}{\f@rtoc}{\f@rhdr}{#2}% +%%% \else +%%% \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}% +%%% \fi +%%% \fi +%%% \mempostaddchaptertotochook% +%%% \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi +%%% \ifanappendix +%%% \protected@edef\@currentlabel{\thechapter}% +%%% \fi +%%% \memendofchapterhook% +%%%} + %\def\@makechapterhead#1{% % \chapterheadstart% \vspace*{50\p@}% % {\parindent \z@ \raggedright \normalfont @@ -319,14 +420,30 @@ \prechapternum \chapternamenum \printchapternum \chapternamenum \postchapternum \afterchapternum}{}{} +%%%\renewcommand{\@m@mschapter}[2][\@empty]{% +%%% \@schapter{#2}% +%%% \ifx \@empty#1 +%%% \def\f@rhdr{#2}% +%%%% \PrerenderUnicode{#2}% +%%% \else % opt arg +%%% \def\f@rhdr{#1}% +%%%% \PrerenderUnicode{#1}% +%%% \setcounter{secnumdepth}{-10}% +%%% \chaptermark{#1}% +%%% \setcounter{secnumdepth}{\value{maxsecnumdepth}}% +%%% \fi +%%% \ifanappendix +%%% \memappchapstarinfo{\f@rhdr}{#2}% +%%% \else +%%% \memchapstarinfo{\f@rhdr}{#2}% +%%% \fi} + \renewcommand{\@m@mschapter}[2][\@empty]{% \@schapter{#2}% \ifx \@empty#1 \def\f@rhdr{#2}% -% \PrerenderUnicode{#2}% \else % opt arg \def\f@rhdr{#1}% -% \PrerenderUnicode{#1}% \setcounter{secnumdepth}{-10}% \chaptermark{#1}% \setcounter{secnumdepth}{\value{maxsecnumdepth}}% @@ -335,18 +452,20 @@ \memappchapstarinfo{\f@rhdr}{#2}% \else \memchapstarinfo{\f@rhdr}{#2}% - \fi} + \fi + \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{#2}\fi} -\def\@makeschapterhead#1{% - \chapterheadstart -% {\parindent \z@ \raggedright \normalfont - {\parindent \z@ \raggedright \normalfont \memucsinterwordchapterskiphook - \printchapternonum - \interlinepenalty\@M - \printchaptertitle{#1} - \afterchaptertitle - } -} + +%%%%\def\@makeschapterhead#1{% +%%%% \chapterheadstart +%%%%% {\parindent \z@ \raggedright \normalfont +%%%% {\parindent \z@ \raggedright \normalfont \memucsinterwordchapterskiphook +%%%% \printchapternonum +%%%% \interlinepenalty\@M +%%%% \printchaptertitle{#1} +%%%% \afterchaptertitle +%%%% } +%%%%} %%%%%%%%%%%%% @@ -759,24 +878,47 @@ \InputIfFileExists{memhangul-patch.sty}{}{} %%% fig, tab caption +%%%\def\obCaptionFont#1{\def\@figtabcaptfont@{#1}} +%%%\providecommand\@figtabcaptfont@{\normalfont} +%%%\if@figtabcapt@ +%%%\AtBeginDocument{ +%%%\@ifpackageloaded{caption}{% requested by Progress +%%% \DeclareCaptionLabelFormat{xob-cnm-parens}{\cnm{#1~#2}} +%%% \captionsetup{labelformat=xob-cnm-parens,labelsep=space} +%%%}% +%%%{% +%%% \precaption{{\@figtabcaptfont@\cnm@char@open}} +%%% \captiondelim{{\@figtabcaptfont@\cnm@char@close}\quad} +%%% \renewcommand\cfttablepresnum{\cnm@char@open\tablename\space} +%%% \renewcommand\cfttableaftersnum{\cnm@char@close} +%%% \setlength\cfttablenumwidth{3.8em} +%%% \renewcommand\cftfigurepresnum{\cnm@char@open\figurename\space} +%%% \renewcommand\cftfigureaftersnum{\cnm@char@close} +%%% \setlength\cftfigurenumwidth{4.5em} +%%%} +%%%} +%%%\fi + \def\obCaptionFont#1{\def\@figtabcaptfont@{#1}} +\def\obCaptionnameOpen{\cnm@char@open} +\def\obCaptionnameClose{\cnm@char@close} \providecommand\@figtabcaptfont@{\normalfont} \if@figtabcapt@ -\AtBeginDocument{ +\AtBeginDocument{% \@ifpackageloaded{caption}{% requested by Progress - \DeclareCaptionLabelFormat{xob-cnm-parens}{\cnm{#1~#2}} - \captionsetup{labelformat=xob-cnm-parens,labelsep=space} + \DeclareCaptionLabelFormat{xob-cnm-parens}{\cnm{#1~#2}} + \captionsetup{labelformat=xob-cnm-parens,labelsep=space} }% {% - \precaption{{\@figtabcaptfont@\cnm@char@open}} - \captiondelim{{\@figtabcaptfont@\cnm@char@close}\quad} - \renewcommand\cfttablepresnum{\cnm@char@open\tablename\space} - \renewcommand\cfttableaftersnum{\cnm@char@close} - \setlength\cfttablenumwidth{3.8em} - \renewcommand\cftfigurepresnum{\cnm@char@open\figurename\space} - \renewcommand\cftfigureaftersnum{\cnm@char@close} - \setlength\cftfigurenumwidth{4.5em} -} + \precaption{{\@figtabcaptfont@\obCaptionnameOpen}} + \captiondelim{{\@figtabcaptfont@\obCaptionnameClose}\quad} + \renewcommand\cfttablepresnum{\obCaptionnameOpen\tablename\space} + \renewcommand\cfttableaftersnum{\obCaptionnameClose} + \setlength\cfttablenumwidth{3.8em} + \renewcommand\cftfigurepresnum{\obCaptionnameOpen\figurename\space} + \renewcommand\cftfigureaftersnum{\obCaptionnameClose} + \setlength\cftfigurenumwidth{4.5em} +}% } \fi @@ -1176,6 +1318,166 @@ \pagestyle{hangul} \fi +%%% 2021/03/03: adjustwidth +\newdimen\memucsadjustwidthtopsep +\renewenvironment{adjustwidth}[2]{% + \begin{list}{}{% + \ifdim\onelineskip=\baselineskip + \memucsadjustwidthtopsep\z@\else + \memucsadjustwidthtopsep=\dimexpr\onelineskip-\baselineskip\relax + \fi +% \topsep\z@% + \topsep.5\memucsadjustwidthtopsep + \listparindent\parindent% + \parsep\parskip% + \@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}% + {\setlength{\leftmargin}{#1}}% + \@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}% + {\setlength{\rightmargin}{#2}}% + } + \item[]}{\end{list}} + +\renewenvironment{adjustwidth*}[2]{% + \begin{list}{}{% +% \topsep\z@% + \topsep.5\memucsadjustwidthtopsep + \listparindent\parindent% + \parsep\parskip% + \checkoddpage + \ifoddpage % odd numbered page + \@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}% + {\setlength{\leftmargin}{#1}}% + \@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}% + {\setlength{\rightmargin}{#2}}% + \else % even numbered page + \@ifmtarg{#2}{\setlength{\leftmargin}{\z@}}% + {\setlength{\leftmargin}{#2}}% + \@ifmtarg{#1}{\setlength{\rightmargin}{\z@}}% + {\setlength{\rightmargin}{#1}}% + \fi + } + \item[]}{\end{list}} + + +%%% lists +%%% newly added +\newcommand*{\oblivoirlists}{% + \@ifstar{\ob@sfirmlists}{\ob@firmlists}} + +\newcommand*{\ob@sfirmlists}{ + \setlength{\partopsep}{\z@ \@plus \p@ \@minus \p@}% + \parsepi = 0.0833\onelineskip \@plus 0.04\onelineskip \@minus \p@ + \itemsepi = \parsepi + \topsepi = \parsepi + \parsepii = 0.04\onelineskip \@plus \p@ \@minus \p@ + \topsepii = \parsepi + \topsepiii = \parsepii + \everylistparindent\listparindent} + +\newcommand*{\ob@firmlists}{ + \setlength{\partopsep}{0.05\onelineskip \@plus 0.02\onelineskip + \@minus 0.02\onelineskip}% + \parsepi = 0.0833\onelineskip \@plus 0.04\onelineskip \@minus \p@ + \itemsepi = \parsepi + \topsepi = \parsepi + \parsepii = 0.04\onelineskip \@plus \p@ \@minus \p@ + \topsepii = \parsepi + \topsepiii = \parsepii + \everylistparindent\listparindent} + +\newcommand{\oblivoirlist}{% + \setlength{\itemsep}{0.3\itemsep}\setlength{\parskip}{0.3\parskip}} + +\newcommand\obadjustlists{% + \global\let\defaultlist\firmlist + \global\let\defaultlists\firmlists + \global\let\firmlist\oblivoirlist + \global\let\firmlists\oblivoirlists + \defaultlists +} + + +%%% \ReleaseMacros +%%% newly added +\ExplSyntaxOn +\NewDocumentCommand \ReleaseMacros { m } +{ + \clist_set:Nn \l_tmpa_clist { #1 } + \clist_map_inline:Nn \l_tmpa_clist + { + \cs_undefine:N ##1 + } +} +\@onlypreamble\ReleaseMacros + +\ExplSyntaxOff + + +%%%% trim K mark +\providecommand*{\tmarkKtm}{% + \begin{picture}(0,0)% + \unitlength 1mm + \thinlines + \put(0,4){\line(0,1){8}} + \end{picture}} +\providecommand*{\tmarkKml}{% + \begin{picture}(0,0)% + \unitlength 1mm + \thinlines + \put(-4,0){\line(-1,0){8}} + \end{picture}} +\providecommand*{\tmarkKmr}{% + \begin{picture}(0,0)% + \unitlength 1mm + \thinlines + \put(4,0){\line(1,0){8}} + \end{picture}} +\providecommand*{\tmarkKbm}{% + \begin{picture}(0,0)% + \unitlength 1mm + \thinlines + \put(0,-12){\line(0,1){8}} + \end{picture}} +\providecommand*{\Ktrimpictl}{% + \begin{picture}(0,0) + \unitlength 1mm + \thinlines + \put(-4,0){\line(-1,0){10}} + \put(0,4){\line(0,1){10}} + \end{picture}} +\providecommand*{\Ktrimpictr}{% + \begin{picture}(0,0) + \unitlength 1mm + \thinlines + \put(4,0){\line(1,0){10}} + \put(0,4){\line(0,1){10}} + \end{picture}} +\providecommand*{\Ktrimpicbl}{% + \begin{picture}(0,0) + \unitlength 1mm + \thinlines + \put(-4,0){\line(-1,0){10}} + \put(0,-4){\line(0,-1){10}} + \end{picture}} +\providecommand*{\Ktrimpicbr}{% + \begin{picture}(0,0) + \unitlength 1mm + \thinlines + \put(4,0){\line(1,0){10}} + \put(0,-4){\line(0,-1){10}} + \end{picture}} + +\providecommand*{\trimKmarks}{% + \let\tmarktl\Ktrimpictl + \let\tmarktr\Ktrimpictr + \let\tmarkbl\Ktrimpicbl + \let\tmarkbr\Ktrimpicbr + \let\tmarktm\tmarkKtm + \let\tmarkbm\tmarkKbm + \let\tmarkml\tmarkKml + \let\tmarkmr\tmarkKmr +} + \endinput diff --git a/language/korean/kotex-oblivoir/tex/memhangul-common/memucs-setspace.sty b/language/korean/kotex-oblivoir/tex/memhangul-common/memucs-setspace.sty index a4353ab971..69e6c8d611 100644 --- a/language/korean/kotex-oblivoir/tex/memhangul-common/memucs-setspace.sty +++ b/language/korean/kotex-oblivoir/tex/memhangul-common/memucs-setspace.sty @@ -1,6 +1,6 @@ %% File `memucs-setspace.sty` %% -%% Copyright (c) 2007-2013 Kangsoo Kim <karnes at ktug org> +%% Copyright (c) 2007-2021 Kangsoo Kim <karnes at ktug org> %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -50,8 +50,8 @@ \NeedsTeXFormat {LaTeX2e}[1994/12/09] \def \filename {memucs-setspace.sty} -\def \filedate {2007/09/21} -\def \fileversion {6.7-memucs8} +\def \filedate {2021/03/03} +\def \fileversion {6.7-mu9} \ProvidesPackage {memucs-setspace}[\filedate\space\fileversion\space Contributed and Supported LaTeX2e package] \typeout {Package: `memucs-setspace', a modified version of `setspace', \fileversion\space <\filedate>} @@ -334,42 +334,117 @@ % cannot (AFAIK) be avoided, because LaTeX (2e) LACKS appropriate % standard hooks and/or context markers. \if@singlespacefn -\def\m@mold@footnotetext{\@memsetspace@footnotetext} -\renewcommand{\@footnotetext}[1]{\m@mold@footnotetext{#1}\m@mmf@prepare} -\long\def\@memsetspace@footnotetext#1{% - \insert\footins{% -% GT: Next line added. Hook desired here! - \@floatfnspacinghook\memucsfninterwordhook -% \def\baselinestretch {\setspace@hangulfspace}% -% \@SetFloatspaces - \reset@font\footnotesize - \interlinepenalty\interfootnotelinepenalty - \splittopskip\footnotesep - \splitmaxdepth \dp\strutbox \floatingpenalty \@MM +%%%%\def\m@mold@footnotetext{\@memsetspace@footnotetext} +%%%%\renewcommand{\@footnotetext}[1]{\m@mold@footnotetext{#1}\m@mmf@prepare} +%%%%\long\def\@memsetspace@footnotetext#1{% +%%%% \insert\footins{% +%%%%% GT: Next line added. Hook desired here! +%%%% \@floatfnspacinghook\memucsfninterwordhook +%%%%% \def\baselinestretch {\setspace@hangulfspace}% +%%%%% \@SetFloatspaces +%%%% \reset@font\footnotesize +%%%% \interlinepenalty\interfootnotelinepenalty +%%%% \splittopskip\footnotesep +%%%% \splitmaxdepth \dp\strutbox \floatingpenalty \@MM +%%%% \hsize\columnwidth +%%%% \@parboxrestore +%%%% \protected@edef\@currentlabel{% +%%%% \csname p@footnote\endcsname\@thefnmark +%%%% }% +%%%% \color@begingroup +%%%% \@makefntext{% +%%%% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% +%%%% \color@endgroup}} +%%%% +%%%%% Minipage footnotes. +%%%%\renewcommand{\@mpfootnotetext}[1]{% +%%%% \global\setbox\@mpfootins\vbox{% +%%%% \unvbox\@mpfootins +%%%%% GT: Next line added. Hook desired here! +%%%% \@floatfnspacinghook\memucsfninterwordhook +%%%%% \def\baselinestretch {\setspace@hangulfspace}% +%%%% \foottextfont \hsize\columnwidth \@parboxrestore +%%%% \protected@edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}% +%%%% \color@begingroup +%%%% \@makefntext{% +%%%% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% +%%%% \color@endgroup}} + +\renewcommand{\@footnotetext}[1]{% + \ifm@mfnmargin% use marginpar + \marginpar{% +% \def\baselinestretch{\m@m@footnote@spacing}% + \@floatfnspacinghook\memucsfninterwordhook + \reset@font + \foottextfont + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@makefntext{\ignorespaces#1}% + \color@endgroup}% + \else% regular feet + \insert\footins{% + % \def\baselinestretch{\m@m@footnote@spacing}% + \@floatfnspacinghook\memucsfninterwordhook + \reset@font + \foottextfont + \@preamfntext \hsize\columnwidth - \@parboxrestore \protected@edef\@currentlabel{% - \csname p@footnote\endcsname\@thefnmark - }% + \csname p@footnote\endcsname\@thefnmark}% \color@begingroup \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% - \color@endgroup}} + \rule\z@\footnotesep\ignorespaces{\foottextfont #1}% + \@finalstrut\strutbox}% + \color@endgroup}% + \fi% + \m@mmf@prepare} -% Minipage footnotes. \renewcommand{\@mpfootnotetext}[1]{% \global\setbox\@mpfootins\vbox{% \unvbox\@mpfootins -% GT: Next line added. Hook desired here! - \@floatfnspacinghook\memucsfninterwordhook -% \def\baselinestretch {\setspace@hangulfspace}% +% \def\baselinestretch{\m@m@footnote@spacing}% + \@floatfnspacinghook\memucsfninterwordhook \foottextfont \hsize\columnwidth \@parboxrestore - \protected@edef\@currentlabel{\csname p@mpfootnote\endcsname\@thefnmark}% + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup + \reset@font% \@makefntext{% - \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \rule\z@\footnotesep\ignorespaces{\foottextfont #1}% + \@finalstrut\strutbox}% \color@endgroup}} +\renewcommand{\@sidefootnotetext}[1]{\insert\sidefootins{% + \hsize\sidefootwidth + \@parboxrestore +% \def\baselinestretch{\m@m@footnote@spacing}% + \@floatfnspacinghook\memucsfninterwordhook + \sidefootform \normalsize\normalfont\sidefoottextfont + \splittopskip=\ht\strutbox + \splitmaxdepth=\dp\strutbox + \allowbreak + \prevdepth=\dp\strutbox + \vskip-\parskip + \protected@edef\@currentlabel{% + \csname p@sidefootnote\endcsname\@thesidefnmark}% +\color@begingroup +\@makesidefntext{{\sidefoottextfont #1}}% +\color@endgroup + \ifvmode\else + \unskip\@finalstrut\strutbox + \fi + \par + \ifdim\prevdepth>\dp\strutbox \prevdepth=\dp\strutbox\fi + \ifdim\prevdepth>99\p@ + \nobreak + \vskip-\prevdepth + \allowbreak + \vskip\dp\strutbox + \fi + \vskip\sidefootvsep}% + \m@mmf@prepare} + \else\fi % ** Line space environments. diff --git a/language/korean/kotex-oblivoir/tex/memhangul-common/obchaptertoc.sty b/language/korean/kotex-oblivoir/tex/memhangul-common/obchaptertoc.sty new file mode 100644 index 0000000000..3e9b5eb4af --- /dev/null +++ b/language/korean/kotex-oblivoir/tex/memhangul-common/obchaptertoc.sty @@ -0,0 +1,223 @@ +%%% +%%% \chaptertoc for oblivoir +%%% part of kotex-oblivoir package. +%%% +%%% written by Nova de Hi +%%% +\ProvidesPackage{obchaptertoc}[2020/09/03, v2.0] +\RequirePackage{l3keys2e} + +\ExplSyntaxOn +\msg_new:nnn { obchaptertoc } { haltmsg } { class~oblivoir~not~loaded } +\@ifclassloaded{oblivoir}{}{\msg_error:nn { obchaptertoc } { haltmsg }} + +\keys_define:nn { obchaptoc } +{ + level .tl_set:N = \opt_level_tl +} + +\tl_set:Nn \opt_level_tl { chapter } % default +\ProcessKeysOptions { obchaptoc } + +\ExplSyntaxOff + +\RequirePackage{etoolbox} +%%% +%%%%%% hooking oblivoir's chapter command +%%%\def\@chapter[#1]#2{% +%%% \m@mpn@new@chaptrue% +%%% \m@mpn@new@schapfalse% +%%% \def\f@rbdy{#2}% +%%% \ifx\ch@pt@c\m@m@empty % no optional args +%%% \def\f@rtoc{#1}% +%%% \def\f@rhdr{#1}% +%%% \else % at least one opt arg +%%% \def\f@rtoc{\ch@pt@c}% +%%% \nametest{#1}{#2}% +%%% \ifsamename % one opt arg +%%% \def\f@rhdr{\ch@pt@c}% +%%% \else % two opt args +%%% \def\f@rhdr{#1}% +%%% \fi +%%% \fi +%%% \m@m@Andfalse +%%% \ifnum \c@secnumdepth >\m@ne +%%% \if@mainmatter +%%% \m@m@Andtrue +%%% \fi +%%% \fi +%%% \ifm@m@And +%%% \ifanappendix +%%% \refstepcounter{APPchapter}% +%%% \else +%%% \refstepcounter{chapter}% +%%% \fi +%%% \fi +%%% \chaptermark{\f@rhdr} +%%% \ifartopt +%%% \@makechapterhead{#2}% +%%% \@afterheading +%%% \else +%%% \insertchapterspace +%%% \if@twocolumn +%%% \@topnewpage[\@makechapterhead{#2}]% +%%% \else +%%% \@makechapterhead{#2}% +%%% \fi +%%% \@afterheading +%%% \fi +%%% \@nameuse{chapter@f@rtoc@before@write@hook}% +%%% \mempreaddchaptertotochook% +%%% \ifm@m@And +%%% \ifanappendix +%%% \addcontentsline{toc}{appendix}{% +%%% \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}% +%%% \memappchapinfo{\thechapter}{\f@rtoc}{\f@rhdr}{#2}% +%%% \else +%%% \addcontentsline{toc}{chapter}{% +%%% \protect\chapternumberline{\hchaptertitlehead}\f@rtoc}% +%%% \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}% +%%% \fi +%%% \else +%%% \addcontentsline{toc}{chapter}{\f@rtoc}% +%%% \ifanappendix +%%% \memappchapinfo{}{\f@rtoc}{\f@rhdr}{#2}% +%%% \else +%%% \memchapinfo{\hchaptertitlehead}{\f@rtoc}{\f@rhdr}{#2}% +%%% \fi +%%% \fi +%%% \mempostaddchaptertotochook% +%%% \ifheadnameref\M@gettitle{\f@rhdr}\else\M@gettitle{\f@rtoc}\fi +%%% \ifanappendix +%%% \protected@edef\@currentlabel{\thechapter}% +%%% \fi +%%% \memendofchapterhook% +%%%} + +\newcounter{tocmarker} +% start marker +\ExplSyntaxOn + +\clist_new:N \l_upperlevel_clist + +\str_case_e:nnTF { \opt_level_tl } +{ + { book } { \clist_set:Nn \l_upperlevel_clist { book } } + { chapter } { \clist_set:Nn \l_upperlevel_clist { part, book, chapter } } + { part } { \clist_set:Nn \l_upperlevel_clist { book, part } } + { apppage } { \clist_set:Nn \l_upperlevel_clist { apppage } } +} +{ + \cs_set:cn { mempostadd \opt_level_tl totochook: } + { + \stepcounter{tocmarker}\cftinserthook{toc}{start-\thetocmarker} + } + \cs_set_eq:cc { mempostadd \opt_level_tl totochook } { mempostadd \opt_level_tl totochook: } + + \clist_map_inline:Nn \l_upperlevel_clist + { + \cs_set:cn { mempreadd #1 totochook: } + { + \cftinserthook{toc}{end-\thetocmarker} + } + \cs_set_eq:cc { mempreadd #1 totochook } { mempreadd #1 totochook: } + } +} +{ + \renewcommand\mempreaddchaptertotochook{\cftinserthook{toc}{end-\thetocmarker}} + \renewcommand\mempreaddparttotochook {\cftinserthook{toc}{end-\thetocmarker}} + \renewcommand\mempreaddbooktotochook {\cftinserthook{toc}{end-\thetocmarker}} + \renewcommand\mempreaddapppagetotochook{\cftinserthook{toc}{end-\thetocmarker}} + + \renewcommand\mempostaddchaptertotochook{% + \stepcounter{tocmarker}\cftinserthook{toc}{start-\thetocmarker}} +} +\ExplSyntaxOff + +\let\normalchangetocdepth\changetocdepth + +\def\chaptertocfont{\rmfamily} +\def\chaptertocsecfont{\normalfont\normalsize} + +\NewDocumentCommand\@ChapterTOCFormat{} +{% + \setlength{\cftsectionindent}{0pt} + \setlength{\cftsubsectionindent}{\cftsectionnumwidth} + \setlength{\cftsubsubsectionindent}{\cftsubsectionindent} + \addtolength{\cftsubsubsectionindent}{\cftsubsectionnumwidth} + \renewcommand\cftsectionfont{\chaptertocsecfont} +% \renewcommand\cftsectionpresnum{} +% \renewcommand\cftsectionaftersnum{} +% \renewcommand\cftsectiondotsep{\cftnodots} +% \renewcommand\cftsubsectiondotsep{\cftnodots} +% \renewcommand\cftsectionpagefont{\chaptertocsecfont} +% \renewcommand\cftsubsectionfont{\chaptertocsecfont} +% \renewcommand\cftsubsectionpagefont{\chaptertocsecfont} +% \renewcommand\cftsubsubsectionfont{\chaptertocsecfont} +% \renewcommand\cftsubsubsectionpagefont{\chaptertocsecfont} +% \renewcommand\cftsectionformatpnum[1]{} +% \renewcommand\cftsubsectionformatpnum[1]{} +} + +\NewDocumentCommand\ChapterTOCFormat{+m} +{ + \apptocmd\@ChapterTOCFormat{#1}{}{} +} + +\newskip\afterchaptertocskip +\let\afterchaptertocskip\bigskip + +\ExplSyntaxOn + +\newcounter{obchaptocmaxdepth}\setcounter{obchaptocmaxdepth}{2} % default = subsection +\NewDocumentCommand \chaptertocmaxlevel { m } +{ + \regex_match:nnTF { [0-9] } { #1 } + { + \setcounter{obchaptocmaxdepth} { #1 } + } + { + \@setclcnt{#1}{obchaptocmaxdepth} + } +} + +\NewDocumentCommand \TOCFormatsameas { m m m } +{ + \clist_set:Nn \l_tmpa_clist { #3 } + \clist_map_inline:Nn \l_tmpa_clist + { + \cs_set_eq:cc { cft #1 ##1 } { cft #2 ##1 } + } +} + +\ExplSyntaxOff + +\newif\ifChapterTOCafterskip +\ChapterTOCafterskiptrue + +\newcommand\chaptertoc{ + \begingroup + \chaptertocfont + \let\@orig@markboth\markboth + \renewcommand\markboth[2]{} + \setcounter{@memmarkcntra}{\value{tocdepth}} + \let\changetocdepth\@gobble + \normalchangetocdepth{-10} + \cftinsertcode{start-\thetocmarker}{\normalchangetocdepth{\theobchaptocmaxdepth}} + \cftinsertcode{end-\thetocmarker}{\normalchangetocdepth{-10}} + \let\tocheadstart\relax + \let\printtoctitle\@gobble + \let\aftertoctitle\relax + %%% formatting chaptertoc + \@ChapterTOCFormat + \tableofcontents* + \endgroup + \setcounter{tocdepth}{\value{@memmarkcntra}} + \m@mindentafterchapter + \ifChapterTOCafterskip + \par\afterchaptertocskip + \fi + \@afterheading +} + +\endinput |