summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/euenc/euenc.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/euenc/euenc.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/euenc/euenc.dtx')
-rw-r--r--macros/latex/contrib/euenc/euenc.dtx569
1 files changed, 569 insertions, 0 deletions
diff --git a/macros/latex/contrib/euenc/euenc.dtx b/macros/latex/contrib/euenc/euenc.dtx
new file mode 100644
index 0000000000..bee383817b
--- /dev/null
+++ b/macros/latex/contrib/euenc/euenc.dtx
@@ -0,0 +1,569 @@
+% \iffalse meta-comment
+%
+% Copyright 2006-2010 Will Robertson <wspr81@gmail.com>
+% Copyright 2009-2010 Elie Roux <elie.roux@telecom-bretagne.eu>
+% Copyright 2009-2010 Khaled Hosny <khaledhosny@eglug.org>
+%
+% Distributable under the LaTeX Project Public License,
+% version 1.3c or higher (your choice). The latest version of
+% this license is at: http://www.latex-project.org/lppl.txt
+%
+% This work is "maintained" (as per LPPL maintenance status)
+% by Will Robertson.
+%
+% This work consists of the file euenc.dtx and various derived files.
+%
+%<*dtxinfo>
+\ProvidesFile{euenc.dtx}
+%</dtxinfo>
+%<eu1>\ProvidesFile{eu1enc.def}
+%<eu2>\ProvidesFile{eu2enc.def}
+%<*eu1|eu2>
+ [2010/05/27 v0.1h Experimental Unicode font encodings]
+%</eu1|eu2>
+%
+%<*internalbatchfile>
+\begingroup
+%</internalbatchfile>
+%<*batchfile>
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ _____________________________________
+ The EUENC bundle
+ Will Robertson, Elie Roux, Khaled Hosny
+
+ License information appended.
+
+\endpreamble
+\postamble
+
+Copyright 2006-2010 Will Robertson <wspr81@gmail.com>
+Copyright 2009-2010 Elie Roux <elie.roux@telecom-bretagne.eu>
+Copyright 2009-2010 Khaled Hosny <khaledhosny@eglug.org>
+
+Distributable under the LaTeX Project Public License,
+version 1.3c or higher (your choice). The latest version of
+this license is at: http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status)
+by Will Robertson.
+
+This work consists of the file \jobname.dtx and various derived files.
+
+\endpostamble
+\askforoverwritefalse
+\generate{\file{eu1enc.def}{\from{\jobname.dtx}{eu1}}}
+\generate{\file{eu2enc.def}{\from{\jobname.dtx}{eu2}}}
+\generate{\file{test-euxlm.ltx}{\from{\jobname.dtx}{lmtest}}}
+%</batchfile>
+%<batchfile>\endbatchfile
+%<*internalbatchfile>
+\generate{\file{euenc.ins}{\from{\jobname.dtx}{batchfile}}}
+\generate{\file{euenc-style.sty}{\from{\jobname.dtx}{dtx-style}}}
+\nopreamble\nopostamble
+\generate{\file{convert-lmfd.sh}{\from{\jobname.dtx}{lmscript}}}
+\generate{\file{sed-eu1lm.sed}{\from{\jobname.dtx}{eu1sedlm}}}
+\generate{\file{sed-eu2lm.sed}{\from{\jobname.dtx}{eu2sedlm}}}
+\endgroup
+%</internalbatchfile>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\usepackage{euenc-style}
+\begin{document}
+ \DocInput{euenc.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \CheckSum{0}
+% \errorcontextlines=999 ^^A% Show up all my mistakes
+% \GetFileInfo{euenc.dtx}
+%
+% \title{The Experimental Unicode `\EUx' Encodings}
+% \author{Will Robertson \and Elie Roux \and Khaled Hosny}
+% \date{\filedate \qquad \fileversion}
+%
+% \maketitle
+%
+% \begin{abstract}\noindent
+% This file documents some experimental Unicode font encodings,
+% used for \XeTeX\ and Lua\TeX. Includes Latin Modern font definitions for version 1.6 and later of those fonts.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Introduction}
+%
+% \LaTeX's font encoding system provides a method for ensuring that
+% characters in a document can be rendered properly by glyphs in the output.
+% It is also a sensible system for typesetting multilingual documents
+% while remaining within \TeX's restrictions of 8-bit fonts.
+%
+% When \XeTeX\ came along, no work had been done on using
+% this infrastructure for Unicode fonts. For one thing, the notion of a well-defined
+% font encoding --- which neatly pigeonholes a font into a category of containing
+% a specific set of glyphs --- doesn't work so well when designers have
+% an essentially unrestricted selection of glyphs they may add to their fonts.
+%
+% Both technical advantages of \LaTeX's font encodings --- error checking, and
+% multilingual typesetting --- were no longer relevant with \XeTeX, due to
+% impracticality for the former and redundancy in the latter; \XeTeX's support
+% of OpenType fonts obviates the need for font switching (for glyph coverage only) by necessity when changing
+% languages, although multiple fonts will often be used for stylistic purposes.
+%
+% Nonetheless, font encodings are tied inextricably into \LaTeX's font selection
+% mechanisms. For the first couple of years of \XeTeX's life, defined font families
+% were placed in the |U| encoding; appropriate, given the Unicode initial, but
+% \emph{inappropriate} within the framework of \LaTeX\ itself. The |U| encoding
+% stands for `undefined', to be used for fonts that contain glyphs that are essentially
+% arbitrary; for example, a Dingbats font.
+%
+% Since \XeLaTeX\ documents didn't interact with the `regular' world so much,
+% this overloading of the encoding didn't really matter in the long run. But eventually,
+% it became apparent that it would be appropriate to use font encodings to represent
+% Unicode subsets and/or different methods of font loading. With the advent of Lua\TeX,
+% this latter use has justified the approach originally taken here.
+%
+%
+% \section{The \EU1 encoding}
+%
+% The \EU1 encoding represents the first attempt of providing a
+% standard \LaTeX\ encoding for Unicode fonts.
+% At present, it loads and defines nothing in terms of declaring text
+% glyphs and accents. That r\^{o}le is played for now by Ross Moore's \pkg{xunicode}
+% package; in the future I hope some of that package will migrate here.
+%
+% Because we can assume that all current \TeX\ distributions will
+% contain the Latin Modern OpenType fonts (\path{fonts/opentype/public/lm}),
+% these are selected as the default fonts. More details on this later.
+%
+% I am now defining the convention that \EU1 encoded fonts have no
+% necessary subsets of Unicode. Perhaps in the future this will be restricted
+% to fonts that support Unicode accent characters.
+%
+% Furthermore, no restrictions are made on the method used to load the font.
+% \XeTeX\ allows fonts of two types: system installed fonts (also accessible
+% via regular applications or programs); and `local' fonts, which are specified
+% by filename to be found either in a |texmf| tree of the local directory.
+% \iffalse
+%<*eu1>
+% \fi
+% \begin{macrocode}
+\DeclareFontEncoding{EU1}{}{}
+\DeclareErrorFont{EU1}{lmr}{m}{n}{10}
+\DeclareFontSubstitution{EU1}{lmr}{m}{n}
+% \end{macrocode}
+% The |:| character needs to be sanitised in case \pkg{babel} makes it active:
+% \begin{macrocode}
+\g@addto@macro\nfss@catcodes{\@makeother:}
+% \end{macrocode}
+% \changes{v0.1d}{2008/03/08}{Bug fix for French babel.}
+% \iffalse
+%</eu1>
+% \fi
+%
+% \section{The \EU2 encoding}
+%
+% The \EU2 encoding is to be used with Lua\TeX. It is the same as
+% \EU1 for now; the actual difference is in the font definition files.
+%
+% \iffalse
+%<*eu2>
+% \fi
+% \begin{macrocode}
+\DeclareFontEncoding{EU2}{}{}
+\DeclareErrorFont{EU2}{lmr}{m}{n}{10}
+\DeclareFontSubstitution{EU2}{lmr}{m}{n}
+% \end{macrocode}
+% The |:| character needs to be sanitised in case \pkg{babel} makes it active:
+% \begin{macrocode}
+\g@addto@macro\nfss@catcodes{\@makeother:}
+% \end{macrocode}
+% \iffalse
+%</eu2>
+% \fi
+%
+% \section{The Latin Modern OpenType fonts}
+%
+% Version 0.1g of \pkg{euenc} supports version~1.6 of the LM fonts, released in October 2009.
+%
+% \subsection{Conversion scripts}
+% The |.fd| files are converted from the \enc{T1} encoding
+% with the following shell script.
+% Only the package maintainers need to be able to run this script and those following.
+%
+% \subsubsection{Encoding conversion shell script}
+%
+% \iffalse
+%<*lmscript>
+% \fi
+% \begin{macrocode}
+sed -f sed-eu1lm.sed `kpsewhich t1lmr.fd` > eu1lmr.fd
+sed -f sed-eu1lm.sed `kpsewhich t1lmdh.fd` > eu1lmdh.fd
+sed -f sed-eu1lm.sed `kpsewhich t1lmss.fd` > eu1lmss.fd
+sed -f sed-eu1lm.sed `kpsewhich t1lmssq.fd` > eu1lmssq.fd
+sed -f sed-eu1lm.sed `kpsewhich t1lmvtt.fd` > eu1lmvtt.fd
+
+sed -f sed-eu2lm.sed `kpsewhich t1lmr.fd` > eu2lmr.fd
+sed -f sed-eu2lm.sed `kpsewhich t1lmdh.fd` > eu2lmdh.fd
+sed -f sed-eu2lm.sed `kpsewhich t1lmss.fd` > eu2lmss.fd
+sed -f sed-eu2lm.sed `kpsewhich t1lmssq.fd` > eu2lmssq.fd
+sed -f sed-eu2lm.sed `kpsewhich t1lmvtt.fd` > eu2lmvtt.fd
+
+sed -f sed-eu1lm.sed -e \
+ 's/:mapping=tex-text//g' `kpsewhich t1lmtt.fd` > eu1lmtt.fd
+sed -f sed-eu2lm.sed -e \
+ 's/;.trep;.tlig;//g' `kpsewhich t1lmtt.fd` > eu2lmtt.fd
+% \end{macrocode}
+% \iffalse
+%</lmscript>
+% \fi
+%
+% \subsubsection{Encoding conversion \texttt{sed} scripts}
+% The shell script above requires the following |sed| scripts.
+%
+% \paragraph{Sed scripts}
+% \iffalse
+%<*eu1sedlm,eu2sedlm>
+% \fi
+% \begin{macrocode}
+/^%.*/d
+%<eu1sedlm>s/{T1}/{EU1}/g
+%<eu1sedlm>s/t1lm/eu1lm/g
+%<eu2sedlm>s/{T1}/{EU2}/g
+%<eu2sedlm>s/t1lm/eu2lm/g
+
+s/ec-lmri\([0-9]*\)/lmroman\1-italic/g
+s/ec-lmro\([0-9]*\)/lmromanslant\1-regular/g
+s/ec-lmr\([0-9]*\)/lmroman\1-regular/g
+s/ec-lmcsco\([0-9]*\)/lmromancaps\1-oblique/g
+s/ec-lmcsc\([0-9]*\)/lmromancaps\1-regular/g
+
+s/ec-lmbxo\([0-9]*\)/lmromanslant\1-bold/g
+s/ec-lmbxi\([0-9]*\)/lmroman\1-bolditalic/g
+s/ec-lmbx\([0-9]*\)/lmroman\1-bold/g
+s/ec-lmbo\([0-9]*\)/lmromandemi\1-oblique/g
+s/ec-lmb\([0-9]*\)/lmromandemi\1-regular/g
+
+s/ec-lmdunh\([0-9]*\)/lmromandunh\1-regular/g
+s/ec-lmduno\([0-9]*\)/lmromandunh\1-oblique/g
+
+s/ec-lmss\([0-9]\{1,\}\)/lmsans\1-regular/g
+s/ec-lmsso\([0-9]\{1,\}\)/lmsans\1-oblique/g
+
+s/ec-lmssdc\([0-9]\{1,\}\)/lmsansdemicond\1-regular/g
+s/ec-lmssdo\([0-9]\{1,\}\)/lmsansdemicond\1-oblique/g
+
+s/ec-lmssbx\([0-9]\{1,\}\)/lmsans\1-bold/g
+s/ec-lmssbo\([0-9]\{1,\}\)/lmsans\1-boldoblique/g
+
+s/ec-lmssq\([0-9]\{1,\}\)/lmsansquot\1-regular/g
+s/ec-lmssqo\([0-9]\{1,\}\)/lmsansquot\1-oblique/g
+s/ec-lmssqbx\([0-9]\{1,\}\)/lmsansquot\1-bold/g
+s/ec-lmssqbo\([0-9]\{1,\}\)/lmsansquot\1-boldoblique/g
+
+s/ec-lmtt\([0-9]\{1,\}\)/lmmono\1-regular/g
+s/ec-lmtto\([0-9]\{1,\}\)/lmmonoslant\1-regular/g
+s/ec-lmtti\([0-9]\{1,\}\)/lmmono\1-italic/g
+
+s/ec-lmtcsc\([0-9]\{1,\}\)/lmmonocaps\1-regular/g
+s/ec-lmtcso\([0-9]\{1,\}\)/lmmonocaps\1-oblique/g
+
+s/ec-lmtl\([0-9]\{1,\}\)/lmmonolt\1-regular/g
+s/ec-lmtlo\([0-9]\{1,\}\)/lmmonolt\1-oblique/g
+s/ec-lmtk\([0-9]\{1,\}\)/lmmonolt\1-bold/g
+s/ec-lmtko\([0-9]\{1,\}\)/lmmonolt\1-boldoblique/g
+
+s/ec-lmtlc\([0-9]\{1,\}\)/lmmonoltcond\1-regular/g
+s/ec-lmtlco\([0-9]\{1,\}\)/lmmonoltcond\1-oblique/g
+
+s/ec-lmvtt\([0-9]\{1,\}\)/lmmonoprop\1-regular/g
+s/ec-lmvtto\([0-9]\{1,\}\)/lmmonoprop\1-oblique/g
+
+s/ec-lmvtl\([0-9]\{1,\}\)/lmmonoproplt\1-regular/g
+s/ec-lmvtlo\([0-9]\{1,\}\)/lmmonoproplt\1-oblique/g
+s/ec-lmvtk\([0-9]\{1,\}\)/lmmonoproplt\1-bold/g
+s/ec-lmvtko\([0-9]\{1,\}\)/lmmonoproplt\1-boldoblique/g
+
+%<eu1sedlm>s/\(>.[ ]*\)\(lm[a-z0-9\-]\{1,\}\)/\1"[\2]:mapping=tex-text"/g
+%<eu2sedlm>s/\(>.[ ]*\)\(lm[a-z0-9\-]\{1,\}\)/\1file:\2:script=latn;+trep;+tlig;/g
+% \end{macrocode}
+% \changes{v0.1}{2007/01/18}{`ssdc' and `ssdo' were switched with the upright for some reason.}
+% \changes{v0.1d}{2008/03/08}{Missed typewriter italic somehow.}
+% \changes{v0.1e}{2008/05/14}{Oblique mono was wrong (?!).}
+% \iffalse
+%</eu1sedlm,eu2sedlm>
+% \fi
+%
+%
+% \section{Latin Modern test file}
+% Adapted and improved from my Prac\TeX\ Journal article on the Latin Modern fonts.
+%
+% \iffalse
+%<*lmtest>
+% \fi
+% \begin{macrocode}
+\documentclass[12pt]{article}
+\usepackage[margin=2.5cm]{geometry}
+\newenvironment{vrb}
+ {\begin{tabular}{@{}p{7cm}l@{}}}
+ {\end{tabular}}
+
+\usepackage{fancyvrb}
+\DefineShortVerb{\|}
+
+\usepackage{slantsc}
+\usepackage{ifluatex}
+\usepackage{ifxetex}
+\ifxetex
+ \def\EU{EU1}
+\else
+ \ifluatex
+ \usepackage{luaotfload}
+ \def\EU{EU2}
+ \else
+ \def\EU{T1}
+ \fi
+\fi
+\usepackage[\EU]{fontenc}
+\usepackage{lmodern}
+\begin{document}
+
+\title{Testing the Latin Modern \texttt{\EU} encoding}
+\author{Will Robertson}
+\maketitle
+\thispagestyle{empty}
+\pagestyle{empty}
+
+\section*{Roman}
+
+\fontfamily{lmr}\selectfont
+\begin{vrb}
+|\rmdefault| & {\selectfont Latin Modern Roman} \\
+| \itshape| & {\itshape Latin Modern Roman Italic} \\
+| \slshape| & {\slshape Latin Modern Roman Oblique} \\
+| \scshape| & {\scshape Latin Modern Roman Small Caps} \\
+| \slshape| & {\scshape\slshape Latin Modern Roman Oblique Small Caps} \\
+| \bfseries| & {\bfseries Latin Modern Roman Bold Extended} \\
+| \itshape| & {\bfseries\itshape Latin Modern Roman Bold Italic Extended} \\
+| \slshape| & {\bfseries\slshape Latin Modern Roman Bold Oblique Extended} \\
+| \fontseries{b}| & {\fontseries{b}\selectfont Latin Modern Roman Bold} \\
+| \fontseries{b}\slshape| & {\fontseries{b}\slshape Latin Modern Roman Bold Oblique} \\
+\end{vrb}
+
+\section*{Dunhill}
+
+\fontfamily{lmdh}\selectfont
+\begin{vrb}
+|\fontfamily{lmdh}\selectfont| & {Latin Modern Dunhill} \\
+| \slshape| & {\slshape Latin Modern Dunhill Oblique} \\
+\end{vrb}
+
+\section*{Sans}
+
+\fontfamily{lmss}\selectfont
+\begin{vrb}
+|\sffamily| & {\selectfont Latin Modern Sans} \\
+| \slshape| & {\slshape Latin Modern Sans Oblique} \\
+| \bfseries| & {\bfseries Latin Modern Sans Bold} \\
+| \slshape| & {\bfseries\slshape Latin Modern Sans Bold Oblique} \\
+| \fontseries{sbc}\selectfont| & {\fontseries{sbc}\selectfont Latin Modern Sans Demi Condensed} \\
+| \slshape| & {\fontseries{sbc}\selectfont\slshape Latin Modern Sans Demi Condensed Oblique} \\
+\end{vrb}
+
+\section*{Sans Quotation}
+
+\fontfamily{lmssq}\selectfont
+\begin{vrb}
+|\renewcommand\sfdefault{lmssq}| \\
+|\sffamily | & {\selectfont Latin Modern Sans Extended} \\
+| \slshape | & {\slshape Latin Modern Sans Extended Oblique} \\
+| \bfseries | & {\bfseries Latin Modern Sans Bold Extended} \\
+| \slshape | & {\bfseries\slshape Latin Modern Sans Bold Extended Oblique} \\
+\end{vrb}
+
+\section*{Typewriter}
+
+\fontfamily{lmtt}\selectfont
+\begin{vrb}
+|\ttfamily | & {\selectfont Latin Modern Typewriter} \\
+| \itshape | & {\itshape Latin Modern Typewriter Italic} \\
+| \slshape | & {\slshape Latin Modern Typewriter Oblique} \\
+| \scshape | & {\scshape Latin Modern Typewriter Small Caps} \\
+| \scshape\slshape | & {\scshape\slshape Latin Modern Typewriter Oblique Small Caps} \\
+| \bfseries | & {\bfseries Latin Modern Typewriter Dark} \\
+| \slshape | & {\bfseries\slshape Latin Modern Typewriter Dark Oblique} \\
+| \fontseries{b}\selectfont | & {\fontfamily{lmtt}\fontseries{b}\selectfont Latin Modern Typewriter Dark} \\
+| \fontseries{b}\slshape | & {\fontfamily{lmtt}\fontseries{b}\slshape Latin Modern Typewriter Dark Oblique} \\
+| \fontseries{l}\selectfont | & {\fontfamily{lmtt}\fontseries{l}\selectfont Latin Modern Typewriter Light} \\
+| \fontseries{l}\slshape | & {\fontfamily{lmtt}\fontseries{l}\slshape Latin Modern Typewriter Light Oblique} \\
+| \fontseries{lc}\selectfont | & {\fontfamily{lmtt}\fontseries{lc}\selectfont Latin Modern Typewriter Light Condensed} \\
+| \fontseries{lc}\slshape | & {\fontfamily{lmtt}\fontseries{lc}\slshape Latin Modern Typewriter Light Condensed Oblique} \\
+\end{vrb}
+
+\section*{Variable-width Typewriter}
+
+\fontfamily{lmvtt}\selectfont
+\def\fixedspacing{\fontdimen3\font0pt\fontdimen4\font0pt}
+\begin{vrb}
+|\renewcommand\ttdefault{lmvtt}| \\
+|\ttfamily | & {\selectfont \fixedspacing Latin Modern Typewriter Proportional} \\
+| \slshape | & {\slshape \fixedspacing Latin Modern Typewriter Proportional Oblique} \\
+| \fontseries{l}\selectfont | & {\fontseries{l}\selectfont \fixedspacing Latin Modern Typewriter Proportional Light} \\
+| \fontseries{l}\slshape | & \mbox{\fontseries{l}\slshape \fixedspacing Latin Modern Typewriter Proportional Light Oblique} \\
+| \fontseries{b}\selectfont | & {\fontseries{b}\selectfont \fixedspacing Latin Modern Typewriter Proportional Dark} \\
+| \fontseries{b}\slshape | & \mbox{\fontseries{b}\slshape \fixedspacing Latin Modern Typewriter Proportional Dark Oblique} \\
+\end{vrb}
+
+\end{document}
+% \end{macrocode}
+% \iffalse
+%</lmtest>
+% \fi
+%
+% \clearpage
+% \PrintChanges
+%
+% \clearpage
+%
+% \PrintIndex
+%
+% \Finale
+%
+%\iffalse
+%
+%<*dtx-style>
+% \begin{macrocode}
+\ProvidesPackage{euenc-style}
+
+\def\@dotsep{1000}
+\setcounter{tocdepth}{2}
+\setlength\columnseprule{0.4pt}
+\renewcommand\tableofcontents{\relax
+ \begin{multicols}{2}[\section*{\contentsname}]\relax
+ \@starttoc{toc}\relax
+ \end{multicols}}
+
+\setcounter{IndexColumns}{2}
+\renewenvironment{theglossary}
+ {\small\list{}{}
+ \item\relax
+ \glossary@prologue\GlossaryParms
+ \let\item\@idxitem \ignorespaces
+ \def\pfill{\hspace*{\fill}}}
+ {\endlist}
+
+\usepackage{booktabs,calc,color,fancyvrb,graphicx,ifthen,refstyle,url,varioref}
+\usepackage{metalogo}
+\usepackage{tgpagella,eulervm}
+\usepackage[scaled=1.1]{inconsolata}
+\usepackage[
+ bookmarks=true,
+ colorlinks=true,
+ linkcolor=niceblue,
+ urlcolor=niceblue,
+ citecolor=niceblue,
+ pdftitle={The Experimental Unicode 'EUx' Encodings},
+ pdfsubject={Experimental Unicode font encodings for Unicode TeX engines},
+ pdfauthor={Will Robertson},
+ pdfkeywords={xetex, xelatex, luatex, lualatex, unicode, fontenc}
+ ]{hyperref}
+
+\definecolor{niceblue}{rgb}{0.4,0.6,1.000}
+\newenvironment{example}
+ {\hrulefill\par\VerbatimEnvironment
+ \begin{VerbatimOut}[gobble=4]{\examplefilename}}
+ {\end{VerbatimOut}\relax
+ \begingroup
+ \color{niceblue}
+ \typesetexample
+ \endgroup\par\hrulefill}
+
+\let\examplesize\normalsize
+\let\auxwidth\relax
+
+\newlength\examplewidth\newlength\verbatimwidth
+\newlength\exoutdent \newlength\exverbgap
+\setlength\exverbgap{1em}
+\setlength\exoutdent{-0.15\textwidth}
+\newsavebox\verbatimbox
+\edef\examplefilename{\jobname.example}
+
+\newcommand\typesetexample{\relax
+ \begin{lrbox}{\verbatimbox}\relax
+ \BVerbatimInput[fontsize=\small]{\examplefilename}\relax
+ \end{lrbox}
+ \begin{list}{}{\setlength\itemindent{0pt}
+ \setlength\leftmargin\exoutdent
+ \setlength\rightmargin{0pt}}\item
+ \ifx\auxwidth\relax
+ \setlength\verbatimwidth{\wd\verbatimbox}\relax
+ \else
+ \setlength\verbatimwidth{\auxwidth}\relax
+ \fi
+ \begin{minipage}[c]{\textwidth-\exoutdent-\verbatimwidth-\exverbgap}
+ \catcode`\%=14\centering\examplesize\input\examplefilename\relax
+ \end{minipage}\hfill
+ \begin{minipage}[c]{\verbatimwidth}
+ \usebox\verbatimbox
+ \end{minipage}
+ \end{list}
+ \global\let\examplesize\normalsize}
+
+\newcommand*\setexsize[1]{\let\examplesize#1}
+\newcommand*\setverbwidth[1]{\def\auxwidth{#1}}
+
+\newcommand*\name[1]{{#1}}
+\newcommand*\pkg[1]{\textsf{#1}}
+\newcommand*\enc[1]{\texttt{#1}}
+
+\let\latin\textit
+\def\eg{\latin{e.g.}}
+\def\ie{\latin{i.e.}}
+\def\etc{\@ifnextchar.{\latin{etc}}{\latin{etc.}\@}}
+
+%% LOGOS, tuned for Pagella:
+\setlogokern{Te}{-0.12em}%
+\setlogokern{eT}{-0.12em}%
+\setlogokern{eX}{-0.12em}%
+\setlogokern{Xe}{-0.12em}%
+\setlogokern{La}{-0.3em}%
+\setlogokern{aT}{-0.12em}%
+\setlogokern{eL}{-0.1em}
+
+\def\MacOSX{Mac~OS~X}
+
+\DeclareRobustCommand\ExTeX{\textrm{\relax
+ \ensuremath{\textstyle\varepsilon_{\kern-0.15em\mathcal{X}}}\relax
+ \kern-.15em\TeX}}
+
+\def\EU#1{\enc{EU#1}}
+\def\EUx{\enc{EU$x$}}
+
+%% (La)TeX font-related declarations:
+\linespread{1.05} % Pagella needs more space between lines
+\frenchspacing % Remove ugly extra space after punctuation
+
+% \end{macrocode}
+%</dtx-style>
+%\fi
+%
+% \makeatother
+% \typeout{*************************************************************}
+% \typeout{*}
+% \typeout{* To finish the installation you have to move the following}
+% \typeout{* files into a directory searched by LaTeX:}
+% \typeout{*}
+% \typeout{* \space\space\space eu1enc.def, \space eu2enc.def, \space eu*.fd, }
+% \typeout{*}
+% \typeout{*************************************************************}
+%
+\endinput