Skip to content
Snippets Groups Projects
Verified Commit abb42733 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch 'master' of edugit.org:Teckids/teckids-tex

parents 447ad28e a38024a4
No related branches found
No related tags found
No related merge requests found
...@@ -337,3 +337,10 @@ ...@@ -337,3 +337,10 @@
} }
\newcommand{\keinumbruch}{\par\nobreak\@afterheading} \newcommand{\keinumbruch}{\par\nobreak\@afterheading}
\definecolor{teckidsorangedark}{HTML}{FF6600}%
\definecolor{teckidsorangelight}{HTML}{FF9955}%
\definecolor{teckidswebsitebluelight}{HTML}{029AFA}%
\definecolor{teckidswebsitebluedark}{HTML}{1E61F7}%
\definecolor{teckidslogobluegradientlight}{HTML}{00CBFA}%
\definecolor{teckidslogobluegradientdark}{HTML}{0606FA}%
\definecolor{teckidslogobluestroke}{HTML}{005EBE}%
% Dokumentklasse „Unterrichtsmaterial 2.0“ für den Teckids e.V.
%
% Copyright © 2014, 2015, 2017
% Thorsten Glaser <thorsten.glaser@teckids.org>
% Copyright © 2015, 2016, 2017
% Thorsten Glaser <t.glaser@tarent.de>
% Copyright © 2013, 2014
% Dominik George <nik@naturalnet.de>
%
% Provided that these terms and disclaimer and all copyright notices
% are retained or reproduced in an accompanying document, permission
% is granted to deal in this work without restriction, including un‐
% limited rights to use, publicly perform, distribute, sell, modify,
% merge, give away, or sublicence.
%
% This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
% the utmost extent permitted by applicable law, neither express nor
% implied; without malicious intent or gross negligence. In no event
% may a licensor, author or contributor be held liable for indirect,
% direct, other damage, loss, or other issues arising in any way out
% of dealing in the work, even if advised of the possibility of such
% damage or existence of a defect, except proven that it results out
% of said person’s immediate fault when using the work as intended.
\NeedsTeXFormat{LaTeX2e}%
\ProvidesClass{teckids2pubmat}%
\PassOptionsToPackage{paper=a4}{typearea}%
\RequirePackage{fancyhdr}%
\LoadClass{scrartcl}%
\RequirePackage{teckids2style}%
\newcommand{\teckidspubmatnamegroup}{%
\vspace{2cm}%
Name: \line(1,0){200}\hfill{}%
Klasse: \line(1,0){50}\hfill{}%
Gruppe: \line(1,0){50}%
}%
% How to use:
% \documentclass{teckids2pubmat}%
% \dokumentLizenzMirOS% oder \dokumentLizenzCCBYSAfour% oder \dokumentLizenzCCBYSAthreeDE%
% \teckidshdr[2017]{Dokumenttitel}% für allgemeine Dokumente, geht auch ohne Jahr
% \teckidshdr[2017 Name,]{Dokumenttitel}% besser dies verwenden, Autoren aufzählen
% % Mehrere Autorennamen durch Komma+Leerzeichen trennen, schließendes Komma
% Teckids e.V. — Allgemeine Vorlage, Version 2
%-
% Copyright © 2013, 2015
% Dominik George <dominik.george@teckids.org>
% Copyright © 2014, 2015, 2017
% Thorsten “mirabilos” Glaser <thorsten.glaser@teckids.org>
% Copyright © 2015, 2016, 2017
% Thorsten Glaser <t.glaser@tarent.de>
% Copyright © 2015
% Niklas Bildhauer <niklas.bildhauer@teckids.org>
% with contributions by (among others)
% Steven B. Segletes <http://tex.stackexchange.com/users/25858>
% Enrico Gregorio <http://tex.stackexchange.com/users/4427>
% David Carlisle <http://tex.stackexchange.com/users/1090>
%
% Provided that these terms and disclaimer and all copyright notices
% are retained or reproduced in an accompanying document, permission
% is granted to deal in this work without restriction, including un‐
% limited rights to use, publicly perform, distribute, sell, modify,
% merge, give away, or sublicence.
%
% This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to
% the utmost extent permitted by applicable law, neither express nor
% implied; without malicious intent or gross negligence. In no event
% may a licensor, author or contributor be held liable for indirect,
% direct, other damage, loss, or other issues arising in any way out
% of dealing in the work, even if advised of the possibility of such
% damage or existence of a defect, except proven that it results out
% of said person's immediate fault when using the work as intended.
% Characters requiring escaping:
% • { } # & _ % $ ⇒ quote by prepending a backslash \
% • \ → \textbackslash
% • ^ → \textasciicircum
% • ~ → \textasciitilde
% • (nbsp) → ~
% • (em dash) → \dash
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{teckids2style}%
\RequirePackage{accsupp}%
\RequirePackage[utf8]{inputenc}%
\RequirePackage[british,ngerman,shorthands=off,safe=none,math=normal,main=ngerman,headfoot=ngerman,hyphenmap=other*]{babel}%
\RequirePackage[usenames,dvipsnames,table]{xcolor}%
\RequirePackage[LY1,TS1,T1]{fontenc}%
\RequirePackage{pdf14}%
\RequirePackage[paperwidth=21truecm,paperheight=29.7truecm,includehead,hmargin=1.75cm,top=0.3cm,bottom=2.2cm,headheight=1cm,headsep=0.5cm,footskip=0.8cm,marginparsep=2.5mm]{geometry}%
\RequirePackage{fancybox}%
\linespread{1.15}%
\RequirePackage[varqu,varl]{inconsolata}%
\RequirePackage{longtable}%
\RequirePackage{tabu}%
\RequirePackage{multirow}%
\renewcommand{\multirowsetup}{}%
\RequirePackage{wrapfig}%
\RequirePackage{intcalc}%
\RequirePackage[writefile]{listings}%
\RequirePackage{tocloft}%
\RequirePackage{float}%
\RequirePackage[totpages,user]{zref}%
\RequirePackage{calc}%
\RequirePackage{ifthen}%
\RequirePackage[noadjust]{marginnote}%
\RequirePackage{unicodedomino}%
\RequirePackage{unicodepoints}%
\RequirePackage{framed}%
\RequirePackage[export]{adjustbox}%
\RequirePackage[pdftex,unicode]{hyperref}%
\definecolor{teckidsorangedark}{HTML}{FF6600}%
\definecolor{teckidsorangelight}{HTML}{FF9955}%
\definecolor{teckidswebsitebluelight}{HTML}{029AFA}%
\definecolor{teckidswebsitebluedark}{HTML}{1E61F7}%
\definecolor{teckidslogobluegradientlight}{HTML}{00CBFA}%
\definecolor{teckidslogobluegradientdark}{HTML}{0606FA}%
\definecolor{teckidslogobluestroke}{HTML}{005EBE}%
\newcommand{\teckidslogo}[1][10cm]{\includegraphics[width=#1]{teckids_logo}}%
\hypersetup{
colorlinks = true,
linkcolor = blue,
urlcolor = blue,
citecolor = blue,
pdfauthor = {Teckids e.V.}
}%
% Set default page style
\pagestyle{fancy}%
\addtokomafont{pageheadfoot}{\upshape}%
\addtokomafont{pagenumber}{\itshape}%
% Bitte gerne neudefinieren, zum Beispiel…
\newcommand{\dokumentLizenzlogo}{}%
\newcommand{\dokumentLizenztext}{%
Freies Material unter einer Freien Lizenz\linebreak%
Für Details kontaktieren Sie bitte den Teckids e.V.%
}%
% … hiermit:
\newcommand{\dokumentLizenzCCBYSAthreeDE}{%
\renewcommand{\dokumentLizenzlogo}{%
% see https://creativecommons.org/licenses/by-sa/3.0/de/
\includegraphics[width=3cm,valign=t]{cc-by-sa}%
}%
\renewcommand{\dokumentLizenztext}{%
Veröffentlicht unter der \textit{Creative Commons Namensnennung \dash\linebreak%
Weitergabe unter gleichen Bedingungen 3.0 Deutschland} Lizenz.%
}%
}%
\newcommand{\dokumentLizenzCCBYSAfour}{%
\renewcommand{\dokumentLizenzlogo}{%
% see https://creativecommons.org/licenses/by-sa/4.0/
\includegraphics[width=3cm,valign=t]{cc-by-sa}%
}%
\renewcommand{\dokumentLizenztext}{%
Veröffentlicht unter der \textit{Creative Commons Namensnennung \dash\linebreak%
Weitergabe unter gleichen Bedingungen 4.0 International} Lizenz.%
}%
}%
\newcommand{\dokumentLizenzMirOS}{%
\renewcommand{\dokumentLizenzlogo}{%
\mbox{%
\makebox(0,0){\hspace{1em}\LARGE}\hspace{2em}\makebox[0pt]{%
\raisebox{-1.5\height}{\hspace{-0.75em}\textsc{copy}}%
}\raisebox{-0.2\height}{\tiny\hspace{-2em}OK to}%
}%
}%
\renewcommand{\dokumentLizenztext}{%
Veröffentlicht unter der MirOS-Lizenz.%
}%
}%
% Syntax: \teckidshdr[2017 Name,]{Dokumenttitel}
\newcommand{\teckidshdr}[2][]{%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{1pt}%
\renewcommand*\pagemark{\leavevmode\usekomafont{pagenumber}\ifnum\ztotpages=1\else\thepage/\ztotpages\fi}%
\fancyhead[L]{\leavevmode\usekomafont{pageheadfoot}\itshape\Large #2}%
\fancyhead[R]{\leavevmode\usekomafont{pageheadfoot}\pagemark}%
\fancyfoot[L]{\leavevmode\usekomafont{pageheadfoot}\dokumentLizenzlogo}%
\fancyfoot[C]{\leavevmode\usekomafont{pageheadfoot}{\footnotesize%
\textcopyright{} #1 Teckids e.V.\linebreak%
\dokumentLizenztext%
}}%
\fancyfoot[R]{\leavevmode\usekomafont{pageheadfoot}%
\includegraphics[width=4cm,valign=t]{teckids_logo}%
}%
}%
\teckidshdr{\headmark}%
% Hurenkinder und Schusterjungen
\clubpenalty10000%
\widowpenalty10000%
\displaywidowpenalty=10000%
% Zu lange Zeilen
\emergencystretch 5em%
% Allgemeine Einstellungen
\DeclareGraphicsExtensions{.pdf,.eps,.png,.jpg}%
\setlength{\parskip}{0.3cm plus 5mm minus 1mm}%
\setlength{\parindent}{0cm}%
% Extra-Befehle
\newcommand{\ankreuzen}{Bitte zum Beispiel so → \CheckedBox\hspace{0.05cm} ← ankreuzen!}%
\newcommand{\angekreuzteskaestchen}{\CheckedBox\hspace{0.1cm}}%
\newcommand{\ankreuzkaestchen}{\Square\hspace{0.1cm}}%
% Listings
\makeatletter%
\newcounter{lstdumps}%
\setcounter{lstdumps}{0}%
\newcommand{\lstdumpname}{}%
\xdef\lstdumpsection{\@empty}%
\lstnewenvironment{lstdump}[3][]%
{\lst@TestEOLChar{#3}%
\lstset{#1}%
\csname\@lst @SetFirstNumber\endcsname%
\stepcounter{lstdumps}%
\marginnote{{\LARGE\color[HTML]{707070}\thelstdumps}}[4pt]%
\renewcommand{\lstdumpname}{ (#2)}%
\lst@BeginAlsoWriteFile{\jobname.lst}%
\ifx\lstdumpsection\@currentlabel\else%
\ifx\lstdumpsection\@empty%
\immediate\write\lst@WF{Listing dump for \jobname.tex}%
\immediate\write\lst@WF{}%
\fi%
\immediate\write\lst@WF{>>> (\@currentlabel) \@currentlabelname}%
\immediate\write\lst@WF{}%
\fi%
\immediate\write\lst@WF{-----BEGIN LISTING \thelstdumps\lstdumpname-----}%
}%
{%
\immediate\write\lst@WF{-----END LISTING \thelstdumps\lstdumpname-----}%
\immediate\write\lst@WF{}%
\endgroup%
\csname\@lst @SaveFirstNumber\endcsname%
\xdef\lstdumpsection{\@currentlabel}%
}%
\lstnewenvironment{lstdump*}[3][]%
{\lst@TestEOLChar{#3}%
\lstset{#1}%
\csname\@lst @SetFirstNumber\endcsname%
\renewcommand{\lstdumpname}{"#2"}%
\lst@BeginAlsoWriteFile{\jobname.lst}%
\ifx\lstdumpsection\@currentlabel\else%
\ifx\lstdumpsection\@empty%
\immediate\write\lst@WF{Listing dump for \jobname.tex}%
\immediate\write\lst@WF{}%
\fi%
\immediate\write\lst@WF{>>> (\@currentlabel) \@currentlabelname}%
\immediate\write\lst@WF{}%
\fi%
\immediate\write\lst@WF{-----BEGIN LISTING \lstdumpname-----}%
}%
{%
\immediate\write\lst@WF{-----END LISTING \lstdumpname-----}%
\immediate\write\lst@WF{}%
\endgroup%
\csname\@lst @SaveFirstNumber\endcsname%
\xdef\lstdumpsection{\@currentlabel}%
}%
\lstnewenvironment{lstdumpx}[2][]%
{\lst@TestEOLChar{#2}%
\lstset{#1}%
\csname\@lst @SetFirstNumber\endcsname%
\stepcounter{lstdumps}%
\marginnote{{\LARGE\color[HTML]{707070}\thelstdumps}}[4pt]%
\renewcommand{\lstdumpname}{ [unnamed]}%
\lst@BeginAlsoWriteFile{\jobname.lst}%
\ifx\lstdumpsection\@currentlabel\else%
\ifx\lstdumpsection\@empty%
\immediate\write\lst@WF{Listing dump for \jobname.tex}%
\immediate\write\lst@WF{}%
\fi%
\immediate\write\lst@WF{>>> (\@currentlabel) \@currentlabelname}%
\immediate\write\lst@WF{}%
\fi%
\immediate\write\lst@WF{-----BEGIN LISTING \thelstdumps\lstdumpname-----}%
}%
{%
\immediate\write\lst@WF{-----END LISTING \thelstdumps\lstdumpname-----}%
\immediate\write\lst@WF{}%
\endgroup%
\csname\@lst @SaveFirstNumber\endcsname%
\xdef\lstdumpsection{\@currentlabel}%
}%
% usage: \lstdumpesc[file]{pdf} or \lstdumpesc{bothfileandpdf}
\def\lstdumpesc{\@ifnextchar[{\lstdumpesc@two}{\lstdumpesc@one}}%
\def\lstdumpesc@one#1{\lst@WFAppend{#1}#1}%
\def\lstdumpesc@two[#1]#2{\lst@WFAppend{#1}#2}%
\lstset{
backgroundcolor=\color[HTML]{E6E6E6},
breakatwhitespace=true,
rulecolor=\color{black},
basicstyle=\ttfamily,
upquote=true,
keepspaces,
literate=
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {œ}{{\oe}}1 {Œ}{{\OE}}1
{ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1
{å}{{\r a}}1 {Å}{{\r A}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1
{©}{{\textcopyright}}1 {}{\texttrademark}1 {}{-}1 {§}{\S}1
{£}{{\pounds}}1 {°}{\textdegree{}}1 {}{{\quotedblbase}}1
{}{{\textquotedblleft}}1 {}{{\textquotedblright}}1
{}{{\textquoteleft}}1 {}{{\textquoteright}}1
{«}{\guillemotleft}1 {»}{\guillemotright}1
{}{{\fontencoding{LY1}\selectfont\symbol{'001}}}1
{}{{\fontencoding{LY1}\selectfont\symbol{'205}}}1,
columns=flexible,
showstringspaces=false,
extendedchars=true,
breaklines=true,
prebreak=\unicodepoints@flipsym{\color{red}\ding{229}},
frame=single,
showtabs=false,
showspaces=false,
showstringspaces=false,
escapeinside={}{},
keywordstyle=\color[rgb]{0,0,1},
commentstyle=\color{ForestGreen},
stringstyle=\color{RedOrange},
% für 〔Paßwörter〕 und 「variable Texte」 in Listings
moredelim=[is][\color{ForestGreen}]{}{},
moredelim=*[is][\color{RedOrange}]{}{},
% Zeilennummern
numbers=left,
numberstyle=\ttfamily\color[HTML]{444444},
xleftmargin=24pt,
numbersep=12pt,
}%
\makeatother%
% Use pxfonts by default
\renewcommand{\sfdefault}{pxss}%
% sans-serif fonts should not use italic as emphasis
\renewcommand{\emph}[1]{\textbf{#1}}%
% Use Comic Sans MS as “roman” font, because we have to use the
% sans-serif font always, and like this, we spot errors easily
\renewcommand{\rmdefault}{comic}%
% default font is sans-serif, i.e. pxfonts
\renewcommand*{\familydefault}{\sfdefault}%
% em dash
\def\dash{\unskip\kern.16667em\textemdash\penalty\exhyphenpenalty\hskip.16667em\relax}%
% for footnotes
\newcommand{\Hair}{\kern.16667em}%
% for lead paragraph before IT-Mieze
\makeatletter%
\newcommand{\keinumbruch}{\par\nobreak\@afterheading}%
\makeatother%
% for nice inline pictures in boxen with rounded corners
\makeatletter%
% fbox and ovalbox line will be inside the box
\setlength{\fboxsep}{-2\fboxrule}%
% to calculate horizontal padding inside the frame
\newdimen{\inlinebildsep}%
% to store dimensions of box without padding
\newsavebox{\inlinebildbox}%
\newcommand{\inlinebild}[2][\@empty]{%
% first, generate a box with square content and w/o padding
\savebox{\inlinebildbox}{\ovalbox{\strut\hspace{1.25ex}}}%
% get its real height (Teχ height + depth)
\inlinebildsep=\ht\inlinebildbox%
\advance\inlinebildsep by \dp\inlinebildbox%
% subtract its real width
\advance\inlinebildsep by -\wd\inlinebildbox%
% we want half of it on either side
\divide\inlinebildsep by 2%
% now render the actual box
\ovalbox{%
% left padding
\hspace{\inlinebildsep}%
% ensure standard height
\strut%
% the graphic
\resizebox{!}{1.25ex}{\includegraphics{#2}}%
% the text, if any
\ifx#1\@empty\else{ #1}\fi%
% right padding
\hspace{\inlinebildsep}%
}}%
\makeatother%
% for nice inline boxen with square corners
\makeatletter%
\newcommand{\inlinekasten}[1]{%
% first, generate a box with square content and w/o padding
\savebox{\inlinebildbox}{\fbox{\strut\hspace{1.25ex}}}%
% get its real height (Teχ height + depth)
\inlinebildsep=\ht\inlinebildbox%
\advance\inlinebildsep by \dp\inlinebildbox%
% subtract its real width
\advance\inlinebildsep by -\wd\inlinebildbox%
% we want half of it on either side
\divide\inlinebildsep by 2%
% now render the actual box
\fbox{%
% left padding
\hspace{\inlinebildsep}%
% ensure standard height
\strut%
% the text
#1%
% right padding
\hspace{\inlinebildsep}%
}}%
\makeatother%
\makeatletter%
% \hyperfootnotetext is what \footnotetext is supposed to be:
% like \footnote except not rendering anything (it will not
% generate a paragraph if you append % to all lines)
\newcommand\hyperfootnotetext[1]{%
% new local scope
{%
% temporarily redefine this macro to empty
\renewcommand{\@makefnmark}{}%
% temporarily prevent leaving vmode
\renewcommand{\leavevmode}{}%
% this also means we cannot create a(n empty) hyperlink
\renewcommand{\hyper@linkstart}[2]{}%
\renewcommand{\hyper@linkend}{}%
% call the original \footnote macro
\footnote{#1}%
% exit the local scope with the redefined macro
}%
% end of command
}%
\makeatother%
% uncomment to figure out overfull hbox
%\overfullrule=2cm
% -*- mode: tex -*-
%-
% Copyright © 2017
% mirabilos <t.glaser@tarent.de>
% with contributions by (among others)
% David Carlisle <http://tex.stackexchange.com/users/1090>
%
% Provided that these terms and disclaimer and all copyright notices
% are retained or reproduced in an accompanying document, permission
% is granted to deal in this work without restriction, including un‐
% limited rights to use, publicly perform, distribute, sell, modify,
% merge, give away, or sublicence.
%
% This work is provided “AS IS” and WITHOUT WARRANTY of any kind, to
% the utmost extent permitted by applicable law, neither express nor
% implied; without malicious intent or gross negligence. In no event
% may a licensor, author or contributor be held liable for indirect,
% direct, other damage, loss, or other issues arising in any way out
% of dealing in the work, even if advised of the possibility of such
% damage or existence of a defect, except proven that it results out
% of said person’s immediate fault when using the work as intended.
%-
% Change UTF-8 input encoding to not error out, but substitute, upon
% encountering characters not set up with newunicodechar.
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{unicodedomino}[2017/02/19 1.0 Domino for unknown codepoints]%
\makeatletter%
\ifx\numexpr\@undefined%
\PackageError{unicodedomino}{This package requires numexpr}%
\fi%
\ifx\UTFviii@defined\@undefined%
\PackageError{unicodedomino}{This package requires UTF-8 input encoding}%
\fi%
% nicer printing of codepoint hex numbers, not strictly necessary
\def\unicodedomino@codepoint#1{%
\ifnum#1>65535%
U-000%
\else\ifnum#1>4095%
U+%
\else%
U+0%
\fi\fi%
\expandafter\UTFviii@hexnumber\expandafter{#1}%
}%
% override to beautify the output, not strictly necessary but requested
\gdef\UTFviii@splitcsname#1:#2\relax{%
#2 (\expandafter\unicodedomino@codepoint\expandafter{%
\the\numexpr\decode@UTFviii#2\relax})%
}%
% render the actual domino piece
\def\unicodedomino@box#1#2{%
\begingroup%
\fboxsep=.1em%
\fboxrule=.4pt%
\texttt{\fbox{\makebox[0pt][l]{\textsuperscript{#1}}\textsubscript{#2}}}%
\endgroup%
}%
% expand one hex nybble
\def\unicodedomino@hex@ne#1{%
\ifnum#1>15 %
\expandafter\unicodedomino@hex@ne\expandafter{\the\numexpr(#1-8)/16\relax}%
\fi%
\UTFviii@hexdigit{\numexpr#1\ifnum#1>0-((#1-8)/16)*16\fi\relax}.%
}%
% expand all hex nybbles, zero-padded
\def\unicodedomino@hex@ll#1{%
\ifnum#1<65536 0.\fi%
\ifnum#1<4096 0.\fi%
\expandafter\unicodedomino@hex@ne\expandafter{#1}%
}%
% call the appropriate box function
\def\unicodedomino@hex@do#1.#2.#3.#4.#5.{%
\ifnum#1>0%
\unicodedomino@box{0#1#2}{#3#4#5}%
\else%
\unicodedomino@box{#2#3}{#4#5}%
\fi%
}%
% split nybbles and pass on
\protected\def\unicodedomino@hex#1{%
\edef\temp{\expandafter\unicodedomino@hex@ll\expandafter{#1}}%
\expandafter\unicodedomino@hex@do\temp\relax%
}%
% split, decode and pass on
\def\unicodedomino@decode#1:#2\relax{%
\expandafter\unicodedomino@hex\expandafter{%
\the\numexpr\decode@UTFviii#2\relax%
}%
}%
\def\UTFviii@defined#1{%
\ifx#1\relax%
% unknown char
\ifx\protect\@typeset@protect%
% not protected
\PackageWarning{inputenc}{%
Unicode\space char\space\expandafter\UTFviii@splitcsname\string#1\relax%
\space not\space set\space up\space for\space use\MessageBreak with\space%
LaTeX, replacing}%
\expandafter\unicodedomino@decode\string#1\relax%
\else%
% protected, just write the original character
\expandafter\@gobblefour\string#1%
\fi%
\else%
% known char, expand
\expandafter#1%
\fi%
}%
\makeatother%
\endinput
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment