diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/babel/tb1604.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/babel/tb1604.tex | 448 |
1 files changed, 0 insertions, 448 deletions
diff --git a/Master/texmf-dist/doc/generic/babel/tb1604.tex b/Master/texmf-dist/doc/generic/babel/tb1604.tex deleted file mode 100644 index 0538716f82a..00000000000 --- a/Master/texmf-dist/doc/generic/babel/tb1604.tex +++ /dev/null @@ -1,448 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1989-2005 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. -% -% This file is part of 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 Johannes Braams. -% -% The list of all files belonging to the Babel system is -% given in the file `manifest.bbl. See also `legal.bbl' for additional -% information. -% -% 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 -%%% ==================================================================== -%%% @TeX-file{ -%%% author = "Johannes", -%%% version = "1.0", -%%% date = "05 December 1995", -%%% time = "22:43:54 MET", -%%% filename = "tbstatus.tex", -%%% address = "TeXniek, -%%% Kersengaarde 33 -%%% 2723 BP Zoetermeer -%%% The Netherlands", -%%% telephone = "+31 79 352 28 19", -%%% FAX = "+31 70 343 23 95", -%%% checksum = "", -%%% email = "babel@braams.cistron.nl (Internet)", -%%% codetable = "ISO/ASCII", -%%% keywords = "", -%%% supported = "yes", -%%% abstract = "", -%%% docstring = "This article is derived from my -%%% presentation at the EuroTeX'95 conference -%%% and will appear in a future issue of -%%% TuGboat. -%%% -%%% The checksum field above contains a CRC-16 -%%% checksum as the first value, followed by the -%%% equivalent of the standard UNIX wc (word -%%% count) utility output of lines, words, and -%%% characters. This is produced by Robert -%%% Solovay's checksum utility.", -%%% } -%%% ==================================================================== -\NeedsTeXFormat{LaTeX2e} -\IfFileExists{ltugboat.cls}{% - \documentclass{ltugboat} - \def\rtitlex{TUGboat, Volume 16 (1995), No. 4} - %\def\midrtitle{} - %\def\PrelimDraftfooter{} - %\let\TBmaketitle\maketitle - %\SelfDocumenting - \setcounter{page}{1} - }{% - \documentclass{article} - \newcommand\address[1]{} - \newcommand\netaddress[1]{} - \newcommand\TUB{\textsl{TUGboat\/}} - \newcommand\TeXhax{\TeX hax}} -\usepackage{shortvrb} -\MakeShortVerb{\|} - -\newcommand\figrule{\kern3pt\hrule\kern3pt} -\newcommand*{\file}[1]{\texttt{#1}} -\newcommand*{\cls}[1]{\texttt{#1}} -\newcommand*{\pkg}[1]{\texttt{#1}} -\newcommand*{\Lenv}[1]{\textsf{#1}} -\newcommand*{\opt}[1]{\textsf{#1}} -\newcommand*{\meta}[1]{\mbox{$\langle$\it #1\/$\rangle$}} -\newcommand*\babel{\textsf{babel}} -\newcommand*\bs{\char'134} -\let\osn\oldstylenums - -\begin{document} - -\title{The status of \babel} -\author{Johannes L. Braams} -\address{% - \TeX niek\\ - Kersengaarde 33\\ - 2723 BP Zoetermeer\\ - The Netherlands} -\netaddress{babel@braams.cistron.nl} -\date{september 1995} -\maketitle - -\begin{abstract} - In this article I will give an overview of what has happened to - \babel\ lately. First I will briefly describe the history of \babel; - then I will introduce the concept of `shorthands'. New ways of - changing the `language' have been introduced and \babel\ can now - easily be adapted for local needs. Finally I will discuss some - compatibility issues. -\end{abstract} - -\section{A brief history of \babel} - -The first ideas of developing a set of macros to support typesetting -documents with \TeX\ in languages other than English developed around -the time of the Euro\TeX\ conference in Karls\-ruhe (\osn{1989}). Back -then I had created support for typesetting in Dutch by stealing -\file{german.tex} (by Hubert Partl c.s.) and modifying it for Dutch -conventions. This worked, but I was not completely satisfied as I hate -the duplication of code. Soon after that I found that more `copies' of -\file{german.tex} existed to support other languages. This led me to -the idea of creating a package that combined these kind of language -support packages. It would have to consist of at least two `layers': -all the code the various copies of \file{german.tex} had in common in -one place, loaded only once by \TeX, and a set of files with the code -needed to support language specific needs. During the Karlsruhe -conference the name `\babel' came up in discussions I had. It seemed -an appropriate name and I sticked to it. - -\begin{table}[hbt] - \begin{center} - \begin{tabular}{l} - \hline - First ideas at Euro\protect\TeX'89 Karlsruhe\\ - First published in TUGboat 12--2\\ - Update article in TUGboat 14--1\\ - Presentation of new release at Euro\protect\TeX'95\\ - \hline - \end{tabular} - \caption{A brief history of \babel} - \end{center} -\end{table} - -After the conference I started to work on ``\babel, a multilingual -style-option system for use with \LaTeX' standard document styles''. -The first release with support for about half a dozen languages -appeared in the first half of \osn{1990}. In TUGboat volume \osn{12} -number \osn{2} an article appeared describing \babel. Soon thereafter -people started contributing translations for the `standard terms' for -languages not yet present in \babel. The next big update appeared in -\osn{1992}, accompanied by an article in TUGboat volume \osn{14} -number \osn{1}. The main new features were that an interface was added -to `push' and `pop' macro definitions and values of registers. Also -some code was moved from language files to the core of \babel. In -\osn{1994} some changes were needed to get \babel\ to work with -\LaTeXe. As it turned out a lot of problems were still unsolved, -amongst which the incompatibility between \babel\ and the use of -\textsc{T}\osn{1} encoded fonts was most important. - -\noindent Therefore \babel\ version \osn{3}.\osn{5} has appeared. -It's main features are: - -\begin{itemize} -\item complete rewrite of the way active characters are dealt with; -\item new ways to switch the language; -\item A language switch is also written to the \file{.aux} file; -\item possibility to `configure' the language specific files; -\item extended syntax of \file{language.dat}; -\item compatibility with both the \pkg{inputenc} and\\ - \pkg{fontenc} packages; -\item new languages (breton, estonian, irish, scottish, lower and - upper sorbian). -\end{itemize} - -\noindent These changes are described in the remainder of this article. - -\section{Shorthands and active characters} - -During \babel's lifetime the number of languages for which one or more -characters were made active has grown. Until \babel\ release -\osn{3}.\osn{4} this needed a lot of duplication of code for each -extra active character. A situation with which I obviously was not -very happy as I hate the duplication of code. Another problematic -aspect of the way \babel\ dealt with active characters was the way -\babel\ made it possible to still use them in the arguments of cross -referencing commands. \textsf{Babel} did this with a trick that -involves the use of |\meaning|. This resulted in the fact that the -argument of |\label| was no longer expanded by \TeX. - -Because of these problems I set out to find a different implementation -of active characters. A starting point was that a character that is -made active should remain active for the rest of the document; only -it's definition should change. During the development of this new -implementation it was suggested in discussions I had within the -\LaTeX3 team to devise a way to have `different kinds' of active -characters. Out of this discussion came the current `shorthands'. - -\begin{quote} - \textsl{A shorthand is a sequence of one or two characters that - expands to arbitrary \TeX\ code.} -\end{quote} - -These shorthands are implemented in such a way that there are three -levels of shorthands: - -\begin{itemize} -\item user level -\item language level -\item system level -\end{itemize} - -\noindent Shorthands can be used for different kinds of things: -\begin{itemize} -\item the character \verb=~= is redefined by \babel\ as a one - character, system level shorthand; -\item In some languages shorthands such as \verb="a= are defined to be - able to hyphenate the word; -\item In some languages shorthands such as \verb=!= are used to insert - the right amount of white space. -\end{itemize} - -When you want to use or define shorthands you should keep the -following in mind: -\begin{itemize} -\item User level takes precedence over language level; -\item Language level takes precedence over system level; -\item One character shorthands take precedence over two character - shorthands; -\item Shorthands are written unexpanded to \file{.aux} files. -\end{itemize} - -\noindent In table~\ref{tab:sh-ov} an overview is given of the -various shorthand characters that are used for different languages. - -\begin{table}[ht] - \begin{center} - \begin{tabular}{ll} - \hline - \texttt{\char'176} & system, catalan, estonian, galician, spanish \\ - \texttt{:} & breton, francais, turkish \\ - \texttt{;} & breton, francais \\ - \texttt{!} & breton, francais, turkish \\ - \texttt{?} & breton, francais \\ - \texttt{"} & catalan, danish, dutch, estonian, finnish\\ - & galician, german, polish, portuguese, slovene\\ - & spanish, upper~sorbian\\ - \texttt{`} & catalan (optional)\\ - \texttt{'} & catalan, galician, spanish (optional)\\ - \texttt{\char'136} & esperanto\\ - \texttt{=} & turkish \\ - \hline - \end{tabular} - \caption{Overview of shorthands}\label{tab:sh-ov} - \end{center} -\end{table} - -Note that the acute and grave characters are only used as shorthand -characters when the options \opt{activeacute} and \opt{activegrave} -are used. - -On the user level three additional commands are available to deal with -shorthands: -\begin{description} -\item[\texttt{\bs useshorthands}] This command takes one argument, the - character that should become a shorthand character. -\item[\texttt{\bs defineshorthand}] This command takes two arguments, - the first argument being the shorthand character sequence, the - second argument being the code the shorthand should expand to. -\item[\texttt{\bs languageshorthands}] This last command (which takes - one argument, the name of a language) can be used to switch to the - shorthands of another language, \emph{not} switching other language - facilities. Of course this only works if both languages were - specified as an option when loading the package \babel. -\end{description} - -On the level of the language definition files four new commands are -introduced to interface with the shorthand code. -\begin{description} -\item[\texttt{\bs initiate@active@char}] This command is used to tell - \LaTeX\ that the character in its argument is going to be used as a - shorthand character. It makes the character active, but lets it - expand to its non-active self. -\item[\texttt{\bs bbl@activate}] This can be used to switch - the expansion of an active character to its active code. -\item[\texttt{\bs bbl@deactivate}] This command resets the expansion - of an active character to expand to its non-active self. -\item[\texttt{\bs declare@shorthand}] This command is the internal - command for (and also used by) |\defineshorthand|; it has - \emph{three} arguments: the first argument is the name of the - language for which to define the shorthands, the other two are the - same as for |\defineshorthand|. -\end{description} - -One of the goals of the introduction of shorthands was to reduce the -amount of code needed in the language definition files to support -active characters. This goal has been reached; when a language needs -the double quote character (\texttt{"}) to be active all one has to -put into the language definition file are code fragments such as shown -in figure~\ref{fig:dq}. - -\begin{figure}[ht] - \figrule -\begin{verbatim} -\initiate@active@char{"} -\addto\extrasdutch{% - \languageshorthands{dutch}% - \bbl@activate{"}} -... -\declare@shorthand{dutch}{"`}{% - \textormath{\quotedblbase{}}% - {\mbox{\quotedblbase}}} -... -\end{verbatim} - \figrule - \caption{Example of defining a shorthand}\label{fig:dq} -\end{figure} - -Apart from removing a lot of code from language definition files by -introducing shorthands, some other code has been moved to -\file{babel.def} as well. In some language definition files it was -necessary to provide access to glyphs that are not normally easily -available (such as the |\quotedblbase| in the example in -figure~\ref{fig:dq}. Some of these glyphs have to be `constructed' for -\textsc{ot}\osn{1} encoding while they are present in -\textsc{t}\osn{1} encoded fonts. Having all such (encoding dependent) -code together in one place has the advantage these glyphs are the same -for all the language definition files of \babel; also maintenance is -easier this way. - -\section{Switching the language} - -Until release \osn{3}.\osn{5} \babel\ only had \emph{one} command to -switch between languages: |\selectlanguage|. It takes the name of the -language to switch to as an argument; the command is used as a -declaration and always switches everything\footnote{that means the - hyphenation pattern, the \texttt{\bs lefthyphenmin} and \texttt{\bs - righthyphenmin} parameters, the translations of the words, the - date and the specials}. Two new ways to switch to another language -have now been introduced. - -\begin{description} -\item[\texttt{\bs selectlanguage}] This command was available in - \babel\ from the start. -\item[\texttt{\bs foreignlanguage}] This new command is meant to be - used when a short piece of text (such as a quote) comes from another - language. This text should not be longer than \emph{one} paragraph. - For the text the hyphenation patterns and the specials are switched. - The command has two arguments: the name of the language and the text - from that language. -\item[environment `otherlanguage'] This new environment switches the - same aspects as the command |\selectlanguage| does. The difference - is that the switches are local to the environment whereas one either - has to use |\selectlanguage| in a group to get the same effect or - one has to issue multiple |\selectlanguage| commands. Also the - environment is one of the things needed to enable the development of - language definition files that support right-to-left typesetting. -\end{description} - -An aspect of some multilingual documents might be that they have -section titles or figure captions in different languages. For this to -work properly \babel\ now writes some information on the \file{.aux} -file when a language switch from either |\selectlanguage| or the -\Lenv{otherlanguage} environment occurs. \textsf{Babel} nows about -the \file{.toc}, \file{.lof} and \file{.lot} files; if you have added -an extra table of contents you should be aware of this. - -\section{Adapting \babel\ for local usage} - -In the past people have had to find ways to adapt \babel\ to document -classes that have been developed locally (implementing house style for -instance). Some have found ways to that without changing any of the -babel files, others have modified language definition files and have -found themselves having to make these changes each time a new release -of \babel\ is made available\footnote{which doesn't happen too often - \texttt{;-)}.}. It has been suggested to provide an easier way of -doing this. Therefore I have copied the concept of configuration files -from \LaTeXe\ and introduced language configuration files. For each -language definition file that is loaded \LaTeX\ will try to find a -configuration file. Such files have the same name as the language -definition file; except for their extension which has to be -\file{.cfg}. - -\section{Loading hyphenation patterns} - -An important change to the core of \babel\ is that the syntax of -\file{language.dat} has been extended. This was suggested by Bernard -Gaulle, author of the package \pkg{french}. His package supports an -enhanced version of \file{language.dat} in which one can optionally -indicate that a file with a list of hyphenation excpetions has to be -loaded. It is also possible to have more than one name for the same -hyphenation pattern register. - -\begin{figure}[ht] - \figrule -\begin{verbatim} -% File : language.dat -% Purpose : specify which hypenation -% patterns to load while running -% iniTeX -=american -english hyphen.english exceptions.english -=USenglish -french fr8hyph.tex -english ukhyphen.tex -=UKenglish -=british -dutch hyphen.dutch -german hyphen.german -\end{verbatim} - \figrule - \caption{Example of \file{language.dat}}\label{fig:l.d} -\end{figure} - -As you can see in the example of \file{language.dat} in -figure~\ref{fig:l.d}, an equals sign ($=$) on the beginning of a line -now has a significant meaning. It tells \LaTeX\ that the name which -follows the equals sign is to be an alternate name for the hyphenation -patterns that were loaded last. As you probably expect, there is one -exception to this rule: when the first (non-comment) line starts with -an equals sign it will be an alternate name for the \emph{next} -hyphenation patterns that will be loaded. Hence, in the example the -hyphenation patterns stored in the file \file{hyphen.english} will be -known to \TeX\ as: `american', `english' and `USenglish'. You can also -see in figuree~\ref{fig:l.d} that for `english' an extra file is -specified. It will be loaded after \file{hyphen.english} and should -contain some hyphenation exceptions. - -\section{Compatibility with other formats} - -This release of \babel\ has been tested with \LaTeXe; with and -without either of the packages \pkg{inputenc} or \pkg{fontenc}. There -should no longer be any problems using one (or both) of these packages -together with \babel. - -\noindent This release has also been tested with \textsc{Plain}~\TeX, it should -not provide any problems when used with that format. Therefore -\babel~version \osn{3}.\osn{5} should not pose any problems when used -with any format which is based on \textsc{Plain}~\TeX; this has -\emph{not} been tested by me though. Some provisions are made to make -\babel~\osn{3}.\osn{5} work with \LaTeX$\:$\osn{2}.\osn{09}; but not -all features may work as expected as I haven't tested this fully. - -Please note that although it was necessary to copy parts of -\pkg{inputenc} and \pkg{fontenc} this does not mean that you get -\textsc{t}\osn{1} support in \textsc{Plain}~\TeX, simply by adding -\babel. To acheive that much more work is needed. - -\end{document} |