%%
%% This is file `minimalist/minimalist-classicthesis.sty',
%% generated with the docstrip utility.
%%
%% Copyright (C) 2021-2024 by Jinwen XU
%% 
%% This is part of the minimalist class series.
%% 
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or (at
%% your option) any later version. The latest version of this license is in
%% 
%%     http://www.latex-project.org/lppl.txt
%% 
%% and version 1.3c or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%% 
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplPackage
  {minimalist-classicthesis}
  {2024/03/01} {}
  {The "classicthesis" style of minimalist}

\IfPackageLoadedTF { minimalist } {}
  {
    \msg_new:nnn { \@currname }
      { minimalist-not-loaded }
      { "#1"~is~an~internal~style~of~"minimalist".~To~use~it,~you~must~load~the~package~"minimalist"~first. }
    \msg_warning:nnx { \@currname } { minimalist-not-loaded } { \@currname }
    \endinput
  }

\bool_new:N \l__minimalist_colored_proof_bool
\bool_set_true:N \l__minimalist_colored_proof_bool
\tl_if_eq:NnTF \l__minimalist_colored_proof_tl { * }
  {
    \bool_set_false:N \l__minimalist_colored_proof_bool
  }
  {
    \tl_if_eq:NnT \l__minimalist_colored_proof_tl { false }
      {
        \bool_set_false:N \l__minimalist_colored_proof_bool
      }
  }

%%================================
%%  Title fonts
%%================================
\RequirePackage { relsize }
\RequirePackage { anyfontsize }

\cs_new:Nn \minimalist_bfseries: {}
\cs_new:Nn \minimalist_sffamily: {}
\cs_new:Nn \minimalist_scshape: {}

\hook_gput_code:nnn { begindocument } { minimalist }
  {
    \@ifpackageloaded{classicthesis-arsclassica}
      {
        \cs_set:Nn \minimalist_sffamily: { \sffamily }
      }
      {
        \cs_set:Nn \minimalist_sffamily: {}
      }
  }

\tl_new:N \g_minimalist_title_font_common_tl

\tl_new:N \g_minimalist_title_font_part_tl
\tl_new:N \g_minimalist_title_font_chapter_tl
\tl_new:N \g_minimalist_title_font_section_tl
\tl_new:N \g_minimalist_title_font_subsection_tl
\tl_new:N \g_minimalist_title_font_subsubsection_tl
\tl_new:N \g_minimalist_title_font_paragraph_tl

\tl_gset:Nn \g_minimalist_title_font_part_tl          { \minimalist_bfseries:\minimalist_sffamily: \g_minimalist_title_font_common_tl }
\tl_gset:Nn \g_minimalist_title_font_chapter_tl       { \minimalist_bfseries:\minimalist_sffamily: \g_minimalist_title_font_common_tl \minimalist_scshape: }
\tl_gset:Nn \g_minimalist_title_font_section_tl       { \minimalist_bfseries:\minimalist_sffamily: \g_minimalist_title_font_common_tl \minimalist_scshape: }
\tl_gset:Nn \g_minimalist_title_font_subsection_tl    { \minimalist_bfseries:\minimalist_sffamily: \g_minimalist_title_font_common_tl \minimalist_scshape: }
\tl_gset:Nn \g_minimalist_title_font_subsubsection_tl { \minimalist_bfseries:\minimalist_sffamily: \g_minimalist_title_font_common_tl }
\tl_gset:Nn \g_minimalist_title_font_paragraph_tl     { \minimalist_bfseries:\minimalist_sffamily: \g_minimalist_title_font_common_tl \minimalist_scshape: }

\bool_if:NF \l__minimalist_fast_bool
  {
    \RequirePackage { tikz }
    \ExplSyntaxOff
    \usetikzlibrary{calc,shadings}
    \ExplSyntaxOn
    \RequirePackage { tikzpagenodes } % For `current page text area`
  }



%%================================
%%  Blank page
%%================================
\projlib_langauge_define_multilingual_text:Nn \bl@nkpagetext
  {
    , EN = This~page~is~intentionally~left~blank
    , FR = Cette~page~est~intentionnellement~laissée~vide
    , DE = Diese~Seite~wurde~absichtlich~leer~gelassen
    , IT = Questa~pagina~è~stata~lasciata~vuota~intenzionalmente
    , PT = Esta~página~foi~intencionalmente~deixada~em~branco
    , BR = Esta~página~foi~intencionalmente~deixada~em~branco
    , ES = Esta~página~ha~sido~intencionalmente~dejada~en~blanco
    , CN = \ziju{0.2} 此页为有意留为空白
    , TC = \ziju{0.2} 此頁為有意留為空白
    , JP = このページは意図的に空白にしてあります
    , RU = Эта~страница~намеренно~оставлена~пустой
  }
\renewcommand{\cleardoublepage}{
  \relax
  \clearpage
  \if@twoside\ifodd\c@page\relax\else
  \thispagestyle{empty}
  \hook_gput_next_code:nn { shipout/background }
    {
      \put(0.5\paperwidth,-0.5\paperheight){
      \makebox[0pt]{\large\color{main-text!10!paper}\g_minimalist_title_font_common_tl\bl@nkpagetext}}
    }
  \null\newpage\fi\fi
}

%%================================
%%  Index
%%================================
\RequirePackage { imakeidx }
\makeindex[intoc]

\RequirePackage { silence }
\ExplSyntaxOff
\WarningFilter{latex}{Writing or overwriting file}
\begin{filecontents*}[overwrite]{\jobname.mst}
delim_0 "\\IndexDotfill " % Filler between section heading and page number
delim_1 "\\IndexDotfill " % Filler between subsection heading and page number
headings_flag 1
heading_prefix "\\IndexHeading{"
heading_suffix "}\n"
\end{filecontents*}
\ExplSyntaxOn

\projlib_langauge_define_multilingual_text:Nn \index_symbols_name
  {
    , EN = Symbols
    , FR = Symboles
    , DE = Symbole
    , IT = Simboli
    , PT = Símbolos
    , BR = Símbolos
    , ES = Símbolos
    , CN = 符号
    , TC = 符號
    , JP = 記号
    , RU = Символы
  }

\newcommand*{\IndexDotfill}
  {
    \null\nobreak
    \leaders \hbox to .67em {\hss \textcolor{main-text!15!paper}{.} \hss} \hskip1em plus1fill
  }
\newcommand*{\IndexLinebreak}
  {
    \nobreakspace\textcolor{main-text!45!paper}{\raisebox{.4ex}{.}\raisebox{.2ex}{.}}
    \item\hspace*{\hangindent}
    \textcolor{main-text!45!paper}{\raisebox{.45ex}{.}\raisebox{.25ex}{.}}\:
    \unskip
  }

\newcommand*{\IndexHeading}[1]
  {
    \str_if_eq:nnTF { #1 } { Symbols }
      { \tl_set:Nn \l_tmpa_tl { \index_symbols_name } }
      { \tl_set:Nn \l_tmpa_tl { #1 } }
    \centerline{ \minimalist_sffamily: { \l_tmpa_tl } }
    \nopagebreak
    \par
    \vspace{.3\baselineskip}
  }

\renewcommand*{\indexspace}
  {
    \par
    \vspace{2pc plus .5pc minus .3pc}
  }

\bool_new:N \l__minimalist_if_first_subitem_bool
\renewcommand*{\@idxitem}
  {
    \par\hangindent40\p@
    \bool_set_true:N \l__minimalist_if_first_subitem_bool
  }
\renewcommand*{\subitem}
  {
    \par\hangindent40\p@
    \bool_if:NT \l__minimalist_if_first_subitem_bool
      {
        \nobreak
        \bool_set_false:N \l__minimalist_if_first_subitem_bool
      }
    \hspace*{20\p@}
  }

\hook_gput_code:nnn { begindocument/before } { minimalist }
  {
    \bool_if:NF \l__minimalist_fast_bool
      {
        \hook_gput_code:nnn { cmd/printindex/before } { minimalist } { \bookmarksetup{startatroot} }
      }
    \hook_gput_code:nnn { cmd/printindex/before } { minimalist } { \LocallyStopLineNumbers }
    \hook_gput_code:nnn { cmd/printindex/after } { minimalist } { \ResumeLineNumbers }
  }

%%================================
%%  Draft mark
%%================================
\RequirePackage { projlib-draft }

%%================================
%%  Theorems
%%================================
\RequirePackage { mathtools }
\RequirePackage { amsthm }

\tl_const:Nn \c_minimalist_l_mathparen_latin_tl { $($ }
\tl_const:Nn \c_minimalist_r_mathparen_latin_tl { $)$ }
\tl_const:Nn \c_minimalist_l_mathparen_cjk_tl { \!\,( }
\tl_const:Nn \c_minimalist_r_mathparen_cjk_tl { )\!\, }
\cs_new:Nn \minimalist_insert_l_mathparen:
  {
    \tl_use:c { c_minimalist_l_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
  }
\cs_new:Nn \minimalist_insert_r_mathparen:
  {
    \tl_use:c { c_minimalist_r_mathparen_ \l_projlib_language_current_languagetype_tl _tl }
  }

%% Change equation numbers to gray
\def\tagform@#1{\maketag@@@{\textcolor{.!39!paper}{(\ignorespaces#1\unskip\@@italiccorr)}}}

\PassOptionsToPackage { nopatch = eqnum } { microtype }

\def\simpleqedsymbol{
  \makebox[1em]{\rlap{\textcolor{.!12!paper}{\rule[-0.1em]{.95em}{.95em}}}{\kern.07em\raisebox{.07em}{\textcolor{paper}{\rule[-0.1em]{.81em}{.81em}}}\kern.07em}}}
\DeclareRobustCommand{\simpleqed}{%
  \ifmmode \quad\hbox{\simpleqedsymbol}
  \else
    \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
    \quad\hbox{\simpleqedsymbol}%
  \fi
}

\bool_if:NTF \l__minimalist_theorem_in_new_line_bool
  {
    \newtheoremstyle{simple}
      {.75\baselineskip}{}
      {
        \normalfont
        \parindent=0pt
        \parskip=.3333\baselineskip plus .0667\baselineskip minus .0833\baselineskip
      }{}
      {\normalfont}{}
      {0pt}
      {
        \rlap{\vbox{\hbox{\parbox{\linewidth}{
          {\thmname{#1}\thmnumber{\nobreakspace #2}}
          {\color{.!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
        }}\hbox{\strut}\vspace{0pt}}}
        \bool_if:NT \l__minimalist_theorem_with_qed_bool
          {
            \pushQED{\simpleqed}
          }
      }
    \newtheoremstyle{simple-var}
      {.75\baselineskip}{}
      {
        \bool_if:NTF \l__minimalist_emphasize_theorem_bool { \itshape } { \normalfont }
        \parindent=0pt
        \parskip=.3333\baselineskip plus .0667\baselineskip minus .0833\baselineskip
      }{}
      {\normalfont}{}
      {0pt}
      {
        \rlap{\vbox{\hbox{\parbox{\linewidth}{
          {\thmname{#1}\thmnumber{\nobreakspace #2}}
          {\color{.!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
        }}\hbox{\strut}\vspace{0pt}}}
        \bool_if:NT \l__minimalist_theorem_with_qed_bool
          {
            \pushQED{\simpleqed}
          }
      }
  }
  {
    \newtheoremstyle{simple}
      {}{}
      {
        \normalfont
        \parindent=0pt
        \parskip=.3333\baselineskip plus .0667\baselineskip minus .0833\baselineskip
      }{}
      {\normalfont}{}
      {0pt}
      {
        {\thmname{#1}\thmnumber{\nobreakspace #2}}
        {\color{.!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
        \minimalist_bfseries:\minimalist_sffamily: .
        \nobreakspace\nobreakspace
        % {\normalfont\textcolor{.!27!paper}{---}}
        \bool_if:NT \l__minimalist_theorem_with_qed_bool
          {
            \pushQED{\simpleqed}
          }
      }
    \newtheoremstyle{simple-var}
      {}{}
      {
        \bool_if:NTF \l__minimalist_emphasize_theorem_bool { \itshape } { \normalfont }
        \parindent=0pt
        \parskip=.3333\baselineskip plus .0667\baselineskip minus .0833\baselineskip
      }{}
      {\normalfont}{}
      {0pt}
      {
        {\thmname{#1}\thmnumber{\nobreakspace #2}}
        {\color{.!50!paper}\thmnote{\hspace{.4em} \minimalist_insert_l_mathparen: #3 \minimalist_insert_r_mathparen: }}
        \minimalist_bfseries:\minimalist_sffamily: .
        \nobreakspace\nobreakspace
        % {\normalfont\textcolor{.!27!paper}{---}}
        \bool_if:NT \l__minimalist_theorem_with_qed_bool
          {
            \pushQED{\simpleqed}
          }
      }
  }

\theoremstyle{simple}

\bool_if:NT \l__minimalist_theorem_with_qed_bool
  {
    \def\@endtheorem{\popQED\endtrivlist\@endpefalse}
  }

\newcommand{\customqedsymbol}{
  \makebox[1em]{\color{.!27!paper}\rule[-0.1em]{.95em}{.95em}}}
\let\qedsymbol\customqedsymbol

%% Special treatments for the Q.E.D. symbol
\def\noQED{\let\popQED\relax}
\let\noqed\noQED
\def\proofless{\pushQED{\qed}}

\bool_if:NTF \l__minimalist_fast_bool
  {
    \RequirePackage { hyperref }
    \hypersetup { draft }
  }
  {
    \RequirePackage { hyperref }
    \RequirePackage { bookmark }
    \hypersetup{ hidelinks, linktoc = all }
    \bookmarksetup{ numbered }
    \renewcommand\Hy@numberline[1]{#1.~}
    % https://tex.stackexchange.com/a/1821
    % Add the bookmark of ToC
    \bool_if:NTF \l__minimalist_is_book_bool
      {
        \hook_gput_code:nnn { cmd/tableofcontents/before } { minimalist }
          {
            \if@openright\cleardoublepage\else\clearpage\fi
            \pdfbookmark[0]{\contentsname}{toc}
          }
      }
      {
        \hook_gput_code:nnn { cmd/tableofcontents/before } { minimalist }
          {
            \pdfbookmark[1]{\contentsname}{toc}
          }
      }
  }


\PassOptionsToPackage
  {
    theorem-style = {
      theorem = simple-var, lemma = simple-var, proposition = simple-var, corollary = simple-var, property = simple-var, axiom = simple-var, construction = simple-var,
      theorems = simple-var, lemmas = simple-var, propositions = simple-var, corollaries = simple-var, properties = simple-var, axioms = simple-var, constructions = simple-var,
      theorem-with-name = simple-var,
    }
  } { projlib-theorem }

\RequirePackage { projlib-theorem }

\SetTheorem { proof, proof* } { qed-symbol = { \customqedsymbol } }

\hook_gput_code:nnn { env/proof/begin } { minimalist } { \let\simpleqed\relax }
\hook_gput_code:nnn { env/proof*/begin } { minimalist } { \let\simpleqed\relax }

\bool_if:NT \l__minimalist_colored_proof_bool
  {
    \clist_map_inline:nn { proof, proof* }
      {
        \hook_gput_code:nnn { env/ #1 /begin } { minimalist }
          {
            \Hy@SaveLastskip
            \color{ \l__minimalist_colored_proof_tl }
            \Hy@RestoreLastskip
          }
      }
  }


\exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
  {
    name style = {
      , heading style = {
          , english = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , french = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , ngerman = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , italian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , portuguese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , brazilian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , spanish = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
          , schinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
          , tchinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
          , japanese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
          , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
        }
    }
  }

\SetTheorem { remark }
  {
    name style = {
      , heading style = {
          , english = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , french = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , ngerman = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , italian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , portuguese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , brazilian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , spanish = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
          , schinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
          , tchinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
          , japanese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
          , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
        }
    }
  }

\bool_if:NF \l__projlib_theorem_complexname_bool
  {
    \exp_args:No \SetTheorem { \c_projlib_theorem_supported_clist, theorem-with-name }
      {
        name style = {
          , crefname style = {
              , english = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , french = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , ngerman = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , italian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , portuguese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , brazilian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , spanish = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , schinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , tchinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , japanese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
            }
          , Crefname style = {
              , english = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , french = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , ngerman = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , italian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , portuguese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , brazilian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , spanish = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textsc
              , schinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , tchinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , japanese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
            }
          , numbering style = {
              \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
            }
        }
      }

    \SetTheorem { remark }
      {
        name style = {
          , crefname style = {
              , english = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , french = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , ngerman = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , italian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , portuguese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , brazilian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , spanish = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , schinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , tchinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , japanese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
            }
          , Crefname style = {
              , english = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , french = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , ngerman = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , italian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , portuguese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , brazilian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , spanish = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl\textit
              , schinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , tchinese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , japanese = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
              , russian = \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
            }
          , numbering style = {
              \minimalist_bfseries:\minimalist_sffamily:\g_minimalist_title_font_common_tl
            }
        }
      }
  }

\PassOptionsToPackage { many } { tcolorbox }
\RequirePackage { tcolorbox }
\bool_if:NT \l__minimalist_fast_bool { \tcbstartdraftmode }


\NewDocumentEnvironment { emphasis } { }
  {
    \LocallyStopLineNumbers
    \enlargethispage{2mm}
    \begin{tcolorbox}
        [
          enhanced ~ jigsaw, breakable, oversize,
          % nobeforeafter,
          left = .5em, right=0mm, top=0.5mm, bottom=0mm, boxrule=0pt,
          colback=main-text!2!paper, frame ~ hidden,
          borderline ~ west = {.3em} {0mm} {main-text!25!paper},
          arc = 0.2mm,
        ]
  }
  {
    \end{tcolorbox}
    \ResumeLineNumbers
  }


%%================================
%%  Title block style
%%================================
\bool_if:NTF \l__minimalist_is_book_bool
  {
    \hook_gput_code:nnn { package/projlib-author/after } { minimalist }
      {
        \tl_gset:Nn \g__projlib_author_font_author_tl      { \normalfont \minimalist_scshape: }
        \tl_gset:Nn \g__projlib_author_font_institute_tl   { \large \normalfont }
        \tl_gset:Nn \g__projlib_author_font_address_tl     { \large \normalfont \itshape }
        \tl_gset:Nn \g__projlib_author_font_curraddr_tl    { \large \normalfont \itshape }
        \tl_gset:Nn \g__projlib_author_font_email_tl       { \large \normalfont \ttfamily }
      }

    \RequirePackage { projlib-titlepage }
    \RenewDocumentCommand \maketitle { O{} }
      {
        \LocallyStopLineNumbers
        \ProjLibTitlePage [ style = simple, #1 ]
          {
            , title  = \@title
            , author = \@author
            , date   = \@date
          }
        \ResumeLineNumbers
      }
  }
  {
    \renewcommand{\@maketitle}
      {
        \LocallyStopLineNumbers
        \begin{center}
          \let\footnote\thanks
          {\minimalist_sffamily:\Large\@title}\\\bigskip
          \color{main-text!80!paper}
          {\small\minimalist_scshape:\@author}
          \par\smallskip\vspace{-\parskip}
          {\small\@date}
        \end{center}
        \projlib_author_if_content_empty:nT { \@date } { \medskip }
        \medskip\par
        \ResumeLineNumbers
      }


%%================================
%%  Abstract style
%%================================
    \renewenvironment{abstract}
      {
        \LocallyStopLineNumbers
        \vspace{-.5\baselineskip}
        \begin{center}
          { \small\spacedlowsmallcaps{\abstractname} }\\
          \vspace{-.3\baselineskip}
          \begin{minipage}[t]{.833\textwidth}
            \vspace{0pt}
            \color{main-text!80!paper}
            \footnotesize
            \parindent=2em
      }
      {
          \end{minipage}
        \end{center}
        \medskip
        \ResumeLineNumbers
      }

%%================================
%%  Keyword environment
%%================================
    \DefineMultilingualText { \keywordname }
      {
        EN = Keywords                               ,
        FR = Mots~clés                              ,
        DE = Schlüsselwörter                        ,
        IT = Parole~chiave                          ,
        PT = Palavras~chave                         ,
        BR = Palavras~chave                         ,
        ES = Palabras~clave                         ,
        CN = 关键词                                 ,
        TC = 關鍵詞                                 ,
        JP = キーワード                             ,
        RU = Ключевые~слова                         ,
      }

    \newenvironment{keyword}{
      \LocallyStopLineNumbers
      \vspace{-.75\baselineskip}
      \begin{center}
        { \small\spacedlowsmallcaps{\keywordname} }\\
        \vspace{-.3\baselineskip}
        \begin{minipage}[t]{.833\textwidth}
          \vspace{0pt}
          \color{main-text!80!paper}
          \footnotesize
          \parindent=2em
          \begin{center}
    }{
          \end{center}
        \end{minipage}
      \end{center}
      \medskip
      \ResumeLineNumbers
    }
  } % end of \bool_if:NTF \l__minimalist_is_book_bool

%%================================
%%  Simulate features of amsart
%%================================
\PassOptionsToPackage { amsfashion } { projlib-author }
\RequirePackage { projlib-author }

%%================================
%%  Special adjustment
%%================================

%%================================
%%  Load the main design
%%================================
\hook_gput_code:nnn { begindocument/before } { minimalist }
  {
    \RequirePackage { classicthesis }
  }

\endinput
%%
%% End of file `minimalist/minimalist-classicthesis.sty'.