summaryrefslogtreecommitdiff
path: root/language/korean/kotex-oblivoir/tex/memhangul-common
diff options
context:
space:
mode:
Diffstat (limited to 'language/korean/kotex-oblivoir/tex/memhangul-common')
-rw-r--r--language/korean/kotex-oblivoir/tex/memhangul-common/memhangul-common.sty376
-rw-r--r--language/korean/kotex-oblivoir/tex/memhangul-common/memucs-setspace.sty127
-rw-r--r--language/korean/kotex-oblivoir/tex/memhangul-common/obchaptertoc.sty223
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