% \iffalse meta-comment
%
% Copyright 1989-2003 Johannes L. Braams and any individual authors
% listed elsewhere in this file.  All rights reserved.
% 
% This file is part of the Babel system release 3.7.
% --------------------------------------------------
% 
% It may be distributed under the terms of the LaTeX Project Public
% License, as described in lppl.txt in the base LaTeX distribution.
% Either version 1.2 or, at your option, any later version.
% \fi
% \CheckSum{263}
% \iffalse
%    Tell the \LaTeX\ system who we are and write an entry on the
%    transcript.
%<*dtx>
\ProvidesFile{serbian.dtx}
%</dtx>
%<code>\ProvidesLanguage{serbian}
%\fi
%\ProvidesFile{serbian.dtx}
       [2003/05/23 v1.0d Serbocroatian support from the babel system]
%\iffalse
% Babel package for LaTeX version 2e
% Copyright (C) 1989 - 2003
%           by Johannes Braams, TeXniek
%
% 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 Serbocroatian language definition file.  A contribution
%    was made by Dejan Muhamedagi\'{c} (dejan@yunix.com) and Jankovic
%    Slobodan <slobodan@archimed.filfak.ac.ni.yu>
%
%<*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{serbian.dtx}
\end{document}
%</filedriver>
%\fi
% \GetFileInfo{serbian.dtx}
% \changes{serbian-1.0b}{1998/06/16}{Added suggestions for shorthands
%    and so on from Jankovic Slobodan}
%
%  \section{The Serbocroatian language}
%
%    The file \file{\filename}\footnote{The file described in this
%    section has version number \fileversion\ and was last revised on
%    \filedate.  A contribution was made by Dejan Muhamedagi\'{c}
%    (\texttt{dejan@yunix.com}).}  defines all the language definition
%    macros for the Serbian language, typeset in a latin script. In a
%    future version support for typesetting in a cyrillic script may
%    be added.
%
%    For this language the character |"| is made active. In
%    table~\ref{tab:serbian-quote} an overview is given of its
%    purpose. One of the reasons for this is that in the Serbian
%    language some special characters are used.
%
%    \begin{table}[htb]
%     \begin{center}
%     \begin{tabular}{lp{8cm}}
%      |"c| & |\"c|, also implemented for the 
%                  lowercase and uppercase s and z.                \\
%      |"d| & |\dj|, also implemented for |"D|                     \\
%      |"-| & an explicit hyphen sign, allowing hyphenation
%                  in the rest of the word.                        \\
%      \verb="|= & disable ligature at this position               \\
%      |""| & like |"-|, but producing no hyphen sign
%                  (for compund words with hyphen, e.g.\ |x-""y|). \\
%      |"`| & for Serbian left double quotes (looks like ,,).      \\
%      |"'| & for Serbian right double quotes.                     \\
%      |"<| & for French left double quotes (similar to $<<$).     \\
%      |">| & for French right double quotes (similar to $>>$).    \\
%     \end{tabular}
%     \caption{The extra definitions made
%              by \file{serbian.ldf}}\label{tab:serbian-quote}
%     \end{center}
%    \end{table}
%
%    Apart from defining shorthands we need to make sure taht the
%    first paragraph of each section is intended. Furthermore the
%    following new math operators are defined (|\tg|, |\ctg|,
%    |\arctg|, |\arcctg|, |\sh|, |\ch|, |\th|, |\cth|, |\arsh|,
%    |\arch|, |\arth|, |\arcth|, |\Prob|, |\Expect|, |\Variance|).
%
% \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.
%    \begin{macrocode}
%<*code>
\LdfInit{serbian}\captionsserbian
%    \end{macrocode}
%
%    When this file is read as an option, i.e. by the |\usepackage|
%    command, \texttt{serbian} will be an `unknown' language in which
%    case we have to make it known. So we check for the existence of
%    |\l@serbian| to see whether we have to do something here.
%
%    \begin{macrocode}
\ifx\l@serbian\@undefined
    \@nopatterns{Serbian}
    \adddialect\l@serbian0\fi
%    \end{macrocode}
%
%    The next step consists of defining commands to switch to (and
%    from) the Serbocroatian language.
%
%  \begin{macro}{\captionsserbian}
%    The macro |\captionsserbian| defines all strings used
%    in the four standard documentclasses provided with \LaTeX.
% \changes{serbian-1.0d}{2000/09/20}{Added \cs{glossaryname}}
%    \begin{macrocode}
\addto\captionsserbian{%
  \def\prefacename{Predgovor}%
  \def\refname{Literatura}%
  \def\abstractname{Sa\v{z}etak}%
  \def\bibname{Bibliografija}%
  \def\chaptername{Glava}%
  \def\appendixname{Dodatak}%
  \def\contentsname{Sadr\v{z}aj}%
  \def\listfigurename{Slike}%
  \def\listtablename{Tabele}%
  \def\indexname{Indeks}%
  \def\figurename{Slika}%
  \def\tablename{Tabela}%
  \def\partname{Deo}%
  \def\enclname{Prilozi}%
  \def\ccname{Kopije}%
  \def\headtoname{Prima}%
  \def\pagename{Strana}%
  \def\seename{Vidi}%
  \def\alsoname{Vidi tako\dj e}%
  \def\proofname{Dokaz}%
  \def\glossaryname{Glossary}% <-- Needs translation
  }%
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\dateserbian}
%    The macro |\dateserbian| redefines the command |\today| to
%    produce Serbocroatian dates.
%    \begin{macrocode}
\def\dateserbian{%
  \def\today{\number\day .~\ifcase\month\or
    januar\or februar\or mart\or april\or maj\or
    juni\or juli\or avgust\or septembar\or oktobar\or novembar\or
    decembar\fi \space \number\year}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\extrasserbian}
%  \begin{macro}{\noextrasserbian}
%    The macro |\extrasserbian| will perform all the extra
%    definitions needed for the Serbocroatian language. The macro
%    |\noextrasserbian| is used to cancel the actions of
%    |\extrasserbian|.  
%
%    For Serbian the \texttt{"} character is made active. This is done
%    once, later on its definition may vary. Other languages in the
%    same document may also use the \texttt{"} character for
%    shorthands; we specify that the serbian group of shorthands
%    should be used.
%
% \changes{serbian-1.0b}{1998/06/16}{Introduced the active \texttt{"}}
%    \begin{macrocode}
\initiate@active@char{"}
\addto\extrasserbian{\languageshorthands{serbian}}
\addto\extrasserbian{\bbl@activate{"}}
%    \end{macrocode}
%    Don't forget to turn the shorthands off again.
% \changes{serbian-1.0c}{1999/12/17}{Deactivate shorthands ouside of
%    Serbian}
%    \begin{macrocode}
\addto\noextrasserbian{\bbl@deactivate{"}}
%    \end{macrocode}
%    First we define shorthands to facilitate the occurence of letters
%    such as \v{c}.
%    \begin{macrocode}
\declare@shorthand{serbian}{"c}{\textormath{\v c}{\check c}}
\declare@shorthand{serbian}{"d}{\textormath{\dj}{\dj}}%%
\declare@shorthand{serbian}{"s}{\textormath{\v s}{\check s}}
\declare@shorthand{serbian}{"z}{\textormath{\v z}{\check z}}
\declare@shorthand{serbian}{"C}{\textormath{\v C}{\check C}}
\declare@shorthand{serbian}{"D}{\textormath{\DJ}{\DJ}}%%
\declare@shorthand{serbian}{"S}{\textormath{\v S}{\check S}}
\declare@shorthand{serbian}{"Z}{\textormath{\v Z}{\check Z}}
%    \end{macrocode}
%
%    Then we define access to two forms of quotation marks, similar
%    to the german and french quotation marks.
%    \begin{macrocode}
\declare@shorthand{serbian}{"`}{%
  \textormath{\quotedblbase{}}{\mbox{\quotedblbase}}}
\declare@shorthand{serbian}{"'}{%
  \textormath{\textquotedblleft{}}{\mbox{\textquotedblleft}}}
\declare@shorthand{serbian}{"<}{%
  \textormath{\guillemotleft{}}{\mbox{\guillemotleft}}}
\declare@shorthand{serbian}{">}{%
  \textormath{\guillemotright{}}{\mbox{\guillemotright}}}
%    \end{macrocode}
%    then we define two shorthands to be able to specify hyphenation
%    breakpoints that behave a little different from |\-|.
% \changes{serbian-1.0d}{2000/09/20}{Changed definition of \texttt{"-}
%    to be the same as for other languages}
%    \begin{macrocode}
\declare@shorthand{serbian}{"-}{\nobreak-\bbl@allowhyphens}
\declare@shorthand{serbian}{""}{\hskip\z@skip}
%    \end{macrocode}
%    And we want to have a shorthand for disabling a ligature.
%    \begin{macrocode}
\declare@shorthand{serbian}{"|}{%
  \textormath{\discretionary{-}{}{\kern.03em}}{}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\bbl@frenchindent}
%  \begin{macro}{\bbl@nonfrenchindent}
%    In Serbian the first paragraph of each section should be indented.
%    Add this code only in \LaTeX.
%    \begin{macrocode}
\ifx\fmtname plain \else
  \let\@aifORI\@afterindentfalse
  \def\bbl@frenchindent{\let\@afterindentfalse\@afterindenttrue
                        \@afterindenttrue}
  \def\bbl@nonfrenchindent{\let\@afterindentfalse\@aifORI
                          \@afterindentfalse}
  \addto\extrasserbian{\bbl@frenchindent}
  \addto\noextrasserbian{\bbl@nonfrenchindent}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\mathserbian}
%    Some math functions in Serbian math books have other names:
%    e.g. |sinh| in Serbian is written as |sh| etc. So we define a
%    number of new math operators.
%    \begin{macrocode}
\def\sh{\mathop{\operator@font sh}\nolimits} % same as \sinh
\def\ch{\mathop{\operator@font ch}\nolimits} % same as \cosh
\def\th{\mathop{\operator@font th}\nolimits} % same as \tanh
\def\cth{\mathop{\operator@font cth}\nolimits} % same as \coth
\def\arsh{\mathop{\operator@font arsh}\nolimits}
\def\arch{\mathop{\operator@font arch}\nolimits}
\def\arth{\mathop{\operator@font arth}\nolimits}
\def\arcth{\mathop{\operator@font arcth}\nolimits}
\def\tg{\mathop{\operator@font tg}\nolimits} % same as \tan
\def\ctg{\mathop{\operator@font ctg}\nolimits} % same as \cot
\def\arctg{\mathop{\operator@font arctg}\nolimits} % same as \arctan
\def\arcctg{\mathop{\operator@font arcctg}\nolimits}
\def\Prob{\mathop{\mathsf P\hskip0pt}\nolimits}
\def\Expect{\mathop{\mathsf E\hskip0pt}\nolimits}
\def\Variance{\mathop{\mathsf D\hskip0pt}\nolimits}
%    \end{macrocode}
%  \end{macro}
%
%    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.
%    \begin{macrocode}
\ldf@finish{serbian}
%</code>
%    \end{macrocode}
%
% \Finale
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
\endinput
