summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-07-16 16:45:13 +0000
committerKarl Berry <karl@freefriends.org>2008-07-16 16:45:13 +0000
commit17181358a96d8df7b64dfb65acd0dec0899a2766 (patch)
tree852563503a78679722d89359fd8aff1fcb0e853f /Master/texmf-dist/doc
parent7ae66df0370923598d28e4d3e3544e9480f00b55 (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')
-rw-r--r--Master/texmf-dist/doc/generic/hyph-utf8/bg/azbukaExtended.tex649
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}
+
+