% \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 % \CheckSum{1538} % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. %<*dtx> \ProvidesFile{magyar.dtx} % %\ProvidesLanguage{magyar} %\fi %\ProvidesFile{magyar.dtx} [2005/03/30 v1.4j Magyar support from the babel system] %\iffalse %% File `magyar.dtx' %% Babel package for LaTeX version 2e %% Copyright (C) 1989 - 2005 %% by Johannes Braams, TeXniek % %% Magyar Language Definition File %% Copyright (C) 1989 - 2005 %% by Johannes Braams, TeXniek %% \'Arp\'ad B\'IR\'O %% J\'ozsef B\'ERCES % % Please report errors to: J.L. Braams babel braams.cistron.nl % % This file is part of the babel system, it provides the source % code for the Hungarian language definition file. A contribution % was made by Attila Koppanyi (attila@cernvm.cern.ch). %<*filedriver> \documentclass{ltxdoc} \newcommand*\TeXhax{\TeX hax} \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} \DocInput{magyar.dtx} \end{document} % %\fi % \GetFileInfo{magyar.dtx} % % \changes{magyar-1.0a}{1991/07/15}{Renamed \file{babel.sty} in % \file{babel.com}} % \changes{magyar-1.1}{1992/02/16}{Brought up-to-date with babel 3.2a} % \changes{magyar-1.1d}{1994/02/08}{Further spelling corrections} % \changes{magyar-1.1e}{1994/02/09}{Still more spelling corrections} % \changes{magyar-1.2}{1994/02/27}{Update for \LaTeXe} % \changes{magyar-1.3c}{1994/06/26}{Removed the use of \cs{filedate} % and moved identification after the loading of \file{babel.def}} % \changes{magyar-1.3g}{1996/07/12}{Replaced \cs{undefined} with % \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency % with \LaTeX} % \changes{magyar-1.4a}{1998/06/04}{order inverting in % headings/titles/captions; definite article handling; active char % for special hyphenation} % \changes{magyar-1.4d}{2001/11/15}{Corrected checksum} % \changes{magyar-1.4j}{2004/11/17}{Added missing comment characters % in the redefinitions of \cs{ps@headings} to prevent spurious % spaces} % % \section{The Hungarian language} % % The file option \file{\filename} defines all the % language definition macros for the Hungarian language. % % The \babel{} support for the Hungarian language until file % version 1.3i was essentially changing the English document % elements to Hungarian ones, but because of the differences % between these too languages this was actually unusable (`Part I' % was transferred to `R\'esz I' which is not usable instead of `I.\ % r\'esz'). To enhance the typesetting facilities for Hungarian % the following should be considered: % \begin{itemize} % \item In Hungarian documents there is a period after % the part, section, subsection \mbox{etc.} numbers. % % \item In the part, chapter, appendix name the number % (or letter) goes before the name, so `Part I' translates to % `I.\ r\'esz'. % % \item The same is true with captions % (`Table 2.1' goes to `2.1.\ t\'abl\'azat'). % % \item There is a period after the caption name instead of a colon. % (`Table 2.1:' goes to `2.1.\ t\'abl\'azat.') % % \item There is a period at the end of the title in a run-in head % (when |afterskip<0| in |\@startsection|). % % \item Special hyphenation rules must be applied % for the so-called long double consonants (ccs, ssz,\dots). % % \item The opening quotation mark is like the German one % (the closing is the same as in English). % % \item In Hungarian figure, table, \mbox{etc.} % referencing a definite article is also incorporated. % The Hungarian definite articles behave like the English % indefinite ones (`a/an'). `a' is used for words beginning % with a consonant and `az' goes for a vowel. % Since some numbers begin with a vowel some others % with a consonant some commands should be provided for % automatic definite article generation. % \end{itemize} % % Until file version 1.3i\footnote{That file was % last revised on 1996/12/23 with a contribution by the next % authors: Attila Kopp\'anyi (\texttt{attila@cernvm.cern.ch}), % \'Arp\'ad B\'{\i}r\'o (\texttt{JZP1104@HUSZEG11.bitnet}), % Istv\'an Hamecz (\texttt{hami@ursus.bke.hu)} and % Dezs\H{o} Horv\'ath (\texttt{horvath@pisa.infn.it}).} % the special typesetting rules of the Hungarian language % mentioned above were not taken into consideration. % This version (\fileversion)\footnote{It was written by J\'ozsef % B\'erces (\texttt{jozsi@docs4.mht.bme.hu}) with some help from % Ferenc Wettl (\texttt{wettl@math.bme.hu}) and an idea from David % Carlisle (\texttt{david@dcarlisle.demon.co.uk}).} % enables \babel{} to typeset `good-looking' Hungarian texts. % % \DescribeMacro\ontoday % The |\ontoday| command works like |\today| but % produces a slightly different date format used in expressions such % as `on February 10th'. % % \DescribeMacro\Az % The commands |\Az#1| and |\az#1| write the correct % definite article for the argument and the argument itself % (separated with a |~|). The star-forms (|\Az*| and |\az*|) % produce the article only. % % \DescribeMacro\Azr % |\Azr#1| and |\azr#1| treat the argument as a label so expand % it then write the definite article for |\r@#1|, a non-breakable % space then the label expansion. The star-forms do not print % the label expansion. |\Azr(#1| and |\azr(#1| are used for % equation referencing with the syntax |\azr(|\textit{label}|)|. % % \DescribeMacro\Aref % There are two aliases |\Aref| and |\aref| for |\Azr| and |\azr|, % respectively. During the preparation of a document it is not % known in general, if the code `|a~\ref{|\textit{label}|}|' or the code % `|az~\ref{|\textit{label}|}|' is the grammatically correct one. Writing % `|\aref{|\textit{label}|}|' instead of the previous ones solves the % problem. % % \DescribeMacro\Azp % |\Azp#1| and |\azp#1| also treat the argument as a label but % use the label's page for definite article determination. % There are star-forms giving only the definite article without % the page number. % % \DescribeMacro\Apageref % There are aliases |\Apageref| and |\apageref| for |\Azp| and % |\azp|, respectively. The code |\apageref{|\textit{label}|}| % is equivalent either to |a~\pageref{|\textit{label}|}| or % to |az~\pageref{|\textit{label}|}|. % % \DescribeMacro\Azc % |\Azc| and |\azc| work like the |\cite| command but % (of course) they insert the definite article. There can be % several comma separated cite labels and in that case the % definite article is given for the first one. % They accept |\cite|'s optional argument. % There are star-forms giving the definite article only. % % \DescribeMacro\Acite % There are aliases |\Acite| and |\acite| for % |\Azc| and |\azc|, respectively. % % For this language the character |`| is made active. % Table~\ref{tab:hun-actives} shows the shortcuts. % The main reason for the activation of the |`| character % is to handle the special hyphenation of the long double % consonants. % \begin{table} % \begin{center} % \begin{tabular}{lp{45mm}p{47mm}} % shortcut & explanation & example \\ % \hline % |``| & same as |\glqq| in \babel{}, or % |\quotedblbase| in T1 % (opening quotation mark, like ,,) % & |``id\'ezet''|$\longrightarrow$,,id\'ezet'{}' \\ % |`c|, |`C| & ccs is hyphenated as cs-cs % & |lo`ccsan|$\longrightarrow$locs-csan \\ % |`d|, |`D| & ddz is hyphenated as dz-dz % & |e`ddz\"unk|$\longrightarrow$edz-dz\"unk \\ % |`g|, |`G| & ggy is hyphenated as gy-gy % & |po`ggy\'asz|$\longrightarrow$pogy-gy\'asz \\ % |`l|, |`L| & lly is hyphenated as ly-ly % & |Kod\'a`llyal|$\longrightarrow$Kod\'aly-lyal \\ % |`n|, |`N| & nny is hyphenated as ny-ny % & |me`nnyei|$\longrightarrow$meny-nyei \\ % |`s|, |`S| & ssz is hyphenated as sz-sz % & |vi`ssza|$\longrightarrow$visz-sza \\ % |`t|, |`T| & tty is hyphenated as ty-ty % & |po`ttyan|$\longrightarrow$poty-tyan \\ % |`z|, |`Z| & zzs is hyphenated as zs-zs % & |ri`zzsel|$\longrightarrow$rizs-zsel \\ % \end{tabular} % \caption{The shortcuts defined in \file{magyar.ldf}} % \label{tab:hun-actives} % \end{center} % \end{table} % % % \StopEventually{} % % The macro |\LdfInit| takes care of preventing that this file is % loaded more than once, checking the category code of the % \texttt{@} sign, etc. % \changes{magyar-1.3h}{1996/11/03}{Now use \cs{LdfInit} to perform % initial checks} % \begin{macrocode} %<*code> \LdfInit{magyar}{caption\CurrentOption} % \end{macrocode} % % When this file is read as an option, i.e. by the |\usepackage| % command, \texttt{magyar} will be an `unknown' language in which % case we have to make it known. So we check for the existence of % |\l@magyar| or |\l@hungarian| to see whether we have to do % something here. % % \changes{magyar-1.0b}{1991/10/29}{Removed use of \cs{@ifundefined}} % \changes{magyar-1.1}{1992/02/16}{Added a warning when no hyphenation % patterns were loaded.} % \changes{magyar-1.3c}{1994/06/26}{Now use \cs{@nopatterns} to % produce the warning} % \changes{magyar-1.4d}{2003/09/18}{The \cs{else} clause got outside % of the \cs{if} statement, breaking the Hungarian support} % \changes{magyar-1.4g}{2003/10/07}{Further change to make it work % when neither \cs{l@magyar} nor \cs{l@hugarian} are defined} % \begin{macrocode} \ifx\l@magyar\@undefined \ifx\l@hungarian\@undefined \@nopatterns{Magyar} \adddialect\l@magyar0 \else \let\l@magyar\l@hungarian \fi \fi % \end{macrocode} % The statement above makes sure that |\l@magyar| is always % defined; if |\l@hungarian| is still undefined we make it equal to % |\l@magyar|. % \begin{macrocode} \ifx\l@hungarian\@undefined \let\l@hungarian\l@magyar \fi % \end{macrocode} % % The next step consists of defining commands to switch to (and % from) the Hungarian language. % % \begin{macro}{\captionsmagyar} % The macro |\captionsmagyar| defines all strings used in the four % standard document classes provided with \LaTeX. % \changes{magyar-1.1}{1992/02/16}{Added \cs{seename}, \cs{alsoname} % and \cs{prefacename}} % \changes{magyar-1.1}{1993/07/15}{\cs{headpagename} should be % \cs{pagename}} % \changes{magyar-1.1c}{1994/01/05}{Added translations, fixed typos} % \changes{magyar-1.3e}{1995/07/04}{Added \cs{proofname} for % AMS-\LaTeX} % \changes{magyar-1.3f}{1996/04/18}{translated Proof and replaced some % translations} % \changes{magyar-1.4a}{1998/06/04}{the initial letter of fejezet, % t\'abl\'azat, r\'esz, l\'asd changed to lowercase} % \begin{macrocode} \@namedef{captions\CurrentOption}{% \def\prefacename{El\H osz\'o}% % \end{macrocode} % For the list of references at the end of an article we have a % choice between two words, `Referenci\'ak' (a Hungarian version of % the English word) and `Hivatkoz\'asok'. The latter seems to % be in more widespread use. % \begin{macrocode} \def\refname{Hivatkoz\'asok}% % \end{macrocode} % If you have a document with a summary instead of an abstract you % might want to replace the word `Kivonat' with % `\"Osszefoglal\'o'. % \begin{macrocode} \def\abstractname{Kivonat}% % \end{macrocode} % The Hungarian version of `Bibliography' is `Bibliogr\'afia', but % a more natural word to use is `Irodalomjegyz\'ek'. % \begin{macrocode} \def\bibname{Irodalomjegyz\'ek}% \def\chaptername{fejezet}% \def\appendixname{F\"uggel\'ek}% \def\contentsname{Tartalomjegyz\'ek}% \def\listfigurename{\'Abr\'ak jegyz\'eke}% \def\listtablename{T\'abl\'azatok jegyz\'eke}% \def\indexname{T\'argymutat\'o}% \def\figurename{\'abra}% \def\tablename{t\'abl\'azat}% \def\partname{r\'esz}% \def\enclname{Mell\'eklet}% \def\ccname{K\"orlev\'el--c\'\i mzettek}% \def\headtoname{C\'\i mzett}% \def\pagename{oldal}% \def\seename{l\'asd}% \def\alsoname{l\'asd m\'eg}% % \end{macrocode} % Besides the Hungarian word for Proof, `Bizony\'\i t\'as' we can % also name Corollary (K\"ovetkezm\'eny), Theorem (T\'etel) and % Lemma (Lemma). % \changes{magyar-1.4b}{2000/09/20}{Added \cs{glossaryname}} % \changes{magyar-1.4h}{2003/11/20}{Inserted translation for Glossary} % \begin{macrocode} \def\proofname{Bizony\'\i t\'as}% \def\glossaryname{Sz\'ojegyz\'ek}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\datemagyar} % The macro |\datemagyar| redefines the command |\today| to produce % Hungarian dates. % \changes{magyar-1.1d}{1994/02/08}{Rewritten to produce the correct % date format} % \changes{magyar-1.4a}{1998/06/10}{Use \cs{number}\cs{day} instead of % \cs{ifcase} construct} % \begin{macrocode} \@namedef{date\CurrentOption}{% \def\today{% \number\year.\nobreakspace\ifcase\month\or janu\'ar\or febru\'ar\or m\'arcius\or \'aprilis\or m\'ajus\or j\'unius\or j\'ulius\or augusztus\or szeptember\or okt\'ober\or november\or december\fi \space\number\day.}} % \end{macrocode} % \end{macro} % % \begin{macro}{\ondatemagyar} % The macro |\ondatemagyar| produces Hungarian dates which have the % meaning `\emph{on this day}'. It does not redefine the command % |\today|. % \changes{magyar-1.1c}{1994/01/05}{The date number should not be % followed by a dot.} % \changes{magyar-1.1d}{1994/02/08}{Renamed from \cs{datemagyar}; % nolonger redefines \cs{today}.} % \begin{macrocode} \@namedef{ondate\CurrentOption}{% \number\year.\nobreakspace\ifcase\month\or janu\'ar\or febru\'ar\or m\'arcius\or \'aprilis\or m\'ajus\or j\'unius\or j\'ulius\or augusztus\or szeptember\or okt\'ober\or november\or december\fi \space\ifcase\day\or 1-j\'en\or 2-\'an\or 3-\'an\or 4-\'en\or 5-\'en\or 6-\'an\or 7-\'en\or 8-\'an\or 9-\'en\or 10-\'en\or 11-\'en\or 12-\'en\or 13-\'an\or 14-\'en\or 15-\'en\or 16-\'an\or 17-\'en\or 18-\'an\or 19-\'en\or 20-\'an\or 21-\'en\or 22-\'en\or 23-\'an\or 24-\'en\or 25-\'en\or 26-\'an\or 27-\'en\or 28-\'an\or 29-\'en\or 30-\'an\or 31-\'en\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\extrasmagyar} % \begin{macro}{\noextrasmagyar} % The macro |\extrasmagyar| will perform all the extra definitions % needed for the Hungarian language. The macro |\noextrasmagyar| is % used to cancel the actions of |\extrasmagyar|. % % \begin{macrocode} \@namedef{extras\CurrentOption}{% \expandafter\let\expandafter\ontoday \csname ondate\CurrentOption\endcsname} \@namedef{noextras\CurrentOption}{\let\ontoday\@undefined} % \end{macrocode} % \end{macro} % \end{macro} % % Now we redefine some commands included into \file{latex.ltx}. % The original form of a command is always saved with % |\babel@save| and the changes are added to |\extrasmagyar|. % This ensures that the Hungarian version of a macro is alive % \emph{only} if the Hungarian language is active. % % \begin{macro}{\fnum@figure} % \begin{macro}{\fnum@table} % In figure and table captions the order of the figure/table % number and |\figurename|\hspace{0pt}/|\tablename| must be changed. % To achieve this |\fnum@figure| and |\fnum@table| are % redefined and added to |\extrasmagyar|. % \changes{magyar-1.4i}{2004/02/20}{Use \cs{nobreakspace} instead of % tilde} % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\fnum@figure \def\fnum@figure{\thefigure.\nobreakspace\figurename}} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\fnum@table \def\fnum@table{\thetable.\nobreakspace\tablename}} % \end{macrocode} % \end{macro} % \end{macro} % % \begin{macro}{\@makecaption} % The colon in a figure/table caption must be replaced by a dot % by redefining |\@makecaption|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@makecaption \def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1. #2}% \ifdim \wd\@tempboxa >\hsize {#1. #2\csname par\endcsname} \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@caption} % There should be a dot after the figure/table number in lof/lot, % so |\@caption| is redefined. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@caption \long\def\@caption#1[#2]#3{% \csname par\endcsname \addcontentsline{\csname ext@#1\endcsname}{#1}% {\protect\numberline{\csname the#1\endcsname.}{\ignorespaces #2}}% \begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize \@makecaption{\csname fnum@#1\endcsname}% {\ignorespaces #3}\csname par\endcsname \endgroup}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@seccntformat} % In order to have a dot after the section number % |\@seccntformat| is redefined. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@seccntformat \def\@seccntformat#1{\csname the#1\endcsname.\quad}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@sect} % Alas, |\@sect| must also be redefined to have that dot in toc too. % On the other hand, we include a dot after a run-in head. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@sect \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi \@tempskipa #5\relax \ifdim \@tempskipa>\z@ \begingroup #6{% \@hangfrom{\hskip #3\relax\@svsec}% \interlinepenalty \@M #8\@@par}% \endgroup \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname.}% \fi #7}% \else \def\@svsechd{% #6{\hskip #3\relax \@svsec #8.}% \csname #1mark\endcsname{#7}% \addcontentsline{toc}{#1}{% \ifnum #2>\c@secnumdepth \else \protect\numberline{\csname the#1\endcsname.}% \fi #7}}% \fi \@xsect{#5}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@ssect} % In order to have that dot after a run-in head when the star form of the % sectioning commands is used, we have to redefine |\@ssect|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@ssect \def\@ssect#1#2#3#4#5{% \@tempskipa #3\relax \ifdim \@tempskipa>\z@ \begingroup #4{% \@hangfrom{\hskip #1}% \interlinepenalty \@M #5\@@par}% \endgroup \else \def\@svsechd{#4{\hskip #1\relax #5.}}% \fi \@xsect{#3}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\@begintheorem} % \begin{macro}{\@opargbegintheorem} % Order changing and dot insertion in theorem by redefining % |\@begintheorem| and |\@opargbegintheorem|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@begintheorem \def\@begintheorem#1#2{\trivlist \item[\hskip \labelsep{\bfseries #2.\ #1.}]\itshape}% \babel@save\@opargbegintheorem \def\@opargbegintheorem#1#2#3{\trivlist \item[\hskip \labelsep{\bfseries #2.\ #1\ (#3).}]\itshape}} % \end{macrocode} % \end{macro} % \end{macro} % % The next step is to redefine some macros included into the % class files. It is determined which class file is loaded % then the original form of the macro is saved and the changes % are added to |\extrasmagyar|. % % First we check if the \file{book.cls} is loaded. % \begin{macrocode} \@ifclassloaded{book}{% % \end{macrocode} % \begin{macro}{\ps@headings} % The look of the headings is changed: we have to insert some dots % and change the order of chapter number and |\chaptername|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\ps@headings} \expandafter\addto\csname extras\CurrentOption\endcsname{% \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\chaptermark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \thechapter. \@chapapp. \ % \fi \fi ##1}}{}}% \def\sectionmark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection. \ % \fi ##1}}}}% \else \def\ps@headings{% \let\@oddfoot\@empty \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\chaptermark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \thechapter. \@chapapp. \ % \fi \fi ##1}}}}% \fi} % \end{macrocode} % \end{macro} % \begin{macro}{\@part} % At the beginning of a part we need \mbox{eg.} `I.\ r\'esz' % instead of `Part I' (in toc too). % To achieve this |\@part| is redefined. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@part \def\@part[#1]#2{% \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}% \addcontentsline{toc}{part}{\thepart.\hspace{1em}#1}% \else \addcontentsline{toc}{part}{#1}% \fi \markboth{}{}% {\centering \interlinepenalty \@M \normalfont \ifnum \c@secnumdepth >-2\relax \huge\bfseries \thepart.\nobreakspace\partname \csname par\endcsname \vskip 20\p@ \fi \Huge \bfseries #2\csname par\endcsname}% \@endpart}} % \end{macrocode} % \end{macro} % \begin{macro}{\@chapter} % The same changes are made to chapter. % First the screen typeout and the toc are changed by % redefining |\@chapter|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@chapter \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter{chapter}% \typeout{\thechapter.\space\@chapapp.}% \addcontentsline{toc}{chapter}% {\protect\numberline{\thechapter.}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}% \@afterheading \fi}} % \end{macrocode} % \end{macro} % \begin{macro}{\@makechapterhead} % Then the look of the chapter-start is modified by redefining % |\@makechapterhead|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@makechapterhead \def\@makechapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \if@mainmatter \huge\bfseries \thechapter.\nobreakspace\@chapapp{} \csname par\endcsname\nobreak \vskip 20\p@ \fi \fi \interlinepenalty\@M \Huge \bfseries #1\csname par\endcsname\nobreak \vskip 40\p@ }}}% % \end{macrocode} % \end{macro} % This the end of the book class modification. % \begin{macrocode} }{} % \end{macrocode} % % Now we check if \file{report.cls} is loaded. % \begin{macrocode} \@ifclassloaded{report}{% % \end{macrocode} % \begin{macro}{\ps@headings} % First the headings are modified just in case of the book class. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\ps@headings} \expandafter\addto\csname extras\CurrentOption\endcsname{% \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\chaptermark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \thechapter. \@chapapp. \ % \fi ##1}}{}}% \def\sectionmark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection. \ % \fi ##1}}}}% \else \def\ps@headings{% \let\@oddfoot\@empty \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\chaptermark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \thechapter. \@chapapp. \ % \fi ##1}}}}% \fi} % \end{macrocode} % \end{macro} % \begin{macro}{\@chapter} % Chapter-start modification with |\@chapter| % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@chapter \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}% \typeout{\thechapter.\space\@chapapp.}% \addcontentsline{toc}{chapter}% {\protect\numberline{\thechapter.}#1}% \else \addcontentsline{toc}{chapter}{#1}% \fi \chaptermark{#1}% \addtocontents{lof}{\protect\addvspace{10\p@}}% \addtocontents{lot}{\protect\addvspace{10\p@}}% \if@twocolumn \@topnewpage[\@makechapterhead{#2}]% \else \@makechapterhead{#2}% \@afterheading \fi}} % \end{macrocode} % \end{macro} % \begin{macro}{\@makechapterhead} % and |\@makechapterhead|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\@makechapterhead \def\@makechapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \huge\bfseries \thechapter.\nobreakspace\@chapapp{} \csname par\endcsname\nobreak \vskip 20\p@ \fi \interlinepenalty\@M \Huge \bfseries #1\csname par\endcsname\nobreak \vskip 40\p@ }}}% % \end{macrocode} % \end{macro} % End of report class modification. % \begin{macrocode} }{} % \end{macrocode} % % Checking if \file{article.cls} is loaded. % \begin{macrocode} \@ifclassloaded{article}{% % \end{macrocode} % \begin{macro}{\ps@headings} % Changing headings by redefining |\ps@headings|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\ps@headings} \expandafter\addto\csname extras\CurrentOption\endcsname{% \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@evenhead{\thepage\hfil\slshape\leftmark}% \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markboth {\MakeUppercase{% \ifnum \c@secnumdepth >\z@ \thesection.\quad \fi ##1}}{}}% \def\subsectionmark##1{% \markright {% \ifnum \c@secnumdepth >\@ne \thesubsection.\quad \fi ##1}}}% \else \def\ps@headings{% \let\@oddfoot\@empty \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% \let\@mkboth\markboth \def\sectionmark##1{% \markright {\MakeUppercase{% \ifnum \c@secnumdepth >\m@ne \thesection.\quad \fi ##1}}}}% \fi}% % \end{macrocode} % \end{macro} % No more necessary changes specific to the article class. % \begin{macrocode} }{} % \end{macrocode} % % And now this is the turn of \file{letter.cls}. % \begin{macrocode} \@ifclassloaded{letter}{% % \end{macrocode} % \begin{macro}{\ps@headings} % In the headings the page number must be followed by a dot % and then |\pagename|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\ps@headings} \expandafter\addto\csname extras\CurrentOption\endcsname{% \if@twoside \def\ps@headings{% \let\@oddfoot\@empty\let\@evenfoot\@empty \def\@oddhead{\slshape\headtoname{:} \ignorespaces\toname \hfil \@date \hfil \thepage.\nobreakspace\pagename}% \let\@evenhead\@oddhead} \else \def\ps@headings{% \let\@oddfoot\@empty \def\@oddhead{\slshape\headtoname{:} \ignorespaces\toname \hfil \@date \hfil \thepage.\nobreakspace\pagename}} \fi}% % \end{macrocode} % \end{macro} % End of letter class. % \begin{macrocode} }{} % \end{macrocode} % % After making the changes to the \LaTeX{} % macros we define some new ones to handle the problem % with definite articles. % \begin{macro}{\az} % |\az| is a user-level command which decides if the next % character is a star. |\@az| is called for |\az*| and % |\az@| for |\az|. % \begin{macrocode} \def\az{a\@ifstar{\@az}{\az@}} % \end{macrocode} % \end{macro} % \begin{macro}{\Az} % |\Az| is used at the beginning of a sentence. Otherwise it behaves % the same as |\az|. % \begin{macrocode} \def\Az{A\@ifstar{\@az}{\az@}} % \end{macrocode} % \end{macro} % \begin{macro}{\az@} % |\az@| is called if there is no star after |\az| or |\Az|. % It calls |\@az| and writes |#1| separating with a non-breakable % space. % \begin{macrocode} \def\az@#1{\@az{#1}\nobreakspace#1} % \end{macrocode} % \end{macro} % \begin{macro}{\@az} % This macro calls |\hun@tempadef| to remove the accents from % the argument then calls |\@@az| that determines if a `z' % should be written after a/A (written by |\az|/|\Az|). % \begin{macrocode} \def\@az#1{% \hun@tempadef{relax}{relax}{#1}% \edef\@tempb{\noexpand\@@az\@tempa\hbox!}% \@tempb} % \end{macrocode} % \end{macro} % % \begin{macro}{\hun@tempadef} % The macro |\hun@tempadef| has three tasks: % \begin{itemize} % \item Accent removal. Accented letters confuse % |\@@az|, the main definite article determinator % macro, so they must be changed to their non-accented % counterparts. Special letters must also be changed, % \mbox{eg.} \oe$\,\rightarrow\,$o. % \item Labels must be expanded. % \item To handle Roman numerals correctly, commands starting % with |\hun@| are defined for labels containing Roman % numbers with the Roman numerals % replaced by their Arabic representation. % This macro can check if there is a |\hun@| command. % \end{itemize} % There are three arguments: % \begin{enumerate} % \item The primary command that should be expanded if it exists. % This is usually the |\hun@| command for a label. % \item The secondary command which is used if the first one % is |\relax|. This is usually the original \LaTeX{} % command for a label. % \item This is used if the first two is |\relax|. For this one % no expansion is carried out but the accents are still % removed and special letters are changed. % \end{enumerate} % \changes{magyar-1.4f}{2003/09/29}{Added % \cs{def}\cs{safe@activesfalse{}} as a fix for PR3426} % \begin{macrocode} \def\hun@tempadef#1#2#3{% \begingroup \def\@safe@activesfalse{}% \def\setbox ##1{}% to get rid of accents and special letters \def\hbox ##1{}% \def\accent ##1 ##2{##2}% \def\add@accent ##1##2{##2}% \def\@text@composite@x ##1##2{##2}% \def\i{i}\def\j{j}% \def\ae{a}\def\AE{A}\def\oe{o}\def\OE{O}% \def\ss{s}\def\L{L}% \def\d{}\def\b{}\def\c{}\def\t{}% \expandafter\ifx\csname #1\endcsname\relax \expandafter\ifx\csname #2\endcsname\relax \xdef\@tempa{#3}% \else \xdef\@tempa{\csname #2\endcsname}% \fi \else \xdef\@tempa{\csname #1\endcsname}% \fi \endgroup} % \end{macrocode} % \end{macro} % % The following macros are used to determine the definite % article for a label's expansion. % \begin{macro}{\aref} % |\aref| is an alias for |\azr|. % \begin{macrocode} \def\aref{\azr} % \end{macrocode} % \end{macro} % \begin{macro}{\Aref} % |\Aref| is an alias for |\Azr|. % \begin{macrocode} \def\Aref{\Azr} % \end{macrocode} % \end{macro} % \begin{macro}{\azr} % |\azr| calls |\@azr| if the next character is a star, % otherwise it calls |\azr@|. % \begin{macrocode} \def\azr{a\@ifstar{\@azr}{\azr@}} % \end{macrocode} % \end{macro} % \begin{macro}{\Azr} % |\Azr| is the same as |\azr| except that it writes `A' % instead of `a'. % \begin{macrocode} \def\Azr{A\@ifstar{\@azr}{\azr@}} % \end{macrocode} % \end{macro} % \begin{macro}{\azr@} % |\azr@| decides if the next character is |(| and % in that case it calls |\azr@@@| which writes an extra |(| % for equation referencing. Otherwise |\azr@@| is called. % \begin{macrocode} \def\azr@{\@ifnextchar ({\azr@@@}{\azr@@}} % \end{macrocode} % \end{macro} % \begin{macro}{\azr@@} % Calls |\@azr| then writes the label's expansion preceded by % a non-breakable space. % \begin{macrocode} \def\azr@@#1{\@azr{#1}\nobreakspace\ref{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\azr@@@} % Same as |\azr@@| but inserts a |(| between the % non-breakable space and the label expansion. % \begin{macrocode} \def\azr@@@(#1{\@azr{#1}\nobreakspace(\ref{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\@azr} % Calls |\hun@tempadef| to choose between the label's % |\hun@| or original \LaTeX{} command and to expand % it with accent removal and special letter substitution. % Then calls |\@@az|, the core macro of definite article handling. % \begin{macrocode} \def\@azr#1{% \hun@tempadef{hun@r@#1}{r@#1}{}% \ifx\@tempa\empty \else \edef\@tempb{\noexpand\@@az\expandafter\@firstoftwo\@tempa\hbox!}% \@tempb \fi } % \end{macrocode} % \end{macro} % % The following commands are used to generate the definite article % for the page number of a label. % \begin{macro}{\apageref} % |\apageref| is an alias for |\azp|. % \begin{macrocode} \def\apageref{\azp} % \end{macrocode} % \end{macro} % \begin{macro}{\Apageref} % |\Apageref| is an alias for |\Azp|. % \begin{macrocode} \def\Apageref{\Azp} % \end{macrocode} % \end{macro} % \begin{macro}{\azp} % Checks if the next character is |*| and calls % |\@azp| or |\azp@|. % \begin{macrocode} \def\azp{a\@ifstar{\@azp}{\azp@}} % \end{macrocode} % \end{macro} % \begin{macro}{\Azp} % Same as |\azp| except that it writes `A' instead of `a'. % \begin{macrocode} \def\Azp{A\@ifstar{\@azp}{\azp@}} % \end{macrocode} % \end{macro} % \begin{macro}{\azp@} % Calls |\@azp| then writes the label's page preceded by % a non-breakable space. % \begin{macrocode} \def\azp@#1{\@azp{#1}\nobreakspace\pageref{#1}} % \end{macrocode} % \end{macro} % \begin{macro}{\@azp} % Calls |\hun@tempadef| then takes the label's page and passes % it to |\@@az|. % \begin{macrocode} \def\@azp#1{% \hun@tempadef{hun@r@#1}{r@#1}{}% \ifx\@tempa\empty \else \edef\@tempb{\noexpand\@@az\expandafter\@secondoftwo\@tempa\hbox!}% \@tempb \fi } % \end{macrocode} % \end{macro} % % The following macros are used to give the definite article to % citations. % \begin{macro}{\acite} % This is an alias for |\azc|. % \begin{macrocode} \def\acite{\azc} % \end{macrocode} % \end{macro} % \begin{macro}{\Acite} % This is an alias for |\Azc|. % \begin{macrocode} \def\Acite{\Azc} % \end{macrocode} % \end{macro} % \begin{macro}{\azc} % Checks if the next character is a star and % calls |\@azc| or |\azc@|. % \begin{macrocode} \def\azc{a\@ifstar{\@azc}{\azc@}} % \end{macrocode} % \end{macro} % \begin{macro}{\Azc} % Same as |\azc| but used at the beginning of sentences. % \begin{macrocode} \def\Azc{A\@ifstar{\@azc}{\azc@}} % \end{macrocode} % \end{macro} % \begin{macro}{\azc@} % If there is no star we accept an optional argument, % just like the |\cite| command. % \begin{macrocode} \def\azc@{\@ifnextchar [{\azc@@}{\azc@@[]}} % \end{macrocode} % \end{macro} % \begin{macro}{\azc@@} % First calls |\@azc| then |\cite|. % \begin{macrocode} \def\azc@@[#1]#2{% \@azc{#2}\nobreakspace\def\@tempa{#1}% \ifx\@tempa\@empty\cite{#2}\else\cite[#1]{#2}\fi} % \end{macrocode} % \end{macro} % \begin{macro}{\@azc} % This is an auxiliary macro to get the first cite label % from a comma-separated list. % \begin{macrocode} \def\@azc#1{\@@azc#1,\hbox!} % \end{macrocode} % \end{macro} % \begin{macro}{\@@azc} % This one uses only the first argument, that is the first % element of the comma-separated list of cite labels. % Calls |\hun@tempadef| to expand the cite label with accent % removal and special letter replacement. % Then |\@@az|, the core macro, is called. % \begin{macrocode} \def\@@azc#1,#2\hbox#3!{% \hun@tempadef{hun@b@#1}{b@#1}{}% \ifx\@tempa\empty \else \edef\@tempb{\noexpand\@@az\@tempa\hbox!}% \@tempb \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\hun@number@lehgth} % This macro is used to count the number of digits in its % argument until a non-digit character is found or % the end of the argument is reached. % It must be called as % |\hun@number@lehgth|\textit{arg}|\hbox\hbox!| and % |\count@| must be zeroed. % It is called by |\@@az|. % \begin{macrocode} \def\hun@number@lehgth#1#2\hbox#3!{% \ifcat\noexpand#11% \ifnum\expandafter`\csname#1\endcsname>47 \ifnum\expandafter`\csname#1\endcsname<58 \advance\count@ by \@ne \hun@number@lehgth#2\hbox\hbox!\fi\fi\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\hun@alph@lehgth} % This is used to count the number of letters until a % non-letter is found or the end of the argument is reached. % It must be called as % |\hun@alph@lehgth|\textit{arg}|\hbox\hbox!| and % |\count@| must be set to zero. % It is called by |\@@az@string|. % \begin{macrocode} \def\hun@alph@lehgth#1#2\hbox#3!{% \ifcat\noexpand#1A% \advance\count@ by \@ne \hun@alph@lehgth#2\hbox\hbox!\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\@@az@string} % This macro is called by |\@@az| if the argument begins % with a letter. % The task of |\@@az@string| is to determine if the argument % starts with a vowel and in that case |\let\@tempa\@tempb|. % After checking if the first letter is A, E, I, O, or U, % |\hun@alph@lehgth| is called % to determine the length of the argument. If it gives 1 % (that is the argument is a single-letter one or the second % character is not letter) then the letters L, M, N, R, S, X, and Y % are also considered as a vowel since their Hungarian pronounced % name starts with a vowel. % \begin{macrocode} \def\@@az@string#1#2{% \ifx#1A% \let\@tempa\@tempb \else\ifx#1E% \let\@tempa\@tempb \else\ifx#1I% \let\@tempa\@tempb \else\ifx#1O% \let\@tempa\@tempb \else\ifx#1U% \let\@tempa\@tempb \fi\fi\fi\fi\fi \ifx\@tempa\@tempb \else \count@\z@ \hun@alph@lehgth#1#2\hbox\hbox!% \ifnum\count@=\@ne \ifx#1F% \let\@tempa\@tempb \else\ifx#1L% \let\@tempa\@tempb \else\ifx#1M% \let\@tempa\@tempb \else\ifx#1N% \let\@tempa\@tempb \else\ifx#1R% \let\@tempa\@tempb \else\ifx#1S% \let\@tempa\@tempb \else\ifx#1X% \let\@tempa\@tempb \else\ifx#1Y% \let\@tempa\@tempb \fi\fi\fi\fi\fi\fi\fi\fi \fi \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\@@az} % This macro is the core of definite article handling. % It determines if the argument needs `az' or `a' definite % article by setting |\@tempa| to `z' or |\@empty|. % It sets |\@tempa| to `z' if % \begin{itemize} % \item the first character of the argument is 5; or % \item the first character of the argument is 1 and % the $\mathit{length\ of\ the\ number} \pmod 3 = 1$ % (one--egy, thousand--ezer, million--egymilli\'o,\dots); or % \item the first character of the argument is % a, A, e, E, i, I, o, O, u, or U; or % \item the first character of the argument is % l, L, m, M, n, N, r, R, s, S, x, X, y, or Y % and the length of the argument is 1 or the second % character is a non-letter. % \end{itemize} % At the end it calls |\@tempa|, that is, it either typesets a `z' % or nothing. % \begin{macrocode} \def\@@az#1#2\hbox#3!{% \let\@tempa\@empty \def\@tempb{z}% \uppercase{% \ifx5#1% \let\@tempa\@tempb \else\ifx1#1% \count@\@ne \hun@number@lehgth#2\hbox\hbox!% \loop \ifnum\count@>\thr@@ \advance\count@-\thr@@ \repeat \ifnum\count@=\@ne \let\@tempa\@tempb \fi \else \@@az@string{#1}{#2}% \fi\fi }% \@tempa} % \end{macrocode} % \end{macro} % % \begin{macro}{\refstepcounter} % |\refstepcounter| must be redefined in order to keep % |\@currentlabel| unexpanded. This is necessary to enable % the |\label| command to write a |\hunnewlabel| command % to the aux file with the Roman numerals substituted by % their Arabic representations. % Of course, the original definition of |\refstepcounter| is % saved and restored if the Hungarian language is switched off. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\refstepcounter \def\refstepcounter#1{\stepcounter{#1}% \def\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}% } % \end{macrocode} % \end{macro} % % \begin{macro}{\label} % |\label| is redefined to write another line into the aux % file: |\hunnewlabel{ }{ }| where the Roman numerals % are replaced their Arabic representations. % The original definition of |\label| is saved into % |\old@label| and it is also called by |\label|. % On leaving the Hungarian typesetting mode |\label|'s % original is restored since it is added to |\noextrasmagyar|. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \let\old@label\label \def\label#1{\@bsphack \old@label{#1}% \begingroup \let\romannumeral\number \def\@roman##1{\number ##1}% \def\@Roman##1{\number ##1}% {\toks0={\noexpand\noexpand\noexpand\number}% \def\number##1{\the\toks0 ##1}\xdef\tempb@{\thepage}}% \edef\@tempa##1{\noexpand\protected@write\@auxout{}% {\noexpand\string\noexpand\hunnewlabel {##1}{{\@currentlabel}{\tempb@}}}}% \@tempa{#1}% \endgroup \@esphack}% } \expandafter\addto\csname noextras\CurrentOption\endcsname{% \let\label\old@label } % \end{macrocode} % \end{macro} % % \begin{macro}{\hunnewlabel} % Finally, |\hunnewlabel| is defined. % It checks if the label's expansion (|#2|) differs from that % one given in the |\newlabel| command. If yes % (that is, the label contains some Roman numerals), % it defines the macro |\hun@r@|\textit{label}, % otherwise it does nothing. % \begin{macrocode} \def\hunnewlabel#1#2{% \def\@tempa{#2}% \expandafter\ifx\csname r@#1\endcsname\@tempa \relax% \message{No need for def: #1}% \else \global\expandafter\let\csname hun@r@#1\endcsname\@tempa% \fi } % \end{macrocode} % \end{macro} % % For Hungarian the |`| character is made active. % \changes{magyar-1.4c}{2001/03/05}{Make sure that the grave accent % has catcode 12 \emph{before} it is made \cs{active}} % \begin{macrocode} \AtBeginDocument{% \if@filesw\immediate\write\@auxout{\catcode096=12}\fi} \initiate@active@char{`} \expandafter\addto\csname extras\CurrentOption\endcsname{% \languageshorthands{magyar}% \bbl@activate{`}} \expandafter\addto\csname noextras\CurrentOption\endcsname{% \bbl@deactivate{`}} % \end{macrocode} % % The character sequence |``| is declared as a shorthand % in order to produce % the opening quotation sign appropriate for Hungarian. % \begin{macrocode} \declare@shorthand{magyar}{``}{\glqq} % \end{macrocode} % % In Hungarian there are some long double consonants which % must be hyphenated specially. % For all these long double consonants (except dzzs, that is % extremely very-very rare) a shortcut is defined. % \begin{macrocode} \declare@shorthand{magyar}{`c}{\textormath{\bbl@disc{c}{cs}}{c}} \declare@shorthand{magyar}{`C}{\textormath{\bbl@disc{C}{CS}}{C}} \declare@shorthand{magyar}{`d}{\textormath{\bbl@disc{d}{dz}}{d}} \declare@shorthand{magyar}{`D}{\textormath{\bbl@disc{D}{DZ}}{D}} \declare@shorthand{magyar}{`g}{\textormath{\bbl@disc{g}{gy}}{g}} \declare@shorthand{magyar}{`G}{\textormath{\bbl@disc{G}{GY}}{G}} \declare@shorthand{magyar}{`l}{\textormath{\bbl@disc{l}{ly}}{l}} \declare@shorthand{magyar}{`L}{\textormath{\bbl@disc{L}{LY}}{L}} \declare@shorthand{magyar}{`n}{\textormath{\bbl@disc{n}{ny}}{n}} \declare@shorthand{magyar}{`N}{\textormath{\bbl@disc{N}{NY}}{N}} \declare@shorthand{magyar}{`s}{\textormath{\bbl@disc{s}{sz}}{s}} \declare@shorthand{magyar}{`S}{\textormath{\bbl@disc{S}{SZ}}{S}} \declare@shorthand{magyar}{`t}{\textormath{\bbl@disc{t}{ty}}{t}} \declare@shorthand{magyar}{`T}{\textormath{\bbl@disc{T}{TY}}{T}} \declare@shorthand{magyar}{`z}{\textormath{\bbl@disc{z}{zs}}{z}} \declare@shorthand{magyar}{`Z}{\textormath{\bbl@disc{Z}{ZS}}{Z}} % \end{macrocode} % % The macro |\ldf@finish| takes care of looking for a % configuration file, setting the main language to be switched on % at |\begin{document}| and resetting the category code of % \texttt{@} to its original value. % \changes{magyar-1.3h}{1996/10/30}{Now use \cs{ldf@finish} to wrap up} % \begin{macrocode} \ldf@finish\CurrentOption % % \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