summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/rorlink/rorlink.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/rorlink/rorlink.dtx')
-rw-r--r--macros/latex/contrib/rorlink/rorlink.dtx166
1 files changed, 166 insertions, 0 deletions
diff --git a/macros/latex/contrib/rorlink/rorlink.dtx b/macros/latex/contrib/rorlink/rorlink.dtx
new file mode 100644
index 0000000000..4e169fd189
--- /dev/null
+++ b/macros/latex/contrib/rorlink/rorlink.dtx
@@ -0,0 +1,166 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2023 by Florian Lukas <florian.lukas@dainst.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.3c 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 Florian Lukas.
+%
+% This work consists of the files rorlink.dtx and rorlink.ins
+% and the derived filebase rorlink.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{rorlink.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{rorlink}
+%<*package>
+ [2023/06/15 1.0.0 Linked ROR logo macro package]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{rorlink}[2023/06/15]
+\usepackage{orcidlink}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{rorlink.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{31}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%
+% \changes{1.0.0}{2023/06/15}{Build documentation and sty}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+% \providecommand*{\url}{\texttt}
+% \GetFileInfo{rorlink.dtx}
+% \title{The \textsf{rorlink} package}
+% \author{Florian Lukas\,\orcidlink{0000-0002-7959-5494}\,\rorlink{https://ror.org/02rspp784}\thanks{The code is mainly derived from the \href{https://github.com/duetosymmetry/orcidlink-LaTeX-command}{\textbf{orcidlink}} package maintained by Leo Stein. The code of the orcidlink package itself rests mainly on th \href{https://tex.stackexchange.com/questions/445563/ieeetran-how-to-include-orcid-in-tex-pdf-with-pdflatex/445583\#445583}{tex.SE answer} by user Milo} \\ \href{mailto:florian.lukas@dainst.de}{florian.lukas@dainst.de}}
+% \date{\fileversion~from \filedate}
+%
+% \maketitle
+%
+%Repo: \url{https://gitlab.com/lukeflo/rorlink-latex-package}
+%
+% \section{Introduction}
+%
+% This package provides a simple command for creating a \href{https://ror.org/}{ROR} (Research Organization Registry) symbol including a link to the given ROR-ID -- very similar to the \href{https://github.com/duetosymmetry/orcidlink-LaTeX-command}{\textbf{orcidlink}} package.
+%
+% \section{Usage}
+%
+% The package can be included in the praeambel like any other package:
+%\begin{verbatim}
+% \usepackage{rorlink}
+%\end{verbatim}
+%
+%\DescribeMacro{\rorlink\marg{ror-link}}
+%Use the command to create a small ROR symbol which is linked to the given ROR-URL. For example, |\rorlink{https://ror.org/00rcxh774}| will create a linked symbol to the ID of the \textit{University of Cologne}.
+%
+%You can include it into the document title using it inside the |\author{names}| command, as I did for this documentation:
+%\begin{verbatim}
+%\author{Florian Lukas\,\orcidlink{0000-0002-7959-5494}\,\rorlink{https://ror.org/02rspp784}}
+%\end{verbatim}
+%
+%Furthermore, it can be included into larger macros; for instance, to create an author section with all necessary informations of the contributors:
+%
+%\includegraphics[width=0.7\textwidth]{example_authorsection.png}
+%
+% \section{Required Packages}
+%
+%\begin{description}
+% \item[hyperref] Needed to use the symbol as a link to the particular ROR webpage.
+% \item[tikz] Is used to draw the ROR symbol using the svg-path method and process the image, when the |\rorlink| command is called.
+%\end{description}
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% \iffalse
+%<*package>
+% \fi
+%
+%% The code is derived mainly from the orcidlink package https://github.com/duetosymmetry/orcidlink-LaTeX-command
+% \begin{macrocode}
+\RequirePackage{hyperref}
+\RequirePackage{tikz}
+\ProcessOptions\relax
+\usetikzlibrary{svg.path}
+\definecolor{rorlogocol}{HTML}{53BAA1}
+% \end{macrocode}
+%% The original svg-path received from the file https://raw.githubusercontent.com/ror-community/ror-logos/main/ror-icon-rgb.svg
+% \begin{macrocode}
+\tikzset{
+ rorlogo/.pic={
+ \fill[rorlogocol] svg{M68.65,4.16L56.52,22.74L44.38,4.16L68.65,4.16Z}
+ svg{M119.41,4.16L107.28,22.74L95.14,4.16L119.41,4.16Z}
+ svg{M44.38,115.47L56.52,96.88L68.65,115.47L44.38,115.47Z}
+ svg{M95.14,115.47L107.28,96.88L119.41,115.47L95.14,115.47Z};
+ \fill[black] svg{M145.53,63.71C149.83,62.91 153.1,61 155.33,57.99C157.57,54.98 158.68,51.32 158.68,47.03C158.68,43.47 158.06,40.51 156.83,38.13C155.6,35.75 153.93,33.86 151.84,32.45C149.75,31.05 147.31,30.04 144.53,29.44C141.75,28.84 138.81,28.54 135.72,28.54L112.16,28.54L112.16,47.37C111.97,46.82 111.77,46.28 111.55,45.74C109.92,41.79 107.64,38.42 104.71,35.64C101.78,32.86 98.32,30.72 94.3,29.23C90.29,27.74 85.9,26.99 81.14,26.99C76.38,26.99 72,27.74 67.98,29.23C63.97,30.72 60.5,32.86 57.57,35.64C54.95,38.13 52.85,41.1 51.27,44.54C51.04,42.07 50.46,39.93 49.53,38.13C48.3,35.75 46.63,33.86 44.54,32.45C42.45,31.05 40.01,30.04 37.23,29.44C34.45,28.84 31.51,28.54 28.42,28.54L4.87,28.54L4.87,89.42L18.28,89.42L18.28,65.08L24.9,65.08L37.63,89.42L53.71,89.42L38.24,63.71C42.54,62.91 45.81,61 48.04,57.99C48.14,57.85 48.23,57.7 48.33,57.56C48.31,58.03 48.3,58.5 48.3,58.98C48.3,63.85 49.12,68.27 50.75,72.22C52.38,76.17 54.66,79.54 57.59,82.32C60.51,85.1 63.98,87.24 68,88.73C72.01,90.22 76.4,90.97 81.16,90.97C85.92,90.97 90.3,90.22 94.32,88.73C98.33,87.24 101.8,85.1 104.73,82.32C107.65,79.54 109.93,76.17 111.57,72.22C111.79,71.69 111.99,71.14 112.18,70.59L112.18,89.42L125.59,89.42L125.59,65.08L132.21,65.08L144.94,89.42L161.02,89.42L145.53,63.71ZM36.39,50.81C35.67,51.73 34.77,52.4 33.68,52.83C32.59,53.26 31.37,53.52 30.03,53.6C28.68,53.69 27.41,53.73 26.2,53.73L18.29,53.73L18.29,39.89L27.06,39.89C28.26,39.89 29.5,39.98 30.76,40.15C32.02,40.32 33.14,40.65 34.11,41.14C35.08,41.63 35.89,42.33 36.52,43.25C37.15,44.17 37.47,45.4 37.47,46.95C37.47,48.6 37.11,49.89 36.39,50.81ZM98.74,66.85C97.85,69.23 96.58,71.29 94.91,73.04C93.25,74.79 91.26,76.15 88.93,77.13C86.61,78.11 84.01,78.59 81.15,78.59C78.28,78.59 75.69,78.1 73.37,77.13C71.05,76.16 69.06,74.79 67.39,73.04C65.73,71.29 64.45,69.23 63.56,66.85C62.67,64.47 62.23,61.85 62.23,58.98C62.23,56.17 62.67,53.56 63.56,51.15C64.45,48.74 65.72,46.67 67.39,44.92C69.05,43.17 71.04,41.81 73.37,40.83C75.69,39.86 78.28,39.37 81.15,39.37C84.02,39.37 86.61,39.86 88.93,40.83C91.25,41.8 93.24,43.17 94.91,44.92C96.57,46.67 97.85,48.75 98.74,51.15C99.63,53.56 100.07,56.17 100.07,58.98C100.07,61.85 99.63,64.47 98.74,66.85ZM143.68,50.81C142.96,51.73 142.06,52.4 140.97,52.83C139.88,53.26 138.66,53.52 137.32,53.6C135.97,53.69 134.7,53.73 133.49,53.73L125.58,53.73L125.58,39.89L134.35,39.89C135.55,39.89 136.79,39.98 138.05,40.15C139.31,40.32 140.43,40.65 141.4,41.14C142.37,41.63 143.18,42.33 143.81,43.25C144.44,44.17 144.76,45.4 144.76,46.95C144.76,48.6 144.4,49.89 143.68,50.81Z};
+ }
+}
+% \end{macrocode}
+%
+% \begin{macro}{\@OrigHeightRecipROR}
+%% The original height of the svg file is 119.27pt. The macro here uses 1/119.27 as unit.
+% \begin{macrocode}
+\newcommand{\@OrigHeightRecipROR}{0.008384338}
+% \end{macrocode}
+% \end{macro}
+%
+%% The logo is adjusted to the used font size
+% \begin{macrocode}
+\newlength{\@curXheightROR}
+\DeclareRobustCommand\rorlink[1]{%
+\texorpdfstring{%
+\setlength{\@curXheightROR}{\fontcharht\font`X}%
+\href{#1}{\XeTeXLinkBox{\mbox{%
+\begin{tikzpicture}[yscale=-\@OrigHeightRecipROR*\@curXheightROR,
+xscale=\@OrigHeightRecipROR*\@curXheightROR,transform shape]
+\pic{rorlogo};
+\end{tikzpicture}%
+}}}}{}}
+\endinput% \end{macrocode}
+
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput