\ProvidesPackage{pack/mystyle}

% Intelligentes indexieren
% \ci{Hauptgriff}{Übergbegriff}{Eintrag fett markieren}
% z.B. \ci{Verstärkerstufe}{Layout}{|textbf}
% hier ist der Hauptbegriff Verstärkerstufe im Layout beschrieben und wir im
% Index als fett hervorgehoben, wenn die Klammer 3 leer ist (normal Font)
\newcommand{\ci}[3]{\index{#1#3}\index{#2!#1#3}}

% Intelligentes referenzieren von Kapiteln
\newcommand{\refkap}[1]{Kapitel~\ref{kap:#1} auf Seite~\pageref{kap:#1}}

% Intelligentes referenzieren vom Anhang
\newcommand{\refanh}[1]{Anhang~\ref{anh:#1} auf Seite~\pageref{anh:#1}}

% Intelligentes referenzieren von Tabellen
\newcommand{\reftab}[1]{Tabelle~\ref{tab:#1} auf Seite~\pageref{tab:#1}}

% Intelligentes referenzieren von Grafiken
\newcommand{\reffig}[1]{Grafik~\ref{fig:#1} auf Seite~\pageref{fig:#1}}

% Intelligentes Label setzen von Tabellen
\newcommand{\labtab}[1]{\label{tab:#1}}

% Intelligentes Label setzen auf Kapitel
\newcommand{\labkap}[1]{\label{kap:#1}}

% Intelligentes Label setzen auf Kapitel
\newcommand{\labanh}[1]{\label{anh:#1}}

% Intelligentes einfügen von Grafiken ohne Rahmen
% \pic{#1}{#2}{#3}{#4}{#5}
% Bsp: \pic{scale=0.7}{chap/software/i2c_bus_üb.eps}{I2C-Bus}{bü}{!ht}
% {#1} Bildmasse einstellen z.B. {scale=0.5} oder {heigth=2cm}
% {#2} relativer Pfad des Bildes und Nahme ohne Endung z.B. {fig/figname}
% {#3} Name des Bildes im Bilderverzeichnis z.B. {figname} oder {Kurzbeschrieb}
% {#4} Label des Bildes setzen z.B. {figlabelname}
% {#5} Positionierung des Bildes im Text / Seite beim Compilieren z.B. {!ht}
\newcommand{\pic}[5]{
  \begin{figure}[#5]
  \centering
  \sbox{\mybox}{\includegraphics[#1]{#2}}
  \settowidth{\mylength}{\usebox{\mybox}}
  % \setcaptionwidth{\mylength}
  \usebox{\mybox}
  \caption{#3}
  \label{fig:#4}
  \end{figure}
}

% Intelligentes einfügen von Grafiken ohne Rahmen
\newcommand{\titelpic}[3]{
  \begin{figure}[!h]
  \centering
  \sbox{\mybox}{\includegraphics[#1]{#2}}
  \settowidth{\mylength}{\usebox{\mybox}}
  \usebox{\mybox}
  \label{fig:#3}
  \end{figure}
  }

% Variablen Syntax
\newcommand{\var}[1]{\textit{#1}}

% Macro Syntax
\newcommand{\mac}[1]{\textbf{#1}}

% Label Syntax
\newcommand{\lab}[1]{\textbf\textit{#1}}

% File Name Synthax
\newcommand{\file}[1]{\textbf{#1}}

% Insert # Newpages for Documentation Files
\newcommand{\mnp}[1]
{
  \setcounter{scounter}{#1}
  \whiledo{\value{scounter} > 0}
  {\newpage \ \addtocounter{scounter}{-1}}
}

% C-Code aus einem File ins Dokument übernehmen
\newcommand{\inscode}[1]{
  \scriptsize
    %\begin{verbatimtab}[8]     % the par. is the tab width
      \verbatimtabinput{#1}
    %\end{verbatimtab}
    \rule{\textwidth}{0.2pt}
  \normalsize
  \newpage
}

\newcommand{\glos}[2]
  {
\multicolumn{2}{l}{\textbf{#1}} \ci{#1}{Glossar}{}\\ \nopagebreak[4]
& #2 \\
  }
  
  \newcommand{\klass}[2]
  {
\multicolumn{2}{l}{\textbf{#1}}\\ \nopagebreak[4]
& #2 \\
  }
