%
%Vorlagen aus meinen ehemaligen Praesentationen, insbesondere
%Linz-Seminar Computeralgebra II
% 2007/2008 Heiko Studt et al
% 2008 Heiko Studt
%

%
% http://kambing.ui.edu/ctan/support/glosstex/
% http://www.mrunix.de/forums/showthread.php?t=43075
%
% nomencl: CTAN: macros/latex/contrib/
% bixtex:  http://de.wikipedia.org/wiki/BibTeX
%

%\documentclass[t,trans]{beamer}
\documentclass[t]{beamer}

\usepackage{beamerthemesplit}
\usepackage{verbatim}
\usepackage[overlay,absolute]{textpos}
\usepackage{setspace}
\usepackage{listings}

%\usepackage{pgfpages}

\title[BibTex]{{\Large IEEE \LaTeX-Workshop} \\[0.3cm]
               {\large
               BibTeX   (1988) \\
               Indizes  (1987) \\
               GlossTeX (1997)
               \vspace*{-1.2cm}}}
\author{Heiko Studt}
\date{12. June 2008}

\usetheme{IEEE}

\lstdefinelanguage{latex}
       {language=tex,
        basicstyle=\footnotesize,
        keywordstyle=\color{blue}\bfseries,
        stringstyle=\color{red}\ttfamily,
        keywords={put,multiput,begin,setlength,unitlength,vspace,hspace,
                  vector,oval,circle,circle*,qbezier,linethickness,
                  thicklines,thinlines,label,caption,newsavebox,usebox,
                  usepackage,includegraphics,scalebox,rotatebox,reflectbox,
                  only,uncover,DeclareGraphicsRule,DeclareGraphicsExtensions,
                  graphicspath,savebox,
                  cite,bibitem,newblock,
                  bibliographystyle, bibliography,
                  makeindex, printindex, index,
                  printglosstex,gls,ac,acs,acl,acf,glosstex,glxref,acronym,
                  emph,documentclass, pagebreak},
        %identifierstyle=\color{green},
        commentstyle=\color{gray},
        tabsize=2, showspaces=false, showstringspaces=false, showtabs=false,
        frame=, columns={[c]fixed}}

\lstdefinelanguage{bibtex}%Also glosstex
      {
        sensitive=false,
        morecomment=[s]{@COMMENT \{}{\}}
        basicstyle=\footnotesize\color{black},
        keywordstyle=\color{blue}\bfseries,
        keywords={@ARTICLE, @BOOK, @BOOKLET, @CONFERENCE, @INBOOK,
                  @INCOLLECTION, @INPROCEEDINGS, @MANUAL, @MASTERTHESIS,
                  @MISC, @PHDTHESIS, @PROCEEDINGS, @TECHREPORT,@UNPUBLISHED,
                  @PREAMBLE, @STRING, @COMMENT,
                  @ENTRY},
        stringstyle=\color{red}\ttfamily,
        morestring=[b]",
        identifierstyle=\color{blue},
        identifiers={address, annote, author, booktitle, chapter, crossref,
                     edition, editor, howpublished, institution, journal,
                     key, month, note, number, organization, pages,
                     publisher, school, series, title, type, volume, year},
        %identifierstyle=\color{green},
        commentstyle=\color{gray},
        tabsize=2, showspaces=false, showstringspaces=false, showtabs=false,
        frame=, columns={[c]fixed}}

\lstset{language=latex}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\urlt}[1]{{\tiny \url{#1}}}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\frame[plain,label=titel]{\titlepage}
\frame%[allowframebreaks]
{
  \vskip10pt
  \frametitle{Gliederung}
  \tableofcontents %[sectionstyle=show/shaded,subsectionstyle=show/show/show]
  %\vskip0pt plus 1filll
}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Motivation}
\begin{frame}
  \frametitle{Motivation}

  \begin{block}{Was wollen wir?}
    \vspace{-0.3cm}
    \begin{itemize}
      \item Quellen-/Literaturverzeichnis in \LaTeX
      \vspace{-0.1cm}
      \item Sachregister/Index
      \vspace{-0.1cm}
      \item Glossar
      \vspace{-0.1cm}
      \item Automatisch erzeugen lassen
    \end{itemize}
  \end{block}

  \vspace{-0.4cm}
  \begin{block}{Zu nutzende Programme}
    \vspace{-0.3cm}
   \begin{itemize}
    \item pdflatex / latex
    \vspace{-0.1cm}
    \item makeindex
    \vspace{-0.1cm}
    \item bibtex
    \vspace{-0.1cm}
    \item glosstex (Windows: 8.3-Dateinamen!)
   \end{itemize}
  \end{block}

  \vspace{-0.4cm}
  \begin{block}{Quellen}
    \vspace{-0.3cm}
    \begin{columns}
      \column{0.54\textwidth}
        $\circ$ \urlt{http://de.wikipedia.org/wiki/Bibtex} \\
        \vspace{-0.1cm}
        $\circ$ \urlt{CTAN:biblio/bibtex/contrib/doc/btxdoc.pdf} \\
        \vspace{-0.1cm}
        $\circ$ \urlt{http://www.tug.org/pracjourn/2006-4/fenn/fenn.pdf} \\
        \vspace{-0.1cm}
        $\circ$ \urlt{CTAN:indexing/makeindex/doc/makeindex.pdf}
        %%%%%%% ACHTUNG: makeindex.pdf veraltet!!!
      \column{0.31\textwidth}
        $\circ$ {\tiny fortgeschritten.pdf} \\
        \vspace{-0.1cm}
        %$\circ$ {\tiny GlossTeX-Manual} \\
        %\vspace{-0.1cm}
        $\circ$ \urlt{CTAN:help/de-tex-faq/part7} \\
        \vspace{-0.1cm}
        $\circ$ \urlt{CTAN:support/glosstex/doc/*}
    \end{columns}
  \end{block}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Bib\TeX}
\frame{
  \frametitle{Bib\TeX - Ergebnis}
  \begin{example}
    Weil bla bla blub und da "$A=A$"\cite{SH} entsteht bla, welches die Komplexitaet bliib hat, da P=NP\cite{HP}.

    ...

    ...
  \end{example}

  \vspace{1cm}
  \begin{thebibliography}{10}
   \bibitem{SH}
     Severin Neuman, Heiko Studt
     \newblock Goldbach - he was wrong
     \newblock \emph{IEEE Conference Passau 2008}
   \bibitem{HP}
     Heiko Studt, Philipp Wendler.
     \newblock P=NP, two prooves
     \newblock \emph{IEEE Conference Passau 2008}
  \end{thebibliography}
}


\begin{frame}[fragile]
  \frametitle{Bib\TeX - Manuell mit Beamer}
  \lstinline|"$A=A$"\cite{SH}|\\[0.2cm]
  \hrule

  \begin{lstlisting}
\begin{thebibliography}{10}
 \bibitem{SH}
   Severin Neuman, Heiko Studt
   \newblock Goldbach - he was wrong
   \newblock \emph{IEEE Conference Passau 2008}
 \bibitem{HP}
   Heiko Studt, Philipp Wendler.
   \newblock P=NP, two prooves
   \newblock \emph{IEEE Conference Passau 2008}
\end{thebibliography}
  \end{lstlisting}
  \hrule

  \vspace{0.4cm}
  \uncover<2->{
    Das ist mir zu kompliziert! Manuell ordnen?? WOOOORD! \\[0.3cm]
    \begin{center}
      {\Large \bf \emph Es geht automatisiert und besser!}
    \end{center}
  }
\end{frame}


\begin{frame}
  \frametitle{Bib\TeX - Automatisieren}

  \begin{itemize}
    \item Eigene Datei fuer Literaturangaben\\
          Endung: .bib
    \item Standardform der Eintraege \\
          Siehe auch folgende Folien
    \item Ausgabe frei formatierbar \\
          Meistens aber vorgegeben (Konferenz, ...)
    \item Nur benutzte Items angezeigt \\
          Alle gelesenen Papers als Referenz speichern
    \item Datenbanken fuer BibTeX \\
          IEEE, ACM, Google Scholar, ...
    \item Cross-References \\
          (Inproceedings $\rightarrow$ Proceedings, ...)
    \item Hierfuer gibt es GUI-Editoren
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Bib\TeX - BibTeX-Format}
  \begin{example}
  \lstinputlisting[language=bibtex,lastline=11]{literatur.bib}
  \end{example}
  \vspace{-0.3cm}
  Keine Unterscheidung der Gross-/kleinschreibung. \\
  Probleme mit Umlauten $\rightarrow$ 7-Bit! \\
  Ueblich: Hauptart komplett gross. \\
  "{\color{blue} preserv}": Zitierreferenz (id)
\end{frame}

\begin{frame}[fragile]
  \frametitle{Bib\TeX - BibTeX-Format}
  \begin{block}{Hauptarten}
     \lstinline[language=bibtex]|@ARTICLE, @BOOK, @BOOKLET, @CONFERENCE, @INBOOK,| \\
     \lstinline[language=bibtex]|@INCOLLECTION, @INPROCEEDINGS, @MANUAL, @MASTERTHESIS,| \\
     \lstinline[language=bibtex]|@MISC, @PHDTHESIS, @PROCEEDINGS, @TECHREPORT,| \\
     \lstinline[language=bibtex]|@UNPUBLISHED| \\
     Speziell: \lstinline[language=bibtex]|@PREAMBLE, @STRING, @COMMENT|
%@PREAMBLE{ "\newcommand{\noopsort}[1]{} "
%         # "\newcommand{\singleletter}[1]{#1} " }
%@STRING(test = "Testing" )
%@BOOK(xyz, title = test # "abc")
%@month="17~" # jan
  \end{block}
  \begin{block}<2->{Felder}
     \lstinline[language=bibtex]
         |address, annote, author, booktitle, chapter, crossref,|
     \lstinline[language=bibtex]
         |edition, editor, howpublished, institution, journal,|
     \lstinline[language=bibtex]
         |key, month, note, number, organization, pages,|
     \lstinline[language=bibtex]
         |publisher, school, series, title, type, volume, year|
  \end{block}
  \uncover<3->{
    Nicht jedes Feld ist in jeder Hauptart nutzbar! \\
    Genaueres dazu: Wikipedia und \urlt{CTAN:biblio/bibtex/contrib/doc/btxdoc.pdf}
  }
\end{frame}

\begin{frame}
  \frametitle{Bib\TeX - Aufruf}
  Aber keine Panik! \\
  Fuer die meisten Paper, ... ist das BibTeX-Format erhaeltlich! \\
  Ansonsten gibt es gute Erklaerungen fuer das Studium daheim. \\[0.2cm]
  Siehe hierzu \emph{btxdoc.pdf} und Wikipedia.\\[0.3cm]

  \begin{block}{Aufruf / Kompilation}
     \begin{itemize}
       \item pdflatex / latex [file.tex]
       \vspace{-0.1cm}
       \item bibtex [file]
       \vspace{-0.1cm}
       \item pdflatex / latex [file.tex]
       \vspace{-0.1cm}
       \item pdflatex / latex [file.tex]
       \item Auf Warnungen achten!
     \end{itemize}
  \end{block}
\end{frame}

\begin{frame}
  \frametitle{Bib\TeX - Einbindung}
  \begin{block}{Im Hauptdokument}
    \vspace{-0.2cm}
    \lstinputlisting[language=latex,firstline=5,lastline=7]{./testbibtex.tex}
  \end{block}

  \framebox{\includegraphics[width=9cm,clip=true,trim=3cm 19cm 4cm 3.9cm]{./testbibtex.pdf}} \\
  Layout wird ggf. vom Beamer-Package veraendert! \\
  Package "hyperref" empfehlenswert. \\
  Andere Layouts verringern den Text automatisch ("et al"). \\
  (Layouts) Siehe auch: \urlt{http://www.cs.stir.ac.uk/~kjt/software/latex/showbst.html}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{makeindex}
\begin{frame}[fragile]
  \frametitle{makeindex - Beginn}
  \begin{block}{Womit fange ich an?}
    \begin{itemize}
      \item \lstinline|\usepackage{index}|
      \item \lstinline|\makeindex| in die Preamble \\
            (zwischen letztem \lstinline|\usepackage| und dem \lstinline|\begin{document}|)
      \item \lstinline|\printindex| an die Stelle des Indexes
    \end{itemize}
  \end{block}

  \begin{block}{Ausfuehrung}
     pdflatex / latex [file.tex] \\
     makeindex [file.idx] \\
     pdflatex / latex [file.tex] \\
  \end{block}
\end{frame}


\begin{frame}[fragile]
  \frametitle{makeindex - Index erstellen}
  Ok, das war einfach! Wie geht es weiter?
  \begin{block}{Ein Wort in den Index bringen.}
    Ganz simpel: \lstinline|Wort\index{Wort}| \\
    Enhanced: \lstinline|\index{Wort!Unterwort!Unterunterwort}| (Maximal 3 Stufen) \\
    Bereich: \lstinline!\index{Wort|(} ...........\index{Wort|)}!
  \end{block}
  \begin{block}{Tipps}
    \vspace{-0.2cm}
    \begin{itemize}
      \item Fuelle den Index erst am Ende
      \item Mit einem Index will der Leser etwas finden
      \item \verb!delatex myfile.tex | sort -uf > foo! \\
            Hilft die {\emph moeglicherweise} wichtigen Woerter zu finden.
      \item Mathe: \lstinline|\index{alpha}\index{alpha@$\alpha$}|
      \item Fett/Kursiv / Anpassen der Seitenzahl ist moeglich
      \item \lstinline|\newcommand{\ind}{#1\index{#1}}|
    \end{itemize}
  \end{block}
\end{frame}

\begin{frame}
  \frametitle{makeindex - an example}
  \lstinputlisting[language=latex]{./testindex.tex}
  \framebox{\includegraphics[width=9cm,clip=true,trim=3cm 25cm 4cm 3.9cm]{./testindex.pdf}} %
  \hfill Page 1\\
  \framebox{\includegraphics[page=2,height=2cm,clip=true,trim=3cm 23cm 14cm 4cm]{./testindex.pdf}} %
  \hfill  Page 2
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Gloss\TeX}
\begin{frame}[fragile]
  \frametitle{Gloss\TeX}
  %Deutlich einfacher ist "nomencl", das hier kann aber mehr.
  \begin{block}{Im Dokument benoetigt}
    \lstinline|\usepackage{glosstex}| (Nur auf TeXLive-CD (mit 1 dll)) \\
    %ftp://dante.ctan.org/tex-archive/systems/texlive/install/texmf/tpm/bin-winutils.tpm
    Glossar: \lstinline|\printglosstex(glo)| \\
    Acronym: \lstinline|\printglosstex(ac)| \\
  \end{block}
  \begin{block}{Ausfuehrung}
    \vspace{-0.2cm}
    \begin{lstlisting}[language=bash]
pdflatex  [file].tex
glosstex  [file] [file].gdf
makeindex [file].gxs -o [file].glx -s glosstex.ist
pdflatex  [file].tex
    \end{lstlisting}
    \vspace{-0.1cm}
    \begin{block}{Things to know:}
      \vspace{-0.2cm}
      \begin{itemize}
        \item Kann bis zu 4x durchlaufen muessen...
        \vspace{-0.1cm}
        \item Nur benutzte Woerter werden eingebunden.
        \vspace{-0.1cm}
        \item Zu jedem Wort/Acronym gibt es eine Langform\\[-0.1cm]
              und eine Beschreibung
      \end{itemize}
    \end{block}
  \end{block}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Gloss\TeX - GLD-File}
  \begin{block}{GLD (Glossary Definition File)}
  \lstinline|@entry{<alabel>,<item>,<long-form>} <LaTeX-Text>| \\
  \vspace{-0.2cm}
  \begin{itemize}
    \item Eintrag in der GLD
    \item \emph{alabel}    (Eindeutige) ID des Eintrages
    \item \emph{item}      (Optional) Aussehen in der Liste\\
          Fast jedes TeX-konstrukt, Default: id
    \item \emph{long-form} (Optional) Langform des Wortes/Acronyms \\
          Fast jedes TeX-konstrukt, Default: leer
    \item \emph{LaTeX-Text} Beschreibung (LaTeX)
  \end{itemize}
  \lstinline|\glxref{<id>}| \\
  \vspace{-0.2cm}
  \begin{itemize}
    \item Crossreferenz innerhalb der GLD
    \item \emph{alabel} ID des Eintrages
    \item Nur im \verb|<LaTeX-Text>| erlaubt.
  \end{itemize}
  \end{block}
\end{frame}


\begin{frame}[fragile]
  \frametitle{Gloss\TeX - Im Dokument}
  Kommandos \lstinline|\ac...| nutzen die Liste \emph{acr} (default). \\
  Kommandos \lstinline|\gl...| nutzen die Liste \emph{glo} (default). \\
  \begin{block}{Allgemeine Kommandos}
    \vspace{-0.1cm}
    \lstinline|\glosstex(<list>){<alabel>}| \\
    \lstinline|\acronym(<list>){<alabel>}| \\
    Beispiele: \\
     \hspace{0.1cm} \lstinline|\glosstex{Beispiel}| \\
     \hspace{0.1cm} \lstinline|\glosstex(acr){Hilfe}|
  \end{block}
  \begin{block}{Spezielle Kommandos}
    \vspace{-0.1cm}
    \begin{columns}
      \column{2.4cm}
        \lstinline|\ac, \acs, \acl, \acf| \\
        \lstinline|\gls|
      \column{7.3cm}
        Verschiedene Typesets (short,long,full)\\
        Kein Listeneintrag.
    \end{columns}
  \end{block}
  \vspace{0.2cm}
  \begin{block}{Druck der Liste}
    \vspace{-0.1cm}
    \lstinline!\printglosstex(<list>)[<a|p|n>]! \\
  \end{block}
\end{frame}


\begin{frame}
  \frametitle{Gloss\TeX - Beispiel}
  \lstinputlisting[language=bibtex]{testgloss.gdf}
  \hrule
  \lstinputlisting[language=latex]{testgloss.tex}
\end{frame}

\begin{frame}
  \frametitle{Gloss\TeX - Beispiel}
  \vspace{1cm}
  \hspace{1.25cm}\framebox{\includegraphics[width=8cm,clip=true,trim=4.5cm 20cm 4cm 3.9cm]{./testgloss.pdf}} %
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Makefile}
\begin{frame}[fragile]
  \frametitle{makefiles - ungetestet!!!}
  %Um die Befehle auszufuehren, hier folgendes Vereinfachung:
  \vspace*{-0.3cm}
  \lstinputlisting[language=bash, caption={dolat}]{./dolat}

  \vspace*{-0.5cm}
  \lstinputlisting[language=bash, caption={dolat.bat}]{./dolat.bat}

  \vspace*{0.1cm}
  Aufruf mit "\lstinline|dolat.bat mydocument|" im Verzeichnis des .tex. \\
  Nutze eher mehr Durchlaeufe von latex/pdflatex...
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{The end...}
\frame{
  \frametitle{The end...}

  \begin{textblock}{0.4}(0.275,0.35)
    \begin{minipage}{6 cm}
      \begin{center}
        \Large
        Thanks for all the fish... \\[0.6cm]
           eh... \\[0.6cm]
           thanks for your audience!
      \end{center}
    \end{minipage}
  \end{textblock}

  \begin{textblock}{0.2}(0.09,0.24)%{0.2}(0.73,0.01)
    \begin{minipage}{2 cm}
      \includegraphics[scale=1.5,trim=0cm 1.8cm 0 1.8cm]{./IEEE.pdf}
    \end{minipage}
  \end{textblock}
}

\end{document}

%EOF
