Skip to content

Instantly share code, notes, and snippets.

@michaeldorner
Last active July 8, 2024 09:39
Show Gist options
  • Select an option

  • Save michaeldorner/33a1e033bf0b8d1c7edd04040d835b76 to your computer and use it in GitHub Desktop.

Select an option

Save michaeldorner/33a1e033bf0b8d1c7edd04040d835b76 to your computer and use it in GitHub Desktop.

Revisions

  1. michaeldorner revised this gist Jul 8, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion credit.tex
    Original file line number Diff line number Diff line change
    @@ -43,7 +43,7 @@
    \ifx\printcontributionstatement\empty
    \xdef\printcontributionstatement{\contributor{} (\contributions)}%
    \else
    \xdef\printcontributionstatement{\printcontributionstatement, \noexpand\contributor{} (\contributions)}%
    \xdef\printcontributionstatement{\printcontributionstatement, \contributor{} (\contributions)}%
    \fi
    % \ifx\printcontributionstatement\empty
    % \xdef\printcontributionstatement{\noexpand\contributor (\contributions)}%
  2. michaeldorner revised this gist Jul 7, 2024. 1 changed file with 45 additions and 38 deletions.
    83 changes: 45 additions & 38 deletions credit.tex
    Original file line number Diff line number Diff line change
    @@ -1,54 +1,61 @@
    \documentclass{article}

    \usepackage{pgffor}
    \usepackage{pgfkeys} % For key-value pair management
    \usepackage{pgfkeys}
    \usepackage{ifthen}

    \pgfkeys{
    /contributions/.cd,
    1/.initial=Conceptualization,
    2/.initial=Methodology,
    3/.initial=Software,
    4/.initial=Validation,
    5/.initial=Formal Analysis,
    6/.initial=Investigation,
    7/.initial=Resources,
    8/.initial=Data Curation,
    9/.initial=Writing---original draft,
    10/.initial=Writing---review \& editing,
    11/.initial=Visualization,
    12/.initial=Supervision,
    13/.initial=Project administration,
    14/.initial=Funding acquisition,
    /contributions/.cd,
    1/.initial=Conceptualization,
    2/.initial=Methodology,
    3/.initial=Software,
    4/.initial=Validation,
    5/.initial=Formal Analysis,
    6/.initial=Investigation,
    7/.initial=Resources,
    8/.initial=Data Curation,
    9/.initial=Writing---original draft,
    10/.initial=Writing---review \& editing,
    11/.initial=Visualization,
    12/.initial=Supervision,
    13/.initial=Project administration,
    14/.initial=Funding acquisition,
    }

    \def\printcontributionstatement{}

    \newcommand{\contribution}[2]{%
    \def\contributor{#1}%
    \def\indices{#2}%
    \def\contributions{}%
    \foreach \index in \indices {%
    \ifx\contributions\empty
    \xdef\contributions{\pgfkeysvalueof{/contributions/\index}}%
    \else
    \xdef\contributions{\contributions, \pgfkeysvalueof{/contributions/\index}}%
    \fi
    }%
    \ifx\printcontributionstatement\empty
    \xdef\printcontributionstatement{\contributor{} (\contributions)}%
    \else
    \xdef\printcontributionstatement{\printcontributionstatement, \noexpand\contributor{} (\contributions)}%
    \fi
    % \ifx\printcontributionstatement\empty
    % \xdef\printcontributionstatement{\noexpand\contributor (\contributions)}%
    % \else
    % \xdef\printcontributionstatement{\unexpanded\expandafter{\printcontributionstatement}. \noexpand\contributor (\contributions)}%
    % \fi
    \def\contributor{#1}%
    \def\indices{#2}%
    \def\contributions{}%
    \foreach \index in \indices {%
    \pgfmathparse{int(\index)}%
    \ifthenelse{\pgfmathresult > 0 \AND \pgfmathresult < 15}{
    \ifx\contributions\empty
    \xdef\contributions{\pgfkeysvalueof{/contributions/\pgfmathresult}}%
    \else
    \xdef\contributions{\contributions, \pgfkeysvalueof{/contributions/\pgfmathresult}}%
    \fi
    }{
    \PackageError{Contribution Statement Generator}{Contributor \contributor has an illegal contribution index (\pgfmathresult). Use indices 1-14 representing the CRediT roles}
    }
    }%
    \ifx\printcontributionstatement\empty
    \xdef\printcontributionstatement{\contributor{} (\contributions)}%
    \else
    \xdef\printcontributionstatement{\printcontributionstatement, \noexpand\contributor{} (\contributions)}%
    \fi
    % \ifx\printcontributionstatement\empty
    % \xdef\printcontributionstatement{\noexpand\contributor (\contributions)}%
    % \else
    % \xdef\printcontributionstatement{\unexpanded\expandafter{\printcontributionstatement}. \noexpand\contributor (\contributions)}%
    % \fi
    }


    \begin{document}
    \credit{Michael Dorner}{1, 2,4 ,6}
    \credit{Andreas Bauer}{14}
    \contribution{Michael Dorner}{1, 2, 4, 6}
    \contribution{Andreas Bauer}{14}
    %\contribution{Prof. R}{15}
    \printcontributionstatement{}
    \end{document}
  3. michaeldorner created this gist Jul 7, 2024.
    54 changes: 54 additions & 0 deletions credit.tex
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,54 @@
    \documentclass{article}

    \usepackage{pgffor}
    \usepackage{pgfkeys} % For key-value pair management

    \pgfkeys{
    /contributions/.cd,
    1/.initial=Conceptualization,
    2/.initial=Methodology,
    3/.initial=Software,
    4/.initial=Validation,
    5/.initial=Formal Analysis,
    6/.initial=Investigation,
    7/.initial=Resources,
    8/.initial=Data Curation,
    9/.initial=Writing---original draft,
    10/.initial=Writing---review \& editing,
    11/.initial=Visualization,
    12/.initial=Supervision,
    13/.initial=Project administration,
    14/.initial=Funding acquisition,
    }

    \def\printcontributionstatement{}

    \newcommand{\contribution}[2]{%
    \def\contributor{#1}%
    \def\indices{#2}%
    \def\contributions{}%
    \foreach \index in \indices {%
    \ifx\contributions\empty
    \xdef\contributions{\pgfkeysvalueof{/contributions/\index}}%
    \else
    \xdef\contributions{\contributions, \pgfkeysvalueof{/contributions/\index}}%
    \fi
    }%
    \ifx\printcontributionstatement\empty
    \xdef\printcontributionstatement{\contributor{} (\contributions)}%
    \else
    \xdef\printcontributionstatement{\printcontributionstatement, \noexpand\contributor{} (\contributions)}%
    \fi
    % \ifx\printcontributionstatement\empty
    % \xdef\printcontributionstatement{\noexpand\contributor (\contributions)}%
    % \else
    % \xdef\printcontributionstatement{\unexpanded\expandafter{\printcontributionstatement}. \noexpand\contributor (\contributions)}%
    % \fi
    }


    \begin{document}
    \credit{Michael Dorner}{1, 2,4 ,6}
    \credit{Andreas Bauer}{14}
    \printcontributionstatement{}
    \end{document}