[latex3-commits] [git/LaTeX3-latex3-babel] master: Fix: mirrored parenthesis in math. Added tools/incubator.html. (25e091a)
Javier
email at dante.de
Sat Jan 9 16:35:47 CET 2021
Repository : https://github.com/latex3/babel
On branch : master
Link : https://github.com/latex3/babel/commit/25e091ae897d9c07b8c1b5e917a182aaf8438e2d
>---------------------------------------------------------------
commit 25e091ae897d9c07b8c1b5e917a182aaf8438e2d
Author: Javier <email at localhost>
Date: Sat Jan 9 16:35:47 2021 +0100
Fix: mirrored parenthesis in math. Added tools/incubator.html.
>---------------------------------------------------------------
25e091ae897d9c07b8c1b5e917a182aaf8438e2d
README.md | 3 +-
babel.dtx | 29 ++-
babel.ins | 2 +-
babel.pdf | Bin 817891 -> 819218 bytes
bbcompat.dtx | 2 +-
samples/lua-hebrew-secenum.pdf | Bin 55880 -> 54962 bytes
samples/lua-hebrew-secenum.tex | 11 +-
samples/lua-hebrew.pdf | Bin 84286 -> 107429 bytes
samples/lua-hebrew.tex | 5 +-
tools/incubator.html | 574 +++++++++++++++++++++++++++++++++++++++++
10 files changed, 600 insertions(+), 26 deletions(-)
diff --git a/README.md b/README.md
index 5649183..7c21f66 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## Babel 3.52.2245
+## Babel 3.52.2247
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -51,6 +51,7 @@ respective authors.
* Fixes:
- Not really a fix, but I started working on `picture` with
bidi in lua.
+ - Parenthesis sometimes mirrored at the end of math.
3.52 2020-12-16
* WARNING. If you need the style for Afrikaans you must update
diff --git a/babel.dtx b/babel.dtx
index f8dc6d9..ba8b8a3 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -31,7 +31,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2021/01/07 v3.52.2245 The Babel package]
+\ProvidesFile{babel.dtx}[2021/01/09 v3.52.2247 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -784,16 +784,16 @@ to be |\begin{otherlanguage*}|\marg{language1}, and so on. Note
|\|\m{tag1} is also allowed, but remember to set it locally inside a
group.
-% \begin{warning}
-% There is a clear drawback in this feature, namely, the ‘prefix’
-% |\text...| is heavily overloaded in \LaTeX{} and there can some
-% conflicts with existing macros (|\textlatin|, |\textbar|,
-% |\textit|, |\textcolor| and so on). The same applies to
-% environments, because |arabic| conflicts with |\arabic|. Except if
-% there is a reason for this ‘syntactical sugar’, the best option is
-% to stick to the default selectors or to define your own
-% alternatives.
-% \end{warning}
+\begin{warning}
+ There is a clear drawback in this feature, namely, the ‘prefix’
+ |\text...| is heavily overloaded in \LaTeX{} and there can some
+ conflicts with existing macros (|\textlatin|, |\textbar|,
+ |\textit|, |\textcolor| and so on). The same applies to
+ environments, because |arabic| conflicts with |\arabic|. Except if
+ there is a reason for this ‘syntactical sugar’, the best option is
+ to stick to the default selectors or to define your own
+ alternatives.
+\end{warning}
\begin{example}
With
@@ -4854,8 +4854,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.52.2245>>
-%<<date=2021/01/07>>
+%<<version=3.52.2247>>
+%<<date=2021/01/09>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -20964,6 +20964,9 @@ function Babel.bidi(head, ispar, hdir)
has_en = false
end
+ -- Force mathdir in math (currently works as expected with 'l')
+ if inmath then d = ('TRT' == tex.mathdir) and 'r' or 'l' end
+
if d then
if d == 'al' then
d = 'r'
diff --git a/babel.ins b/babel.ins
index a96125b..79ddf92 100644
--- a/babel.ins
+++ b/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2021/01/07}
+\def\filedate{2021/01/09}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/babel.pdf b/babel.pdf
index 2f284b4..401950d 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index 20a0fd1..5925b18 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2021/01/07 v3.52.2245]
+\ProvidesFile{bbcompat.dtx}[2021/01/09 v3.52.2247]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/samples/lua-hebrew-secenum.pdf b/samples/lua-hebrew-secenum.pdf
index 7628b43..4b56643 100644
Binary files a/samples/lua-hebrew-secenum.pdf and b/samples/lua-hebrew-secenum.pdf differ
diff --git a/samples/lua-hebrew-secenum.tex b/samples/lua-hebrew-secenum.tex
index 3174eec..8e03622 100644
--- a/samples/lua-hebrew-secenum.tex
+++ b/samples/lua-hebrew-secenum.tex
@@ -6,21 +6,16 @@
\usepackage[
nil,
bidi=basic,
- layout=tabular % counters % not for hebrew
+ layout=tabular % Don't set 'counters' for hebrew
]{babel}
-\babelprovide[import,main]{hebrew}
+\babelprovide[import, main, alph=letters]{hebrew}
\babelfont{rm}{Libertinus Serif}
\babelfont{sf}[Scale=MatchLowercase]{FreeSans}
\babeltags{lr = nil, he = hebrew}
-% A quick dirty trick for Hebrew alph counters:
-\makeatletter
-\def\@alph#1{\char\numexpr1487+#1\relax}
-\makeatother
-
% See below:
\newcommand\refrange[2]{\babelsublr{\texthe{\ref{#1}}-\texthe{\ref{#2}}}}
@@ -72,7 +67,7 @@ W=\Delta E_k
\item מסת כבידה אקטיבית: מדד לכוח הכבידה
שהגוף מפעיל על גופים אחרים.
-\begin{enumerate}[\theenumi a,noitemsep]
+\begin{enumerate}[\theenumi a),noitemsep]
\item מסת כבידה פסיבית: מדד להשפעה של כוח הכבידה על הגוף.
\end{enumerate}
\end{enumerate}
diff --git a/samples/lua-hebrew.pdf b/samples/lua-hebrew.pdf
index e2a389a..fdcb94b 100644
Binary files a/samples/lua-hebrew.pdf and b/samples/lua-hebrew.pdf differ
diff --git a/samples/lua-hebrew.tex b/samples/lua-hebrew.tex
index 2def224..43cde28 100644
--- a/samples/lua-hebrew.tex
+++ b/samples/lua-hebrew.tex
@@ -153,8 +153,9 @@ $f(x)=g(x)$ לכל $x\in X$.
Compare with \texttt{http://tanach.us/Tanach.xml?Ps1:1-1:6}.
Cantillation marks (the second paragraph) are wrong with both
-\textsf{xetex} and \textsf{luatex}. The font is FreeSerif. Depending on
-the font and the engine, the rendering may be better or worse.
+\textsf{xetex} and \textsf{luatex} (any renderer). The font is
+FreeSerif. Depending on the font and the engine, the rendering may be
+better or worse.
\bigskip
diff --git a/tools/incubator.html b/tools/incubator.html
new file mode 100644
index 0000000..0f40dd0
--- /dev/null
+++ b/tools/incubator.html
@@ -0,0 +1,574 @@
+<!DOCTYPE html>
+<html lang="es" dir="ltr">
+<head>
+<title>Language incubator for babel</title>
+<meta http-equiv="content-language" content="es" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta charset="UTF-8" />
+<meta name="viewport" content="width=device-width" />
+
+
+<link href="texytipo.css" rel="stylesheet" type="text/css" />
+<style>
+ form.ldf label { display:inline-block; width: 15em; }
+ form.ldf input { display:inline-block; width: 20em; }
+</style>
+
+<script>
+function addCaption (name) {
+ var value = document.getElementById(name).value.trim();
+ return ' \\SetString{\\' + name + '}{' + value + '}\n';
+}
+function addCaptionLoop (name) {
+ var value = document.getElementById(name).value.trim();
+ return value;
+}
+Language
+function doCreate() {
+ doc = document.getElementById('templatedtx').innerHTML;
+ ins = document.getElementById('templateins').innerHTML;
+ doc = doc.replace(/\[=captions=]/g, getCaptions());
+ doc = doc.replace(/\[=months=]/g, getMonths());
+ doc = doc.replace(/\[=today=]/g, getToday());
+ ins = ins.replace(/\[=today=]/g, getToday());
+ var lang = document.getElementById('languageid').value.trim();
+ doc = doc.replace(/\[=language=]/g, lang);
+ ins = ins.replace(/\[=language=]/g, lang);
+ doc = doc.replace(/\[=Language=]/g,
+ lang.substr(0,1).toUpperCase() + lang.substr(1));
+ doc = doc.replace(/\[=date=]/g, document.getElementById('vdateid').value);
+ ins = ins.replace(/\[=date=]/g, document.getElementById('vdateid').value);
+ doc = doc.replace(/\[=year=]/g,
+ document.getElementById('vdateid').value.match(/\d\d\d\d/)[0]);
+ ins = ins.replace(/\[=year=]/g,
+ document.getElementById('vdateid').value.match(/\d\d\d\d/)[0]);
+ doc = doc.replace(/\[=version=]/g, document.getElementById('vnumberid').value.trim());
+ ins = ins.replace(/\[=version=]/g, document.getElementById('vnumberid').value.trim());
+ doc = doc.replace(/\[=string=]/g, document.getElementById('vstringid').value.trim());
+ ins = ins.replace(/\[=string=]/g, document.getElementById('vstringid').value.trim());
+ doc = doc.replace(/\[=author=]/g, document.getElementById('authorid').value.trim());
+ ins = ins.replace(/\[=author=]/g, document.getElementById('authorid').value.trim());
+ var softhy = document.getElementById('softhy').value.trim();
+ var hardhy = document.getElementById('hardhy').value.trim();
+ var breakligs = document.getElementById('breakligs').value.trim();
+
+ if ( softhy + hardhy + breakligs != '') {
+ var decl = '\\initiate at active@char{"}';
+ if ( softhy != '' ) {
+ decl += '\n\\declare at shorthand{' + lang + '}{' +
+ softhy + '}{\\bbl at hy@soft}'; }
+ if ( hardhy != '' ) {
+ decl += '\n\\declare at shorthand{' + lang + '}{' +
+ hardhy + '}{\\bbl at hy@hard}'; }
+ if ( breakligs != '' ) {
+ decl += '\n\\declare at shorthand{' + lang + '}{' +
+ breakligs + '}{\\discretionary{-}{}{\kern.03em}}'; }
+ doc = doc.replace(/\[=initiate=]/, decl);
+ var shorts = '\n \\languageshorthands{' + lang + '}%\n'
+ shorts += ' \\bbl at activate{"}'
+ doc = doc.replace(/\[=shorts=]/, shorts);
+ doc = doc.replace(/\[=deshorts=]/, '\n \\bbl at deactivate{"}');
+ } else {
+ doc = doc.replace(/\[=initiate=]/, '%');
+ doc = doc.replace(/\[=shorts=]/, '');
+ doc = doc.replace(/\[=deshorts=]/, '');
+ }
+
+ if ( document.getElementById('frenchsp').checked ) {
+ doc = doc.replace(/\[=frenchsp=]/, '\\bbl at frenchspacing');
+ } else {
+ doc = doc.replace(/\[=frenchsp=]/, '\\bbl at nonfrenchspacing');
+ }
+
+ document.getElementById('outputdtx').innerHTML = doc;
+ document.getElementById('outputins').innerHTML = ins;
+
+// return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
+}
+
+function openWin ( ext ) {
+ var lang = document.getElementById('languageid').value.trim();
+ var win = window.open('', lang + ext);
+ win.document.write( document.getElementById('output' + ext).innerHTML );
+ win.document.close();
+}
+
+function getCaptions() {
+ var result = addCaption("prefacename");
+ result += addCaption("refname");
+ result += addCaption("abstractname");
+ result += addCaption("bibname");
+ result += addCaption("chaptername");
+ result += addCaption("appendixname");
+ result += addCaption("contentsname");
+ result += addCaption("listfigurename");
+ result += addCaption("listtablename");
+ result += addCaption("indexname");
+ result += addCaption("figurename");
+ result += addCaption("tablename");
+ result += addCaption("partname");
+ result += addCaption("enclname");
+ result += addCaption("ccname");
+ result += addCaption("headtoname");
+ result += addCaption("pagename");
+ result += addCaption("seename");
+ result += addCaption("alsoname");
+ result += addCaption("proofname");
+ result += addCaption("glossaryname");
+ return result;
+ //document.getElementById("outputdtx").innerHTML = result;
+}
+
+function getMonths() {
+ var result = addCaptionLoop("monthi");
+ result += ',' + addCaptionLoop("monthii");
+ result += ',' + addCaptionLoop("monthiii");
+ result += ',' + addCaptionLoop("monthiv");
+ result += ',' + addCaptionLoop("monthv");
+ result += ',' + addCaptionLoop("monthvi");
+ result += ',' + addCaptionLoop("monthvii");
+ result += ',' + addCaptionLoop("monthviii");
+ result += ',' + addCaptionLoop("monthix");
+ result += ',' + addCaptionLoop("monthx");
+ result += ',' + addCaptionLoop("monthxi");
+ result += ',' + addCaptionLoop("monthxii");
+
+return ' \\SetStringLoop{month#1name}{%\n ' + result + '}';
+}
+
+function getToday() {
+ var result = document.getElementById('today').value.trim();
+ result = result.replace('#d#', '{\\number\\day}');
+ result = result.replace('#m#', '\\@nameuse{month\\romannumeral\\month name}');
+ result = result.replace('#y#', '{\\number\\year}');
+ return result;
+}
+
+</script>
+</head>
+
+<body>
+<div class="page">
+<div class="subhead"></div>
+<div class="article">
+<div class="fullbody">
+
+<h1>Language incubator for babel</h1>
+
+
+<small><i>Version 0.1. 2015-01-31.</i></small>
+
+<p>Creating an <code>ldf</code> file for <a href="babel_news.html">babel</a> can be
+intimidating. This page provides a simple way to create a simple
+language definition file for the babel system. This is still very
+rudimentary, but even so you may find it a very convenient way to, at
+least, start the work.</p>
+
+<p>Currently only the skeleton, the minimal structure, is generated.
+Anyway, it can be used directly, even if it is not fully adapted to
+the typographical conventions. Future work will provide more tools
+and very likely integration with <a href="http://cldr.unicode.org/">CLDR</a> in
+order the ease localizing TeX. Output for polyglossia is also
+intended.</p>
+
+<p>String are currently not converted to the <span class="caps">LICR</span> for traditional engines
+(you must still do it by hand — to be fixed).</p>
+
+<p>Another nice improvement would be beautifying this page, of course.</p>
+
+<p>Note also I haven’t said it’s bug free.</p>
+
+
+<form class="ldf">
+<h2>Identification</h2>
+
+<label>Author</label><input type="text" id="authorid"><br>
+<label>Language</label><input type="text" id="languageid"><br>
+<label>Version number</label><input type="text" id="vnumberid"><br>
+<label>Version date</label><input type="text" id="vdateid"> (format must be YYYY/MM/DD)<br>
+<label>Version string</label><input type="text" id="vstringid"> (eg, <code>Mylanguage support for babel</code>
+
+<h2>Captions</h2>
+
+<p>
+<label>Preface</label><input type="text" id="prefacename"><br>
+<label>References</label><input type="text" id="refname"><br>
+<label>Abstract</label><input type="text" id="abstractname"><br>
+<label>Bibliography</label><input type="text" id="bibname"><br>
+<label>Chapter</label><input type="text" id="chaptername"><br>
+<label>Appendix</label><input type="text" id="appendixname"><br>
+<label>Contents</label><input type="text" id="contentsname"><br>
+<label>List of Figures</label><input type="text" id="listfigurename"><br>
+<label>List of Tables</label><input type="text" id="listtablename"><br>
+<label>Index</label><input type="text" id="indexname"><br>
+<label>Figure</label><input type="text" id="figurename"><br>
+<label>Table</label><input type="text" id="tablename"><br>
+<label>Part</label><input type="text" id="partname"><br>
+<label>encl</label><input type="text" id="enclname"><br>
+<label>cc</label><input type="text" id="ccname"><br>
+<label>To</label><input type="text" id="headtoname"><br>
+<label>Page</label><input type="text" id="pagename"><br>
+<label>see</label><input type="text" id="seename"><br>
+<label>see also</label><input type="text" id="alsoname"><br>
+<label>Proof</label><input type="text" id="proofname"><br>
+<label>Glossary</label><input type="text" id="glossaryname">
+
+<h2>Date</h2>
+
+<p>Currently, only the Gregorian calendar is supported.
+
+<p>
+<label>January</label><input type="text" id="monthi"><br>
+<label>February</label><input type="text" id="monthii"><br>
+<label>March</label><input type="text" id="monthiii"><br>
+<label>April</label><input type="text" id="monthiv"><br>
+<label>May</label><input type="text" id="monthv"><br>
+<label>June</label><input type="text" id="monthvi"><br>
+<label>July</label><input type="text" id="monthvii"><br>
+<label>August</label><input type="text" id="monthviii"><br>
+<label>September</label><input type="text" id="monthix"><br>
+<label>October</label><input type="text" id="monthx"><br>
+<label>November</label><input type="text" id="monthxi"><br>
+<label>December</label><input type="text" id="monthxii">
+
+<p>Enter string for date. Use #d# for day, #m# for month and #y#. Remember currently babel only supports dates in non-abbreviated format (month name, four-digit years). For example, as in Spanish “1 de septiembre de 2015” (which would be entered as “#d# de~#m# de~#y#).</p>
+
+<label>Date format</label><input type="text" id="today" style="width: 400px">
+
+<h2>Typography</h2>
+
+<input type="checkbox" id="frenchsp" value="frenchspacing"
+name="French Spacing">French spacing
+
+<h2>Shorthands</h2>
+
+<p>Leave empty if not required. Currently, the only shorthand supported is <code>"</code> (doble quote)</p>
+<label>Soft hyphen</label><input type="text" id="softhy"> Recommended: <code>"-</code><br>
+<label>Hard hyphen</label><input type="text" id="hardhy"> Recommended: <code>"=</code><br>
+<label>Break ligatures</label><input type="text" id="breakligs"> Recommended: <code>"|</code><br>
+
+</form>
+
+<h2>Create</h2>
+
+<button onclick="doCreate()">Create</button>
+
+<p>Below is the generated code. Just copypaste them to the
+corresponding files (named <i>language</i>.dtx and
+<i>language</i>.ins). Make sure the encoding is utf8.</p>
+
+<h2>dtx</h2>
+
+<pre id="outputdtx" style="background-color:#eee;padding:1em;"></pre>
+
+<h2>ins</h2>
+
+<pre id="outputins" style="background-color:#f9f9ee;padding:1em;"></pre>
+
+<form class="ldf">
+
+<script id="templatedtx" type="text/template">
+% \iffalse meta-comment
+%
+% Copyright [=year=] [=author=] and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% This file is intended to be used with the Babel system.
+% ------------------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% 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.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is [=author=].
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+% \fi
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{[=language=].dtx}
+%</dtx>
+%<code>\ProvidesLanguage{[=language=]}
+%\fi
+%\ProvidesFile{[=language=].dtx}
+ [[=date=] [=version=] [=string=]]
+%\iffalse
+%% File `[=language=].dtx'
+%
+% This file is part of the babel system, it provides the source
+% code for the [=Language=] language definition file.
+%<*filedriver>
+\documentclass{ltxdoc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\title{Title}
+\author{Author}
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\langvar{$\langle \it lang \rangle$}
+\newcommand*\note[1]{}
+\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\file[1]{\texttt{#1}}
+\begin{document}
+ \maketitle
+ \DocInput{[=language=].dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{[=language=].dtx}
+%
+% \section{First section of manual}
+%
+% Text.
+%
+% \StopEventually{}
+%
+% \subsection*{The code}
+%
+% \begin{macrocode}
+%<*code>
+\LdfInit{[=language=]}\captions[=language=]
+% \end{macrocode}
+%
+% When this file is read as an option, i.e. by the |\usepackage|
+% command, \texttt{[=language=]} could be an `unknown' language in which
+% case we have to make it known. So we check for the existence of
+% |\l@[=language=]| to see whether we have to do something here.
+%
+% \begin{macrocode}
+\ifx\l@[=language=]\@undefined
+ \@nopatterns{[=Language=]}
+ \adddialect\l@[=language=]0\fi
+% \end{macrocode}
+%
+% \begin{macro}{\captions[=language=]}
+% The macro |\captions[=language=]| defines all strings used in the four
+% standard documentclasses provided with \LaTeX.
+% \begin{macrocode}
+\StartBabelCommands*{[=language=]}{captions}
+ [unicode, charset=utf8, fontenc=TU EU1 EU2]
+[=captions=]
+\StartBabelCommands*{[=language=]}{date}
+ [unicode, charset=utf8, fontenc=TU EU1 EU2]
+[=months=]
+% \end{macrocode}
+% And now, the generic branch, using the LICR and assuming T1.
+% \begin{macrocode}
+\StartBabelCommands*{[=language=]}{captions}
+[=captions=]
+\StartBabelCommands*{[=language=]}{date}
+[=months=]
+ \SetString\today{%
+ [=today=]}
+\EndBabelCommands
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\extras[=language=]}
+% \begin{macro}{\noextras[=language=]}
+% The macro |\extras[=language=]| will perform all the extra definitions
+% needed for the [=Language=] language. The macro |\noextras[=language=]| is
+% used to cancel the actions of |\extras[=language=]|.
+%
+% \begin{macrocode}
+[=initiate=]
+% \end{macrocode}
+% We specify that the [=language=] group of shorthands should be used.
+% These characters are `turned on' once, later their definition may
+% vary.
+% \begin{macrocode}
+\addto\extras[=language=]{%
+ [=frenchsp=][=shorts=]}
+% \end{macrocode}
+%
+% For [=Language=] texts |\frenchspacing| should be in effect. We
+% make sure this is the case and reset it if necessary.
+%
+% \begin{macrocode}
+\addto\noextras[=language=]{%
+ \bbl at nonfrenchspacing[=deshorts=]}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+\ldf at finish{[=language=]}
+%</code>
+% \end{macrocode}
+%
+% \Finale
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+</script>
+
+<script id="templateins" type="text/template">
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright [=year=] [=author=] and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% This file is intended to be used with the Babel system.
+%% ------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% 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.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is [=author=].
+%%
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{[=date=]}
+\def\batchfile{[=language=].ins}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\declarepreamble\mainpreamble
+This is a generated file.
+
+Copyright [=year=] [=author=] and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file is intended to be used with the Babel system.
+------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+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.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is [=author=].
+
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
+extension .ins) which are part of the distribution.
+\endpreamble
+
+\declarepreamble\fdpreamble
+This is a generated file.
+
+Copyright [=year=] [=author=] and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file is intended to be used with the Babel system.
+------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+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.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is [=author=].
+
+In particular, permission is granted to customize the declarations in
+this file to serve the needs of your installation.
+
+However, NO PERMISSION is granted to distribute a modified version
+of this file under its original name.
+
+\endpreamble
+
+\keepsilent
+
+\askforoverwritefalse
+
+\usedir{tex/generic/babel}
+
+\usepreamble\mainpreamble
+\generate{\file{[=language=].ldf}{\from{[=language=].dtx}{code}}
+ }
+\usepreamble\fdpreamble
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files ending with}
+\Msg{* '.dtx' and `.fdd' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endinput
+</script>
+
+</form>
+</div>
+<div class="toc">
+<p class="credits">
+© 2000-2015<br />Javier Bezos<br />All Rights Reserved</p>
+
+</div>
+</div>
+</div>
+<div class="foot"><p> </p></div>
+</body>
+</html>
\ No newline at end of file
More information about the latex3-commits
mailing list.