2016-06-23 13:31:18 +00:00
|
|
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
|
|
\ProvidesPackage{gitfile-info}
|
|
|
|
[2016/06/22 v0.1 read file infos of one specific tex-file]
|
|
|
|
|
|
|
|
\RequirePackage{ifthen}
|
|
|
|
\RequirePackage{currfile}
|
|
|
|
\RequirePackage{xparse}
|
|
|
|
\RequirePackage{tcolorbox}
|
|
|
|
\tcbuselibrary{fitting, skins, breakable}
|
|
|
|
\tcbset{center title,fonttitle=\bfseries\sffamily}
|
|
|
|
\RequirePackage{hyperref}
|
|
|
|
|
|
|
|
\providecommand{\gfiGetDay}{gfi day}
|
|
|
|
\providecommand{\gfiGetMonth}{gfi month}
|
|
|
|
\providecommand{\gfiGetYear}{gfi year}
|
|
|
|
\providecommand{\gfiGetHour}{gfi hour}
|
|
|
|
\providecommand{\gfiGetMin}{gfi min}
|
|
|
|
\providecommand{\gfiGetAuthorName}{gfi author name}
|
|
|
|
\providecommand{\gfiGetAuthorMail}{gfi author email}
|
|
|
|
\providecommand{\gfiGetDate}{gfi date}
|
|
|
|
\providecommand{\gfiGetCommit}{gfi commit}
|
|
|
|
\providecommand{\gfiGetCommitAbr}{gfi commit short}
|
|
|
|
|
|
|
|
\providecommand{\gfiSetDate}[6]{%
|
|
|
|
\renewcommand{\gfiGetDay}{#1}
|
|
|
|
\renewcommand{\gfiGetMonth}{#2}
|
|
|
|
\renewcommand{\gfiGetYear}{#3}
|
2016-06-23 16:53:02 +00:00
|
|
|
\renewcommand{\gfiGetHour}{#4}
|
|
|
|
\renewcommand{\gfiGetMin}{#5}
|
2016-06-23 13:31:18 +00:00
|
|
|
\renewcommand{\gfiGetDate}{#6}
|
|
|
|
}
|
|
|
|
\providecommand{\gfiSetAuthor}[2]{%
|
|
|
|
\renewcommand{\gfiGetAuthorName}{#1}
|
|
|
|
\renewcommand{\gfiGetAuthorMail}{#2}
|
|
|
|
}
|
|
|
|
\providecommand{\gfiSetCommit}[2]{%
|
|
|
|
\renewcommand{\gfiGetCommit}{#1}
|
|
|
|
\renewcommand{\gfiGetCommitAbr}{#2}
|
|
|
|
}
|
|
|
|
|
|
|
|
\newtcolorbox{gfiInfoBox}{%
|
|
|
|
every box on layer 2/.style={reset},%
|
|
|
|
breakable,%
|
|
|
|
title=\currfilename,%
|
|
|
|
enhanced,%
|
|
|
|
attach boxed title to top right={%
|
|
|
|
yshift=-2mm,%
|
|
|
|
xshift=-3mm,%
|
|
|
|
},%
|
|
|
|
boxed title style={%
|
|
|
|
drop fuzzy shadow,%
|
|
|
|
},%
|
|
|
|
fontupper=\small,%
|
|
|
|
before skip=2mm,after skip=3mm,%
|
|
|
|
boxrule=0.4pt,left=5mm,right=2mm,top=1mm,bottom=1mm,%
|
|
|
|
colback=yellow!50,%
|
|
|
|
colframe=yellow!20!black,%
|
|
|
|
sharp corners,rounded corners=southeast,arc is angular,arc=3mm,%
|
|
|
|
underlay={%
|
|
|
|
\path[fill=tcbcol@back!80!black] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2);
|
|
|
|
\path[draw=tcbcol@frame,shorten <=-0.05mm,shorten >=-0.05mm] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2);
|
|
|
|
\path[fill=yellow!50!black,draw=none] (interior.south west) rectangle node[white,rotate=90]{\footnotesize\bfseries git} ([xshift=4mm]interior.north west);
|
|
|
|
},%
|
|
|
|
drop fuzzy shadow,%
|
|
|
|
}
|
|
|
|
\ProvideDocumentCommand{\gfiInfo}{O{none} O{none} O{none} O{gfiInfoBox}}{%
|
|
|
|
\begin{#4}
|
2016-06-24 15:02:17 +00:00
|
|
|
\vspace{1mm}
|
2016-06-23 13:31:18 +00:00
|
|
|
\textbf{Version:} \ifthenelse{\equal{#1}{none}}{\gfiGetCommit}{\gfiGetCommitAbr}\newline
|
|
|
|
\textbf{Stand:} \ifthenelse{\equal{#2}{none}}{\gfiGetDate}{#2}\newline
|
|
|
|
\textbf{Zuletzt bearbeitet von:}
|
|
|
|
\ifthenelse{\equal{#3}{none}}{\href{mailto:\gfiGetAuthorMail}{\gfiGetAuthorName}}{#3}
|
2016-06-24 15:02:17 +00:00
|
|
|
\vspace{1mm}
|
2016-06-23 13:31:18 +00:00
|
|
|
\end{#4}
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\gfiCurrentConfig}{none}
|
|
|
|
\providecommand{\gfiInitJob}{%
|
|
|
|
\IfFileExists{\jobname.gfi}{%
|
|
|
|
\input{\jobname.gfi}
|
|
|
|
}{%
|
|
|
|
\@latex@warning@no@line{gitfile-info: No \jobname.gfi information-file given}
|
|
|
|
\@latex@warning@no@line{gitfile-info: All hooks and initialization run?}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
\providecommand{\gfiInitInc}[1]{%
|
|
|
|
\IfFileExists{#1.gfi}{%
|
|
|
|
\input{#1.gfi}
|
|
|
|
}{%
|
|
|
|
\@latex@warning@no@line{gitfile-info: No #1.gfi information-file given}
|
|
|
|
\@latex@warning@no@line{gitfile-info: All hooks and initialization run?}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
\AtBeginDocument{%
|
|
|
|
\gfiInitJob
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\gfiInput}[1]{%
|
|
|
|
\gfiInitInc{#1}
|
|
|
|
\input{#1}
|
2016-06-24 15:02:17 +00:00
|
|
|
\gfiInitInc{\currfiledir\currfilebase}
|
2016-06-23 13:31:18 +00:00
|
|
|
}
|
|
|
|
\providecommand{\gfiInclude}[1]{%
|
|
|
|
\gfiInitInc{#1}
|
|
|
|
\include{#1}
|
2016-06-24 15:02:17 +00:00
|
|
|
\gfiInitInc{\currfiledir\currfilebase}
|
2016-06-23 13:31:18 +00:00
|
|
|
}
|