Merge branch 'master' into do_not_use_inputenc_and_lmodern_by_default

This commit is contained in:
David 2021-01-22 16:01:17 +01:00
commit dc6350a71e
36 changed files with 1166 additions and 41 deletions

View file

@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Install TeX Live
run: sudo apt update && sudo apt install texlive-full
run: sudo apt update && sudo apt install texlive-full fonts-font-awesome
- name: Checkout code
uses: actions/checkout@v2
- name: Build pdf

View file

@ -1,5 +1,5 @@
%% start of file `moderncv.cls'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@ -16,7 +16,9 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@ -59,9 +61,11 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
\@initializelength{\baseletterheight}
\settoheight{\baseletterheight}{\sectionstyle{o}}
\setlength{\baseletterheight}{\baseletterheight-0.95ex}

View file

@ -1,5 +1,5 @@
%% start of file `moderncvbodyiii.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@ -37,7 +37,9 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiii]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@ -96,6 +98,7 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}

View file

@ -1,5 +1,5 @@
%% start of file `moderncvbodyiv.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@ -16,7 +16,9 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiv]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall body definition
@ -57,6 +59,7 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}

View file

@ -1,5 +1,5 @@
%% start of file `moderncvbodyv.sty'.
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@ -16,7 +16,9 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyv]{moderncvskillmatrix}
%-------------------------------------------------------------------------------
% overall style definition
@ -61,6 +63,7 @@
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
% regular lengths
\setlength{\parskip}{0\p@}}
@ -84,7 +87,15 @@
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
\renewcommand*{\cvitem}[3][.5ex]{%
\@cvitem[#1]{}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}}}
\@cvitem[#1]{}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}}%
}
% \RenewDocumentCommand{\cvitem}{+O{.5ex} +m +m}{%
% \IfNoValueTF{#2}{%
% \@cvitem[#1]{}{#3}%
% }{%
% \@cvitem[#1]{}{\hintstyle{#2}: {#3}}%
% }%
% }
% underlying command to implement \cvitem, \subsection and \section
\newcommand*{\@cvitem}[3][.5ex]{%

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcollection.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorblack.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorblue.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorburgundy.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorgreen.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorgrey.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolororange.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorpurple.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcolorred.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvcompatibility.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvdebugtools.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvfooti.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvheadi.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvheadii.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvheadiii.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvheadiv.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvheadv.sty'.
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvheadvi.sty'.
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncviconsawesome.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncviconsletters.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncviconsmarvosym.sty'.
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

1051
moderncvskillmatrix.sty Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
%% start of file `moderncvstylebanking.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvstylecasual.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvstyleclassic.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvstyleempty.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvstylefancy.sty'.
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,5 +1,5 @@
%% start of file `moderncvstyleoldstyle.sty'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,

View file

@ -1,12 +1,12 @@
%% start of file `template.tex'.
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,sans]{./moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
% moderncv themes
\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
@ -114,6 +114,59 @@ Detailed achievements:%
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
\section{Skill matrix}
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
%% Skill matrix as an alternative to rate one's skills, computer or other.
%% Adjusts width of skill matrix columns.
%% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
%% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
%% Examples:
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
% \setcvskillcolumns[][0.45][\widthof{``Year''}]%
% \setcvskillcolumns[\widthof{``Languag''}][0.48][]
% \setcvskillcolumns[\widthof{``Languag''}]%
%% Adjusts width of legend columns. Usage \setcvskilllegendcolumns[<width>][<factor>]
%% <factor> needs to be between 0 and 1. <width> should be a length smaller than \textwidth
%% Examples:
% \setcvskilllegendcolumns[][0.45]
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
% \setcvskilllegendcolumns[0ex][0.46]% this is usefull for the banking style
%% Add a legend if you are using \cvskill{<1-5>} command or \cvskillentry
%% Usage \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% \cvskilllegend % insert default legend without lines
\cvskilllegend*[1em]{}% adjust post spacing
% \cvskilllegend*{Legend}% Alternatively add a description string
%% adjust the legend entries for other languages, here German
% \cvskilllegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte\,/\,Spezialist]{Legende}
%% Alternative legend style with the first three skill levels in one column
%% Usage \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% \setcvskilllegendcolumns[][0.6]% works for classic, casual, banking
% \setcvskilllegendcolumns[][0.55]% works better for oldstyle and fancy
% \cvskillplainlegend{}
% \cvskillplainlegend[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
%% Add a head of the skill matrix table with descriptions.
%% Usage \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
\cvskillhead[-0.1em]% this inserts the standard legend in english and adjust padding
%% Adjust head of the skill matrix for other languages
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
%% Example usages:
\cvskillentry*{Language:}{3}{Python}{2}{I'm so experienced in Python and have realised a million projects. At least.}
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
%% \cvskill{<0-5>} command
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
\section{Interests}
\cvitem{hobby 1}{Description}
\cvitem{hobby 2}{Description}

View file

@ -1,6 +1,6 @@
%% start of file `tweaklist.sty'.
%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
%% Modified by Xavier Danaux (xdanaux@gmail.com).
%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2021 moderncv maintainers (github.com/moderncv).
%
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.