% \iffalse meta-comment
%
% Copyright (C) 1989-1994 by Johannes Braams
% All rights reserved.
% For additional copyright information see further down in this file.
% 
% This file is part of the Babel system, release 3.4 patchlevel 1
% ---------------------------------------------------------------
% 
% This file is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
% 
% 
% IMPORTANT NOTICE:
% 
% For error reports in case of UNCHANGED versions see readme file.
% 
% Please do not request updates from me directly.  Distribution is
% done through Mail-Servers and TeX organizations.
% 
% You are not allowed to change this file.
% 
% You are allowed to distribute this file under the condition that
% it is distributed together with all files mentioned in manifest.txt.
% 
% If you receive only some of these files from someone, complain!
% 
% You are NOT ALLOWED to distribute this file alone.  You are NOT
% ALLOWED to take money for the distribution or use of either this
% file or a changed version, except for a nominal charge for copying
% etc.
% \fi
% \CheckSum{165}
%%% \iffalse ============================================================
%%%  @LaTeX-style-file{
%%%     author          = "Braams J.L.",
%%%     version         = "1.2d",
%%%     date            = "26 June 1994",
%%%     time            = "00:54:18 MET",
%%%     filename        = "portuges.doc",
%%%     address         = "PTT Research
%%%                        St. Paulusstraat 4
%%%                        2264 XZ Leidschendam
%%%                        The Netherlands",
%%%     telephone       = "(70) 3325051",
%%%     FAX             = "(70) 3326477",
%%%     checksum        = "22850 303 1380 11594",
%%%     email           = "J.L.Braams@research.ptt.nl (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "babel, portuguese",
%%%     supported       = "yes",
%%%     abstract        = "",
%%%     docstring       = "This file contains the portuguese language
%%%                        specific definitions for the babel system.",
%%%  }
%%%
%%%  ====================================================================
%%% \fi
% \def\filename{portuges.dtx}
% \def\fileversion{v1.2d}
% \def\filedate{1994/06/26}
%
% \iffalse
% Babel DOCUMENT-STYLE option for LaTeX version 2e
% Copyright (C) 1989 - 1994
%           by Johannes Braams, PTT Research Neher Laboratories
%
% Please report errors to: J.L. Braams
%                          J.L.Braams@research.ptt.nl
%
%    This file is part of the babel system, it provides the source
%    code for the Portuguese language-specific file.  The Portuguese
%    words were contributed by Jose Pedro Ramalhete, (JRAMALHE@CERNVM
%    or Jose-Pedro_Ramalhete@MACMAIL)
%<*filedriver>
\documentclass{ltxdoc}
\newcommand\TeXhax{\TeX hax}
\newcommand\babel{{\sf babel}}
\newcommand\ttbs{\char'134}
\newcommand\langvar{$\langle \it lang \rangle$}
\newcommand\note[1]{}
\newcommand\bsl{\protect\bslash}
\newcommand\Lopt[1]{{\sf #1}}
\newcommand\file[1]{{\tt #1}}
\begin{document}
 \DocInput{portuges.dtx}
\end{document}
%</filedriver>
%\fi
% \changes{portuges-1.0a}{15 july 91}{Renamed babel.sty in babel.com}
% \changes{portuges-1.1}{16 feb 92}{Brought up-to-date with babel 3.2a}
% \changes{portuges-1.2}{1994/02/26}{Update for LaTeX2e}
% \changes{portuges-1.2d}{1994/06/26}{Removed the use of \cs{filedate}
%    and moved identification after the loading of babel.def}
%
%  \section{The Portuguese language}
%
%    The file \file{\filename}\footnote{The file described in this
%    section has version number \fileversion\ and was last revised on
%    \filedate.  Contributions were made by Jose Pedro Ramalhete ({\tt
%    JRAMALHE@CERNVM} or {\tt Jose-Pedro\_Ramalhete@MACMAIL}).}
%    defines all the language-specific macros for the Portuguese
%    language as well as for the Brasilian version of this language.
%
%    For this language currently no special definitions are needed or
%    available.
%
% \StopEventually{}

%    As this file needs to be read only once, we check whether it was
%    read before. If it was, the command |\captionsportuges| is
%    already defined, so we can stop processing. If this command is
%    undefined we proceed with the various definitions and first show
%    the current version of this file.
%
% \changes{portuges-1.0a}{15 july 91}{Added reset of catcode of @
%    before {\tt\bsl endinput}.}
% \changes{portuges-1.0b}{29 okt 91}{Removed use of {\tt\bsl
%    @ifundefined}}
%    \begin{macrocode}
\ifx\undefined\captionsportuges
\else
  \selectlanguage{portuges}
  \expandafter\endinput
\fi
%    \end{macrocode}
%
% \changes{portuges-1.0b}{29 okt 91}{Removed code to load {\tt
%    latexhax.com}}
%
% \begin{macro}{\atcatcode}
%    This file, \file{portuges.sty}, may have been read while \TeX\ is
%    in the middle of processing a document, so we have to make sure
%    the category code of {\tt @} is `letter' while this file is being
%    read.  We save the category code of the @-sign in
%    |\atcatcode| and make it `letter'. Later the category code
%    can be restored to whatever it was before.
%
% \changes{portuges-1.0a}{15 july 91}{Modified handling of catcode of
%    @ again.}
% \changes{portuges-1.0b}{29 okt 91}{Removed use of {\tt\bsl
%    makeatletter} and hence the need to load {\tt latexhax.com}}
%    \begin{macrocode}
\chardef\atcatcode=\catcode`\@
\catcode`\@=11\relax
%    \end{macrocode}
% \end{macro}
%
%    Now we determine whether the the common macros from the file
%    \file{babel.def} need to be read. We can be in one of two
%    situations: either another language option has been read earlier
%    on, in which case that other option has already read
%    \file{babel.def}, or {\tt portuges} is the first language option
%    to be processed. In that case we need to read \file{babel.def}
%    right here before we continue.
%
% \changes{portuges-1.1}{16 feb 92}{Added {\tt\bsl relax} after the
%    argument of {\tt\bsl input}}
%    \begin{macrocode}
\ifx\undefined\babel@core@loaded\input babel.def\relax\fi
%    \end{macrocode}
%
%    Tell the \LaTeX\ system who we are and write an entry on the
%    transcript.
%    \begin{macrocode}
\ProvidesFile{portuges.sty}[1994/06/26 v1.2d
         Portuguese support from the babel system]
%    \end{macrocode}
%
%    Another check that has to be made, is if another language
%    specific file has been read already. In that case its definitions
%    have been activated. This might interfere with definitions this
%    file tries to make. Therefore we make sure that we cancel any
%    special definitions. This can be done by checking the existence
%    of the macro |\originalTeX|. If it exists we simply execute it,
%    otherwise it is |\let| to |\empty|.
% \changes{portuges-1.0a}{15 july 91}{Added {\tt\bsl let\bsl
%    originalTeX\bsl relax} to test for existence}
% \changes{portuges-1.1}{16 feb 92}{{\tt\bsl originalTeX} should be
%    expandable, {\tt\bsl let} it to {\tt\bsl empty}}
%    \begin{macrocode}
\ifx\undefined\originalTeX \let\originalTeX\empty \else\originalTeX\fi
%    \end{macrocode}
%
%    When this file is read as an option, i.e. by the |\usepackage|
%    command, {\tt portuges} will be an `unknown' language in which
%    case we have to make it known. So we check for the existence of
%    |\l@portuges| to see whether we have to do something here.
%
% \changes{portuges-1.0b}{29 okt 91}{Removed use of {\tt\bsl
%    @ifundefined}}
% \changes{portuges-1.1}{16 feb 92}{Added a warning when no
%    hyphenation patterns were loaded.}
% \changes{portuges-1.2d}{1994/06/26}{Now use \cs{@nopatterns} to
%    produce the warning}
%    \begin{macrocode}
\ifx\undefined\l@portuges
    \@nopatterns{Portuges}
    \adddialect\l@portuges0\fi
%    \end{macrocode}
%
%    For the Brasilian version of these definitions we just add a
%    ``dialect''. Also, the macros |\captionsbrazil| and
%    |\extrasbrazil| are |\let| to their Portuguese
%    counterparts when these parts are defined.
%    \begin{macrocode}
\adddialect\l@brazil\l@portuges
%    \end{macrocode}
%
%    The next step consists of defining commands to switch to (and from)
%    the Portuguese language.
%
% \begin{macro}{\captionsportuges}
%    The macro |\captionsportuges| defines all strings used
%    in the four standard documentclasses provided with \LaTeX.
% \changes{portuges-1.1}{16 feb 92}{Added {\tt\bsl seename}, {\tt\bsl
%    alsoname} and {\tt\bsl prefacename}}
% \changes{portuges-1.1}{15 jul 93}{`headpagename should be `pagename}
%    \begin{macrocode}
\addto\captionsportuges{%
  \def\prefacename{Preface}%  this needs translation!
  \def\refname{Refer\^encias}%
  \def\abstractname{Resumo}%
  \def\bibname{Bibliografia}%
  \def\chaptername{Cap\'{\i}tulo}%
  \def\appendixname{Ap\^endice}%
  \def\contentsname{\'Indice}%
  \def\listfigurename{Lista de Figuras}%
  \def\listtablename{Lista de Tabelas}%
  \def\indexname{\'Indice Remissivo}%
  \def\figurename{Figura}%
  \def\tablename{Tabela}%
  \def\partname{Parte}%
  \def\enclname{Anexos}%
  \def\ccname{C\'opia a}%
  \def\headtoname{Para}%
  \def\pagename{P\'agina}%
  \def\seename{See}%  this needs translation!
  \def\alsoname{See also}}%  this needs translation!
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\captionsbrazil}
%    The ``captions'' are the same for both versions of the language,
%    so we can |\let| the macro |\captionsbrazil| be equal to
%    |\captionsportuges|.
%    \begin{macrocode}
\let\captionsbrazil\captionsportuges
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\dateportuges}
%    The macro |\dateportuges| redefines the command |\today| to
%    produce Portuguese dates.
%    \begin{macrocode}
\def\dateportuges{%
\def\today{\number\day\space de\space\ifcase\month\or
  Janeiro\or Fevereiro\or Mar\c{c}o\or Abril\or Maio\or Junho\or
  Julho\or Agosto\or Setembro\or Outubro\or Novembro\or Dezembro\fi
  \space de\space\number\year}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\datebrazil}
%    The macro |\datebrazil| redefines the command
%    |\today| to produce Brasilian dates, for which the names
%    of the months are not capitalized.
%    \begin{macrocode}
\def\datebrazil{%
\def\today{\number\day\space de\space\ifcase\month\or
  janeiro\or fevereiro\or mar\c{c}o\or abril\or maio\or junho\or
  julho\or agosto\or setembro\or outubro\or novembro\or dezembro\fi
  \space de\space\number\year}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\extrasportuges}
% \begin{macro}{\noextrasportuges}
%    The macro |\extrasportuges| will perform all the extra
%    definitions needed for the Portuguese language. The macro
%    |\noextrasportuges| is used to cancel the actions of
%    |\extrasportuges| For the moment these macros are empty but they
%    are defined for compatibility with the other language-specific
%    files.
%
%    \begin{macrocode}
\addto\extrasportuges{}
\addto\noextrasportuges{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\extrasbrazil}
% \begin{macro}{\noextrasbrazil}
%    Also for the ``brazil'' variant no extra definitions are needed
%    at the moment.
%    \begin{macrocode}
\let\extrasbrazil\extrasportuges
\let\noextrasbrazil\noextrasportuges
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%    Our last action is to activate the commands we have just defined,
%    by calling the macro |\selectlanguage|.
%    \begin{macrocode}
\selectlanguage{portuges}
%    \end{macrocode}
%    Finally, the category code of {\tt @} is reset to its original
%    value. The macrospace used by |\atcatcode| is freed.
% \changes{portuges-1.0a}{15 july 91}{Modified handling of catcode of
%    @-sign.}
%    \begin{macrocode}
\catcode`\@=\atcatcode \let\atcatcode\relax
%    \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
