% \iffalse meta-comment
%
% Copyright (C) 2015 by Robin Schneider <ypid@riseup.net>
%
% This work 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 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Robin Schneider.
%
% This work consists of the files romanbarpagenumber.dtx and romanbarpagenumber.ins
% and the derived files romanbarpagenumber.sty and romanbarpagenumber.pdf.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{romanbarpagenumber.dtx}
%</driver>
%<package>%% See file 'romanbarpagenumber.dtx' for copyright and license.
%<package>\NeedsTeXFormat{LaTeX2e}[1998/12/01]
%<package>\ProvidesPackage{romanbarpagenumber}
%<*package>
    [2015/02/06 v1.0 Use romanbar for Roman pagenumbers]
%</package>
%
%<*driver>
\documentclass[english]{ltxdoc}
\newcommand{\PackageURL}{https://github.com/ypid/latex-packages/tree/master/romanbarpagenumber}
\newcommand{\PackageCTANURL}{https://www.ctan.org/pkg/romanbarpagenumber}
\newcommand{\PackageAuthor}{Robin Schneider}
\newcommand{\PackageAuthorEmail}{ypid@riseup.net}
\newcommand{\PackageName}{\PrintPackage{romanbarpagenumber}\xspace}
\newcommand{\PrintPackage}[1]{\textsf{#1}}
\newcommand{\PrintOptionF}[1]{\emph{#1}} %% ^^A This macro is used for
%% ^^A explaining any parameter when they first come up in the documentation.
\newcommand{\DescribePara}[1]{\marginpar{\raggedleft\strut\MacroFont\string#1}}
\usepackage{romanbarpagenumber}
\usepackage{
  babel,
  csquotes,
  xcolor,
  url,
  hypdoc,
  nameref,
  xspace,
}
\GetFileInfo{romanbarpagenumber.dtx}
\hypersetup{
  pdftitle={A manual for \PackageName},
  pdfauthor={\PackageAuthor{} <\PackageAuthorEmail>},
  pdfsubject={\fileinfo},
  baseurl={\PackageURL},
  pdfkeywords={This document corresponds to \PackageName~\fileversion,
    dated \filedate}
}

\title{The \PackageName{} package\thanks{This document
corresponds to \PackageName~\fileversion, dated \filedate.}}
\author{\PackageAuthor\\
  \texttt{\href{mailto:\PackageAuthorEmail?subject=LaTeX package romanbarpagenumber%
    \&body=Dear Robin Schneider,}%
    {\PackageAuthorEmail}%
  }%
}

\EnableCrossrefs%
\CodelineIndex%
\RecordChanges%
\begin{document}
  \DocInput{romanbarpagenumber.dtx}
  \PrintChanges%
  \PrintIndex%
\end{document}
%</driver>
% \fi
%
% ^^A \CheckSum{0}
% ^^A I use version control and so on which has much better checksums :)
%
% \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         \~}
%
% \changes{1.0}{2015/02/06}{Initial version}
%
% \DoNotIndex{\RequirePackage, \DeclareOption, \ProcessOptions}
% \DoNotIndex{\PackageWarning, \MessageBreak}
% \DoNotIndex{\DeclareRobustCommand, \newcommand, \renewcommand, \def, \edef}
% \DoNotIndex{\DeclareStringOption, \ProcessLocalKeyvalOptions}
% \DoNotIndex{\ProcessKeyvalOptions, \SetupKeyvalOptions, \DeclareBoolOption}
% \DoNotIndex{\newenvironment}
% \DoNotIndex{\if, \else, \fi, \ifcase, \or, \ifthenelse, \AND, \OR, \value, \relax}
% \DoNotIndex{\loop, \repeat, \the, \ifnum}
% \DoNotIndex{\equal, \boolean, \@currname, \newcounter, \setcounter}
% \DoNotIndex{\stepcounter, \addtocounter}
% \DoNotIndex{\endinput, \begin, \end}
% \DoNotIndex{\not}
%
% \maketitle
%
% \pagenumbering{Roman}
%
% \phantomsection
% \addcontentsline{toc}{section}{\abstractname}
% \begin{abstract}
% Use the package \PrintPackage{romanbar} for roman page numbers. \\
% Information site on CTAN: \url{\PackageCTANURL} \\
% Question on Stackexchange: \url{http://tex.stackexchange.com/q/120066/32320} \\
% Fork me on GitHub: \url{\PackageURL} \end{abstract}
%
% \tableofcontents
%
% \section{Introduction}
% The package \PrintPackage{romanbar} allows to typeset roman numbers with
% bars. The \PrintPackage{romanbarpagenumber} package allows you to use those
% \enquote{correct} roman numbers as page number.
%
% \section{Usage}
% Just load the package placing
% \begin{quote}
%   |\usepackage{romanbarpagenumber}|
% \end{quote}
% in the preamble of your \LaTeXe{} source file.
%
% When you now set your page numbering to Roman, it will use the
% \PrintPackage{romanbar} package to typeset the roman number.
% You can set the page numbering to Roman with the following macro.
%
% \begin{quote}
%   |\pagenumbering{Roman}|
% \end{quote}
%
% \section{Contributing}
% \label{sec:contributing}
% This package is being developed on GitHub: \url{\PackageURL}. When you want
% to modify the .sty file, make sure that you make your changes in the .dtx
% file instead, as the .sty file is automatically generated.
%
% \StopEventually{}
%
% \newpage
% \section{Implementation}
% \iffalse
%<*package>
% \fi
% This package depends on these packages.
%    \begin{macrocode}

\RequirePackage{kvoptions}
\RequirePackage{xifthen}
\RequirePackage{romanbar}
\AtBeginDocument{%
  \@ifpackageloaded{hyperref}{%
    \pdfstringdefDisableCommands{\let\Roman@bar\@firstofone}
  }{}
}
%    \end{macrocode}
% \subsection{Redefining pagenumbering}
%    \begin{macrocode}
\let\romanbarpagenumber@pagenumbering\pagenumbering\relax%
\renewcommand{\pagenumbering}[1]{%
  \romanbarpagenumber@pagenumbering{#1}
  \ifthenelse{\equal{#1}{Roman}}{%
    \renewcommand*{\thepage}{\Roman@bar{\Roman{page}}}
  }{}
}
%    \end{macrocode}
% That's it.
%    \begin{macrocode}
\endinput
%    \end{macrocode}
%
% \iffalse
%</package>
% \fi
%
% \Finale
\endinput
