% \iffalse meta-comment
%
% Copyright 1989-2008 Johannes L. Braams and any individual authors
% listed elsewhere in this file.  All rights reserved.
%    2017-2025 Javier Bezos, Johannes L. Braams
% 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
% \iffalse
%    Tell the \LaTeX\ system who we are and write an entry on the
%    transcript.
%<*dtx>
\ProvidesFile{indonesian.dtx}
%</dtx>
%<indonesian>\ProvidesLanguage{indonesian}
%<indon>\ProvidesLanguage{indon}
%<bahasai>\ProvidesLanguage{bahasai}
%<bahasa>\ProvidesLanguage{bahasa}
%\fi
%\ProvidesFile{indonesian.dtx}
      [2025/06/01 v1.0n Bahasa Indonesia support from the babel system]
%\iffalse
%% File `indonesian.dtx'
%% Babel package for LaTeX version 2e
%% Copyright (C) 1989 - 2008
%%           by Johannes Braams, TeXniek
%%           2017-2025 Javier Bezos, Johannes Braams
%
%% Bahasa Language Definition File
%% Copyright (C) 1994 - 2008
%%           by J"org Knappen, (joerg.knappen at alpha.ntp.springer.de)
%              Terry Mart (mart at vkpmzd.kph.uni-mainz.de)
%              Institut f\"ur Kernphysik
%              Johannes Gutenberg-Universit\"at Mainz
%              D-55099 Mainz
%              Germany
%
%    This file is part of the babel system, it provides the source
%    code for the Bahasa Indonesia  language definition
%    file.  The original version of this file was written by Terry
%    Mart ([email protected]) and J"org Knappen
%    ([email protected]).
%<*filedriver>
\documentclass{ltxdoc}
\newcommand*\TeXhax{\TeX hax}
\newcommand*\babel{\textsf{babel}}
\newcommand*\langvar{$\langle \mathit lang \rangle$}
\newcommand*\note[1]{}
\newcommand*\Lopt[1]{\textsf{#1}}
\newcommand*\file[1]{\texttt{#1}}
\begin{document}
\DocInput{indonesian.dtx}
\end{document}
%</filedriver>
%\fi
% \GetFileInfo{indonesian.dtx}
%
% \changes{indonesian-1.0m}{2017/02/15}{Renamed from bahasa to
%    indonesian, with proxy files}
% \changes{bahasa-0.9c}{1994/06/26}{Removed the use of \cs{filedate}
%    and moved identification after the loading of \file{babel.def}}
% \changes{bahasa-1.0d}{1996/07/10}{Replaced \cs{undefined} with
%    \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
%    with \LaTeX}
% \changes{bahasa-1.0e}{1996/10/10}{Moved the definition of
%    \cs{atcatcode} right to the beginning.}
%
%  \section{The Bahasa Indonesian 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
%  Bahasa Indonesia. Bahasa just means `language' in Bahasa Indonesia.
%
%  For this language currently no special definitions are needed or
%  available.
%
% \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{bahasa-1.0e}{1996/11/02}{Now use \cs{LdfInit} to perform
%    initial checks}
% \changes{bahasa-v1.0k}{2005/11/23}{Make it possible that this file
%    is loaded by variuos options}
%    \begin{macrocode}
%<*code>
\LdfInit\CurrentOption{date\CurrentOption}
%    \end{macrocode}
%
%    When this file is read as an option, i.e. by the |\usepackage|
%    command, \texttt{bahasa} could be an `unknown' language in which
%    case we have to make it known. So we check for the existence of
%    |\l@bahasa| to see whether we have to do something here.
%
%    For both Bahasa Indonesia and Bahasa Malaysia the same set of
%    hyphenation patterns can be used which are available in the file
%    \file{inhyph.tex}. However it could be loaded using any of the
%    possible Babel options fot the Indonesian and Malaysian
%    language. So first we try to find out whether this is the case.
%
% \changes{bahasa-0.9c}{1994/06/26}{Now use \cs{@patterns} to produce
%    the warning}
%    \begin{macrocode}
\ifx\l@bahasa\@undefined
 \ifx\l@bahasai\@undefined
   \ifx\l@indon\@undefined
     \ifx\l@indonesian\@undefined
       \ifx\l@bahasam\@undefined
         \ifx\l@malay\@undefined
           \ifx\l@meyalu\@undefined
             \@nopatterns{Bahasa Indonesia}
             \adddialect\l@bahasa0\relax
           \else
             \let\l@bahasa\l@meyalu
           \fi
         \else
           \let\l@bahasa\l@malay
         \fi
       \else
         \let\l@bahasa\l@bahasam
       \fi
     \else
       \let\l@bahasa\l@indonesian
     \fi
   \else
     \let\l@bahasa\l@indon
   \fi
 \else
   \let\l@bahasa\l@bahasai
 \fi
\fi
%    \end{macrocode}
%
%    Now that we are sure the |\l@bahasa| has some valid definition we
%    need to make sure that a name to access the hyphenation patterns,
%    corresponding to the option used, is available.
%    \begin{macrocode}
\expandafter\expandafter\expandafter\let
 \expandafter\csname
 \expandafter l\expandafter @\CurrentOption\endcsname
 \l@bahasa
%    \end{macrocode}
%
%    The next step consists of defining commands to switch to (and
%    from) the Bahasa language.
%
% \begin{macro}{\captionsbahasa}
%    The macro |\captionsbahasa| defines all strings used in the four
%    standard documentclasses provided with \LaTeX.
% \changes{bahasa-1.0b}{1995/07/04}{Added \cs{proofname} for
%    AMS-\LaTeX}
% \changes{bahasa-1.0d}{1996/07/09}{Replaced `Proof' by `Bukti'
%    (PR2214)}
% \changes{bahasa-1.0h}{2000/09/19}{Added \cs{glossaryname}}
% \changes{bahasa-1.0i}{2003/11/17}{Inserted translation for Glossary}
%    \begin{macrocode}
\@namedef{captions\CurrentOption}{%
 \def\prefacename{Pendahuluan}%
 \def\refname{Pustaka}%
 \def\abstractname{Ringkasan}% (sometime it's called 'intisari'
                             %  or 'ikhtisar')
 \def\bibname{Bibliografi}%
 \def\chaptername{Bab}%
 \def\appendixname{Lampiran}%
 \def\contentsname{Daftar Isi}%
 \def\listfigurename{Daftar Gambar}%
 \def\listtablename{Daftar Tabel}%
 \def\indexname{Indeks}%
 \def\figurename{Gambar}%
 \def\tablename{Tabel}%
 \def\partname{Bagian}%
%  Subject:  Subyek
%  From:  Dari
 \def\enclname{Lampiran}%
 \def\ccname{cc}%
 \def\headtoname{Kepada}%
 \def\pagename{Halaman}%
%  Notes (Endnotes): Catatan
 \def\seename{lihat}%
 \def\alsoname{lihat juga}%
 \def\proofname{Bukti}%
 \def\glossaryname{Daftar Istilah}%
 }
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\datebahasa}
%    The macro |\datebahasa| redefines the command |\today| to produce
%    Bahasa Indonesian dates.
% \changes{bahasa-1.0f}{1997/10/01}{Use \cs{edef} to define \cs{today}}
% \changes{bahasa~1.0f}{1998/03/28}{use \cs{def} instead of \cs{edef}
%    to save memory}
% \changes{bahasa-1.0g}{1999/03/12}{Februari should be spelled as
%    Pebruari}
% \changes{bahasa-1.0n}{2025/06/01}{Restore Februari. Fix also November}
%    \begin{macrocode}
\@namedef{date\CurrentOption}{%
 \def\today{\number\day~\ifcase\month\or
   Januari\or Februari\or Maret\or April\or Mei\or Juni\or
   Juli\or Agustus\or September\or Oktober\or November\or Desember\fi
   \space \number\year}}
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\extrasbahasa}
% \begin{macro}{\noextrasbahasa}
%    The macro |\extrasbahasa| will perform all the extra definitions
%    needed for the Bahasa language. The macro |\extrasbahasa| is used
%    to cancel the actions of |\extrasbahasa|.  For the moment these
%    macros are empty but they are defined for compatibility with the
%    other language definition files.
%
%    \begin{macrocode}
\@namedef{extras\CurrentOption}{}
\@namedef{noextras\CurrentOption}{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%  \begin{macro}{\bahasahyphenmins}
%    The bahasa hyphenation patterns should be used with
%    |\lefthyphenmin| set to~2 and |\righthyphenmin| set to~2.
% \changes{bahasa-1.0e}{1996/08/07}{use \cs{bahasahyphenmins} to store
%    the correct values}
% \changes{bahasa-1.0h}{2000/09/22}{Now use \cs{providehyphenmins} to
%    provide a default value}
%    \begin{macrocode}
\providehyphenmins{\CurrentOption}{\tw@\tw@}
%    \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.
% \changes{bahasa-1.0e}{1996/11/02}{Now use \cs{ldf@finish} to wrap up}
%    \begin{macrocode}
\ldf@finish{\CurrentOption}
%</code>
%    \end{macrocode}
%
% Finally, We create  a few proxy files, which just load indonesian.ldf.
%
%    \begin{macrocode}
%<*bahasa|indon|bahasai>
\input indonesian.ldf\relax
%</bahasa|indon|bahasai>
%    \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