diff options
author | Karl Berry <karl@freefriends.org> | 2015-02-06 23:29:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-02-06 23:29:07 +0000 |
commit | 62a844580979e6895e4bb224b769e6178fafa88e (patch) | |
tree | 4de71f2891a39bb432b0f55196f7da273cbda59c /Master | |
parent | 970ab76da64fc81430c87913150c65dad35e7665 (diff) |
doclicense (6feb15)
git-svn-id: svn://tug.org/texlive/trunk@36224 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
30 files changed, 762 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/doclicense/README b/Master/texmf-dist/doc/latex/doclicense/README new file mode 100644 index 00000000000..b7af0dc59eb --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/README @@ -0,0 +1,36 @@ +LaTeX package 'doclicense' +~~~~~~~~~~~~~~~~~~~~~~~~ +Copyright (C) 2015 by Robin Schneider <ypid23@aol.de> + +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. + +CTAN: https://www.ctan.org/pkg/doclicense +Code repository: https://github.com/ypid/latex-packages/tree/master/doclicense + +Question on Stackexchange: https://tex.stackexchange.com/a/226788/32320 + + + DESCRIPTION +Make it easy to set your documents under a certain license. + +The 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 Creative Commons is supported but this package is designed to +handle all kinds of licenses. + + GENERATING THE FILES +You can generate the doclicense.sty file with: pdflatex doclicense.ins + +The documentation can be generated with: +pdflatex doclicense.dtx +makeindex -s gglo.ist -o doclicense.gls doclicense.glo +makeindex -s gind doclicense +pdflatex doclicense.dtx +thumbpdf doclicense +pdflatex doclicense.dtx diff --git a/Master/texmf-dist/doc/latex/doclicense/doclicense.pdf b/Master/texmf-dist/doc/latex/doclicense/doclicense.pdf Binary files differnew file mode 100644 index 00000000000..c6366ee3de2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/doclicense.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-nd.eu.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-nd.eu.pdf Binary files differnew file mode 100644 index 00000000000..6570f0a56f0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-nd.eu.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-sa.eu.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-sa.eu.pdf Binary files differnew file mode 100644 index 00000000000..91222120458 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-sa.eu.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-sa.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-sa.pdf Binary files differnew file mode 100644 index 00000000000..e1e06554847 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc-sa.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc.eu.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc.eu.pdf Binary files differnew file mode 100644 index 00000000000..f9f28528ffb --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc.eu.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc.pdf Binary files differnew file mode 100644 index 00000000000..db01ab956cd --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nc.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nd.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nd.pdf Binary files differnew file mode 100644 index 00000000000..971cdfbea69 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-nd.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-sa.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-sa.pdf Binary files differnew file mode 100644 index 00000000000..d0367002f34 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by-sa.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by.pdf Binary files differnew file mode 100644 index 00000000000..bd7034c9470 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-by.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-cc-zero.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-cc-zero.pdf Binary files differnew file mode 100644 index 00000000000..61e139f7fa9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-cc-zero.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-pd.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-pd.pdf Binary files differnew file mode 100644 index 00000000000..f246662ec20 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-pd.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-publicdomain.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-publicdomain.pdf Binary files differnew file mode 100644 index 00000000000..f246662ec20 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-publicdomain.pdf diff --git a/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-zero.pdf b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-zero.pdf Binary files differnew file mode 100644 index 00000000000..61e139f7fa9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/doclicense/images/doclicense-CC-zero.pdf diff --git a/Master/texmf-dist/source/latex/doclicense/doclicense.dtx b/Master/texmf-dist/source/latex/doclicense/doclicense.dtx new file mode 100644 index 00000000000..b65058b2678 --- /dev/null +++ b/Master/texmf-dist/source/latex/doclicense/doclicense.dtx @@ -0,0 +1,467 @@ +% \iffalse meta-comment +% +% Copyright (C) 2015 by Robin Schneider <ypid23@aol.de> +% +% 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/02/06 v0.8 Set and print the license of a document] +%</package> +% +%<*driver> +\documentclass[english]{ltxdoc} +\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{doclicense} +\usepackage{ + babel, + csquotes, + xcolor, + url, + hypdoc, + nameref, + xspace, +} +\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.7}{2015/02/05}{Initial version} +% \changes{0.8}{2015/02/06}{Added support for CC-zero and CC-pd and small improvements} +% +% \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} +% The \PackageName{} package can calculate the age in years. \\ +% 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} +% Make it easy to set your documents under a certain license. +% +% 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 placing +% \begin{quote} +% |\usepackage{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[| \\ +% | type={CC},| \\ +% | modifier={by-sa},| \\ +% | version={3.0},| \\ +% |]{doclicense}| +% \end{quote} +% +% This will explicitly set the license to \doclicenseNameRef. +% \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. +% +% 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}. +% +% 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}. +% Currently only English and German are supported. +% +% Default image width for the license image. +% \DescribePara{imagewidth} +% +% \section{Macros} +% \DescribeMacro{\doclicenseType} +% Expands to the type as set in the package options. For this document this +% macro expands to: \enquote{\doclicenseType{}} +% +% \DescribeMacro{\doclicenseLongType} +% Same as \cmd{\doclicenseType} expect that it expands to the long license +% type. For this document, it looks like this: \enquote{\doclicenseLongType{}} +% +% \DescribeMacro{\doclicenseModifier} +% Expands to the modifier as set in the package options. For this document this +% macro expands to: \enquote{\doclicenseModifier{}} +% +% \DescribeMacro{\doclicenseVersion} +% Expands to the version as set in the package options. For this document this +% macro expands to: \enquote{\doclicenseVersion{}} +% +% \DescribeMacro{\doclicenseName} +% Expands to the short name of the license. For this document this macro +% expands to: \enquote{\doclicenseName{}} +% +% \DescribeMacro{\doclicenseLongName} +% Expands to the long name of the license. For this document this macro expands +% to: \enquote{\doclicenseLongName{}} +% +% \DescribeMacro{\doclicenseNameRef} +% Same as \cmd{\doclicenseName} expect that it links to the URL of the license. +% For this document, it looks like this: \enquote{\doclicenseNameRef{}} +% +% \DescribeMacro{\doclicenseLongNameRef} +% Same as \cmd{\doclicenseLongName} expect that it links to the URL of the +% license. For this document, it looks like this: +% \enquote{\doclicenseLongNameRef{}} +% +% \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. For this document the macro expands to: +% \enquote{\doclicenseURL{}} +% +% \DescribeMacro{\doclicenseText} +% Expands to a localized text which states that this document is licensed under +% the license. For this document this macro expands to: +% \enquote{\doclicenseText{}} +% +% \DescribeMacro{\doclicenseIcon} +% Expands to a icon of the license. For this document this macro expands to: +% \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. For this document this macro expands to: +% \enquote{\doclicenseImage} +% +% Note that you can change the image size with the \oarg{imagewidth} parameter +% like this: +% \enquote{\doclicenseImage[imagewidth=2em]} +% +% The images are bundled with the \PackageName package. +% +% \DescribeMacro{\doclicenseLicense} +% And last but not least there is the \cmd{\doclicenseLicense} macro which will +% typeset the \cmd{\doclicenseText} next to the \cmd{\doclicenseImage} in a +% \enquote{minipage} environment. This will look like the following. +% +% \doclicenseLicense +% +% \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} + +%% 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}} +} +%% }}} + +% \end{macrocode} +% \subsection{Declaring the options} +% \begin{macrocode} +%% Parameters {{{ +\DeclareStringOption[CC]{type} +\DeclareStringOption[by-sa]{modifier} +\DeclareStringOption{version} +\DeclareStringOption{lang} +\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}{% + \csname doclicense@lang@lic@\doclicense@type @\doclicense@modifier @\doclicense@versionUsed\endcsname +} +\newcommand{\doclicense@icon}{% + \PackageError{doclicense}{Icon not defined} + {Please check the documentation of doclicense to see what you can do about it.}% +} +%% }}} + +% \end{macrocode} +% \subsection{Macro user macros} +% \begin{macrocode} +%% User macros {{{ +\newcommand{\doclicenseType}{\doclicense@type\xspace} +\newcommand{\doclicenseLongType}{} +\newcommand{\doclicenseModifier}{\MakeUppercase{\doclicense@modifier}\xspace} +\newcommand{\doclicenseVersion}{\doclicense@versionUsed\xspace} +\newcommand{\doclicenseName}{\doclicense@type~\doclicense@modifier~\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{\doclicenseImage}[1][]{% + \setkeys{doclicense}{#1} + \href{\doclicenseURL}{% + \includegraphics[width=\doclicense@imagewidth]% + {doclicense-\doclicense@type-\doclicense@modifier}% + } +} + +\newcommand{\doclicenseLicense}{ + \setlength{\doclicense@hsize}{\textwidth-\doclicense@imagewidth-2em} + \ifthenelse{\lengthtest{\hsize > \vsize}}{%% landscape + \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 files. 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 not found. Please add one and submit a patch. Using English as fallback.} + \renewcommand{\doclicense@lang}{english} + \input{doclicense-\doclicense@lang.ldf} +} + +%% }}} + +% \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} + + \ifthenelse{\equal{\doclicense@lang@lic@CC@code}{}}{% + \edef\doclicense@UrlLangPart{} + }{% + \edef\doclicense@UrlLangPart{/\doclicense@lang@lic@CC@code} + } + \doclicense@setVersion[3.0] + \edef\doclicenseURL{% + \doclicense@baseUrlCC/% + licenses/% + \doclicense@modifier/% + \doclicense@versionUsed\doclicense@UrlLangPart} + \ifthenelse{\equal{\doclicense@modifier}{by-sa}} + {\renewcommand{\doclicense@icon}{\ccbysa}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nd}} + {\renewcommand{\doclicense@icon}{\ccbynd}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nc}} + {\renewcommand{\doclicense@icon}{\ccbync}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nc-sa}} + {\renewcommand{\doclicense@icon}{\ccbync}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nc-nd}} + {\renewcommand{\doclicense@icon}{\ccbync}}{} + \ifthenelse{\equal{\doclicense@modifier}{zero}}{% + \renewcommand{\doclicense@icon}{\cczero} + \doclicense@setVersion[1.0] + \edef\doclicenseURL{% + \doclicense@baseUrlCC/% + publicdomain/% + \doclicense@modifier/% + \doclicense@versionUsed\doclicense@UrlLangPart} + }{} + \ifthenelse{\equal{\doclicense@modifier}{pd}}{ + \renewcommand{\doclicense@icon}{\ccpd} + \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 diff --git a/Master/texmf-dist/source/latex/doclicense/doclicense.ins b/Master/texmf-dist/source/latex/doclicense/doclicense.ins new file mode 100644 index 00000000000..8e98df8faba --- /dev/null +++ b/Master/texmf-dist/source/latex/doclicense/doclicense.ins @@ -0,0 +1,23 @@ +%% See file 'doclicense.dtx' for copyright and license. +\input docstrip.tex + +\keepsilent +\usedir{tex/latex/doclicense} +\usepreamble\mypreamble +\askforoverwritefalse +\generate{\nopreamble\file{doclicense.sty}{\from{doclicense.dtx}{package}}} + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space doclicense.sty} +\Msg{*} +\Msg{* To produce the documentation run the files} +\Msg{* `doclicense.dtx' through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-UKenglish.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-UKenglish.ldf new file mode 100644 index 00000000000..3c6a45f4611 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-UKenglish.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-USenglish.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-USenglish.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-USenglish.ldf new file mode 100644 index 00000000000..3c6a45f4611 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-USenglish.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-USenglish.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-american.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-american.ldf new file mode 100644 index 00000000000..6cdb358fbb0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-american.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-american.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-australian.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-australian.ldf new file mode 100644 index 00000000000..c40d1caae90 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-australian.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-australian.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-british.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-british.ldf new file mode 100644 index 00000000000..e2aa01ec43f --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-british.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-british.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-canadian.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-canadian.ldf new file mode 100644 index 00000000000..855aa5718ee --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-canadian.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-canadian.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-english.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-english.ldf new file mode 100644 index 00000000000..d294f4390a4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-english.ldf @@ -0,0 +1,20 @@ +\ProvidesFile{doclicense-english.ldf} + +\edef\doclicense@lang@thisDoc{This work is licensed under a}% +\edef\doclicense@lang@word@license{license}% +\edef\doclicense@lang@code{en}% + +\edef\doclicense@lang@lic@CC@code{}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-sa@3.0\endcsname{Attribution-ShareAlike 3.0 Unported}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nd@3.0\endcsname{Attribution-NoDerivs 3.0 Unported}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc@3.0\endcsname{Attribution-NonCommercial 3.0 Unported}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc-sa@3.0\endcsname{Attribution-NonCommercial-ShareAlike 3.0 Unported}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc-nd@3.0\endcsname{Attribution-NonCommercial-NoDerivs 3.0 Unported}% +\expandafter\edef\csname doclicense@lang@lic@CC@zero@1.0\endcsname{CC0 1.0 Universal}% +\expandafter\edef\csname doclicense@lang@lic@CC@pd@1.0\endcsname{Copyright-Only Dedication}% + +\expandafter\edef\csname doclicense@lang@lic@CC@by-sa@4.0\endcsname{Attribution-ShareAlike 4.0 International}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nd@4.0\endcsname{Attribution-NoDerivatives 4.0 International}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc@4.0\endcsname{Attribution-NonCommercial 4.0 International}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc-sa@4.0\endcsname{Attribution-NonCommercial-ShareAlike 4.0 International}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc-nd@4.0\endcsname{Attribution-NonCommercial-NoDerivatives 4.0 International}% diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-german.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-german.ldf new file mode 100644 index 00000000000..4b15649f0fd --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-german.ldf @@ -0,0 +1,14 @@ +\ProvidesFile{doclicense-german.ldf} + +\edef\doclicense@lang@thisDoc{Dieses Werk ist lizenziert unter einer}% +\edef\doclicense@lang@word@license{Lizenz}% +\edef\doclicense@lang@code{de}% + +\edef\doclicense@lang@lic@CC@code{deed.de}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-sa@3.0\endcsname{Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nd@3.0\endcsname{Namensnennung-Keine Bearbeitung 3.0 Deutschland}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc@3.0\endcsname{Namensnennung-Nicht kommerziell 3.0 Deutschland}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc-sa@3.0\endcsname{Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Deutschland}% +\expandafter\edef\csname doclicense@lang@lic@CC@by-nc-nd@3.0\endcsname{Namensnennung - Nicht-kommerziell - Keine Bearbeitung 3.0 Deutschland}% +\expandafter\edef\csname doclicense@lang@lic@CC@zero@1.0\endcsname{CC0 1.0 Universell}% +% \expandafter\edef\csname doclicense@lang@lic@CC@pd@1.0\endcsname{Copyright-Only Dedication}% Based on US right. Use Zero in no-US countries. diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-newzealand.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-newzealand.ldf new file mode 100644 index 00000000000..9775602edc1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-newzealand.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-newzealand.ldf} + +\input{doclicense-english.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense-ngerman.ldf b/Master/texmf-dist/tex/latex/doclicense/doclicense-ngerman.ldf new file mode 100644 index 00000000000..5f4247c1db0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense-ngerman.ldf @@ -0,0 +1,3 @@ +\ProvidesFile{doclicense-ngerman.ldf} + +\input{doclicense-german.ldf} diff --git a/Master/texmf-dist/tex/latex/doclicense/doclicense.sty b/Master/texmf-dist/tex/latex/doclicense/doclicense.sty new file mode 100644 index 00000000000..e63c59e191c --- /dev/null +++ b/Master/texmf-dist/tex/latex/doclicense/doclicense.sty @@ -0,0 +1,176 @@ +%% See file 'doclicense.dtx' for copyright and license. +\NeedsTeXFormat{LaTeX2e}[1998/12/01] +\ProvidesPackage{doclicense} + [2015/02/06 v0.8 Set and print the license of a document] + +%% 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}} +} +%% }}} + +%% Parameters {{{ +\DeclareStringOption[CC]{type} +\DeclareStringOption[by-sa]{modifier} +\DeclareStringOption{version} +\DeclareStringOption{lang} +\DeclareStringOption[10em]{imagewidth} +%% }}} + +\ProcessLocalKeyvalOptions* +%% Declare variables {{{ +\newcommand{\doclicense@baseUrlCC}{https://creativecommons.org} +\newcommand{\doclicense@versionFallback}{} +\newcommand{\doclicense@versionUsed}{} +\newboolean{doclicense@licenseKnown} +\newlength{\doclicense@hsize} +\newcommand{\doclicense@longName}{% + \csname doclicense@lang@lic@\doclicense@type @\doclicense@modifier @\doclicense@versionUsed\endcsname +} +\newcommand{\doclicense@icon}{% + \PackageError{doclicense}{Icon not defined} + {Please check the documentation of doclicense to see what you can do about it.}% +} +%% }}} + +%% User macros {{{ +\newcommand{\doclicenseType}{\doclicense@type\xspace} +\newcommand{\doclicenseLongType}{} +\newcommand{\doclicenseModifier}{\MakeUppercase{\doclicense@modifier}\xspace} +\newcommand{\doclicenseVersion}{\doclicense@versionUsed\xspace} +\newcommand{\doclicenseName}{\doclicense@type~\doclicense@modifier~\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{\doclicenseImage}[1][]{% + \setkeys{doclicense}{#1} + \href{\doclicenseURL}{% + \includegraphics[width=\doclicense@imagewidth]% + {doclicense-\doclicense@type-\doclicense@modifier}% + } +} + +\newcommand{\doclicenseLicense}{ + \setlength{\doclicense@hsize}{\textwidth-\doclicense@imagewidth-2em} + \ifthenelse{\lengthtest{\hsize > \vsize}}{%% landscape + \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} +} +%% }}} + +%% 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 not found. Please add one and submit a patch. Using English as fallback.} + \renewcommand{\doclicense@lang}{english} + \input{doclicense-\doclicense@lang.ldf} +} + +%% }}} + +%% 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} + + \ifthenelse{\equal{\doclicense@lang@lic@CC@code}{}}{% + \edef\doclicense@UrlLangPart{} + }{% + \edef\doclicense@UrlLangPart{/\doclicense@lang@lic@CC@code} + } + \doclicense@setVersion[3.0] + \edef\doclicenseURL{% + \doclicense@baseUrlCC/% + licenses/% + \doclicense@modifier/% + \doclicense@versionUsed\doclicense@UrlLangPart} + \ifthenelse{\equal{\doclicense@modifier}{by-sa}} + {\renewcommand{\doclicense@icon}{\ccbysa}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nd}} + {\renewcommand{\doclicense@icon}{\ccbynd}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nc}} + {\renewcommand{\doclicense@icon}{\ccbync}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nc-sa}} + {\renewcommand{\doclicense@icon}{\ccbync}}{} + \ifthenelse{\equal{\doclicense@modifier}{by-nc-nd}} + {\renewcommand{\doclicense@icon}{\ccbync}}{} + \ifthenelse{\equal{\doclicense@modifier}{zero}}{% + \renewcommand{\doclicense@icon}{\cczero} + \doclicense@setVersion[1.0] + \edef\doclicenseURL{% + \doclicense@baseUrlCC/% + publicdomain/% + \doclicense@modifier/% + \doclicense@versionUsed\doclicense@UrlLangPart} + }{} + \ifthenelse{\equal{\doclicense@modifier}{pd}}{ + \renewcommand{\doclicense@icon}{\ccpd} + \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% +\endinput +%% +%% End of file `doclicense.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 2ed3e71da42..2c229c0e4d9 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -167,7 +167,7 @@ my @TLP_working = qw( dickimaw dictsym digiconfigs din1505 dinat dinbrief dingbat directory dirtree dirtytalk disser dithesis dk-bib dlfltxb - dnaseq doc-pictex docbytex docmfp docmute doctools documentation + dnaseq doc-pictex docbytex doclicense docmfp docmute doctools documentation doi doipubmed dosepsbin dot2texi dotarrow dotseqn dottex doublestroke dowith download dox dozenal dpfloat dprogress drac draftcopy diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 52666d2d658..f6bb3f65482 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -207,6 +207,7 @@ depend directory depend dirtytalk depend dlfltxb depend dnaseq +depend doclicense depend docmfp depend docmute depend doctools diff --git a/Master/tlpkg/tlpsrc/doclicense.tlpsrc b/Master/tlpkg/tlpsrc/doclicense.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/doclicense.tlpsrc |