From ab250ac510164e286c020c1b64d7ee06e9760848 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 1 May 2024 20:15:20 +0000 Subject: osda (1may24) git-svn-id: svn://tug.org/texlive/trunk@71147 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/osda/README.md | 79 ++ Master/texmf-dist/doc/latex/osda/example.png | Bin 0 -> 186840 bytes Master/texmf-dist/doc/latex/osda/osda.pdf | Bin 0 -> 219701 bytes Master/texmf-dist/source/latex/osda/osda.dtx | 962 +++++++++++++++++++++++ Master/texmf-dist/source/latex/osda/osda.ins | 65 ++ Master/texmf-dist/tex/latex/osda/osda.sty | 401 ++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-publishers.tlpsrc | 1 + Master/tlpkg/tlpsrc/osda.tlpsrc | 0 9 files changed, 1509 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/osda/README.md create mode 100644 Master/texmf-dist/doc/latex/osda/example.png create mode 100644 Master/texmf-dist/doc/latex/osda/osda.pdf create mode 100644 Master/texmf-dist/source/latex/osda/osda.dtx create mode 100644 Master/texmf-dist/source/latex/osda/osda.ins create mode 100644 Master/texmf-dist/tex/latex/osda/osda.sty create mode 100644 Master/tlpkg/tlpsrc/osda.tlpsrc diff --git a/Master/texmf-dist/doc/latex/osda/README.md b/Master/texmf-dist/doc/latex/osda/README.md new file mode 100644 index 00000000000..07396d51d57 --- /dev/null +++ b/Master/texmf-dist/doc/latex/osda/README.md @@ -0,0 +1,79 @@ +# latex-osda + +This LaTeX package contains commands useful for papers that are published in the +Proceedings of the Workshop on Open-Source Design Automation (OSDA). + +This package automatically places a copyright notice as an un-numbered +footnote on the title page of a document that calls ``\maketitle``, indicating +the information on the workshop where the paper was presented, along with +additional information on the host conference, the license under which the +document is published, and a link to the corresponding web page of the paper. +The generated copyright notice contains a logo of the workshop, and a QR code +that points to the paper's web page (to lead to further material). For cases +when the copyright notice is not automatically set in the title page's +footnote, the copyright notice can be set manually as well. + +![An example that shows the footnote on the title page](example.png) + +## Usage + +For the most basic use case, we just load the package, while giving a basic +set of package options: the year of the workshop, the license under which the +document is published, start/end pages of the paper in the workshop +proceedings, a paper URL under which further information on the paper is +available, and a Digital Object Identifier (DOI) that uniquely identifies the +publication. The following listing shows the command to load the package +with options that generates the copyright notice visible in the example image +above. + +``` +\usepackage[ + 2024, + cc-by, + pages={1}{6}, + url=https://osda.ws/r/aaVHo, + doi=10.1000/182, +]{osda} +``` + +Please consult the package documentation for more detailed instructions on how +to use the package. + + +## Geneate the LaTeX package + +To generate the LaTeX package ``osda.sty``, simply run the following command: + +``` +latex osda.ins +``` + +## Generate the documentation + +To generate a PDF ``osda.pdf`` with the package documentation, please run the following +command: + +``` +pdflatex osda.dtx +``` + +## License information + +Copyright 2023-2024 by Christian Krieg (christian@osda.ws) + +This work (excluding the OSDA logo) 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 Christian Krieg. + +This work consists of the files osda.dtx and osda.ins and the derived file +osda.sty. + +The OSDA logo is a trademark of Christian Krieg and may only be used and/or +distributed in order to refer to the Workshop on Open-Source Design Automation. +Any other use is subject to prior written permission. diff --git a/Master/texmf-dist/doc/latex/osda/example.png b/Master/texmf-dist/doc/latex/osda/example.png new file mode 100644 index 00000000000..2b1a2f49b16 Binary files /dev/null and b/Master/texmf-dist/doc/latex/osda/example.png differ diff --git a/Master/texmf-dist/doc/latex/osda/osda.pdf b/Master/texmf-dist/doc/latex/osda/osda.pdf new file mode 100644 index 00000000000..5399ddcda05 Binary files /dev/null and b/Master/texmf-dist/doc/latex/osda/osda.pdf differ diff --git a/Master/texmf-dist/source/latex/osda/osda.dtx b/Master/texmf-dist/source/latex/osda/osda.dtx new file mode 100644 index 00000000000..74061122061 --- /dev/null +++ b/Master/texmf-dist/source/latex/osda/osda.dtx @@ -0,0 +1,962 @@ +% \iffalse meta-comment +% +% osda.ins +% Copyright 2023-2024 by Christian Krieg (christian@osda.ws) +% +% This work (excluding the OSDA logo) 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 Christian Krieg. +% +% This work consists of the files osda.dtx and osda.ins +% and the derived file osda.sty. +% +% The OSDA logo is a trademark of Christian Krieg and may only be used and/or +% distributed in order to refer to the Workshop on Open-Source Design +% Automation. Any other use is subject to prior written permission. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{osda.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{osda} +%<*package> + [2024/05/01 v1.4.0 OSDA copyright notice generator] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{parskip} +\usepackage{hyperref} +\usepackage{listings} +\lstset +{ + language=[LaTeX]TeX, + basicstyle=\linespread{1}\small\ttfamily, + commentstyle=\linespread{1}\small\itshape, + keywordstyle=\linespread{1}\small\bfseries, + escapeinside={(*@}{@*)}, + frame=single, numbers=left, + xleftmargin=15pt, + xrightmargin=5pt, + numbersep=5pt, + breaklines=true, + moredelim=**[is][\ttfamily\bfseries\color{red}]{(*}{*)}, +} +\usepackage[ + 2024, + cc-by, + pages={1}{6}, + url=https://osda.ws/r/0slLz, + doi=10.1000/182, +]{osda} +\usepackage{cleveref} +\PassOptionsToClass{a4paper}{article} +\AtBeginDocument{\OnlyDescription} +\AtBeginDocument{\CodelineIndex\EnableCrossrefs\RecordChanges} +\AtBeginDocument{\RecordChanges} +\AtEndDocument{\DocInput{osda.dtx}} +\AtEndDocument{\PrintChanges} +%%\AtEndDocument{\PrintIndex} +\begin{document} +\end{document} +% +% \fi +% +% \CheckSum{0} +% +% \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{v1.0.0}{2023/03/30}{Initial version} +% \changes{v1.1.0}{2023/04/03}{Adding 'auto' option} +% \changes{v1.2.0}{2023/04/03}{Updating README} +% \changes{v1.3.0}{2023/04/04}{ +% Adding presets for the years 2019 and 2020, +% adding inline OSDA logo +% } +% \changes{v1.4.0}{2024/05/01}{Adding preset for 2020} +% +% \GetFileInfo{osda.sty} +% +% \DoNotIndex{\newcommand,\newenvironment,\providecommand,\def} +% +% \def\F{F} +% +% \title{The \textsf{osda} package: \\ +% OSDA Copyright Notice Generator\thanks{This document +% corresponds to \textsf{osda}~\fileversion, dated \filedate.} +% } +% \author{Christian Krieg\\ Workshop on Open-Source Design Automation (OSDA) \\ +% \texttt{christian@osda.ws} +% } +% \date{May 01, 2024} +% +% \newcommand{\Example}{\vspace{1em}\noindent\textbf{Example:}\vspace{1em}} +% +% \maketitle +% +% \section{Introduction} +% +% This package automatically places a copyright notice as an un-numbered +% footnote on the title page of a document that calls |\maketitle|, indicating +% the information on the workshop where the paper was presented, along with +% additional information on the host conference, the license under which the +% document is published, and a link to the corresponding web page of the paper. +% The generated copyright notice contains a logo of the workshop, and a QR code +% that points to the paper's web page (to lead to further material). For cases +% when the copyright notice is not automatically set in the title page's +% footnote, the copyright notice can be set manually as well. +% +% \section{Usage} +% +% For the most basic use case, we just load the package, while giving a basic +% set of package options: the year of the workshop, the license under which the +% document is published, start/end pages of the paper in the workshop +% proceedings, a paper URL under which further information on the paper is +% available, and a Digital Object Identifier (DOI) that uniquely identifies the +% publication. \Cref{lst:usage-example} shows the command to load the package +% with options that generates the copyright notice visible on the title page of +% this document. +% +% \begin{lstlisting}[gobble=6,float=tb,label=lst:usage-example,caption={An +% example for the most-frequent use case to use this package}] +% \usepackage[ +% 2024, +% cc-by, +% pages={1}{6}, +% url=https://osda.ws/r/0slLz, +% doi=10.1000/182, +% ]{osda} +% \end{lstlisting} +% +% When loading the package, the |\maketitle| command is re-defined such that +% when it is called, an un-numbered footnote is automatically placed at the +% title page. Besides the package options, all key/value pairs given in the +% sections below can be passed as options to the package when loaded. +% +% \DescribeMacro{\osdafootnote} +% For documents that do not define |\maketitle|, the footnote can be explicitly +% set with |\osdafootnote| as shown in \Cref{lst:usage-footnote}. +% |\osdafootnote| accepts all options as the package when loaded (i.e., all +% presets and all key/value pairs given below). + +% +% \begin{lstlisting}[gobble=6,label=lst:usage-footnote,caption={ +% Explicitly generating an un-numbered footnote containing the copyright +% notice}] +% \osdafootnote +% \end{lstlisting} +% +% \DescribeMacro{\osdanotice} +% For cases where the copyright notice shall not be placed in a footnote, but in +% body text or some other paragraph, the package also provides the command +% |\osdanotice|, which renders the copyright notice at the place from where it +% is called (see \Cref{lst:usage-notice}). |\osdanotice| accepts all options as +% the package when loaded (i.e., all presets and all key/value pairs given +% below). +% +% \begin{lstlisting}[gobble=6,label=lst:usage-notice,caption={ +% Place the copyright notice here}] +% \osdanotice +% \end{lstlisting} +% +% \DescribeMacro{\osdaset} +% Alternatively to the method given in \Cref{lst:usage-example}, we can load the +% package without options, and explicitly set the values with |\osdaset|, as +% shown in \Cref{lst:usage-osdaset}. |\osdaset| accepts all options as +% the package when loaded (i.e., all presets and all key/value pairs given +% below). + +% +% \begin{lstlisting}[gobble=6,float=tb,label=lst:usage-osdaset,caption={Explicitly +% setting package options}] +% \usepackage[auto=false]{osda} +% \osdaset{ +% 2024, +% cc-by, +% pages={1}{6}, +% url=https://osda.ws/r/0slLz, +% doi=10.1000/182, +% } +% \end{lstlisting} +% +% \section{Package Options} +% +% \subsection{Automatically setting a footnote} +% +% \DescribeMacro{auto} +% The default behavior when loading this package is that an unnumbered footnote +% containing a copyright notice is automatically inclued when |\maketitle| is +% called. If this behavior is not desired, it can be switched off setting the +% |auto| package option to |false| (see \Cref{lst:option-auto}). +% +% \begin{lstlisting}[gobble=6, label=lst:option-auto, caption={Do not +% automatically place a footnote with a copyright notice}] +% \usepacakge[auto=false]{osda} +% \end{lstlisting} +% +% \subsection{Workshop information} +% +% \DescribeMacro{} +% This option defines presets for all relevant options to the values valid for +% the year the workshop was held: +% +% \begin{itemize} +% \item{|proceedings/title|} +% \item{|workshop/counter|} +% \item{|workshop/longname|} +% \item{|workshop/acronym|} +% \item{|location/city|} +% \item{|location/country|} +% \item{|date/month|} +% \item{|date/day|} +% \item{|date/year|} +% \item{|hostconference/longname|} +% \item{|hostconference/acronym|} +% \end{itemize} +% +% We replace || with the actual year when the paper was presented. An +% example is given in \Cref{lst:option-year}. +% +% \begin{lstlisting}[gobble=6, label=lst:option-year, caption={Setting all +% workshop-related options for the year 2024}] +% \osdaset{2024} +% \end{lstlisting} +% +% Currently, presets for the following years are available: +% |2024|, |2023|, |2020|, |2019| +% +% \subsection{Paper license} +% +% \DescribeMacro{cc-by} +% \DescribeMacro{cc-by-sa} +% \DescribeMacro{cc-by-nc-sa} +% \DescribeMacro{cc-by-nc-nd} +% \DescribeMacro{cc-by-arXiv} +% \DescribeMacro{cc0} +% These options define the license under which the paper is published. In the +% example given in \Cref{lst:option-license}, the paper license is set to |CC0|. +% The options are presets that set the values of the corresponding license +% options: +% +% \begin{itemize} +% \item{|license/long|} +% \item{|license/short|} +% \item{|license/version|} +% \item{|license/url|} +% \end{itemize} +% +% \begin{lstlisting}[gobble=6, label=lst:option-license, caption={Setting the +% paper's license to CC0}] +% \osdaset{cc0} +% \end{lstlisting} +% +% \subsection{Pages} +% +% \DescribeMacro{pages} +% This option sets the page numbers of the paper as published in the workshop +% proceedings. We provide start and end page as |pages={}{}|, which +% sets the follwoing options: +% +% \begin{itemize} +% \item{|proceedings/startpage|} +% \item{|proceedings/endpage|} +% \end{itemize} +% +% An example is given in \Cref{lst:option-pages}. +% +% \begin{lstlisting}[gobble=6, label=lst:option-pages, caption={Setting the +% paper's page numbers as given by the workshop proceedings}] +% \osdaset{pages={16}{22}} +% \end{lstlisting} +% +% \subsection{Paper URL} +% +% \DescribeMacro{url} +% This option specifies the URL that leads to a web page at the workshop's +% website, where additional information and material related to the paper can be +% found (\Cref{lst:option-url} shows an example). Setting |url| updates the +% value of the following key: +% +% \begin{itemize} +% \item{|paper/url|} +% \end{itemize} +% +% +% \begin{lstlisting}[gobble=6, label=lst:option-url, caption={Setting the +% paper's URL to its web page on the workshop website}] +% \osdaset{url=https://osda.ws/r/0slLz} +% \end{lstlisting} +% +% \subsection{Digital Object Identifier (DOI)} +% +% \DescribeMacro{doi} +% This option specifies the paper's Digital Object Identifier (DOI) which is +% issued on publication. Setting |doi| updates the value of the following key: +% +% \begin{itemize} +% \item{|paper/doi|} +% \end{itemize} +% +% \section{Configuration Options} +% +% In the \Cref{tbl:package-options}, we document all configuration options that +% can be set either when loading the package with |usepackage|, or when using +% |\osdafootnote|, |\osdanotice|, and |\osdaset|. This package uses |pgfkeys| +% for managing the keys, and for processing key/value pairs. +% +% \begin{table} +% \caption{Package options} +% \label{tbl:package-options} +% \begin{tabular}{lp{7cm}} +% Key & Description \\ +% \hline +% \hline +% +% |auto| +% & Enabling/Disabling auto-setting an un-numbered footnote +% containing a copyright notice when calling |\maketitle|. Default: |true| +% \\ +% +% \hline +% +% |paper/url| +% & A URL that points to the web page of the paper on the workshop website. +% It can be used to provide additional information and/or supplementing +% material. Also, the link to the workshop website proves that the paper is +% authentic. +% \\ +% +% |paper/doi| +% & The digital object identifier that is issued to the paper on +% publication +% \\ +% +% |url| & A short cut to |paper/url| \\ +% |doi| & A short cut to |paper/doi| \\ +% +% \hline +% +% |license/long| +% & The long form of the name of the license under whose terms the paper is +% published +% \\ +% +% |license/short| +% & The short form, or acronym, of the paper's license +% \\ +% +% |license/version| +% & The version of the paper's license +% \\ +% +% |license/url| +% & A URL that points to the paper's license terms +% \\ +% \hline +% +% |proceedings/title| +% & The title of the workshop's proceedings +% \\ +% +% |proceedings/startpage| +% & The first page of the paper in the proceedings +% \\ +% +% |proceedings/endpage| +% & The first page of the paper in the proceedings +% \\ +% |pages| +% & A shortcut to |proceedings/startpage| and |proceedings/endpage| +% that takes two arguments (e.g., |pages={26}{31}|) +% \\ +% +% \hline +% +% |workshop/counter| +% & Specifies the number of the workshop's edition (e.g., |3rd|) +% \\ +% +% |workshop/longname| +% & The long name of the workshop +% \\ +% +% |workshop/acronym| +% & The workshop's acronym +% \\ +% +% \hline +% +% |location/city| +% & The city in which the workshop took place +% \\ +% +% |location/country| +% & The country in which the workshop took place +% \\ +% +% \hline +% +% |date/month| +% & The month in which the workshop took place +% \\ +% +% |date/day| +% & The day on which the workshop took place +% \\ +% +% |date/year| +% & The year in which the workshop took place +% \\ +% +% \hline +% +% |hostconference/longname| +% & The long name of the conference at which the workshop was co-hosted +% \\ +% +% |hostconference/acronym| +% & The acronym of the conference at which the workshop was co-hosted +% \\ +% \end{tabular} +% \end{table} +% +% \section{Useful commands} +% +% \subsection{Inline logo} +% +% \DescribeMacro{\osda} +% This command prints the OSDA logo inline as shown in the following examples at +% different font sizes (\Cref{lst:inline-logo}): +% +% \begin{lstlisting}[gobble=6, label=lst:inline-logo, caption={Inline OSDA logo}] +% Hello there, \osda{} is the place to be +% +% {\large I agree, \osda{} is the place to be!} +% +% {\small I agree, \osda{} is the place to be!} +% +% {\Huge I agree, \osda{} is the place to be!} +% +% {\tiny I agree, \osda{} is the place to be!} +% \end{lstlisting} +% +% Hello there, \osda{} is the place to be +% +% {\large I agree, \osda{} is the place to be!} +% +% {\small I agree, \osda{} is the place to be!} +% +% {\Huge I agree, \osda{} is the place to be!} +% +% {\tiny I agree, \osda{} is the place to be!} +% +% +% \StopEventually{} +% +% \section{Implementation} +% +% \subsection{Initialization macros} +% +% Here, the package dependencies are defined, along with setting up the packages +% once loaded. +% +% \begin{macrocode}%% +\RequirePackage[hang,flushmargin]{footmisc}% +\RequirePackage{flushend}% +\RequirePackage{ifthen}% +\RequirePackage{qrcode}% +\RequirePackage{xcolor}% +\RequirePackage{hyperref}% +\hypersetup{% + colorlinks = true,% + allcolors = black,% +}% +\RequirePackage{tikz}% +\RequirePackage{pgfopts}% + +% \end{macrocode} +% \begin{macro}{\osdaset} +% +% |\osdaset| +% +% Command to set options for this package. +% +% Usage: +% +% |\osdaset{key1=value1, key2=value2, ...}| +% +% Example: +% +% \begin{verbatim} +% \osdaset{ +% paper/url=https://osda.ws, +% license/long = XYZ license, +% license/short = XYZ, +% license/version = 1.0, +% license/url = https://xyz.org/license +% } +% \end{verbatim} +% \begin{macrocode} +% +\newcommand{\osdaset}[1]{\pgfkeys{/osda/.cd,#1}} +% +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + +%% +%% Specify booleans +%% +\newif\ifosda@auto +%% +%% Define keys to manage package and command options +%% +\pgfkeys { + /osda/.cd, + paper/url/.store in = \osda@paper@url, + url/.forward to = /osda/paper/url, + paper/doi/.store in = \osda@paper@doi, + doi/.forward to = /osda/paper/doi, + license/version/.store in = \osda@license@version, + license/url/.store in = \osda@license@url, + license/long/.store in = \osda@license@long, + license/short/.store in = \osda@license@short, + proceedings/title/.store in = \osda@proceedings@title, + proceedings/startpage/.store in = \osda@proceedings@startpage, + proceedings/endpage/.store in = \osda@proceedings@endpage, + pages/.code 2 args={\osdaset{proceedings/startpage=#1,proceedings/endpage=#2}}, + workshop/counter/.store in = \osda@workshop@counter, + workshop/longname/.store in = \osda@workshop@longname, + workshop/acronym/.store in = \osda@workshop@acronym, + location/city/.store in = \osda@location@city, + location/country/.store in = \osda@location@country, + date/month/.store in = \osda@date@month, + date/day/.store in = \osda@date@day, + date/year/.store in = \osda@date@year, + hostconference/longname/.store in = \osda@hostconference@longname, + hostconference/acronym/.store in = \osda@hostconference@acronym, +} +%% +%% Set boolean flags +%% +\pgfkeys { + /osda/.cd, + auto/.is if=osda@auto, +} +% +% \end{macrocode} +%% +%% Specify default values +%% +% \begin{macrocode} +% +\pgfkeys { + /osda/.cd, + auto = true, + license/version = , + license/url = , + license/long = \textbf{\textcolor{red}{{Please specify a license}}}, + license/short = , + proceedings/startpage = , + proceedings/endpage = , + paper/url = https://please.specify.the/url/here, + paper/doi = , +} +% +% \end{macrocode} +%% +%% Define some useful styles +%% +% \begin{macrocode} +% +\pgfkeys { + /osda/.cd, + % + % Default values for specific editions of OSDA + % + 2024/.style={ + proceedings/title = Proceedings of the 4th Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 4th, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Valencia, + location/country = Spain, + date/month = March, + date/day = 25, + date/year = 2024, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + 2023/.style={ + proceedings/title = Proceedings of the 3rd Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 3rd, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Antwerp, + location/country = Belgium, + date/month = April, + date/day = 17, + date/year = 2023, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + 2020/.style={ + proceedings/title = Proceedings of the 2nd Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 2nd, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Grenoble, + location/country = France, + date/month = March, + date/day = 13, + date/year = 2020, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + 2019/.style={ + proceedings/title = Proceedings of the 1st Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 1st, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Florence, + location/country = Italy, + date/month = March, + date/day = 29, + date/year = 2019, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + % + % Licenses + % + cc-by/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by/4.0, + license/long = Creative Commons Attribution license, + license/short = CC BY, + }, + cc-by-sa/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by-sa/4.0, + license/long = Creative Commons Attribution-ShareAlike license, + license/short = CC BY-SA, + }, + cc-by-nc-sa/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by-nc-sa/4.0, + license/long = Creative Commons Attribution-Noncommercial-ShareAlike license, + license/short = CC BY-NC-SA, + }, + cc-by-nc-nd/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by-nc-nd/4.0, + license/long = Creative Commons Attribution-Noncommercial-NoDerivatives license, + license/short = CC BY-NC-ND, + }, + arXiv/.style={ + license/version = 1.0, + license/url = https://arxiv.org/licenses/nonexclusive-distrib/1.0, + license/long = {arXiv.org perpetual, non-exclusive license}, + license/short =, + }, + cc0/.style={ + license/version =, + license/url = https://creativecommons.org/share-your-work/public-domain/cc0, + license/long = Public Domain license, + license/short = CC0, + }, +} +% +% \end{macrocode} +%% +%% We now process the options passed to the package. +%% +% \begin{macrocode} +% +\ProcessPgfOptions{/osda} +% +% \end{macrocode} +%% +%% The margin defines the space between the logo's right/QR code's left side and +%% the text of the copyright notice +%% +% \begin{macrocode} +% +\newlength{\osda@margin} +% +% \end{macrocode} +% +% \begin{macro}{\WrapLR} +%% +%% |\WrapLR| +%% +%% Command to place two figures wrapped around text; we use it here for the OSDA +%% logo and the QR code that links to the paper in the acknowledgments box in the +%% footnote of the title page +%% +%% Usage: +%% +%% \WrapLR{\includegraphics[height=1.2in]{example-image-a}}% +%% {\includegraphics[height=1.2in]{example-image-b}}% +%% {\noindent Text to wrap around images} +%% +%% Adapted from: https://tex.stackexchange.com/a/455612 +%% +%% +% \begin{macrocode} +% +\newcommand*{\WrapLR}[3]% #1=left image, #2=right image, #3=text (1 paragraph) +{\bgroup + \sbox0{\raisebox{-\height}{#1}}% align tops + \sbox1{\raisebox{-\height}{#2}}% measure width and height (depth) + \sbox2{\raisebox{\depth}{\makebox[\columnwidth]{\usebox0\hfill\usebox1}}}% total height + \par\noindent\usebox2\vspace{\dimexpr \ht\strutbox-\ht2-\baselineskip-\parskip}\par% overlay pictures + \setlength{\osda@margin}{2ex} + \dimen0=\dimexpr \wd0+.5\osda@margin\relax% indent + \dimen1=\dimexpr \columnwidth-\wd0-\wd1-\osda@margin\relax% width + \edef\shape{\the\dimen0 \the\dimen1}% set up \parshape arguments in loop + \dimen2=\ht\strutbox + \dimen4=\dimexpr \ht2-.5\baselineskip\relax + \count1=2 + \loop\ifdim\dimen2<\dimen4 + \advance\dimen2 by \baselineskip + \ifdim\dimen2>\dp0\relax% end of left image + \dimen0=0pt + \dimen1=\dimexpr \columnwidth-\wd1-.5\osda@margin\relax + \fi + \ifdim\dimen2>\dp1\relax% end of right image + \dimen1=\dimexpr \columnwidth-\wd0-.5\osda@margin\relax + \fi + \advance\count1 by 1 + \edef\shape{\shape\space\the\dimen0 \the\dimen1}% + \repeat + \edef\shape{\the\count1 \space\shape\space 0pt \the\columnwidth}% + \parshape=\shape + #3\par +\egroup} +% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\blfootnote} +% +%% |\blfootnote| +%% +%% Set footnotes without marks +%% +%% Usage: +%% +%% |\blfootnote{footnotetext}| +%% +%% From: https://tex.stackexchange.com/a/30726 +%% +% \begin{macrocode} +% +\newcommand\blfootnote[1]{% + \begingroup + \renewcommand\thefootnote{}\footnote{#1}% + \addtocounter{footnote}{-1}% + \endgroup +} +% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\osdalogo} +%% +%% |\osdalogo| +%% +%% Draws the OSDA logo at a given height +%% +%% Usage: +%% +%% |\osdalogo{height}| +%% +%% Example: +%% +%% |\osdalogo{2\baselineskip}| +%% +% \begin{macrocode} +% +\usetikzlibrary{svg.path} +\newcommand{\osdalogo}[1]{\scalebox{1}[-1]{\resizebox*{!}{#1}{% +\begin{tikzpicture}% + \pgfpathsvg{m 41.493525,114.88969 c -4.235403,-0.0951 -5.244524,4.38987 -4.853967,7.74446 0.06465,11.92294 -0.129872,23.85884 0.09828,35.77361 0.660896,3.83742 4.80625,4.07909 7.908947,3.87335 36.559883,0 73.119765,0 109.679645,0 4.2354,0.0951 5.24452,-4.38987 4.85397,-7.74445 -0.0647,-11.92294 0.12987,-23.85884 -0.0983,-35.77361 -0.6609,-3.83742 -4.80625,-4.07909 -7.90895,-3.87336 -36.55988,0 -73.119759,0 -109.679642,0 z m 15.406294,9.3338 c 7.083699,-0.16814 13.650363,5.59034 14.408423,12.6354 0.773555,-7.32725 7.848415,-13.19963 15.192447,-12.61203 5.305345,0.24729 10.291595,3.68656 12.407418,8.55802 -4.449622,-0.0531 -9.052306,0.10604 -13.406456,-0.0794 -0.839139,-2.90692 -5.235964,-3.40946 -6.707523,-0.76424 -1.678739,2.40924 0.506129,6.05789 3.422128,5.71655 1.497283,-0.0812 2.873132,-1.15803 3.311785,-2.59192 4.718573,0 9.43715,0 14.155724,0 0.08339,-2.35529 -0.165262,-4.8569 0.121518,-7.12255 5.339507,-5.05446 14.506947,-4.9329 19.710957,0.26069 2.32206,2.20209 3.8742,5.19535 4.33608,8.36202 0.90939,-7.27195 8.02238,-12.99336 15.31906,-12.32891 7.37799,0.33186 13.674,7.07245 13.50245,14.45591 0.0496,5.18443 -2.94531,10.24647 -7.51324,12.69897 -1.2907,-3.10635 -2.86729,-6.27677 -3.98135,-9.34353 2.57226,-2.09161 1.63297,-6.69649 -1.5515,-7.61542 -3.0763,-1.19911 -6.61783,1.86093 -5.86635,5.08096 0.22078,1.22057 0.97501,2.33122 2.02814,2.98654 -1.33651,3.06304 -2.67302,6.12607 -4.00953,9.18911 -4.21173,-2.03739 -7.27498,-6.23733 -7.9282,-10.87014 -0.9141,7.33051 -8.13486,13.07383 -15.48271,12.31672 -3.21287,-0.24801 -6.32487,-1.6114 -8.68532,-3.8051 0,-2.30873 0,-4.61746 0,-6.92619 -1.727782,7.19313 -9.563391,12.09549 -16.787442,10.50764 -4.612862,-0.86727 -8.678534,-4.13841 -10.513216,-8.45867 4.434157,0.0533 9.021826,-0.10629 13.360463,0.0794 0.820198,2.82501 5.042639,3.41435 6.604149,0.92056 1.808231,-2.33495 -0.226145,-6.10845 -3.171246,-5.87992 -1.550448,0.0211 -3.007434,1.11568 -3.459292,2.59898 -4.701352,0 -9.402702,0 -14.104054,0 -0.258707,-1.27682 -0.309266,-2.11823 -0.532659,-0.32786 -1.436394,7.22593 -9.014468,12.43124 -16.274501,11.17924 -7.328434,-0.91683 -13.068091,-8.13653 -12.311164,-15.48257 0.464997,-7.3576 7.032469,-13.43953 14.405011,-13.33826 z m 52.620561,9.99112 c -0.96292,0.0502 -2.60046,0.17595 -2.09755,1.57043 0.0567,2.29818 -0.11186,4.73381 0.0816,6.94851 2.876,1.60884 6.79391,-0.92082 6.51013,-4.20444 -0.0576,-2.3593 -2.13312,-4.35301 -4.49417,-4.3145 z m -52.58387,5.3e-4 c -3.299763,-0.14891 -5.665574,3.88662 -3.923721,6.69319 1.479497,2.95488 6.158026,3.05141 7.757886,0.15973 1.863071,-2.9074 -0.372921,-6.91859 -3.834165,-6.85292 z}% + \pgfusepath{fill}% + \pgfusepath{stroke}% +\end{tikzpicture}% +}}} +% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\osda} +%% +%% |\osda| +%% +%% This command prints the OSDA logo inline at a height of 1ex +%% +%% Usage: +%% +%% |\osda{}| +%% +% \begin{macrocode} +% +\newcommand{\osda}{\raisebox{.6\baselineskip}{\osdalogo{.7\baselineskip}}} +% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\osdanotice} +%% +%% |\osdanotice| +%% +%% This command sets the OSDA copyright notice, taking a URL as argument to set +%% links to the paper's web page, and to create a QR code from. +%% +%% Usage: +%% +%% |\osdanotice{url}| +%% +%% Example: +%% +%% |\osdanotice{https://osda.ws}| +%% +% \begin{macrocode} +% +\newcommand{\osdanotice}[1][]{ +\osdaset{#1} +\WrapLR% + {\href{\osda@paper@url}{\osdalogo{1.8\baselineskip}}} + {\qrcode[height=3.8\baselineskip,level=L,version=1]{\osda@paper@url}} + {\noindent% + This work was presented at the \emph{\osda@workshop@counter{} + \osda@workshop@longname{} (\osda@workshop@acronym) \osda@date@year{}}, + \ifthenelse{\isundefined{\osda@hostconference@longname}}{% + }{% + co-hosted with \emph{\osda@hostconference@longname} % + \ifthenelse{\isundefined{\osda@hostconference@acronym}}{% + }{% + \emph{(\osda@hostconference@acronym)} + }% + \ifthenelse{\isundefined{\osda@date@year}}{% + }{% + \emph{\osda@date@year} + }% + }% + in \osda@location@city{}, \osda@location@country{}, on + \osda@date@month{} \osda@date@day{}, \osda@date@year{}. For further + information and material, please visit the paper's web page on the + workshop website at \href{\osda@paper@url}{\textbf{\osda@paper@url}} + (just scan the QR code on the right). + % + % Copyright and license information + % + The copyright is retained by the authors. + This work is licensed under the terms of the + \osda@license@long + \ifthenelse{\isundefined{\osda@license@short} \or \equal{\osda@license@short}{}}{% + }{ % + (\osda@license@short)% + }% + \ifthenelse{\isundefined{\osda@license@version} \or \equal{\osda@license@version}{}}{% + }{, % + version \osda@license@version% + }% + \ifthenelse{\isundefined{\osda@license@url} \or \equal{\osda@license@url}{}}{% + }{, % + see \href{\osda@license@url}{\osda@license@url}% + }% + % + . + \emph{\osda@proceedings@title}, + Pages \osda@proceedings@startpage--\osda@proceedings@endpage, \osda@date@year. + \ifthenelse{\isundefined{\osda@paper@doi} \or \equal{\osda@paper@doi}{}}{% + }{% + DOI: \href{https://doi.org/\osda@paper@doi}{\osda@paper@doi}% + }% + }% +} +% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\osdafootnote} +%% +%% |\osdafootnote| +%% +%% This command sets the OSDA copyright notice in an un-numbered footnote. +%% +%% Usage: +%% +%% |\osdafootnote{url}| +%% +%% Example: +%% +%% |\osdafootnote{https://osda.ws}| +%% +% \begin{macrocode} +% +\newcommand{\osdafootnote}[1][]{ + \osdaset{#1} + \blfootnote{\osdanotice\vspace{-1.5\baselineskip}}% + +} +% +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\maketitle} +%% +%% |\maketitle| +%% +%% Re-defining the \maketitle command to automatically place the copyright notice +%% once the paper title is generated +%% +% \begin{macrocode} +% +%\let\maketitle@orig\maketitle +%\renewcommand{\maketitle}{% +% \ifthenelse{\boolean{\ifosda@auto}}{% +% \maketitle@orig\osdafootnote% +% }{% +% \maketitle@orig% +% }% +%} +\let\maketitle@orig\maketitle +\renewcommand{\maketitle}{% + \ifosda@auto% + \maketitle@orig\osdafootnote% + \else% + \maketitle@orig% + \fi% +} +% +% \end{macrocode} +% \end{macro} +\endinput diff --git a/Master/texmf-dist/source/latex/osda/osda.ins b/Master/texmf-dist/source/latex/osda/osda.ins new file mode 100644 index 00000000000..21524ff0ac9 --- /dev/null +++ b/Master/texmf-dist/source/latex/osda/osda.ins @@ -0,0 +1,65 @@ +%% osda.ins +%% Copyright 2023-2024 by Christian Krieg +%% +%% This work (excluding the OSDA logo) 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 Christian Krieg. +%% +%% This work consists of the files osda.dtx and osda.ins +%% and the derived file osda.sty. +%% +%% The OSDA logo is a trademark of Christian Krieg and may only be used and/or +%% distributed in order to refer to the Workshop on Open-Source Design +%% Automation. Any other use is subject to prior written permission. + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/osda} + +\preamble + +This is a generated file. + +Copyright (C) 2023-2024 by Christian Krieg + +This work (excluding the OSDA logo) 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. + +The OSDA logo is a trademark of Christian Krieg and may only be used and/or +distributed in order to refer to the Workshop on Open-Source Design Automation. +Any other use is subject to prior written permission. + +\endpreamble + +\generate{\file{osda.sty}{\from{osda.dtx}{package}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* osda.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file osda.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/osda/osda.sty b/Master/texmf-dist/tex/latex/osda/osda.sty new file mode 100644 index 00000000000..f7ba34fafda --- /dev/null +++ b/Master/texmf-dist/tex/latex/osda/osda.sty @@ -0,0 +1,401 @@ +%% +%% This is file `osda.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% osda.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2023-2024 by Christian Krieg +%% +%% This work (excluding the OSDA logo) 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. +%% +%% The OSDA logo is a trademark of Christian Krieg and may only be used and/or +%% distributed in order to refer to the Workshop on Open-Source Design Automation. +%% Any other use is subject to prior written permission. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{osda} + [2024/05/01 v1.4.0 OSDA copyright notice generator] + + +\RequirePackage[hang,flushmargin]{footmisc}% +\RequirePackage{flushend}% +\RequirePackage{ifthen}% +\RequirePackage{qrcode}% +\RequirePackage{xcolor}% +\RequirePackage{hyperref}% +\hypersetup{% +colorlinks = true,% +allcolors = black,% +}% +\RequirePackage{tikz}% +\RequirePackage{pgfopts}% + +\newcommand{\osdaset}[1]{\pgfkeys{/osda/.cd,#1}} + +%% +%% Specify booleans +%% +\newif\ifosda@auto +%% +%% Define keys to manage package and command options +%% +\pgfkeys { + /osda/.cd, + paper/url/.store in = \osda@paper@url, + url/.forward to = /osda/paper/url, + paper/doi/.store in = \osda@paper@doi, + doi/.forward to = /osda/paper/doi, + license/version/.store in = \osda@license@version, + license/url/.store in = \osda@license@url, + license/long/.store in = \osda@license@long, + license/short/.store in = \osda@license@short, + proceedings/title/.store in = \osda@proceedings@title, + proceedings/startpage/.store in = \osda@proceedings@startpage, + proceedings/endpage/.store in = \osda@proceedings@endpage, + pages/.code 2 args={\osdaset{proceedings/startpage=#1,proceedings/endpage=#2}}, + workshop/counter/.store in = \osda@workshop@counter, + workshop/longname/.store in = \osda@workshop@longname, + workshop/acronym/.store in = \osda@workshop@acronym, + location/city/.store in = \osda@location@city, + location/country/.store in = \osda@location@country, + date/month/.store in = \osda@date@month, + date/day/.store in = \osda@date@day, + date/year/.store in = \osda@date@year, + hostconference/longname/.store in = \osda@hostconference@longname, + hostconference/acronym/.store in = \osda@hostconference@acronym, +} +%% +%% Set boolean flags +%% +\pgfkeys { + /osda/.cd, + auto/.is if=osda@auto, +} +%% +%% Specify default values +%% +\pgfkeys { + /osda/.cd, + auto = true, + license/version = , + license/url = , + license/long = \textbf{\textcolor{red}{{Please specify a license}}}, + license/short = , + proceedings/startpage = , + proceedings/endpage = , + paper/url = https://please.specify.the/url/here, + paper/doi = , +} +%% +%% Define some useful styles +%% +\pgfkeys { + /osda/.cd, + % + % Default values for specific editions of OSDA + % + 2024/.style={ + proceedings/title = Proceedings of the 4th Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 4th, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Valencia, + location/country = Spain, + date/month = March, + date/day = 25, + date/year = 2024, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + 2023/.style={ + proceedings/title = Proceedings of the 3rd Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 3rd, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Antwerp, + location/country = Belgium, + date/month = April, + date/day = 17, + date/year = 2023, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + 2020/.style={ + proceedings/title = Proceedings of the 2nd Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 2nd, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Grenoble, + location/country = France, + date/month = March, + date/day = 13, + date/year = 2020, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + 2019/.style={ + proceedings/title = Proceedings of the 1st Workshop on Open-Source Design Automation (OSDA), + workshop/counter = 1st, + workshop/longname = Workshop on Open-Source Design Automation, + workshop/acronym = OSDA, + location/city = Florence, + location/country = Italy, + date/month = March, + date/day = 29, + date/year = 2019, + hostconference/longname = {Design, Automation, and Test in Europe Conference}, + hostconference/acronym = DATE, + }, + % + % Licenses + % + cc-by/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by/4.0, + license/long = Creative Commons Attribution license, + license/short = CC BY, + }, + cc-by-sa/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by-sa/4.0, + license/long = Creative Commons Attribution-ShareAlike license, + license/short = CC BY-SA, + }, + cc-by-nc-sa/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by-nc-sa/4.0, + license/long = Creative Commons Attribution-Noncommercial-ShareAlike license, + license/short = CC BY-NC-SA, + }, + cc-by-nc-nd/.style={ + license/version = 4.0, + license/url = https://creativecommons.org/licenses/by-nc-nd/4.0, + license/long = Creative Commons Attribution-Noncommercial-NoDerivatives license, + license/short = CC BY-NC-ND, + }, + arXiv/.style={ + license/version = 1.0, + license/url = https://arxiv.org/licenses/nonexclusive-distrib/1.0, + license/long = {arXiv.org perpetual, non-exclusive license}, + license/short =, + }, + cc0/.style={ + license/version =, + license/url = https://creativecommons.org/share-your-work/public-domain/cc0, + license/long = Public Domain license, + license/short = CC0, + }, +} +%% +%% We now process the options passed to the package. +%% +\ProcessPgfOptions{/osda} +%% +%% The margin defines the space between the logo's right/QR code's left side and +%% the text of the copyright notice +%% +\newlength{\osda@margin} +%% +%% |\WrapLR| +%% +%% Command to place two figures wrapped around text; we use it here for the OSDA +%% logo and the QR code that links to the paper in the acknowledgments box in the +%% footnote of the title page +%% +%% Usage: +%% +%% \WrapLR{\includegraphics[height=1.2in]{example-image-a}}% +%% {\includegraphics[height=1.2in]{example-image-b}}% +%% {\noindent Text to wrap around images} +%% +%% Adapted from: https://tex.stackexchange.com/a/455612 +%% +%% +\newcommand*{\WrapLR}[3]% #1=left image, #2=right image, #3=text (1 paragraph) +{\bgroup + \sbox0{\raisebox{-\height}{#1}}% align tops + \sbox1{\raisebox{-\height}{#2}}% measure width and height (depth) + \sbox2{\raisebox{\depth}{\makebox[\columnwidth]{\usebox0\hfill\usebox1}}}% total height + \par\noindent\usebox2\vspace{\dimexpr \ht\strutbox-\ht2-\baselineskip-\parskip}\par% overlay pictures + \setlength{\osda@margin}{2ex} + \dimen0=\dimexpr \wd0+.5\osda@margin\relax% indent + \dimen1=\dimexpr \columnwidth-\wd0-\wd1-\osda@margin\relax% width + \edef\shape{\the\dimen0 \the\dimen1}% set up \parshape arguments in loop + \dimen2=\ht\strutbox + \dimen4=\dimexpr \ht2-.5\baselineskip\relax + \count1=2 + \loop\ifdim\dimen2<\dimen4 + \advance\dimen2 by \baselineskip + \ifdim\dimen2>\dp0\relax% end of left image + \dimen0=0pt + \dimen1=\dimexpr \columnwidth-\wd1-.5\osda@margin\relax + \fi + \ifdim\dimen2>\dp1\relax% end of right image + \dimen1=\dimexpr \columnwidth-\wd0-.5\osda@margin\relax + \fi + \advance\count1 by 1 + \edef\shape{\shape\space\the\dimen0 \the\dimen1}% + \repeat + \edef\shape{\the\count1 \space\shape\space 0pt \the\columnwidth}% + \parshape=\shape + #3\par +\egroup} +%% |\blfootnote| +%% +%% Set footnotes without marks +%% +%% Usage: +%% +%% |\blfootnote{footnotetext}| +%% +%% From: https://tex.stackexchange.com/a/30726 +%% +\newcommand\blfootnote[1]{% + \begingroup + \renewcommand\thefootnote{}\footnote{#1}% + \addtocounter{footnote}{-1}% + \endgroup +} +%% +%% |\osdalogo| +%% +%% Draws the OSDA logo at a given height +%% +%% Usage: +%% +%% |\osdalogo{height}| +%% +%% Example: +%% +%% |\osdalogo{2\baselineskip}| +%% +\usetikzlibrary{svg.path} +\newcommand{\osdalogo}[1]{\scalebox{1}[-1]{\resizebox*{!}{#1}{% +\begin{tikzpicture}% + \pgfpathsvg{m 41.493525,114.88969 c -4.235403,-0.0951 -5.244524,4.38987 -4.853967,7.74446 0.06465,11.92294 -0.129872,23.85884 0.09828,35.77361 0.660896,3.83742 4.80625,4.07909 7.908947,3.87335 36.559883,0 73.119765,0 109.679645,0 4.2354,0.0951 5.24452,-4.38987 4.85397,-7.74445 -0.0647,-11.92294 0.12987,-23.85884 -0.0983,-35.77361 -0.6609,-3.83742 -4.80625,-4.07909 -7.90895,-3.87336 -36.55988,0 -73.119759,0 -109.679642,0 z m 15.406294,9.3338 c 7.083699,-0.16814 13.650363,5.59034 14.408423,12.6354 0.773555,-7.32725 7.848415,-13.19963 15.192447,-12.61203 5.305345,0.24729 10.291595,3.68656 12.407418,8.55802 -4.449622,-0.0531 -9.052306,0.10604 -13.406456,-0.0794 -0.839139,-2.90692 -5.235964,-3.40946 -6.707523,-0.76424 -1.678739,2.40924 0.506129,6.05789 3.422128,5.71655 1.497283,-0.0812 2.873132,-1.15803 3.311785,-2.59192 4.718573,0 9.43715,0 14.155724,0 0.08339,-2.35529 -0.165262,-4.8569 0.121518,-7.12255 5.339507,-5.05446 14.506947,-4.9329 19.710957,0.26069 2.32206,2.20209 3.8742,5.19535 4.33608,8.36202 0.90939,-7.27195 8.02238,-12.99336 15.31906,-12.32891 7.37799,0.33186 13.674,7.07245 13.50245,14.45591 0.0496,5.18443 -2.94531,10.24647 -7.51324,12.69897 -1.2907,-3.10635 -2.86729,-6.27677 -3.98135,-9.34353 2.57226,-2.09161 1.63297,-6.69649 -1.5515,-7.61542 -3.0763,-1.19911 -6.61783,1.86093 -5.86635,5.08096 0.22078,1.22057 0.97501,2.33122 2.02814,2.98654 -1.33651,3.06304 -2.67302,6.12607 -4.00953,9.18911 -4.21173,-2.03739 -7.27498,-6.23733 -7.9282,-10.87014 -0.9141,7.33051 -8.13486,13.07383 -15.48271,12.31672 -3.21287,-0.24801 -6.32487,-1.6114 -8.68532,-3.8051 0,-2.30873 0,-4.61746 0,-6.92619 -1.727782,7.19313 -9.563391,12.09549 -16.787442,10.50764 -4.612862,-0.86727 -8.678534,-4.13841 -10.513216,-8.45867 4.434157,0.0533 9.021826,-0.10629 13.360463,0.0794 0.820198,2.82501 5.042639,3.41435 6.604149,0.92056 1.808231,-2.33495 -0.226145,-6.10845 -3.171246,-5.87992 -1.550448,0.0211 -3.007434,1.11568 -3.459292,2.59898 -4.701352,0 -9.402702,0 -14.104054,0 -0.258707,-1.27682 -0.309266,-2.11823 -0.532659,-0.32786 -1.436394,7.22593 -9.014468,12.43124 -16.274501,11.17924 -7.328434,-0.91683 -13.068091,-8.13653 -12.311164,-15.48257 0.464997,-7.3576 7.032469,-13.43953 14.405011,-13.33826 z m 52.620561,9.99112 c -0.96292,0.0502 -2.60046,0.17595 -2.09755,1.57043 0.0567,2.29818 -0.11186,4.73381 0.0816,6.94851 2.876,1.60884 6.79391,-0.92082 6.51013,-4.20444 -0.0576,-2.3593 -2.13312,-4.35301 -4.49417,-4.3145 z m -52.58387,5.3e-4 c -3.299763,-0.14891 -5.665574,3.88662 -3.923721,6.69319 1.479497,2.95488 6.158026,3.05141 7.757886,0.15973 1.863071,-2.9074 -0.372921,-6.91859 -3.834165,-6.85292 z}% + \pgfusepath{fill}% + \pgfusepath{stroke}% +\end{tikzpicture}% +}}} +%% +%% |\osda| +%% +%% This command prints the OSDA logo inline at a height of 1ex +%% +%% Usage: +%% +%% |\osda{}| +%% +\newcommand{\osda}{\raisebox{.6\baselineskip}{\osdalogo{.7\baselineskip}}} +%% +%% |\osdanotice| +%% +%% This command sets the OSDA copyright notice, taking a URL as argument to set +%% links to the paper's web page, and to create a QR code from. +%% +%% Usage: +%% +%% |\osdanotice{url}| +%% +%% Example: +%% +%% |\osdanotice{https://osda.ws}| +%% +\newcommand{\osdanotice}[1][]{ +\osdaset{#1} +\WrapLR% + {\href{\osda@paper@url}{\osdalogo{1.8\baselineskip}}} + {\qrcode[height=3.8\baselineskip,level=L,version=1]{\osda@paper@url}} + {\noindent% + This work was presented at the \emph{\osda@workshop@counter{} + \osda@workshop@longname{} (\osda@workshop@acronym) \osda@date@year{}}, + \ifthenelse{\isundefined{\osda@hostconference@longname}}{% + }{% + co-hosted with \emph{\osda@hostconference@longname} % + \ifthenelse{\isundefined{\osda@hostconference@acronym}}{% + }{% + \emph{(\osda@hostconference@acronym)} + }% + \ifthenelse{\isundefined{\osda@date@year}}{% + }{% + \emph{\osda@date@year} + }% + }% + in \osda@location@city{}, \osda@location@country{}, on + \osda@date@month{} \osda@date@day{}, \osda@date@year{}. For further + information and material, please visit the paper's web page on the + workshop website at \href{\osda@paper@url}{\textbf{\osda@paper@url}} + (just scan the QR code on the right). + % + % Copyright and license information + % + The copyright is retained by the authors. + This work is licensed under the terms of the + \osda@license@long + \ifthenelse{\isundefined{\osda@license@short} \or \equal{\osda@license@short}{}}{% + }{ % + (\osda@license@short)% + }% + \ifthenelse{\isundefined{\osda@license@version} \or \equal{\osda@license@version}{}}{% + }{, % + version \osda@license@version% + }% + \ifthenelse{\isundefined{\osda@license@url} \or \equal{\osda@license@url}{}}{% + }{, % + see \href{\osda@license@url}{\osda@license@url}% + }% + % + . + \emph{\osda@proceedings@title}, + Pages \osda@proceedings@startpage--\osda@proceedings@endpage, \osda@date@year. + \ifthenelse{\isundefined{\osda@paper@doi} \or \equal{\osda@paper@doi}{}}{% + }{% + DOI: \href{https://doi.org/\osda@paper@doi}{\osda@paper@doi}% + }% + }% +} +%% +%% |\osdafootnote| +%% +%% This command sets the OSDA copyright notice in an un-numbered footnote. +%% +%% Usage: +%% +%% |\osdafootnote{url}| +%% +%% Example: +%% +%% |\osdafootnote{https://osda.ws}| +%% +\newcommand{\osdafootnote}[1][]{ + \osdaset{#1} + \blfootnote{\osdanotice\vspace{-1.5\baselineskip}}% + +} +%% +%% |\maketitle| +%% +%% Re-defining the \maketitle command to automatically place the copyright notice +%% once the paper title is generated +%% +\let\maketitle@orig\maketitle +\renewcommand{\maketitle}{% + \ifosda@auto% + \maketitle@orig\osdafootnote% + \else% + \maketitle@orig% + \fi% +} +\endinput +%% +%% End of file `osda.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 6199d264415..7a467631dac 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -625,7 +625,7 @@ my @TLP_working = qw( onedown onlyamsmath onrannual opbible opcit opencolor opensans oplotsymbl opteng optex optexcount optidef optional options orcidlink ordinalpt orientation orkhun - oscola oststud oswald ot-tableau othello othelloboard + oscola osda oststud oswald ot-tableau othello othelloboard oubraces oup-authoring-template outerhbox outilsgeomtikz outline outliner outlines outlining overarrows overlays overlock overpic diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index cacf017d658..6f988217306 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -171,6 +171,7 @@ depend nostarch depend nrc depend onrannual depend opteng +depend osda depend oststud depend oup-authoring-template depend philosophersimprint diff --git a/Master/tlpkg/tlpsrc/osda.tlpsrc b/Master/tlpkg/tlpsrc/osda.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3