% \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 doclicense.dtx and doclicense.ins
% and the derived files doclicense.sty and doclicense.pdf.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{doclicense.dtx}
%</driver>
%<package>%% See file 'doclicense.dtx' for copyright and license.
%<package>\NeedsTeXFormat{LaTeX2e}[1998/12/01]
%<package>\ProvidesPackage{doclicense}
%<*package>
    [2015/05/16 v1.2 Support for putting documents under a license]
%</package>
%
%<*driver>
\documentclass[english]{ltxdoc}
\setlength{\parindent}{0pt}
\newcommand{\PackageURL}{https://github.com/ypid/latex-packages/tree/master/doclicense}
\newcommand{\PackageCTANURL}{https://www.ctan.org/pkg/doclicense}
\newcommand{\PackageAuthor}{Robin Schneider}
\newcommand{\PackageAuthorEmail}{ypid@riseup.net}
\newcommand{\PackageName}{\PrintPackage{doclicense}\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[
  hyphens,
  obeyspaces,
  spaces,
]{url}
\usepackage{
  babel,
  csquotes,
  xcolor,
  hyperxmp,
  hypdoc,
  nameref,
  xspace,
  eqlist,
}
\usepackage{doclicense}
\GetFileInfo{doclicense.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 doclicense%
    \&body=Dear Robin Schneider,}%
    {\PackageAuthorEmail}%
  }%
}

\EnableCrossrefs%
\CodelineIndex%
\RecordChanges%
\begin{document}
  \DocInput{doclicense.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{0.07}{2015/02/05}{Initial version}
% \changes{0.08}{2015/02/06}{Added support for CC-zero and CC-pd and small improvements}
% \changes{0.09}{2015/02/07}{Added list of supported licenses to docu and added option imagemodifier.
%   Also renamed macro \cmd{\doclicenseLicense} to \cmd{\doclicenseThis}}
% \changes{0.10}{2015/02/13}{Added support for hyperxmp}
% \changes{1.0}{2015/03/30}{Removed space before quotes (Example: \enquote{CC } $\rightarrow$ \enquote{CC})}
% \changes{1.1}{2015/04/06}{Added support for Creative Commons 4.0 and added \cmd{\doclicenseImageFileName}}
% \changes{1.2}{2015/04/06}{Allow \cmd{\doclicenseModifier} to be used with hyperref. Fixed \cmd{\doclicenseIcon} macro, added missing image and wrote test framework. Added notes about how to add translations. Added Spanish translation.}
%
% \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
%
% \phantomsection
% \addcontentsline{toc}{section}{\abstractname}
% \begin{abstract}
% Make it easy to set your documents under a certain license. \\
% Information site on CTAN: \url{\PackageCTANURL} \\
% Example on Stackexchange: \url{https://tex.stackexchange.com/a/226788/32320} \\
% Fork me on GitHub: \url{\PackageURL} \end{abstract}
%
% \tableofcontents
%
% \section{Introduction}
% The \PrintPackage{doclicense} package allows you to put your document under a
% license and include a link to read about the license or include an icon or
% image of the license.  Currently, only \doclicenseLongType is supported but this
% package is designed to handle all kinds of licenses. See \nameref{sec:contributing}.
%
% \section{Usage}
% Just load the package(s) placing
% \begin{quote}
%   |\usepackage{| \\
%   |%  babel,| \\
%   |%  hyperref,| \\
%   |%  hyperxmp,| \\
%   |  doclicense,| \\
%   |}|
% \end{quote}
% in the preamble of your \LaTeXe{} source file. This will select the default
% license which is \doclicenseNameRef, currently. Please always set your
% license explicitly as package options like so:
%
% \begin{quote}
%   |\usepackage{| \\
%   |%  babel,| \\
%   |%  hyperref,| \\
%   |%  hyperxmp,| \\
%   |}| \\
%   |\usepackage[| \\
%   |  type={CC},| \\
%   |  modifier={by-sa},| \\
%   |  version={3.0},| \\
%   |]{doclicense}|
% \end{quote}
%
% This will explicitly set the license to \doclicenseNameRef.
%
% If the \PrintPackage{hyperxmp} package is loaded, then the options
% \PrintOptionF{pdflicenseurl} and \PrintOptionF{pdfcopyright} will be set
% by \PrintPackage{doclicense} to the corresponding values
% (\enquote{\url{\doclicenseURL}} and \enquote{\doclicenseLongText{}}).
%
% \bigskip
%
% The first parameter is \enquote{\PrintOptionF{type}}. \DescribePara{type}
% This sets the license type. Like in this example, the type can be
% \enquote{CC} to cover all the \doclicenseLongType licenses.
% Please make sure that the type is all uppercase. See the \nameref{sec:supported-licenses} section for a complete list.
%
% The \DescribePara{modifier} next parameter is \enquote{\PrintOptionF{modifier}} which allows to
% select different subclasses of a license. In this
% example it is \enquote{by-sa}.
% Please make sure that the type is all lowercase. See the \nameref{sec:supported-licenses} section for a complete list.
%
% As \DescribePara{version} there can be more than one version of a license, the version can also be set.
%
% This package can output some texts like the long license name.
% \DescribePara{lang}
% Because of this, there needs to be a way to specify the language to use.
% If this parameter is omitted, then this package will default to
% \cmd{\languagename} which is normally set by packages like
% \PrintPackage{babel} or \PrintPackage{polyglossia}.
%
% Supported languages:
% \begin{eqlist}
%   \item[English] Added by \href{https://github.com/ypid}{Robin Schneider}.
%   \item[German] Added by \href{https://github.com/ypid}{Robin Schneider}.
%   \item[Spanish] Added by \href{https://github.com/elsudano}{Carlos}.
% \end{eqlist}
%
% Default image width for the license image.
% \DescribePara{imagewidth}
%
% This options was added to support variations in the license images.
% \DescribePara{imagemodifier}
% For example, Creative Commons provides sometimes more than one image for one version.
% See the \href{https://creativecommons.org/about/downloads}{donwload page}.
% You will note that there are by-nc.eu and by-nc which only differ in the money unit.
% By default the by-nc image would be used but you can change this with:
% \begin{quote}
%   |\usepackage[| \\
%   |  imagemodifier={-eu},| \\
%   |]{doclicense}|
% \end{quote}
%
% Note that if German is set as language then \enquote{-eu} will be used as
% default for this option.
%
% Currently supported are \enquote{-eu} and \enquote{-us}.
%
% \section{Macros}
% \DescribeMacro{\doclicenseType}
% Expands to the type as set in the package options. Example: \enquote{\doclicenseType{}}
%
% \DescribeMacro{\doclicenseLongType}
% Same as \cmd{\doclicenseType} except that it expands to the long license
% type. Example: \enquote{\doclicenseLongType{}}
%
% \DescribeMacro{\doclicenseModifier}
% Expands to the modifier as set in the package options. Example: \enquote{\doclicenseModifier{}}
%
% \DescribeMacro{\doclicenseVersion}
% Expands to the version as set in the package options. Example: \enquote{\doclicenseVersion{}}
%
% \DescribeMacro{\doclicenseURL}
% Expands to the official URL about the license. Note that it expands to the
% raw URL string without the use of \cmd{\href} or similar. If you want the
% link to be clickable then you can use \cmd{\href} or \cmd{\url} from the
% \PrintPackage{hyperref} package or just read on because the following macros
% can also do this for your. Example:
% \enquote{\doclicenseURL{}}
%
% \DescribeMacro{\doclicenseName}
% Expands to the short name of the license. Example: \enquote{\doclicenseName{}}
%
% \DescribeMacro{\doclicenseLongName}
% Expands to the long name of the license. Example: \enquote{\doclicenseLongName{}}
%
% \DescribeMacro{\doclicenseNameRef}
% Same as \cmd{\doclicenseName} except that it links to the URL of the license.
% Example: \enquote{\doclicenseNameRef{}}
%
% \DescribeMacro{\doclicenseLongNameRef}
% Same as \cmd{\doclicenseLongName} except that it links to the URL of the
% license. Example:
% \enquote{\doclicenseLongNameRef{}}
%
% \DescribeMacro{\doclicenseText}
% Expands to a localized text which states that this document is licensed under
% the license. Example:
% \enquote{\doclicenseText{}}
%
% \DescribeMacro{\doclicenseLongText}
% Same as \cmd{\doclicenseText} except that it uses the long name of the license.
% Example: \enquote{\doclicenseLongText{}}
%
% \DescribeMacro{\doclicenseIcon}
% Expands to a icon of the license. Example:
% \enquote{\doclicenseIcon{}}. This macro is based on the
% \PrintPackage{ccicons} package.
%
% \DescribeMacro{\doclicenseImage}
% This is kind of similar with \cmd{\doclicenseIcon} but it will typeset an
% bigger pictogram of the license. Example:
% \enquote{\doclicenseImage}
%
% Note that you can change the image size with the \oarg{imagewidth} parameter
% like this:
% \enquote{\doclicenseImage[imagewidth=2em]}
%
% \begin{quote}
%   |\doclicenseImage[imagewidth=2em]|
% \end{quote}
%
% The images are bundled with the \PackageName package.
%
% \DescribeMacro{\doclicenseImageFileName}
% This macro expands to the file name of the image which the
% \cmd{\doclicenseImage} typesets.  You can use this file name with
% \cmd{\includegraphics} if you need more flexibility over how the image is
% typeset.
%
% The current file name is: \enquote{\doclicenseImageFileName}
%
% You do not have to worry about the file path. Normally your \LaTeX{} environment
% will find the image for you.
%
% \DescribeMacro{\doclicenseThis}
% And last but not least there is the \cmd{\doclicenseThis} macro which will
% typeset the \cmd{\doclicenseText} next to the \cmd{\doclicenseImage} in a
% \enquote{minipage} environment. This will look like the following:
%
% \doclicenseThis
%
% \section{Supported licenses}
% \label{sec:supported-licenses}
% \subsection{CC (Creative commons)}
%
% \makeatletter
% \begin{eqlist}
%   \item[zero@1.0] \@nameuse{doclicense@lang@lic@CC@zero@1.0}
%   \item[pd@1.0] \@nameuse{doclicense@lang@lic@CC@pd@1.0}
%   \item[by@3.0] \@nameuse{doclicense@lang@lic@CC@by@3.0}
%   \item[by-sa@3.0] \@nameuse{doclicense@lang@lic@CC@by-sa@3.0}
%   \item[by-nd@3.0] \@nameuse{doclicense@lang@lic@CC@by-nd@3.0}
%   \item[by-nc@3.0] \@nameuse{doclicense@lang@lic@CC@by-nc@3.0}
%   \item[by-nc-sa@3.0] \@nameuse{doclicense@lang@lic@CC@by-nc-sa@3.0}
%   \item[by-nc-nd@3.0] \@nameuse{doclicense@lang@lic@CC@by-nc-nd@3.0}
%   \item[by@4.0] \@nameuse{doclicense@lang@lic@CC@by@4.0}
%   \item[by-sa@4.0] \@nameuse{doclicense@lang@lic@CC@by-sa@4.0}
%   \item[by-nd@4.0] \@nameuse{doclicense@lang@lic@CC@by-nd@4.0}
%   \item[by-nc@4.0] \@nameuse{doclicense@lang@lic@CC@by-nc@4.0}
%   \item[by-nc-sa@4.0] \@nameuse{doclicense@lang@lic@CC@by-nc-sa@4.0}
%   \item[by-nc-nd@4.0] \@nameuse{doclicense@lang@lic@CC@by-nc-nd@4.0}
% \end{eqlist}
% \makeatother
%
% \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.
%
% In case you want to add a translation for your language then just copy the
% file \path{doclicense-english.ldf} and replace the \enquote{english} in
% the filename with your language code (same as the language code used by
% \PrintPackage{babel}) and translate the file.
% If there are multiple language
% codes which should map to same translation then have a look at the file
% \path{doclicense-american.ldf}.
%
% When you are done and tested your translation (modify and run the
% \path{run_tests} script) then please send me the translated file(s) either
% via Email or preferably by opening a pull request on GitHub so that I can
% include them in the next release.
%
% \StopEventually{}
%
% \newpage
% \section{Implementation}
% \subsection{Dependencies}
% \iffalse
%<*package>
% \fi
% This package depends on these packages.
%    \begin{macrocode}

%% Dependencies (((
\RequirePackage{kvoptions}
\RequirePackage{xifthen}
\RequirePackage{etoolbox} %% \ifcsdef
\RequirePackage{xspace}
\AtEndPreamble{%
  \@ifpackageloaded{csquotes}{}{\RequirePackage{csquotes}}
  \@ifpackageloaded{ccicons}{}{\RequirePackage{ccicons}}
    %% For \doclicenseIcon
  \@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}}
    %% For \doclicenseImage
  \@ifpackageloaded{hyperref}{}{\RequirePackage{hyperref}}
  \@ifpackageloaded{hyperxmp}{%
    %% The following options are only defined when the hyperxmp package was loaded.
    \hypersetup{
      pdfcopyright  = {\doclicenseLongText},
      pdflicenseurl = {\doclicenseURL},
    }
  }{}
}
%% )))

%    \end{macrocode}
% \subsection{Declaring the options}
%    \begin{macrocode}
%% Parameters (((
\DeclareStringOption[CC]{type}
\DeclareStringOption[by-sa]{modifier}
\DeclareStringOption{version}
\DeclareStringOption{lang}
\DeclareStringOption{imagemodifier}
\DeclareStringOption[10em]{imagewidth}
%% )))

%    \end{macrocode}
% To test if all parameters are valid the macro |\ProcessLocalKeyvalOptions*|
% is expanded to ensure this before leaving the preamble. This is the only
% purpose for the |\ProcessLocalKeyvalOptions*| macro in this case.
%    \begin{macrocode}
\ProcessLocalKeyvalOptions*
%    \end{macrocode}
% \subsection{Declare variables and macros}
%    \begin{macrocode}
%% Declare variables (((
\newcommand{\doclicense@baseUrlCC}{https://creativecommons.org}
\newcommand{\doclicense@versionFallback}{}
\newcommand{\doclicense@versionUsed}{}
\newboolean{doclicense@licenseKnown}
\newlength{\doclicense@hsize}
\newcommand{\doclicense@longName}{%
  \@nameuse{doclicense@lang@lic@\doclicense@type @\doclicense@modifier%
    @\doclicense@versionUsed}%
}
\newcommand{\doclicense@icon}{%
  \PackageError{doclicense}{Icon not defined}
    {Please check the documentation of doclicense to see what you can do about it.}%
}
\newcommand{\doclicense@modifier@uppercase}{\texorpdfstring{\MakeUppercase{\doclicense@modifier}}{\doclicense@modifier}}
%% )))

%    \end{macrocode}
% \subsection{Macro user macros}
%    \begin{macrocode}
%% User macros (((
\newcommand{\doclicenseType}{\doclicense@type\xspace}
\newcommand{\doclicenseLongType}{}
\newcommand{\doclicenseModifier}{\doclicense@modifier@uppercase\xspace}
\newcommand{\doclicenseVersion}{\doclicense@versionUsed\xspace}
\newcommand{\doclicenseName}{%
  \doclicense@type~\doclicense@modifier@uppercase~\doclicense@versionUsed\xspace%
}
\newcommand{\doclicenseNameRef}{\href{\doclicenseURL}{\doclicenseName}\xspace}
\newcommand{\doclicenseLongName}{\doclicenseLongType\space\doclicense@longName\xspace}
\newcommand{\doclicenseLongNameRef}{\href{\doclicenseURL}{\doclicenseLongName}}
\newcommand{\doclicenseText}{%
  \doclicense@lang@thisDoc\space
  \href{\doclicenseURL}{\enquote{\doclicenseName{}}} \doclicense@lang@word@license.\xspace%
}
\newcommand{\doclicenseLongText}{%
  \doclicense@lang@thisDoc\space
  \href{\doclicenseURL}{\doclicenseLongType\space\enquote{\doclicense@longName}}
  \doclicense@lang@word@license.\xspace%
}
\newcommand{\doclicenseIcon}{\doclicense@icon\xspace}
\newcommand{\doclicenseImageFileName}{doclicense-\doclicense@type-\doclicense@modifier\doclicense@imagemodifier}
\newcommand{\doclicenseImage}[1][]{%
  \setkeys{doclicense}{#1}
  \href{\doclicenseURL}{%
    \includegraphics[
      width=\doclicense@imagewidth%
    ]{\doclicenseImageFileName}%
  }
}

\newcommand{\doclicenseLicense}{\doclicenseThis} %% legacy support
\newcommand{\doclicenseThis}{
  \setlength{\doclicense@hsize}{\textwidth-\doclicense@imagewidth-2em}
  \ifthenelse{\isnamedefined{iflandscape}}{
    \iflandscape{
      \setlength{\doclicense@hsize}{\doclicense@hsize-10em}
    }{}
  }{}
  \begin{center}
    \begin{minipage}{\doclicense@hsize}
      \doclicenseLongText%
    \end{minipage}
    \hfill
    \begin{minipage}{\doclicense@imagewidth}
      \doclicenseImage%
    \end{minipage}
  \end{center}
}
%% )))

%    \end{macrocode}
% \subsection{Language selection}
% The following lines include the ldf file. All language dependent things
% should be stored there or can be changed there. Note that one could redefine
% macros like \cmd{\doclicenseLongText} if necessary.
%    \begin{macrocode}
%% Language support (((
\ifthenelse{\equal{\doclicense@lang}{}}{%
  \renewcommand{\doclicense@lang}{\languagename}}{}
\IfFileExists{doclicense-\doclicense@lang.ldf}{%
  \input{doclicense-\doclicense@lang.ldf}
}{%
  \PackageWarning{doclicense}{%
    No language definition for \doclicense@lang found.
    Please add one and submit a patch. Using English as fallback.}
  \renewcommand{\doclicense@lang}{english}
  \input{doclicense-\doclicense@lang.ldf}
}
\ifthenelse{\equal{\doclicense@imagemodifier}{-us}}{%
  \@namedef{doclicense@imagemodifier}{}
}{}

%% )))

%    \end{macrocode}
% \subsection{Internals}
%    \begin{macrocode}
%% Set license (((
\newcommand{\doclicense@setVersion}[1][]{%
  \ifthenelse{\equal{#1}{}}{}{%
    \renewcommand{\doclicense@versionFallback}{#1}
  }
  \ifthenelse{\equal{\doclicense@version}{}}{%
    \renewcommand{\doclicense@versionUsed}{\doclicense@versionFallback}
  }{%
    \renewcommand{\doclicense@versionUsed}{\doclicense@version}
  }
}
\newcommand{\doclicense@set}{%
  %% CC (((
  \ifthenelse{\equal{\doclicense@type}{CC}}{%
    \renewcommand{\doclicenseLongType}{Creative Commons\xspace}

    \doclicense@setVersion[3.0]

    %% Allow to predefine the following macros in ldf files.
    \ifcsdef{doclicense@UrlLangPart}{}{%
      \ifthenelse{\equal{\doclicense@lang@lic@CC@code}{}}{%
        \edef\doclicense@UrlLangPart{}
      }{%
        \edef\doclicense@UrlLangPart{/deed.\doclicense@lang@lic@CC@code}
      }
    }
    \ifcsdef{doclicenseURL}{}{%
      \edef\doclicenseURL{%
        \doclicense@baseUrlCC/%
        licenses/%
        \doclicense@modifier/%
        \doclicense@versionUsed\doclicense@UrlLangPart%
      }
    }
    \ifthenelse{\equal{\doclicense@modifier}{by}}{%
      \renewcommand{\doclicense@icon}{\ccby}
      \renewcommand{\doclicense@imagemodifier}{}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{by-sa}}{%
      \renewcommand{\doclicense@icon}{\ccbysa}
      \renewcommand{\doclicense@imagemodifier}{}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{by-nd}}{%
      \renewcommand{\doclicense@icon}{\ccbynd}
      \renewcommand{\doclicense@imagemodifier}{}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{by-nc}}{%
      \renewcommand{\doclicense@icon}{\ccbync}
      \ifthenelse{\equal{\doclicense@imagemodifier}{-eu}}{%
        \renewcommand{\doclicense@icon}{\ccbynceu}
      }{}
      \ifthenelse{\equal{\doclicense@imagemodifier}{-jp}}{%
        \renewcommand{\doclicense@icon}{\ccbyncjp}
      }{}
      \renewcommand{\doclicense@imagemodifier}{}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{by-nc-sa}}{
      \renewcommand{\doclicense@icon}{\ccbyncsa}
      \ifthenelse{\equal{\doclicense@imagemodifier}{-eu}}{%
        \renewcommand{\doclicense@icon}{\ccbyncsaeu}
      }{}
      \ifthenelse{\equal{\doclicense@imagemodifier}{-jp}}{%
        \renewcommand{\doclicense@icon}{\ccbyncsajp}
      }{}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{by-nc-nd}}{
      \renewcommand{\doclicense@icon}{\ccbyncnd}
      \ifthenelse{\equal{\doclicense@imagemodifier}{-eu}}{%
        \renewcommand{\doclicense@icon}{\ccbyncndeu}
      }{}
      \ifthenelse{\equal{\doclicense@imagemodifier}{-jp}}{%
        \renewcommand{\doclicense@icon}{\ccbyncndjp}
      }{}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{zero}}{%
      \renewcommand{\doclicense@icon}{\cczero}
      \renewcommand{\doclicense@imagemodifier}{}
      \doclicense@setVersion[1.0]
      \edef\doclicenseURL{%
        \doclicense@baseUrlCC/%
        publicdomain/%
        \doclicense@modifier/%
        \doclicense@versionUsed\doclicense@UrlLangPart}
    }{}
    \ifthenelse{\equal{\doclicense@modifier}{pd}}{
      \renewcommand{\doclicense@icon}{\ccpd}
      \renewcommand{\doclicense@imagemodifier}{}
      \doclicense@setVersion[1.0]
      \edef\doclicenseURL{%
        \doclicense@baseUrlCC/%
        licenses/publicdomain/%
        \doclicense@versionUsed\doclicense@UrlLangPart}
    }{}

    \ifcsdef{doclicense@lang@lic@\doclicense@type%
      @\doclicense@modifier @\doclicense@versionUsed}{}{%

      \PackageError{doclicense}{License long name not defined}%
        {Please check the documentation of doclicense to see what you can do about it.}%
    }

    \setboolean{doclicense@licenseKnown}{true}
  }{}%% )))
  \ifthenelse{\not\boolean{doclicense@licenseKnown}}{%
    \PackageError{doclicense}{License unknown}%
      {Please check the documentation of doclicense to see what you can do about it.}%
  }{}%
}
%% )))

\doclicense@set%
%    \end{macrocode}
% That's it.
%    \begin{macrocode}
\endinput
%    \end{macrocode}
%
% \iffalse
%</package>
% \fi
%
% \Finale
\endinput
