% \iffalse meta-comment
%
% Copyright 1989-2019 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 Javier Bezos.
% 
% 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{347}
% \iffalse
%    Tell the \LaTeX\ system who we are and write an entry on the
%    transcript.
%<*dtx>
\ProvidesFile{turkish.dtx}
%</dtx>
%<code>\ProvidesLanguage{turkish}
%\fi
%\ProvidesFile{turkish.dtx}
        [2019/07/05 v1.4 Turkish support from the babel system]
%\iffalse
%% File `turkish.dtx'
%
%% Turkish Language Definition File
%% Copyright (C) 1994 - 2005
%%           by Mustafa Burc
%%           rz6001@rziris01.rrz.uni-hamburg.de
%%          (40) 2503476
%
%    This file is part of the babel system, it provides the source
%    code for the Turkish language definition file.
%<*filedriver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\title{The Turkish style for babel}
\author{Mustafa Burc, Johannes Braams, Javier Bezos} 
\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}
 \maketitle
 \DocInput{turkish.dtx}
\end{document}
%</filedriver>
%\fi
% \GetFileInfo{turkish.dtx}
%
% \changes{turkish-1.2}{1994/02/27}{Update for \LaTeXe}
% \changes{turkish-1.2c}{1994/06/26}{Removed the use of \cs{filedate}
%    and moved identification after the loading of \file{babel.def}}
% \changes{turkish-1.2h}{1996/07/13}{Replaced \cs{undefined} with
%    \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
%    with \LaTeX}
% \changes{turkish-1.2i}{1996/10/10}{Moved the definition of
%    \cs{atcatcode} right to the beginning.}
%
%  \section{The Turkish language}
%
%    The file \file{\filename}\footnote{The file described in this
%    section has version number \fileversion\ and was last revised on
%    \filedate.}  defines all the language definition macros for the
%    Turkish language\footnote{Mustafa Burc,
%    \texttt{z6001@rziris01.rrz.uni-hamburg.de} provided the code for
%    this file. It is based on the work by Pierre Mackay; Turgut Uyar,
%    \texttt{uyar@cs.itu.edu.tr} supplied additional translations in
%    version 1.2j and later. Version 1.3 was prepared by Javier Bezos.}.
%
%    Turkish typographic rules specify that a little `white space'
%    should be added before the characters `\texttt{:}', `\texttt{!}'
%    and `\texttt{=}'. In order to insert this white space
%    automatically these characters are made `active'. Also
%    |\frenhspacing| is set.
%
%    Typical usage with pdf\TeX{} is:
%\begin{verbatim}
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc} % also latin5
%\usepackage[turkish]{babel}
%\end{verbatim}
%
%    The |=| shorthand is potentially dangerous. You can deactivate
%    with the \textsf{babel} option |shorthands| or with |\shorthandoff|:
%
%\begin{verbatim}
%\usepackage[turkish,shorthands=:!]{babel}
%\end{verbatim}
%
%
% This style doesn't handle the fi ligature (yet). You can break it by
% hand with |f{}i| or |f{\kern0pt}i|, but this can be
% done automatically, too. With pdf\TeX{} and monolingual documents,
% use \textsf{microtype}, as for example:
%\begin{verbatim}
%\usepackage{microtype}
%\DisableLigatures[f]{encoding = *, family = *}
%\end{verbatim}
%
%    With Xe\TeX, ligatures are handled internally by the font, provided the
%    corresponding feature has been implemented (not all fonts do); e.~g.:
%\begin{verbatim}
%\usepackage{fontspec}
%\setmainfont[Language=Turkish]{Iwona}
%\end{verbatim}
%
%    With Lua\TeX{} you can use either method (remember with
%    \textsf{microtype} you have also to set |Renderer=Basic|, at
%    least at the time of this writing). Alternative approachs with
%    Lua\TeX{} are the \textsf{setnolig} package or a |fea| file (not
%    provided here).
%
% \StopEventually{}
%
%  \subsection*{The code}
%
%    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{turkish-1.2i}{1996/11/03}{ow use \cs{LdfInit} to perform
%    initial checks} 
%    \begin{macrocode}
%<*code>
\LdfInit{turkish}\captionsturkish
%    \end{macrocode}
%
%    When this file is read as an option, i.e. by the |\usepackage|
%    command, \texttt{turkish} could be an `unknown' language in which
%    case we have to make it known. So we check for the existence of
%    |\l@turkish| to see whether we have to do something here.
%
% \changes{turkish-1.2c}{1994/06/26}{Now use \cs{@nopatterns} to
%    produce the warning}
%    \begin{macrocode}
\ifx\l@turkish\@undefined
  \@nopatterns{Turkish}
  \adddialect\l@turkish0\fi
%    \end{macrocode}
%
%    The next step consists of defining commands to switch to (and
%    from) the Turkish language.
%
% \begin{macro}{\captionsturkish}
%    The macro |\captionsturkish| defines all strings used in the four
%    standard documentclasses provided with \LaTeX.
% \changes{turkish-1.1}{1993/07/15}{\cs{headpagename} should be
%    \cs{pagename}}
% \changes{turkish-1.2b}{1994/06/04}{Added braces behind \cs{i} in
%    strings}
% \changes{turkish-1.2f}{1995/07/04}{Added \cs{proofname} for
%    AMS-\LaTeX} 
% \changes{turkish-1.2j}{1997/09/29}{Added and modified translations}
% \changes{turkish-1.2k}{1999/04/18}{Incorporated some more
%    corrections} 
% \changes{turkish-1.2m}{2000/09/20}{Added \cs{glossaryname}}
%    \begin{macrocode}
\addto\captionsturkish{%
  \def\prefacename{\"Ons\"oz}%
  \def\refname{Kaynaklar}%
  \def\abstractname{\"Ozet}%
  \def\bibname{Kaynak\c ca}%
  \def\chaptername{B\"ol\"um}%
  \def\appendixname{Ek}%
  \def\contentsname{\.I\c cindekiler}%
  \def\listfigurename{\c Sekil Listesi}%
  \def\listtablename{Tablo Listesi}%
  \def\indexname{Dizin}%
  \def\figurename{\c Sekil}%
  \def\tablename{Tablo}%
  \def\partname{K\i s\i m}%
  \def\enclname{\.Ili\c sik}%
  \def\ccname{Di\u ger Al\i c\i lar}%
  \def\headtoname{Al\i c\i}%
  \def\pagename{Sayfa}%
  \def\subjectname{\.Ilgili}%
  \def\seename{bkz.}%
  \def\alsoname{ayr\i ca bkz.}%
  \def\proofname{Kan\i t}%
  \def\glossaryname{L\"ugat\c ce}% <-- Tentative
}%
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\dateturkish}
%    The macro |\dateturkish| redefines the command |\today| to
%    produce Turkish dates.
% \changes{turkish-1.2b}{1994/06/04}{Added braces behind \cs{i} in
%    strings}
% \changes{turkish-1.2d}{1995/01/31}{removed extra closing brace,
%    \cs{mont} should be \cs{month}}
% \changes{turkish-1.2j}{1997/10/01}{Use \cs{edef} to define
%    \cs{today} to save memory}
% \changes{turkish-1.2j}{1998/03/28}{use \cs{def} instead of
%    \cs{edef}}
% \changes{turkish-1.2l}{1999/05/17}{removed dot from the date format}
%    \begin{macrocode}
\def\dateturkish{%
  \def\today{\number\day~\ifcase\month\or
    Ocak\or \c Subat\or Mart\or Nisan\or May\i s\or Haziran\or
    Temmuz\or A\u gustos\or Eyl\"ul\or Ekim\or Kas\i m\or
    Aral\i k\fi
    \space\number\year}}
%    \end{macrocode}
%
%   The following code is taken into account only with babel 3.9g and
%   later. Defines case and hyphen mapping, as well as UTF-8
%   strings. First the Unicode branch.
% \changes{turkish-1.3a}{2014/01/02}{Code for babel 3.9: case and
%     hyphen mapping, utf8 strings}
% \changes{turkish-1.3a}{2014/01/03}{Use space instead of braces after
%   \cs{i}}
% \changes{turkish-1.3b}{2014/03/22}{Now only tests \cs{BabelLower}. babel
%    >=3.9i required}
%    \begin{macrocode}
\ifx\BabelLower\@undefined\else
\StartBabelCommands*{turkish}{captions}
  [unicode, charset=utf8, fontenc=EU1 EU2 TU]
  \SetString\prefacename{Önsöz}
  \SetString\refname{Kaynaklar}
  \SetString\abstractname{Özet}
  \SetString\bibname{Kaynakça}
  \SetString\chaptername{Bölüm}
  \SetString\appendixname{Ek}
  \SetString\contentsname{İçindekiler}
  \SetString\listfigurename{Şekil Listesi}
  \SetString\listtablename{Tablo Listesi}
  \SetString\indexname{Dizin}
  \SetString\figurename{Şekil}
  \SetString\tablename{Tablo}
  \SetString\partname{Kısım}
  \SetString\enclname{İlişik}
  \SetString\ccname{Diğer Alıcılar}
  \SetString\headtoname{Alıcı}
  \SetString\pagename{Sayfa}
  \SetString\subjectname{İlgili}
  \SetString\seename{bkz.}
  \SetString\alsoname{ayrıca bkz.}
  \SetString\proofname{Kanıt}
  \SetString\glossaryname{Lügatçe}% <-- Tentative
  \SetCase
    {\uccode`i=`İ\relax
     \uccode`ı=`I\relax}
    {\lccode`İ=`i\relax
     \lccode`I=`ı\relax}
  \SetHyphenMap{%
    \BabelLower{`İ}{`i}%
    \BabelLower{`I}{`ı}}
\StartBabelCommands*{turkish}{date}
  [unicode, charset=utf8, fontenc=EU1 EU2 TU]
  \SetStringLoop{month#1name}{%
    Ocak,Şubat,Mart,Nisan,Mayıs,Haziran,%
    Temmuz,Ağustos,Eylül,Ekim,Kasım,Aralık}
%    \end{macrocode}
%    Now the OT1 branch, only partially, because this encoding is not
%    suited for Turkish (no dotted I).
%    \begin{macrocode}
\StartBabelCommands{turkish}{}[ot1enc, fontenc=OT1]
  \SetCase
    {\uccode"10=`I\relax}
    {\lccode`I="10\relax}
%    \end{macrocode}
%    And finally, the generic branch, using the LICR and assuming T1.
%    \begin{macrocode}
\StartBabelCommands*{turkish}{captions}
  \SetString\prefacename{\"Ons\"oz}
  \SetString\refname{Kaynaklar}
  \SetString\abstractname{\"Ozet}
  \SetString\bibname{Kaynak\c ca}
  \SetString\chaptername{B\"ol\"um}
  \SetString\appendixname{Ek}
  \SetString\contentsname{\.I\c cindekiler}
  \SetString\listfigurename{\c Sekil Listesi}
  \SetString\listtablename{Tablo Listesi}
  \SetString\indexname{Dizin}
  \SetString\figurename{\c Sekil}
  \SetString\tablename{Tablo}
  \SetString\partname{K\i s\i m}
  \SetString\enclname{\.Ili\c sik}
  \SetString\ccname{Di\u ger Al\i c\i lar}
  \SetString\headtoname{Al\i c\i}
  \SetString\pagename{Sayfa}
  \SetString\subjectname{\.Ilgili}
  \SetString\seename{bkz.}
  \SetString\alsoname{ayr\i ca bkz.}
  \SetString\proofname{Kan\i t}
  \SetString\glossaryname{L\"ugat\c ce}% <-- Tentative
  \SetCase
    {\uccode`i="9D\relax
     \uccode"19=`I\relax}
    {\lccode"9D=`i\relax
     \lccode`I="19\relax}
  \SetHyphenMap{%
    \BabelLower{"9D}{`i}%
    \BabelLower{`I}{"19}}
\StartBabelCommands*{turkish}{date}
  \SetStringLoop{month#1name}{%
    Ocak,\c Subat,Mart,Nisan,May\i s,Haziran,%
    Temmuz,A\u gustos,Eyl\"ul,Ekim,Kas\i m,Aral\i k}
  \SetString\today{%
    \number\day~\@nameuse{month\romannumeral\month name}%
    \space\number\year}
\EndBabelCommands
\fi
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\extrasturkish}
% \changes{turkish-1.2e}{1995/05/15}{Completely rewrote macro}
% \begin{macro}{\noextrasturkish}
%    The macro |\extrasturkish| will perform all the extra definitions
%    needed for the Turkish language. The macro |\noextrasturkish| is
%    used to cancel the actions of |\extrasturkish|.
%
%    Turkish typographic rules specify that a little `white space'
%    should be added before the characters `\texttt{:}', `\texttt{!}'
%    and `\texttt{=}'. In order to insert this white space
%    automatically these characters are made |\active|, so they have
%    to be treated in a special way.
%    \begin{macrocode}
\initiate@active@char{:}
\initiate@active@char{!}
%    \end{macrocode}
%    We specify that the turkish group of shorthands should be used.
%    These characters are `turned on' once, later their definition may
%    vary. 
%    \begin{macrocode}
\addto\extrasturkish{%
  \languageshorthands{turkish}%
  \bbl@activate{:}%
  \bbl@activate{!}%
  \bbl@activate{=}%
  \bbl@frenchspacing}
%    \end{macrocode}
%
%    For Turkish texts |\frenchspacing| should be in effect. We
%    make sure this is the case and reset it if necessary.
% \changes{turkish-1.2e}{1995/05/15}{now use \cs{bbl@frenchspacing}
%    and \cs{bbl@nonfrenchspacing}}
%    \begin{macrocode}
\addto\noextrasturkish{\bbl@nonfrenchspacing}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\turkish@sh@!@}
% \begin{macro}{\turkish@sh@=@}
% \begin{macro}{\turkish@sh@:@}
%    The definitions for the three active characters were made using
%    intermediate macros. These are defined now. The insertion of
%    extra `white space' should only happen outside math mode, hence
%    the check |\ifmmode| in the macros.
% \changes{turkish-1.2d}{1995/01/31}{Added missing \cs{def}}
% \changes{turkish-1.2e}{1995/05/15}{Use the new mechanism of
%    \cs{declare@shorthand}}
%    \begin{macrocode}
\declare@shorthand{turkish}{:}{%
  \ifmmode
    \string:%
  \else\relax
    \ifhmode
      \ifdim\lastskip>\z@
        \unskip\penalty\@M\thinspace
      \fi
    \fi
    \string:%
  \fi}
\declare@shorthand{turkish}{!}{%
  \ifmmode
    \string!%
  \else\relax
    \ifhmode
      \ifdim\lastskip>\z@
        \unskip\penalty\@M\thinspace
      \fi
    \fi
    \string!%
  \fi}
\initiate@active@char{=}
\declare@shorthand{turkish}{=}{%
  \ifmmode
    \string=%
  \else\relax
    \ifhmode
      \ifdim\lastskip>\z@
        \unskip\kern\fontdimen2\font
        \kern-1.4\fontdimen3\font
      \fi
    \fi
    \string=%
  \fi}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \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.
% \changes{turkish-1.2i}{1996/11/03}{Now use \cs{ldf@finish} to wrap
%    up} 
%    \begin{macrocode}
\ldf@finish{turkish}
%</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
