diff options
author | Karl Berry <karl@freefriends.org> | 2008-07-16 16:45:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-07-16 16:45:13 +0000 |
commit | 17181358a96d8df7b64dfb65acd0dec0899a2766 (patch) | |
tree | 852563503a78679722d89359fd8aff1fcb0e853f /Master/texmf-dist/doc/generic/hyph-utf8 | |
parent | 7ae66df0370923598d28e4d3e3544e9480f00b55 (diff) |
hyph-utf8 update (14jul08)
git-svn-id: svn://tug.org/texlive/trunk@9604 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/hyph-utf8')
-rw-r--r-- | Master/texmf-dist/doc/generic/hyph-utf8/bg/azbukaExtended.tex | 649 |
1 files changed, 649 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/hyph-utf8/bg/azbukaExtended.tex b/Master/texmf-dist/doc/generic/hyph-utf8/bg/azbukaExtended.tex new file mode 100644 index 00000000000..099309a4246 --- /dev/null +++ b/Master/texmf-dist/doc/generic/hyph-utf8/bg/azbukaExtended.tex @@ -0,0 +1,649 @@ +\documentclass[12pt,a4paper,twosided]{article} +\usepackage[utf8]{inputenc} +\usepackage[T2A]{fontenc} % temporary to make MakeUppercase work. +%\usepackage[english,bulgarian]{babel} +\usepackage[english,bulgarian]{babel} +\usepackage{mathptm} +\def\№{\Romannumeral} + + +\usepackage[bulgarian]{varioref} % my modified varioref.sty + % waiting for the author of + % varioref.sty to release this officially. + % DO NOT DISTRIBUTE! + +\title{Notes on Bulgarian typesetting in \LaTeX } +\author{Georgi Boshnakov} + + +\begin{document} + +% \selectlanguage{bulgarian} + +% \selectlanguage{english} + +%%% "`abvg"' +%%% +%%% \shorthandoff{"} +%%% +%%% "`abvg"' +%%% +%%% \shorthandon{"} +%%% +%%% "№ +%%% +%%% +%%% +%%% \foreignlanguage{english}{``This is an English phrase.''} + +%\enumBul + +% \makeatletter +% \@Alph3, \@alph3 + +% \enumEng + +% \@Alph3, \@alph3 + +% \enumBul \@Alph3, \@alph3 + +% \makeatother + + +%%% \latintext +%%% +%%% \textcyrillic{АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ} +%%% +%%% \cyrillictext +%%% +%%% \textlatin{abcdefghijklmnop} +%%% +%%% \Bulgarian bg: ``adfafdadfafdsaf'' a' b' +%%% +%%% {\English eng1: ``adfafdadfafdsaf'' a' b'} +%%% +%%% {\selectlanguage{english} eng2: ``adfafdadfafdsaf'' a' b'} +%%% +%%% \selectbglanguage +%%% +%%% +%%% % \selectenglanguage + + +\maketitle + +\tableofcontents + +\section{Introduction} \label{sec:intro} + + +This document shows some features specific to the Bulgarian typesetting with babel. +The text is mainly English but the main language of the document, as far as \LaTeX{} is +concerned, is Bulgarian. This is possible because the encoding T2A contains the latin +characters. On the other hand, the effect is that English hyphenation is not turned on and +therefore English words are not hyphenated or, if they are, they may be wrongly hyphenated. +I have done this deliberately to emphasise that it is a good practice to change explicitly +the language. + +This document was written initially for my package \texttt{bulgaria} developed in 1994-1996 to +support Bulgarian language in the then new version of \LaTeX. Since at the time the encoding +systems in general where in transition and because there was no standard for cyrillic ones I +assembled some fonts to support the MIK encoding (the prevalent encoding at the time in +Bulgaria, its origins are in DOS but it was supported in Windows as well, not by Microsoft +though). This allowed me to introduce a fully working implementation only a few months after +\LaTeX2e{} became the official \LaTeX{} version. + +I later modified this to work with the Babel system the most important change being the +switch to the use of standard fonts and encodings. +I handed this to the Babel developer Johannes Braams who is currently maintaining it. + + +Prompted by some enquiries, I released the hyphenation stuff separately in may 2006. It can +be found in the \texttt{language} subdirectory on CTAN or on my web page. + +% Note that currently the MikTeX suite replaces my hyphenation patterns (available as part of +% the babel package) with different ones which seem not to work. So, I release my hyphenation +% files separately as well. + + +Comments and suggestions are welcome. +I do not give my email address here (because of the spamming curse) but you can easily find +me with a search engine. +I will maintain the hyphenation and, if there is +demand, release a new set of patterns to support the more stylish traditional hyphenation +(the current patterns are the simplified ones, born in the computer age). + + +\section{Language and encoding} \label{sec:langenc} + + + +There are still many encoding systems around, you need to tell \LaTeX{} which one you use. +For example, +\begin{verbatim} + \usepackage[cp1251]{inputenc} +\end{verbatim} +specifies the cyrillic encoding typically used in Windows. +This line should be one of the first few lines after the \verb+\documentclass+ declaration. + +The input encoding is completely independent of the internal encoding used by +\LaTeX. You generally do not need to be concerned with it but for completeness here is the +command that specifies the internal (cyrillic) encoding \texttt{T2A}: +\begin{verbatim} + \usepackage[T2A]{fontenc} +\end{verbatim} +This should not be needed but see the section about uppercase/lowercase below. + +To change language you may use the babel assorment of commands, say +\begin{verbatim} + \selectlanguage{english} + \selectlanguage{bulgarian} +\end{verbatim} +see the user guide of Babel for details. +There are useful shorthands like +\verb+\Bul+, +\verb+\Bg+, +\verb+\Eng+, +\verb+\latintext+, +and +\verb+\cyrillictext+. + + + +\section{Alphabet} \label{sec:alphabet} + + + +\subsection{Entering cyrillic letters} + +The best way to enter Bulgarian text is to type it in some of the standard encodings +and leave \LaTeX\ to struggle with the conversion work (it knows most of the cyrillic +encodings). To tell \LaTeX{} the input encoding, put near the beginning of your document a +line like +\begin{center} +\verb+\usepackage[utf8]{inputenc}+ +\end{center} +if you are in the modern age and/or Linux, +or +\begin{center} +\verb+\usepackage[MIK]{inputenc}+ +\end{center} +if you prefer ``classic DOS'' and the MIK encoding, +or +\begin{center} +\verb+\usepackage[cp1251]{inputenc}+ +\end{center} +if you do not know what I am talking about and are on a Windows system. + +This command is usually placed write after the \verb+\documentclass+ command. + +If you need to enter only a couple of words you may also use commands like \verb+\cyra+, +\verb+CYRA+, \verb+\cyryu+, \verb+\CYRYU+. The number sign can be obtained by \verb+\No+ or +\verb+\textnumero+. + +For example, \verb+\CYRA\CYRB\CYRV, \cyra\cyrb\cyrv+ produces +\begin{center} +\CYRA\CYRB\CYRV, \cyra\cyrb\cyrv +\end{center} + +Accents in Bulgarian are used very rarely. This is done only to designate where the stress +falls in certain special circumstances (mainly to avoid confusion). For example, \verb+\`{и}+ +gives \`{и}. This is unambigously a pronoun which if written without the accent may +occasionally be confused with the conjunction и (Bulgarian for ``and''). + +Warning: the shorter \verb+\`и+ works in all encodings except utf8. It is prudent to always +add the braces to avoid irritation if you decide to switch to utf8. + +% \"е + + +\subsection{Changing letter case (Uppercase/Lowercase)} + +Use the \LaTeX{} commands \verb+\MakeLowercase+ and \verb+\MakeUppercase+ to change case of a +piece of text. For example, + +\verb+\MakeLowercase{АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ №}+ + +\noindent +gives + +\MakeLowercase{АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ №} + +\noindent +(All letters should change to lowercase, if MakeLowercase works properly.) + + +\noindent +Similarly + +\verb+\MakeUppercase{абвгдежзийклмнопрстуфхцчшщъыьэюя №}+ + +\noindent +gives + +\MakeUppercase{абвгдежзийклмнопрстуфхцчшщъыьэюя №} + +\noindent +% (All letters should change to uppercase, if MakeUppercase works properly.) + +Note that the symbol № is unchanged by both commands since it is not a regular letter. + +If the above commands do not change the case properly, then this should be rectified by +including the command \verb+\usepackage[T2A]{fontenc}+ in the preamble of your document +(this command should not be needed as T2A is the default encoding, a bug may have crawled in +somehow). If you have the \verb+.tex+ source of this file you may wish to comment out the +\verb+usepackage+ command for package \verb+fontenc+ and compile the file to see the +difference, if any. + + +\subsection{The symbol №} + +The symbol № is not particularly important but it is used occasionally, e.g., + +№\,1, №\,20, №№\,1--5. + +The Bulgarian keyboard has a key №. The commands +\verb+\textnumero+ and \verb+\No+ produce № as well. + + + \begin{table} \label{table:No} +\centering +\begin{tabular}{cc} +\LaTeX{} source & typeset output \\ \hline +\verb+\textnumero\,3+ & \textnumero\,3 \\ +\verb+\No\,3+ & \No\,3 \\ +\verb+№\,3+ & №\,3 +\end{tabular} + + \end{table} + + + +% \CYRA\CYRB\CYRV, \cyra\cyrb\cyrv + + +\subsection{Roman numbers} + +In Bulgarian texts, uppercase Roman numbers are often used for ordinal +numbers. Most of them can be entered via the Bulgarian keyboard: the letters I and V are +available precisely for that purpose, M and C are the same in the cyrillic alphabet, but L is +missing. This does not matter much in the case of a computer keyboard. Even so, I prefer to +redefine the I and V keys for more important tasks and leave the computer render a number in +Roman form, see also the comments in section~{sec:bugs}. + +The command \verb+\Romannumeral+ (with shorthand \verb+\№+ defined in the preamble of this +file) is provided for capitalised Roman numbers, e.g.: +\verb+\№1+, +\verb+\№8+, +\verb+\№26+, +\verb+\№{26}+, +give +\№1, \№8, \№26, and \№{26}, +respectively. This example shows also that arguments with 2 or more decimal digits have to be +put in braces. + + +\subsection{Quoting styles} + +The quotation marks in texts typeset in Bulgarian traditionally look like "`this"'. +This style and the quotes themselves have been borrowed from the German language. + +To get traditional Bulgarian style quotes enclose the text in \verb+"`+ and \verb+"'+. +To get the French style quotes use \verb+"<+ and \verb+">+ instead. For example, + +\begin{verbatim} + ``English style quotes'' \par + "`текст в традиционните за български текстове кавички"' \par + "<алтернативни кавички, срещани предимно в по-стари текстове"> +\end{verbatim} + +\noindent +gives +% \selectlanguage{bulgarian} + +\bigskip{} + + ``English style quotes'' \par + "`текст в традиционните за български текстове кавички"' \par + "<алтернативни кавички, срещани предимно в по-стари текстове"> + +% \selectlanguage{english} + +\bigskip + +Note that in the pre-babel \verb+bulgarian.sty+ quotes in Bulgarian texts were typeset +automatically in the traditional Bulgarian style. + + +\subsection{Dates} + +The command \verb+\today+ produces the current date, e.g. today is \today. + +In the traditional format for dates in Bulgaria uppercased roman numbers are used for the +months, e.g. today is \todayRoman. + +\begin{center} + \begin{tabular}{cc} +\LaTeX{} source & typeset output \\ \hline +\verb+\today+ & \today \\ +\verb+\todayRoman+ & \todayRoman + \end{tabular} +\end{center} + + + +\section{Hyphenation} \label{sec:hyph} + + +When you choose a language for \emph{babel}, \LaTeX{} hyphenates the text +according to the hyphenation rules of that language. +So, normally you do not need to do anything more to get proper hyphenation. + +If your Bulgarian text does not get hyphenated, then you need to tell +the \TeX{} system to load Bulgarian hyphenation rules. The details are +system dependent but not complicated, see the documentation of your +\TeX{} distribution for details. + +For example, if you are using MikTeX, start its \emph{Settings} +utility (known also as \emph{MikTeX options}, click the +\emph{Language} tab, tick \emph{bulgarian}, and click OK. MikTeX will +tell you that it needs to regenerate the formats, let it do it. That +is it. Process a document to see that hyphenation works. + +If you find words that do not hyphenate properly, then send me an email. + + + + + + + + + + + +\section{Enumeration} \label{sec:enum} + + + +Alphabetic enumeration is usually done with the Bulgarian alphabet but latin enumeration is +used as well. Besides the alphabet, the style of the enumeration is somewhat different from +the English one. + +We provide facilities for both cyrillic and latin enumeration. By default, the cyrillic one +is switched on by commands changing the language to Bulgarian. The declarations +\verb+\alphEng+ and \verb+\alphBul+ may be used to switch to and from latin enumeration, if +desired. + +Note that the cyrillic enumeration here simply uses cyrillic letters wherever the standard +\LaTeX\ enumeration style would produce alphabetic enumeration. This is definitely not +satisfactory and a fuller implementation might change other details but this is better left +to document classes. + + +The letters й, ъ, and ь are not used for enumeration and therefore omitted. Note that the +cyrillic letters э and ы are not part of the Bulgarian alphabet anyway. + +\begin{enumerate} \label{enum:1} + \item a + + \begin{enumerate} + \item aa + \begin{enumerate} + \item aaa + \begin{enumerate} + \item aaaa + + \item bbbb + + \item cccc + + \item dddd + + \end{enumerate} + + \item bbb + + \end{enumerate} + + \item bb + + \item cc + + \item dd + + \end{enumerate} + + \item b + +\end{enumerate} + + +The following enumeration is preceded by the command +\verb+\enumEng+. + +\enumEng + +\begin{enumerate} \label{enum:2} + \item a + \begin{enumerate} + \item aaaaaaa + \begin{enumerate} + \item aaaaaaa + \begin{enumerate} + \item aaaaaaa + + \item bbbbbbb + + \item cccccc + + \end{enumerate} + + \item bbbbbbb + + \item cccccc + + \end{enumerate} + + + \end{enumerate} + + \item b + +\end{enumerate} + +\section{Support for the varioref package} + + +The package \texttt{varioref} allows for producing cross-references which look natural and +generally do not require manual intervention when the context changes. Support for Bulgarian +should be available with the next release of \LaTeX{}. This file has been produced with a +draft version of the package. + +The table below is an illustration. Notice that the page reference command is the same in all cases +but the printed text changes depending on its relative distance from the reference point. +Also, references to the current page and the facing page are automatically varied to some +extent. + +\begin{center} + +\begin{tabular}{l|l} +command & typeset output \\ \hline +\verb+\vpageref{sec:intro}+ & \vpageref{sec:intro} \\ +\verb+\vpageref{enum:1}+ & \vpageref{enum:2} \\ +\verb+\vpageref{enum:2}+ & \vpageref{enum:2} \\ +\verb+\vpageref{table:No}+ & \vpageref{table:No} + +\end{tabular} +\end{center} + +It is instructive to see what output would have produced if the above table turned up on the +following page. The table on the next page is generated by the same \LaTeX{} source as the +table above. There is a \verb+\newpage+ command after this paragraph to ensure that the two +tables are on different pages. + + +\newpage + +\begin{center} + +\begin{tabular}{l|l} +command & typeset output \\ \hline +\verb+\vpageref{sec:intro}+ & \vpageref{sec:intro} \\ +\verb+\vpageref{enum:1}+ & \vpageref{enum:2} \\ +\verb+\vpageref{enum:2}+ & \vpageref{enum:2} \\ +\verb+\vpageref{table:No}+ & \vpageref{table:No} + +\end{tabular} +\end{center} + + + +% Some text follows to illustrate the usage of the commands in the +% \texttt{varioref}. +% This paragraph is repeated at several places in this document, its text +% source is exactly the same but the output depends on the relative position of the referenced +% pages. Some silly page references follow. The introduction begins +% \vpageref{sec:intro}, +% the enumeration \vpageref{enum:1} illustrates the default enumeration labels when +% Bulgarian is active while the enumeration \vpageref{enum:2} +% shows an alternative. +% The table \vpageref{table:No} shows several ways to typeset \No. +% The especially dull introduction starts \vpageref{sec:intro} +% and if this sentence is on the same page as the beginning of this paragraph the wording of +% the reference to it may be slightly different. + + +% Some text follows to illustrate the usage of the commands in the +% \texttt{varioref}. +% This paragraph is repeated at several places in this document, its text +% source is exactly the same but the output depends on the relative position of the referenced +% pages. Some silly page references follow. The introduction begins +% \vpageref{sec:intro}, +% the enumeration \vpageref{enum:1} illustrates the default enumeration labels when +% Bulgarian is active while the enumeration \vpageref{enum:2} +% shows an alternative. +% The table \vpageref{table:No} shows several ways to typeset \No. +% The especially dull introduction starts \vpageref{sec:intro} +% and if this sentence is on the same page as the beginning of this paragraph the wording of +% the reference to it may be slightly different. +% +% Some text follows to illustrate the usage of the commands in the +% \texttt{varioref}. +% This paragraph is repeated at several places in this document, its text +% source is exactly the same but the output depends on the relative position of the referenced +% pages. Some silly page references follow. The introduction begins +% \vpageref{sec:intro}, +% the enumeration \vpageref{enum:1} illustrates the default enumeration labels when +% Bulgarian is active while the enumeration \vpageref{enum:2} +% shows an alternative. +% The table \vpageref{table:No} shows several ways to typeset \No. +% The especially dull introduction starts \vpageref{sec:intro} +% and if this sentence is on the same page as the beginning of this paragraph the wording of +% the reference to it may be slightly different. + +\section{Reporting bugs and requesting features} \label{sec:bugs} + +Please email me bug reports and requests for features, visit my web page at the +University of Manchester for further information. + +I am using Emacs for typesetting documents. Emacs~22 has good support for essentially all +writing systems in the world. AucTeX is an amazing Emacs package which makes an excellent +environment for writing LaTeX (and other ``dialects'' of TeX) documents). +Another Emacs package, ESS (Emacs speaks statistics), integrates Emacs smoothly with some of +the major statistical systems. + +If you are using Emacs but have not considered AucTeX yet, do it! +If you do computations with systems such as R, S-plus or SAS, consider ESS. + +If you are not an Emacs user you may consider becoming one. Together with the above tools it +may become your basic working environment. Be prepared though for a period of familiarisation +with the idiosyncracies of Emacs, it will help if you have a friend with some experience with +it. + + + + +\end{document} + + + + + +% \edef\myNo{\textnumero} + +% \expandafter\meaning\csname T2A\endcsname + +% \expandafter\meaning\csname T2A-cmd\endcsname + +% \meaning\myNo + +% \myNo: \csname \myNo \endcsname + +%\selectlanguage{bulgarian} +% \labelenumii +% \theenumii + +% \meaning\textnumero + +% \meaning\No + +% \csname TeX \endcsname + + +% \Romannumeral 7 + +% \expandafter a\csname Romannumeral \endcsname 7 + +% \csname №\endcsname + +% \def\proba#1{\char#1} + +% \proba 88, \proba{88} + +% a: \expandafter\string\csname\proba157 \endcsname + +% char65:\ \ \expandafter\string\csname \char65 \endcsname + +% char157: \expandafter\string\csname \char157 \endcsname + +% char cyra: \expandafter\string\expandafter\csname \cyra \endcsname + +% \def\aaaa{aaaa} + +% aaaa: \expandafter\string\csname \aaaa \endcsname + +% \meaning\cyrzh + +\makeatletter + +\meaning\roman + +\meaning\alph + +\meaning\verbatim@font + +\meaning\normalfont + +\makeatother + +\meaning\bulgarianhyphenmins + +\meaning\englishhyphenmins + +cyr. enc: \cyrillicencoding + +\meaning\inputencoding + +\meaning\frac + +\expandafter\string\csname \the\CYRYA \endcsname + +\begin{verbatim} + +This is verbatim text. It contains both latin and cyrillic letters. +АБВГД ЕЖЗИЙ КЛМНОП РСТУФХЦ ЧШЩЪЫ ЬЭЮЯ + +\end{verbatim} + + |