summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/progressbar
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/progressbar
Initial commit
Diffstat (limited to 'macros/latex/contrib/progressbar')
-rw-r--r--macros/latex/contrib/progressbar/README31
-rw-r--r--macros/latex/contrib/progressbar/progressbar.pdfbin0 -> 106095 bytes
-rw-r--r--macros/latex/contrib/progressbar/progressbar.sty164
-rw-r--r--macros/latex/contrib/progressbar/progressbar.tex242
4 files changed, 437 insertions, 0 deletions
diff --git a/macros/latex/contrib/progressbar/README b/macros/latex/contrib/progressbar/README
new file mode 100644
index 0000000000..d8bed4a469
--- /dev/null
+++ b/macros/latex/contrib/progressbar/README
@@ -0,0 +1,31 @@
+Description
+===========
+
+This package allows you to easily visualize shares of total amounts in the form
+of a bar. So basically you can convert any number between 0 and 1 to a
+progressbar using the command \progressbar{<number>}. Also a lot of
+customizations are possible, allowing you to create an unique progressbar on
+your own.
+
+Changelog
+=========
+2014/05/04 v.1.0b~4: version control for kvoptions updated (for unknown reason required version didn't exist)
+2013/01/06 v.1.0b~3: replaced \progressbar@LoadFile@IfExist with \RequirePackage
+2012/02/18 v.1.0b~2: added version control for kvoptions
+2010/10/02 v1.0b: first release - all basic functionality
+
+License
+=======
+Copyright 2010-2014 Marcel Jira
+
+This work may be distributed and/or modified under the conditions of the LaTeX
+Project Public License, either version 1.3c 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 Marcel Jira.
+
+This work consists of the files progressbar.sty and progressbar.tex.
diff --git a/macros/latex/contrib/progressbar/progressbar.pdf b/macros/latex/contrib/progressbar/progressbar.pdf
new file mode 100644
index 0000000000..15a5f4a773
--- /dev/null
+++ b/macros/latex/contrib/progressbar/progressbar.pdf
Binary files differ
diff --git a/macros/latex/contrib/progressbar/progressbar.sty b/macros/latex/contrib/progressbar/progressbar.sty
new file mode 100644
index 0000000000..70e0f522d5
--- /dev/null
+++ b/macros/latex/contrib/progressbar/progressbar.sty
@@ -0,0 +1,164 @@
+% ProgressBar
+%
+% kindly supported by mrunix-forum: http://www.mrunix.de/
+%
+%% progressbar.sty
+%% Copyright 2010-2013 Marcel Jira
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% 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 Marcel Jira.
+%
+% This work consists of the files progressbar.sty and progressbar.tex.
+%
+\NeedsTeXFormat{LaTeX2e}%
+%
+\ProvidesPackage{progressbar}[2014/05/04 v1.0b~4: progressbar]%
+%
+\RequirePackage{calc}%
+\RequirePackage{tikz}%
+\RequirePackage{kvoptions}[2011/06/30]%
+\RequirePackage{kvsetkeys}%
+%
+% Define lengths for later use
+\newlength{\BarWidth}%
+\newlength{\BarWidthCenter}%
+\newlength{\BarHeight}%
+\newlength{\BarHeightCenter}%
+\newlength{\BarBorderWidth}%
+\newlength{\BarRoundedCorners}%
+% This length will be used for the realisation of the progressbars
+\newlength{\BarPartWidth}%
+% And the ticks
+\newlength{\BarSubDivisionsWidthANU}%
+\newlength{\BarSubDivisionsWidthBNU}%
+\newlength{\BarSubDivisionsWidthCNU}%
+%
+% All user-variables
+\def\progressbar@keylist{borderwidth,heighta,roundnessa,heightr,roundnessr,width,linecolor,emptycolor,filledcolor,tickswidth,ticksheight,tickscolor,subdivisions}%
+% Keys corresponding to the user-variables
+\def\progressbar@defaultvaluelist{0.8pt,0pt,0pt,1,0.15,6em,black,black!10,black!60,0.4pt,0.33,black,10}%
+\newcounter{progressbar@counter}%
+%
+% KeyVal-Options
+% Define default-Keyval-Options for this package
+\setcounter{progressbar@counter}{0}%
+\@for\progressbar@value:=\progressbar@defaultvaluelist\do{%
+ \stepcounter{progressbar@counter}%
+ \expandafter\edef\csname progressbar@value\the\value{progressbar@counter}\endcsname{\progressbar@value}%
+}%
+\setcounter{progressbar@counter}{0}%
+\@for\progressbar@key:=\progressbar@keylist\do{%
+ \stepcounter{progressbar@counter}%
+ \expandafter\DeclareStringOption\expandafter[\csname progressbar@value\the\value{progressbar@counter}\endcsname]{\progressbar@key}%
+}%
+\ProcessKeyvalOptions*%
+% Change Keyval family and prefix
+\SetupKeyvalOptions{family=progressbarlocal,prefix=progressbarlocal@}%
+% Define Keyval-Options that are used in the macro
+\@for\progressbar@key:=\progressbar@keylist\do{%
+ \DeclareStringOption{\progressbar@key}%
+}%
+\def\progressbar@lastheighta{false}%
+\def\progressbar@lastroundnessa{false}%
+\def\progressbarlocal@lastroundnessa{false}%
+\def\progressbar@true{true}%
+\AddToKeyvalOption{progressbar}{heightr}{%
+ \def\progressbar@lastheighta{false}%
+}%
+\AddToKeyvalOption{progressbar}{heighta}{%
+ \def\progressbar@lastheighta{true}%
+}%
+\AddToKeyvalOption{progressbar}{roundnessr}{%
+ \def\progressbar@lastroundnessa{false}%
+}%
+\AddToKeyvalOption{progressbar}{roundnessa}{%
+ \def\progressbar@lastroundnessa{true}%
+}%
+\newcommand{\setBarHeightCenter}{\setlength{\BarHeightCenter}{\BarHeight - \BarBorderWidth}}%
+\newcommand{\setBarWidthCenter}{\setlength{\BarWidthCenter}{\BarWidth - \BarBorderWidth}}%
+\AddToKeyvalOption{progressbarlocal}{heightr}{%
+ \setlength{\BarHeight}{\heightof{I} * \real{\progressbarlocal@heightr}}%
+ \kvsetkeys{progressbarlocal}{heighta=\BarHeight}%
+}%
+\AddToKeyvalOption{progressbarlocal}{roundnessr}{%
+ \def\progressbarlocal@lastroundnessa{false}%
+}%
+\AddToKeyvalOption{progressbarlocal}{heighta}{%
+ \setlength{\BarHeight}{\progressbarlocal@heighta}%
+ \setBarHeightCenter%
+}%
+\AddToKeyvalOption{progressbarlocal}{width}{%
+ \setlength{\BarWidth}{\progressbarlocal@width}%
+ \setBarWidthCenter%
+}%
+\AddToKeyvalOption{progressbarlocal}{roundnessa}{%
+ \def\progressbarlocal@lastroundnessa{true}%
+ \setlength{\BarRoundedCorners}{\progressbarlocal@roundnessa}%
+}%
+\AddToKeyvalOption{progressbarlocal}{borderwidth}{%
+ \setlength{\BarBorderWidth}{\progressbarlocal@borderwidth}%
+ \setBarHeightCenter%
+ \setBarWidthCenter%
+}%
+% Macor to change Options
+\newcommand{\progressbarchange}[1]{%
+ \kvsetkeys{progressbar}{#1}%
+}%
+%
+% The actual realisation of the progressbar
+\newcommand{\progressbar}[2][]{%
+ % Get the global keys in the local keys
+ \@for\progressbar@key:=\progressbar@keylist\do{%
+ \@expandtwoargs\kvsetkeys{progressbarlocal}{\progressbar@key=\csname progressbar@\progressbar@key\endcsname}%
+ }%
+ \ifx\progressbar@lastheighta\progressbar@true%
+ \kvsetkeys{progressbarlocal}{heighta=\progressbar@heighta}%
+ \else%
+ \kvsetkeys{progressbarlocal}{heightr=\progressbar@heightr}%
+ \fi%
+ \ifx\progressbar@lastroundnessa\progressbar@true%
+ \kvsetkeys{progressbarlocal}{roundnessa=\progressbar@roundnessa}%
+ \else%
+ \kvsetkeys{progressbarlocal}{roundnessr=\progressbar@roundnessr}%
+ \fi%
+ % Now get the optional user input keys
+ \kvsetkeys{progressbarlocal}{#1}%
+ % Make a correct roundndess, if roundnessr was defined
+ \ifx\progressbarlocal@lastroundnessa\progressbar@true%
+ \else%
+ \setlength{\BarRoundedCorners}{\BarHeightCenter * \real{\progressbarlocal@roundnessr}}%
+ \fi%
+ % BarSubDivision
+ \setlength{\BarSubDivisionsWidthANU}{\BarWidthCenter / \progressbarlocal@subdivisions}%
+ \setlength{\BarSubDivisionsWidthBNU}{\BarSubDivisionsWidthANU * 2}%
+ \setlength{\BarSubDivisionsWidthCNU}{\BarWidthCenter - \BarSubDivisionsWidthANU}%
+ % The filled part of the bar is calculated and set
+ \setlength{\BarPartWidth}{\BarWidthCenter * \real{#2}}%
+ % Now let's draw a bar ;)
+ \begin{tikzpicture}%
+ \coordinate (Begin) at (0,0);%
+ \coordinate (End) at (\BarWidthCenter,\BarHeightCenter);%
+ \coordinate (Part) at (\BarPartWidth,\BarHeightCenter);%
+ % Rounded Corners
+ \draw[rounded corners=\BarRoundedCorners,line width=\BarBorderWidth,color=\progressbarlocal@linecolor] (Begin) rectangle (End);%
+ \clip[rounded corners=\BarRoundedCorners] (Begin) rectangle (End);%
+ % Fill the bar
+ \fill[fill=\progressbarlocal@emptycolor] (Begin) rectangle (End);%
+ % the full part
+ \fill[fill=\progressbarlocal@filledcolor] (Begin) rectangle (Part);%
+ % Ticks
+ \foreach \x in {\strip@pt\BarSubDivisionsWidthANU,\strip@pt\BarSubDivisionsWidthBNU,...,\strip@pt\BarSubDivisionsWidthCNU}%
+ \draw[draw=\progressbarlocal@tickscolor,line width=\progressbarlocal@tickswidth] (\x pt,0) -- (\x pt,\BarHeightCenter*\progressbarlocal@ticksheight);%
+ % Rounded Corners again
+ \draw[rounded corners=\BarRoundedCorners,line width=\BarBorderWidth,color=\progressbarlocal@linecolor] (Begin) rectangle (End);%
+ \end{tikzpicture}%
+}%
diff --git a/macros/latex/contrib/progressbar/progressbar.tex b/macros/latex/contrib/progressbar/progressbar.tex
new file mode 100644
index 0000000000..e398033da8
--- /dev/null
+++ b/macros/latex/contrib/progressbar/progressbar.tex
@@ -0,0 +1,242 @@
+%% progressbar.tex
+%% Copyright 2010-2014 Marcel Jira
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% 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 Marcel Jira.
+%
+% This work consists of the files progressbar.sty and progressbar.tex.
+%
+\documentclass{ltxdoc}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+
+\usepackage{listings}
+\lstset{basicstyle=\ttfamily\small\mdseries,linewidth=\linewidth,breaklines=true,escapeinside={(*}{*)},}
+
+\usepackage{progressbar}
+
+\usepackage{hyperref}
+
+\title{\texttt{progressbar}}
+\author{by Marcel Jira}
+\date{2013/01/06}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+This package allows you to easily visualize shares of total amounts in the form of a bar. So basically you can convert a number like $0.735$ to \progressbar{0.735} using the command \lstinline+\progressbar{0.735}+.
+
+Of course also a lot of customizations are possible (like this: \progressbar[emptycolor=yellow,filledcolor=red,linecolor=blue,subdivisions=4,roundnessr=0.5,tickscolor=green,tickswidth=1,ticksheight=1]{0.735}).
+\end{abstract}
+
+\noindent\progressbar[width=\textwidth,heighta=3cm,filledcolor=red,emptycolor=green,borderwidth=5pt,tickswidth=2.5pt,roundnessr=0.5,subdivisions=20]{0.55}
+\begin{lstlisting}[basicstyle=\ttfamily\normalsize\mdseries]
+\progressbar[width=textwidth, heighta=3cm, filledcolor=red, emptycolor=green, borderwidth=5pt, tickswidth=2.5pt, roundnessr=0.5, subdivisions=20]{0.55}
+\end{lstlisting}
+
+\tableofcontents
+
+\section{Installation}
+Make sure the file \texttt{progressbar.sty} is placed somewhere, where \LaTeX can find it. Usually that means, you simply download the package \texttt{progressbar} with the \LaTeX-package-manager of your choice.
+
+\subsection{Dependencies}
+You also have to ensure that all packages needed by \texttt{progressbar} are present (some package-managers do this for you).
+The dependencies are:
+\begin{itemize}
+ \item calc
+ \item kvsetkeys
+ \item kvoptions
+ \item tikz
+\end{itemize}
+\section{How to use \texttt{progressbar}}
+\DescribeMacro{\usepackage\{progressbar\}}
+\DescribeMacro{\usepackage[]\{progressbar\}}
+Like any other package, to use \texttt{progressbar}, you have to load it first. You do this with
+\begin{lstlisting}
+\usepackage{progressbar}
+\end{lstlisting}
+or
+\begin{lstlisting}
+\usepackage[<options>]{progressbar}
+\end{lstlisting}
+(You can find an explanation of all options in the section \ref{options}.)
+
+Once you have loaded \texttt{progressbar}, you can use two different commands, described in the following.
+\subsection{\texttt{\textbackslash{}progressbar}}\label{commandprogressbar}
+\DescribeMacro{\progressbar\{\}}
+\DescribeMacro{\progressbar[]\{\}}
+The command
+\begin{lstlisting}
+\progressbar{<number>}
+\end{lstlisting}
+will draw you a progressbar with the share \texttt{<number>}. For example \lstinline+\progressbar{0.666}+ gives you this \progressbar{0.666}. You would want to use only numbers in the interval $[0,1]$, although other numbers are also possible (but will look just the same as \lstinline+\progressbar{0}+ or \lstinline+\progressbar{1}+).
+
+If you want one specific progressbar to look different than the others, use
+\begin{lstlisting}
+\progressbar[<options>]{<number>}
+\end{lstlisting}
+instead. This command is just the same as \lstinline+\progressbar{<number>}+ but allows you to manipulate the appearance of the current progressbar. So \lstinline+\progressbar[width=5cm,heightr=1,filledcolor=red,emptycolor=blue!30]{0.75}+ would look like this: \progressbar[width=5cm,heightr=1,filledcolor=red,emptycolor=blue!30]{0.75}. In this case the options are only changed locally. (You can find an explanation of all options in the section \ref{options}.)
+
+\subsection{\texttt{\textbackslash{}progressbarchange}}
+\DescribeMacro{\progressbarchange\{\}}
+In principle, the command \lstinline+\progressbar{<number>}+ uses the options specified with \lstinline+\usepackage[<options>]{progressbar}+ or the default options (if an option was not specified). As described in the previous section (\ref{commandprogressbar}), you can override these options with \lstinline+\progressbar[<options>]{<number>}+. However, if you want to change the settings for \emph{all} following progressbar, you can use the command
+\begin{lstlisting}
+\progressbarchange{<options>}
+\end{lstlisting}
+
+So basically
+\begin{lstlisting}
+\progressbar{0.3}\\
+\progressbar[roundnessr=0.5,ticksheight=1,tickswidth=1.5pt]{0.4}\\
+\progressbar[roundnessr=0.5,ticksheight=1,tickswidth=1.5pt]{0.5}\\
+\progressbar[roundnessr=0.5,ticksheight=1,tickswidth=1.5pt]{0.6}
+\end{lstlisting}
+gives you the same as
+\begin{lstlisting}
+\progressbar{0.3}\\
+\progressbarchange{roundnessr=0.5,ticksheight=1,tickswidth=1.5pt}
+\progressbar{0.4}\\
+\progressbar{0.5}\\
+\progressbar{0.6}
+\end{lstlisting}
+
+However, keep in mind that in the second case the options are changed globally. Therefore, all following progressbars will keep the changed design (as long as you don't call \lstinline+\progressbarchange{<options>}+ with other options again). (You can find an explanation of all options in the section \ref{options}.)
+
+\section{Options}\label{options}
+\subsection{Global and local options}
+You can set global options when you load the \texttt{progressbar} with \lstinline+\usepackage[options]{progressbar}+ and with the command \lstinline+\progressbarchange{<options>}+. These options affect all following calls of the commands \lstinline+\progressbar{<number>}+ and \lstinline+\progressbar[<options>]{<number>}+.
+
+However, you can override global options with local options specified with \lstinline+\progressbar[<options>]{<number>}+.
+
+\subsection{Options, their defaults and how to change them}
+All listed options can be used globally and locally.
+
+You will notice that some of the options are available with the prefix \texttt{r} (standing for relative) aswell as with the prefix \texttt{a} (standing for absolute). I would recommend you to always use those options with the prefix \texttt{r}, as using absolute values might not interact too well with the rest of your documents settings. But as long as you know what you are doing, it's up to you.
+
+\DescribeMacro{heightr} default=\texttt{1}\\
+ The progressbars height as a fraction of the textheight\footnote{I used the capital letter ``I'' as a reference for the textheight}.
+\begin{lstlisting}
+\progressbar[heightr=1]{0.1}A progressbar that has the same height as the text\\
+\progressbar[heightr=0.5]{0.9}A progressbar that has half the height
+\end{lstlisting}
+ \progressbar[heightr=1]{0.1} A progressbar that has the same height as the text\\
+ \progressbar[heightr=0.5]{0.9} A progressbar that has half the height
+
+\DescribeMacro{heighta} default=\texttt{unused}\\
+ With this option you can define the progressbars height absolutely.
+\begin{lstlisting}
+\progressbar[heighta=2cm]{0.3} A progressbar that has the height 2~cm\\
+\progressbar[heighta=10pt]{0.7} A progressbar that has the height 10~pt\\
+\progressbar[heighta=\heightof{a} + 0.8pt]{0.42} A progressbar whose upper border starts at the same height as the letter "a"
+\end{lstlisting}
+ \progressbar[heighta=2cm]{0.3} A progressbar that has the height 2~cm\\
+ \progressbar[heighta=10pt]{0.7} A progressbar that has the height 10~pt\\
+ \progressbar[heighta=\heightof{a} + 0.8pt]{0.42} A progressbar whose upper border starts at the same height as the letter "a"\footnote{The \texttt{\textbackslash{}heightof} command and the possibility of adding is provided by the package \texttt{calc}}
+
+\DescribeMacro{roundnessr} default=\texttt{0.15}\\
+ \texttt{progressbar} allows rounded corners. With this option you can set them as a fraction of the progressbars height. You would not want to use numbers higher than $0.5$.
+\begin{lstlisting}
+\progressbar[roundnessr=0.25]{0.8} More rounder corners than the default\\
+\progressbar[roundnessr=0.5]{0.5} In fact no more corners -- complete roundness
+\end{lstlisting}
+ \progressbar[roundnessr=0.25]{0.8} More rounder corners than the default\\
+ \progressbar[roundnessr=0.5]{0.5} In fact no more corners -- complete roundness
+
+\DescribeMacro{roundnessa} default=\texttt{unused}\\
+ You can also define the corners radius as absolute values.
+\begin{lstlisting}
+\progressbar[roundnessa=2pt]{0} Rounded corners radius 2~pt\\
+\progressbar[roundnessa=0cm]{1} No rounded corners
+\end{lstlisting}
+ \progressbar[roundnessa=2pt]{0} Rounded corners radius 2~pt\\
+ \progressbar[roundnessa=0cm]{1} No rounded corners
+
+\DescribeMacro{width} default=\texttt{6em}\\
+ The width of the progressbar.
+\begin{lstlisting}
+\progressbar[width=5cm]{0.123} Width: 5~cm\\
+\progressbar[width=20em]{0.785} Width: 20~em
+\end{lstlisting}
+ \progressbar[width=5cm]{0.123} Width: 5~cm\\
+ \progressbar[width=20em]{0.785} Width: 20~em
+
+\DescribeMacro{borderwidth} default=\texttt{0.8pt}\\
+ The linewidth of the progressbars border.
+\begin{lstlisting}
+\progressbar[borderwidth=2pt]{0.6} Borderwidth: 2~pt\\
+\progressbar[borderwidth=0.025em]{0.3} Borderwidth: 0.025~em
+\end{lstlisting}
+ \progressbar[borderwidth=2pt]{0.6} Borderwidth: 2~pt\\
+ \progressbar[borderwidth=0.025em]{0.3} Borderwidth: 0.025~em
+
+\DescribeMacro{subdivisions} default=\texttt{10}\\
+ As you may have noticed, (by default) the progressbar also has ticks. Those ticks splits the progressbar in multiple subdivisions. You can define the number of subdivisions with \texttt{subdivisions=<number>}. Therefore the number of ticks is $\texttt{<number>}-1$.
+\begin{lstlisting}
+\progressbar[subdivisions=3]{0.666667} 3 subdivisions and 2 ticks\\
+\progressbar[subdivisions=15]{0.466667} 15 subdivisions and 14 ticks
+\end{lstlisting}
+ \progressbar[subdivisions=3]{0.666667} 3 subdivisions and 2 ticks\\
+ \progressbar[subdivisions=15]{0.466667} 15 subdivisions and 14 ticks
+
+\DescribeMacro{tickswidth} default=\texttt{0.4pt}\\
+ The linewidth of the ticks.
+\begin{lstlisting}
+\progressbar[tickswidth=1mm]{0.55} Tickswidth: 1~mm\\
+\progressbar[tickswidth=0.1pt]{0.4} Tickswidth: 0.1~pt
+\end{lstlisting}
+ \progressbar[tickswidth=1mm]{0.55} Tickswidth: 1~mm\\
+ \progressbar[tickswidth=0.1pt]{0.4} Tickswidth: 0.1~pt
+
+\DescribeMacro{ticksheight} default=\texttt{0.33}\\
+ The height of the ticks as a fraction of the total progressbars height.
+\begin{lstlisting}
+\progressbar[ticksheight=0.1]{0.22} Ticksheight: 10 ~\% of the total height\\
+\progressbar[ticksheight=1]{0.88} Ticks are end-to-end
+\end{lstlisting}
+ \progressbar[ticksheight=0.1]{0.22} Ticksheight: 10 ~\% of the total height\\
+ \progressbar[ticksheight=1]{0.88} Ticks are end-to-end
+
+\DescribeMacro{linecolor} default=\texttt{black}
+
+\DescribeMacro{tickscolor} default=\texttt{black}
+
+\DescribeMacro{emptycolor} default=\texttt{black!10}
+
+\DescribeMacro{filledcolor} default=\texttt{black!60}\\
+These options should be self-explaining. Just use \texttt{xcolor}-color-definitions (use color names or the syntax \lstinline+<color-name>!<number between 0 and 100>+) for brighter colors).
+\begin{lstlisting}
+\progressbar[linecolor=blue,tickscolor=orange,emptycolor=yellow,filledcolor=red]{0.6}
+\end{lstlisting}
+ \progressbar[linecolor=blue,tickscolor=orange,emptycolor=yellow,filledcolor=red]{0.6}
+
+\section{Changelog}
+\begin{tabbing}
+\texttt{2014/05/04 v.1.0b\~{}4} \= version control for kvoptions updated (for unknown\\ \>
+reason required version didn't exist)\\
+\texttt{2013/01/06 v.1.0b\~{}3} \= replaced \lstinline+\progressbar@LoadFile@IfExist+ with\\ \> \lstinline+\RequirePackage+\\
+\texttt{2012/02/18 v.1.0b\~{}2} \> added version control for kvoptions\\
+\texttt{2010/10/02 v1.0b} \> first release - all basic functionality
+\end{tabbing}
+
+\section{Acknoledgment}
+A big shoutout to the pros from \url{http://www.mrunix.de/} (it's german). They helped me a lot and made \texttt{progressbar} possible.
+
+I also want to thank Robin Schneider (\url{https://ypid.wordpress.com/}) and Heiko Oberdiek who called my attention to the problems with\\ \lstinline+\progressbar@LoadFile@IfExist+.
+
+\section{Contact}
+If you have any question concerning \texttt{progressbar} or if you miss a feature, please write me a mail: \href{mailto:mails4me@gmx.at}{\texttt{mails4me@gmx.at}}.
+
+\end{document}