summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/lni/lni.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/lni/lni.dtx')
-rw-r--r--Master/texmf-dist/source/latex/lni/lni.dtx470
1 files changed, 298 insertions, 172 deletions
diff --git a/Master/texmf-dist/source/latex/lni/lni.dtx b/Master/texmf-dist/source/latex/lni/lni.dtx
index 86c7a65522a..c50c598947d 100644
--- a/Master/texmf-dist/source/latex/lni/lni.dtx
+++ b/Master/texmf-dist/source/latex/lni/lni.dtx
@@ -145,7 +145,6 @@ This work consists of the file lni.dtx
\nopreamble\nopostamble
\usedir{doc/latex/lni}
\generate{
- %%%\file{README.md}{\from{\jobname.dtx}{readme}}
\file{lni-author-template.tex}{\from{\jobname.dtx}{template}}
}
\ifx\fmtname\nameofplainTeX
@@ -163,7 +162,8 @@ This work consists of the file lni.dtx
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{lni}
%<*class>
- [2017/04/07 v1.0 Official class for submissions to the ``Lecture Notes in Informatics'']
+ [2017/04/19 v1.1 Official class for submissions to the ``Lecture Notes
+ in Informatics'']
%</class>
%<*driver>
\documentclass[a4paper]{ltxdoc}
@@ -186,7 +186,7 @@ This work consists of the file lni.dtx
\newcommand*{\MiKTeX}{\textsf{MiK\TeX{}}}
\usepackage[%
pdftitle={lni: Official LaTeX class for submissions to the ``Lecture Notes in
- Informatics'', published by the GI},
+ Informatics'', published by the ``Gesellschaft für Informatik e.\,V.'' (GI)},
pdfauthor={Martin Sievers},
urlcolor=blue,%
linktocpage,%
@@ -244,7 +244,8 @@ This work consists of the file lni.dtx
keywordstyle = \color{blue}\bfseries,
language = [LaTeX]{TeX},
moretexcs = {,
- addbibresource,email,ExecuteBibliographyOptions,includegraphics,printbibliography,
+ addbibresource,authorrunning,%
+ email,ExecuteBibliographyOptions,includegraphics,printbibliography,
}
frame = single,
backgroundcolor = \color{yellow!60},
@@ -285,36 +286,46 @@ This work consists of the file lni.dtx
% Right brace \} Tilde \~}
%
% \changes{v1.0}{2017/04/07}{Official release of revised version}
+% \changes{v1.1}{2017/04/08}{Added macros \cs{subtitle} and keyword delimiter
+% \cs{add}}
+% \changes{v1.1}{2017/04/08}{Fixed bug with \cs{Crefname}}
+% \changes{v1.1}{2017/04/08}{Updated documentation and bundle structure}
+% \changes{v1.1}{2017/04/12}{Changed spacing for \cs{subtitle}}
+% \changes{v1.1}{2017/04/18}{Added check for ngerman-x-latest patterns}
+% \changes{v1.1}{2017/04/19}{Added option \opt{crop}}
%
% \GetFileInfo{\jobname.dtx}
% \DoNotIndex{\newcommand,\newenvironment}
%
-% \title{\textsf{lni} -- Official class for submissions to the\\``Lecture Notes in
-% Informatics''\thanks{This file describes version \fileversion, last revised
-% \filedate.}}
-% \author{Martin Sievers\thanks{Email: martin.sievers@schoenerpublizieren.de}}
+% \title{\textsf{lni} -- Official class for submissions to the\\%
+% ``Lecture Notes in Informatics''\thanks{This file describes version
+% \fileversion, last revised \filedate.}}
+% \author{Martin Sievers\setcounter{footnote}{6}\thanks{Email: martin.sievers@schoenerpublizieren.de}}
% \date{Released \filedate}
%
% \maketitle
%
% \begin{abstract}
-% \noindent After several years the \lni{} bundle has been updated. The resulting new
-% version fixes some long-standing bugs, solves problems and supports modern packages
-% like \pkg{biblatex} and \pkg{microtype}. It has been put into one DTX file to make
-% maintaining and distributing via CTAN a bit easier.
+% \noindent After several years the \lni{} bundle has been updated. The
+% resulting new version fixes some long-standing bugs, solves problems and
+% supports modern packages like \pkg{biblatex} and \pkg{microtype}. It has been
+% put into one DTX file to make maintaining and distributing via CTAN a bit
+% easier.
% \end{abstract}
%
% \section{Introduction}
-% \LaTeX{} templates are often long-lasting. Even if they use meanwhile deprecated
-% packages they are often passed from one generation of authors to the next.
+% \LaTeX{} templates are often long-lasting. Even if they use meanwhile
+% deprecated packages they are often passed from one generation of authors to
+% the next.
%
-% The \LNI{} thankfully realized, that their bundle should be technologically
+% The Gesellschaft für Informatik~e.\,V. (GI) thankfully realized, that their
+% bundle should be technologically
% modernized while the general layout remains the same.
%
% Based on the existing class and bib files I set-up a DTX file and started
-% reworking the source code. Editors and authors suggested different additions and
-% changes, which I tried to incoporate without changing the existing mechanisms too
-% much.
+% reworking the source code. Editors and authors suggested different additions
+% and changes, which I tried to incoporate without changing the existing
+% mechanisms too much.
%
% This is the first public release. I would to thank especially
% \href{https://github.com/koppor/}{Oliver Kopp} and
@@ -327,27 +338,30 @@ This work consists of the file lni.dtx
% \href{https://www.gi.de/service/publikationen/lni/autorenrichtlinien.html}
% {GI website} and (preferably) \href{https://www.ctan.org}{CTAN}.
% The later is the basis for all updates of the two main \TeX{} distributions
-% \MiKTeX{} and \TeX{}~Live. Thus the easiest way to get all files needed to typeset
-% an article for the \LNI{} is to use the package manager of your distribution.
+% \MiKTeX{} and \TeX{}~Live. Thus the easiest way to get all files needed to
+% typeset an article for the \LNI{} is to use the package manager of your
+% distribution.
%
-% For a manual installation you should copy all files (cls, tex, pdf and bst) to
-% your local TEXMF tree and update your file name database.
+% For a manual installation please call \texttt{pdflatex lni.dtx} at least
+% twice and
+% copy all resulting files (cls, tex, pdf and bst) to your local TEXMF tree.
+% Don't forget to update your file name database.
% \newpage
% \section{Usage}
-% To use the predefined layout for a (German) submission to the \LNI{} just load the
-% class file as usual with \cs{documentclass\{lni\}}.
+% To use the predefined layout for a (German) submission to the \LNI{} just
+% load the class file as usual with \cs{documentclass\{lni\}}.
%
% The class file loads a bunch of packages which are all part of modern \TeX{}
% distributions. Therefore, if you are confronted
% with a missing package, please try to download and install it using your
-% distribution's package manager. Alternatively got to \href{www.ctan.org}{CTAN}
-% to download missing packages.
+% distribution's package manager. Alternatively go to
+% \href{www.ctan.org}{CTAN} to download missing packages.
%
% \subsection{Options}\label{sec:options}
% Although the class file includes all layout information for a submission to
% the \LNI{}, there are options to adapt the output one way or another.
%
-% \DescribeMacro{english}A document loading the \lni{} class file uses German
+% \DescribeOption{english}A document loading the \lni{} class file uses German
% language adoptions by default. To switch to English, just load the class with
% option \opt{english}.
%
@@ -355,33 +369,37 @@ This work consists of the file lni.dtx
% the text, but also the choice of a corresponding \BibTeX{} file
% (cf.~\cref{sec:bibliography}).
%
-% \DescribeMacro{utf8}\DescribeMacro{latin1}\DescribeMacro{applemac}Although
+% \DescribeOption{utf8}\DescribeOption{latin1}\DescribeOption{applemac}Although
% nowadays all major plattforms support and widely use UTF-8 encoding for
-% text files, there might be some need to change the input encoding the \LaTeX{}
-% document uses.
+% text files, there might be some need to change the input encoding the
+% \LaTeX{} document uses.
%
% This can be achieved by giving one of the options \opt{utf8} (which is the
-% default), \opt{latin1} or \opt{applemac} to the document class. Using UTF-8 is
-% strongly recommended. Please note, that currently the bib file is supposed to use
-% the same encoding.
+% default), \opt{latin1} or \opt{applemac} to the document class. Using UTF-8
+% is strongly recommended. Please note, that currently the bib file is supposed
+% to use the same encoding.
%
-% \DescribeMacro{biblatex}Nowadays bibliographies cannot only be produced with
+% \DescribeOption{biblatex}Nowadays bibliographies cannot only be produced with
% \BibTeX{}, but with a much more powerful approach consisting of the package
% \pkg{biblatex} and the tool \texttt{biber}.
%
-% There is even a specialized package \pkg{biblatex-lni} which is automatically used
-% when setting the class option \opt{biblatex}. Please see as well
+% There is even a specialized package \pkg{biblatex-lni} which is automatically
+% used when setting the class option \opt{biblatex}. Please see as well
% \cref{sec:bibliography}.
%
-% \DescribeMacro{nocleveref}When referencing figures, one has to type
+% \DescribeOption{nocleveref}When referencing figures, one has to type
% \texttt{Figure\textasciitilde}\cs{ref\marg{label}}. The package \pkg{cleveref}
-% reduces the effort by offering the command \cs{cref\marg{label}}. This can be used
-% with all floating objects. The package is loaded as default. In case it causes
-% issues, one can disable it using with the \opt{nocleveref} option.
+% reduces the effort by offering the command \cs{cref\marg{label}}. This can be
+% used with all floating objects. The package is loaded as default. In case it
+% causes issues, one can disable it using with the \opt{nocleveref} option.
%
-% \DescribeMacro{nohyperref}\pkg{hyperref} is used for colored hyperlink within the
-% articles. If you consider problems or just do not want that feature, you can
-% disable it by using the option \opt{nohyperref}.
+% \DescribeOption{nohyperref}\pkg{hyperref} is used for colored hyperlink within
+% the articles. If you consider problems or just do not want that feature, you
+% can disable it by using the option \opt{nohyperref}.
+%
+% \DescribeOption{crop\space(new in v1.1)}%
+% Option \opt{crop} gives you some crop marks (using the package \pkg{crop}) to better illustrate the final
+% result of your article.
%
% \section{Setting up a document}
% You can use the file \file{lni-author-template.tex} as a starting point
@@ -389,12 +407,12 @@ This work consists of the file lni.dtx
% ways to build an article.
%
% \subsection{Special meta data}\label{sec:metadata}
-% There is not just one \enquote{\TeX} and one \enquote{bibliography tool}, but many
-% different ways to transform a .tex file into a PDF.
+% There is not just one \enquote{\TeX} and one \enquote{bibliography tool}, but
+% many different ways to transform a .tex file into a PDF.
% Some \TeX{} editors like \texttt{TeXstudio}, \texttt{TeXmaker} and
-% \texttt{TeXshop} support a special set of meta data to tell the editor, how to
-% deal with a concrete document.
-%
+% \texttt{TeXshop} support a special set of meta data to tell the editor, how
+% to deal with a concrete document.
+% \newpage
% A typical example looks like:
% \begin{examplecode}
% % !TeX program = pdflatex
@@ -410,22 +428,27 @@ This work consists of the file lni.dtx
% \cref{sec:titlepage} for authors, there are special editor macros to
% influence the layout of the article:
% \begin{itemize}
-% \item\cs{startpage} determines the starting page of the article. This should
-% always be an odd (right) page.
+% \item\cs{startpage} determines the starting page of the article. This
+% should always be an odd (right) page.
% \item\cs{editor} states the name of the editor(s)
% \item\cs{booktitle} holds the name of a conference
% \item\cs{year} can be used to set the year
% \end{itemize}
%
% \subsection{Title page}\label{sec:titlepage}
-% \DescribeMacro{\title}The title of your work is given using the \cs{title}
-% macro. In addition to the title itself, you can add a short title to be used
+% \DescribeMacro{\title}%
+% \DescribeMacro{\subtitle\space(new in v1.1)}%
+% The title of your work is given using the \cs{title} macro. In addition to
+% the title itself, you can add a short title to be used
% in the header of a page:
% \begin{examplecode}[label={lst:title}]
% \title[Short title]{Title}
% \end{examplecode}
-%
+%
+% You can also add a subtitle by \cs{substitle\marg{subtitle}}.
+%
% \DescribeMacro{\author}\DescribeMacro{\email}\DescribeMacro{\footnote}%
+% \DescribeMacro{\and}%
% The authors of an article are
% given using the standard \cs{author} macro. Multiple authors are separated
% by \cs{and}; affiliations have to be added with
@@ -436,28 +459,31 @@ This work consists of the file lni.dtx
% Author 1\footnote{Affiliations including \email{email@author1}} \and%
% Author 2\footnote{Affiliations including \email{email@author2}}}
% \end{examplecode}
-% In case the authors are too long for the page header, see \cref{sec:pageheader}
-% of how to shorten the authors for the page header.
+% In case the authors are too long for the page header, see
+% \cref{sec:pageheader} of how to shorten the authors for the page header.
%
% Finally \cs{maketitle} will output the formatted title page.
%
% \subsection{Abstract and keywords}
-% Each article should start with a short abstract and some keywords. Please use the
-% environments \env{abstract} and \env{keywords} for that purpose:
+% \DescribeEnv{abstract}\DescribeEnv{keywords}%
+% \DescribeMacro{\and\space(new in v1.1)}%
+% Each article should start with a short abstract and some keywords. Please use
+% the environments \env{abstract} and \env{keywords} for that purpose:
% \begin{examplecode}
% \begin{abstract}
% Tell the reader what your article is about
% \end{abstract}
% \begin{keywords}
-% Give some keywords to categorize your article
+% Give some keywords to categorize your article. You can use \and between two
+% keywords to get the correct delimiter (semicolon plus space) automatically.
% \end{keywords}
% \end{examplecode}
%
% \subsection{Page header}\label{sec:pageheader}
-% The template automatically sets the page headers according to the requirements of
-% LNI. From page 2 onwards, the title and the authors are printed. These information
-% has to stay in one line. In case the title is too long, use the optional argument
-% for \cs{title}:
+% The template automatically sets the page headers according to the
+% requirements of \LNI. From page~2 onwards, the title and the authors are
+% printed. These information has to stay in one line. In case the title is too
+% long, use the optional argument for \cs{title}:
% \begin{examplecode}
% \title[Short title]{Title}
% \end{examplecode}
@@ -466,15 +492,17 @@ This work consists of the file lni.dtx
% In case there are many authors on a paper, they might not fit into the paper.
% For that purpose, additionally use \cs{authorrunning}:
% \begin{examplecode}
-% \authors[Firstname1 Lastname1 \and Firstname2 Lastname2 \and Firstname3 Lastname3]
-% {Firstname1 Lastname1\footnote{...} \and Firstname2 Lastname2\footnote{...} \and
-% Firstname3 Lastname3\footnote{...}}
+% \author[Firstname1 Lastname1 \and Firstname2 Lastname2%
+% \and Firstname3 Lastname3]{Firstname1 Lastname1\footnote{...}%
+% \and Firstname2 Lastname2\footnote{...}%
+% \and Firstname3 Lastname3\footnote{...}}%
% \authorrunning{Lastname1 et al.}
% \end{examplecode}
%
% \subsection{Main text}
% \subsubsection{Headings}
-% \DescribeMacro{\section}\DescribeMacro{\subsection}\DescribeMacro{\subsubsection}
+% \DescribeMacro{\section}\DescribeMacro{\subsection}%
+% \DescribeMacro{\subsubsection}
% You can use the standard macros \cs{section}, \cs{subsection}, \dots{} for
% sectioning your text.
%
@@ -527,9 +555,9 @@ This work consists of the file lni.dtx
% \end{examplecode}
%
% \subsubsection{Listings\,/\,Source code}
-% The \lni{} bundle loads the \pkg{verbatim} and \pkg{listings} package. While the
-% former is there for compatability, the later is the standard way of integrating
-% source code listings into a \LaTeX{} document.
+% The \lni{} bundle loads the \pkg{verbatim} and \pkg{listings} package. While
+% the former is there for compatability, the later is the standard way of
+% integrating source code listings into a \LaTeX{} document.
%
% However, there are currently no config files shipped with the \lni{} bundle.
% Please consult the documentation for help on setting up \pkg{listings} for a
@@ -537,28 +565,27 @@ This work consists of the file lni.dtx
%
% \subsubsection{Math}
% If you need mathematics, you can load \pkg{amsmath} and \pkg{mathtools} for
-% additional features. The \lni{} class offers by default the command \cs{powerset}
-% to render
-% the powerset symbol correctly as $\powerset$ and not as Weierstrass p ($\wp$).
+% additional features. The \lni{} class offers by default the command
+% \cs{powerset} to render the powerset symbol correctly as $\powerset$ and not
+% as Weierstrass p ($\wp$).
%
% \subsection{Bibliography}\label{sec:bibliography}
-% The old \lni{} class file only supports \BibTeX{} with bst files for German and
-% English submissions resp. If you want
-% to use this approach for your article you have to add \cs{bibliography\marg{Bib
-% file}} at an appropriate position within your text. The correct bst file is loaded
-% automatically.
+% \enlargethispage{\baselineskip}The old \lni{} class file only supports \BibTeX{} with bst files for German
+% and English submissions resp. If you want to use this approach for your
+% article you have to add \cs{bibliography\marg{Bib file}} at an appropriate
+% position within your text. The correct bst file is loaded automatically.
%
% With option
% \opt{biblatex} (cf.~\cref{sec:options}) you can easily switch to the modern
-% \pkg{biblatex} package. However, you have to add information on the bib file(s) in
-% your preamble using \cs{addbibresource\marg{Bib file(s)}} and call
-% \cs{printbibliography} where
-% you want the bibliography to appear.
+% \pkg{biblatex} package. However, you have to add information on the bib
+% file(s) in your preamble using \cs{addbibresource\marg{Bib file(s)}} and call
+% \cs{printbibliography} where you want the bibliography to appear.
%
% Please note, that the \lni{} class sets
-% \texttt{biber} as the default bibliography tool. \texttt{biber} is part of both
-% major \TeX{} distributions and can easily be used within most \TeX{} editors,
-% e.\,g. by using special meta data as described in \cref{sec:metadata}.
+% \texttt{biber} as the default bibliography tool. \texttt{biber} is part of
+% both major \TeX{} distributions and can easily be used within most \TeX{}
+% editors, e.\,g. by using special meta data as described in
+% \cref{sec:metadata}.
%
% If you want to pass settings to \pkg{biblatex} you can use a config
% file \texttt{biblatex.cfg}, for additional options please use the macro
@@ -571,7 +598,7 @@ This work consists of the file lni.dtx
% \documentclass[biblatex]{lni}
% ...
% \ExecuteBibliographyOptions{...}
-% \addbibresource{$FILENAME.bib}
+% \addbibresource{FILENAME.bib}
% ...
% \begin{document}
% ...
@@ -589,29 +616,30 @@ This work consists of the file lni.dtx
%
% \begin{itemize}
% \item If the compiler error is\\
-% \texttt{! pdfTeX error (font expansion): auto
-% expansion is only possible with scalable fonts.},\\then you have to install the
+% \texttt{!pdfTeX error (font expansion): auto
+% expansion is only possible with scalable fonts.},\\%
+% then you have to install the
% \pkg{cm-super} package. Afterwards, run \texttt{initexmf --mkmaps} on the
% command line. A longer discussion is available at
% \url{http://tex.stackexchange.com/a/324972/9075}.
% \item If the compiler error is\\
-% \texttt{! LaTeX Error: Command \textbackslash
+% \texttt{!LaTeX Error: Command \textbackslash
% openbox already defined.},\\
% insert\\
% \cs{let}\cs{openbox}\cs{relax} before \cs{usepackage\{amsthm\}}.
% \item If the compiler error is\\
-% \texttt{! Undefined control sequence. l.84
+% \texttt{!Undefined control sequence. l.84
% \textbackslash ulp@afterend},\\
% just clean up (remove \texttt{paper.aux}) and recompile.
% \item If the compiler error is\\
-% \texttt{! Package xkeyval Error: 'family\_i'
+% \texttt{!Package xkeyval Error: 'family\_i'
% undefined in families blx@opt@namepart'.},\\
% it is an indicator that you
-% switched from \BibTeX{} to \pkg{biblatex}. Clean up (remove \texttt{paper.bbl})
-% and recompile.
-% \item Errors with \BibTeX: The bst files may still report errors, although the
-% output is okay. This will be solved as soon as possible. However, you might
-% consider switching to \pkg{biblatex} (cf.~\cref{sec:bibliography}).
+% switched from \BibTeX{} to \pkg{biblatex}. Clean up (remove
+% \texttt{paper.bbl}) and recompile.
+% \item Errors with \BibTeX: The bst files may still report errors, although
+% the output is okay. This will be solved as soon as possible. However, you
+% might consider switching to \pkg{biblatex} (cf.~\cref{sec:bibliography}).
% \end{itemize}
%
% \section{Bugs and feature request}
@@ -658,22 +686,31 @@ This work consists of the file lni.dtx
\newif\ifusebiblatex
\usebiblatexfalse
\DeclareOption{biblatex}{\usebiblatextrue}
+\newif\ifcrop
+\cropfalse
+\DeclareOption{crop}{\croptrue}
\ExecuteOptions{utf8}
\DeclareOption*{\ClassWarning{Option `\CurrentOption` is not supported!}}
\ProcessOptions\relax
-\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\RequirePackage{hyphsubst}
+\HyphSubstIfExists{ngerman-x-latest}%
+ {\HyphSubstLet{ngerman}{ngerman-x-latest}%
+ \ClassInfo{lni}{Using latest German hyphenation patterns}}%
+ {\ClassWarning{lni}{Latest German hyphenation patterns could not be found!%
+ \MessageBreak If you write a German article you should check your%
+ installation}}%
\LoadClass[10pt,twoside,a4paper,fleqn]{article}
\RequirePackage{cmap}
\RequirePackage{inputenc}
\RequirePackage[T1]{fontenc}
-
+%
\iflnienglish
\RequirePackage[ngerman,english]{babel}
\else
\RequirePackage[english,ngerman]{babel}
\fi
-%Hint by http://tex.stackexchange.com/a/321067/9075 -> enable "= as dashes
+% Hint by http://tex.stackexchange.com/a/321067/9075 -> enable "= as dashes
\useshorthands*{"}
\addto\extrasenglish{\languageshorthands{ngerman}}
% \end{macrocode}
@@ -706,23 +743,67 @@ This work consists of the file lni.dtx
% \end{macrocode}
% Satzspiegel
% \begin{macrocode}
-\RequirePackage[
- a4paper,
- total={12.6cm,19.2cm},
- includehead,
- headheight=20.39pt,
- headsep=.31cm,
- centering]
- {geometry}
+\ifcrop
+ \RequirePackage[
+ paperheight=23.5cm,paperwidth=15.5cm,
+ total={12.6cm,19.2cm},
+ includehead,
+ headheight=20.39pt,
+ headsep=.31cm,
+ centering]
+ {geometry}
+ \RequirePackage[a4,center,cam,info]{crop}
+ \renewcommand*\CROP@@info{{%
+ \global\advance\CROP@index\@ne
+ \def\x{\discretionary{}{}{\hbox{\kern.5em---\kern.5em}}}%
+ \advance\paperwidth-20\p@
+ \dimen@4pt
+ \ifx\CROP@pagecolor\@empty
+ \else
+ \advance\dimen@\CROP@overlap
+ \fi
+ \hb@xt@\z@{%
+ \hss
+ \vbox to\z@{%
+ \centering
+ \hsize\paperwidth
+ \vss
+ \normalfont
+ \normalsize
+ \expandafter\csname\CROP@font\endcsname{%
+ ``\jobname''\x
+ \the\@rigyear/\the\month/\the\day\x
+ \CROP@time\x
+ page\kern.5em\thepage\x
+ \#\the\CROP@index
+ \strut
+ }%
+ \vskip\dimen@
+ }%
+ \hss
+ }%
+ }}%
+\else
+ \RequirePackage[
+ total={12.6cm,19.2cm},
+ includehead,
+ headheight=20.39pt,
+ headsep=.31cm,
+ centering]
+ {geometry}
+\fi%
% \end{macrocode}
% \begin{macrocode}
\RequirePackage[autostyle]{csquotes}
\ifusebiblatex
- \RequirePackage[
- backend=biber, % UTF-8 support
- style=LNI, % The GI style - see https://www.ctan.org/pkg/biblatex-lni
- natbib=true % Required for \Citet
- ]{biblatex}[2016-09-15] %at least version 3.6 of biblatex is required.
+ \RequirePackage[%
+ backend=biber,% UTF-8 support
+ style=LNI, % The GI style - see https://www.ctan.org/pkg/biblatex-lni
+ natbib=true % Required for \Citet
+ ]{biblatex}[2016-09-15]% at least version 3.6 of biblatex is required.
+% \end{macrocode}
+% \begin{macro}{\citeauthor}
+% \begin{macrocode}
% Enable hyperlinked authors when using \citeauthor
% Source: http://tex.stackexchange.com/a/75916/9075
\DeclareCiteCommand{\citeauthor}%
@@ -735,6 +816,8 @@ This work consists of the file lni.dtx
\printtext[bibhyperref]{\printnames{labelname}}}%
{\multicitedelim}%
{\usebibmacro{postnote}}%
+% \end{macro}
+% \begin{macrocode}
\fi%
% \end{macrocode}
% \begin{macrocode}
@@ -743,12 +826,14 @@ This work consists of the file lni.dtx
\RequirePackage{fancyhdr}
\RequirePackage{listings}
% \end{macrocode}
+% Ragged bottom -- verhindert die Ausdehnung der Seite = Veränderung der
+% Abstände
% \begin{macrocode}
-% Ragged bottom -- verhindert die Ausdehnung der Seite = Veränderung der Abstände
\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
\global\let\@textbottom\relax}}
-
+% \end{macrocode}
% Seitenzahlen -- Größe der Box
+% \begin{macrocode}
\renewcommand\@pnumwidth{3em}
\renewcommand\@tocrmarg{3.5em}
\def\@dottedtocline#1#2#3#4#5{%
@@ -770,26 +855,39 @@ This work consists of the file lni.dtx
\par}%
\fi}
% \end{macrocode}
+% \begin{macro}{\title}
% \begin{macrocode}
\renewcommand{\title}{\@dblarg\@@title}
\def\@@title[#1]#2{\gdef\@shorttitle{#1}\gdef\@title{#2}}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\subtitle}
+% \begin{macrocode}
+\newcommand{\@subtitle}{}
+\newcommand{\subtitle}[1]{\gdef\@subtitle{#1}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\author}
% \begin{macrocode}
\renewcommand{\author}{\@dblarg\@@author}
\def\@@author[#1]#2{\gdef\@shortauthor{{\let\footnote\@gobble%
\def\and{\unskip,\ }#1}}\gdef\@author{#2}}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\authorrunning}
% \begin{macrocode}
-\newcommand{\authorrunning}[1]{\fancyhead[LE]{\hspace{0.05cm}\small\thepage\hspace{5pt}#1}}
+\newcommand{\authorrunning}[1]{%
+ \fancyhead[LE]{\hspace{0.05cm}\small\thepage\hspace{5pt}#1}}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\email}
% \begin{macrocode}
\newcommand*{\email}[1]{{\urlstyle{same}\protect\url{#1}}}
% \end{macrocode}
-% \begin{macrocode}
+% \end{macro}
% Title: Kopie aus article.cls mit anderem \thispagestyle
+% \begin{macrocode}
\renewcommand\maketitle{\par%
-% Keine Vertikale Einrückung über dem Titel auf der Titelseite
-%\changepage{0mm}{0mm}{0mm}{0mm}{0mm}{0.56cm}{0mm}{0mm}{0mm}
\begingroup
\renewcommand\thefootnote{\@arabic\c@footnote}%
\def\@makefnmark% keine Einrückung der Fußnoten eingestellt
@@ -836,7 +934,11 @@ This work consists of the file lni.dtx
\vskip -24pt% Abstand vor dem Titel
\raggedright % Linksbündig
\let\footnote\thanks
- {\fontsize{14}{17}\fontseries{b}\selectfont \@title \par}%
+ {\fontsize{14}{17}\fontseries{b}\selectfont\@title\par}%
+ \ifx\@subtitle\empty\else
+ \vskip 16pt
+ {\fontsize{10}{12}\fontseries{b}\selectfont\@subtitle}
+ \fi%
\vskip 19pt% Abstand nach dem Titel
{\fontsize{10}{12}\selectfont
\lineskip .5em%
@@ -845,24 +947,30 @@ This work consists of the file lni.dtx
\vskip 28pt% Abstand vor dem Abstract
\end{center}%
\par
-}
+}%
% \end{macrocode}
+% \begin{environment}{abstract}
% \begin{macrocode}
-% Abstract
\renewenvironment*{abstract}{%
\renewcommand{\abstractname}{Abstract}
\fontsize{9}{10}\selectfont
- \noindent\ignorespaces{\bfseries \abstractname:\ }%
+ \noindent\ignorespaces{\bfseries\abstractname:\ }%
}{\endquotation}
% \end{macrocode}
+% \end{environment}
+% \begin{environment}{keywords}
% \begin{macrocode}
-% Keywords
\newif\ifkeywords
-\newenvironment{keywords}{\global\keywordstrue\fontsize{9}{10}\selectfont
- \noindent\ignorespaces{\bfseries Keywords:\ }}{\global\keywordsfalse}
+\newenvironment{keywords}%
+ {\global\keywordstrue\fontsize{9}{10}\selectfont%
+ \def\and{\unskip;\space}%
+ \noindent\ignorespaces{\bfseries Keywords:\ }}%
+ {\global\keywordsfalse}
\let\@RIGsection\section
-\pretocmd\@startsection{\ifkeywords\ClassError{lni}{keywords is an environment, not a macro}{Please change \string\keywords to an environment}\keywordsfalse\fi}{}{}
+\pretocmd\@startsection{\ifkeywords\ClassError{lni}{keywords is an environment, not a macro}%
+ {Please change \string\keywords\space to an environment}\keywordsfalse\fi}{}{}
% \end{macrocode}
+% \end{environment}
% Section headings
% \begin{macrocode}
\renewcommand{\section}{\@startsection{section}{1}{\z@}%
@@ -887,7 +995,7 @@ This work consists of the file lni.dtx
\fi}
\vskip\belowcaptionskip}
% \end{macrocode}
-% Abbildungen
+% Take care of floats
% \begin{macrocode}
\def\fps@figure{htbp}
\def\fnum@figure{\figurename~\thefigure}
@@ -896,46 +1004,45 @@ This work consists of the file lni.dtx
\small
\@setnobreak
\@setminipage
-}
+}%
\setcounter{topnumber}{10}% maximale Anzahl gleitender Objekte am Seitenanfang
\setcounter{bottomnumber}{10}% maximale Anzahl gleitender Objekte am Seitenende
\renewcommand{\topfraction}{1.0}% Anteil den gleitende Objekte am Seitenanfang einnehmen dürfen
\renewcommand{\bottomfraction}{1.0}% Anteil den gleitende Objekte am Seitenende einnehmen dürfen
% \end{macrocode}
-% Tabellen
+% Tables
% \begin{macrocode}
\def\fps@table{htbp}
\def\fnum@table{\tablename~\thetable}
\renewcommand{\arraystretch}{1.1}%Abstand zu Linien in Tabelle
\renewenvironment{table}
- {\setlength\abovecaptionskip{6\p@}%
- \setlength\belowcaptionskip{0\p@}%
- \@float{table}}
- {\end@float}
+ {\setlength\abovecaptionskip{6\p@}%
+ \setlength\belowcaptionskip{0\p@}%
+ \@float{table}}%
+ {\end@float}%
\renewenvironment{table*}
- {\setlength\abovecaptionskip{6\p@}%
- \setlength\belowcaptionskip{0\p@}%
- \@dblfloat{table}}
- {\end@dblfloat}
+ {\setlength\abovecaptionskip{6\p@}%
+ \setlength\belowcaptionskip{0\p@}%
+ \@dblfloat{table}}%
+ {\end@dblfloat}%
% \end{macrocode}
-% Gleichungen mit richtiger Einrückung, 0.5cm
-% fleqn-Option oben
+% Indention for equations with fleqn option
% \begin{macrocode}
\setlength{\mathindent}{0.5cm}
% \end{macrocode}
-% listings mit richtiger einrückung, 0.5 cm
+% Indention for verbatim listings
% \begin{macrocode}
\RequirePackage{verbatim}
\def\verbatim@processline{\hskip0.5cm\the\verbatim@line\par}
% \end{macrocode}
+% Set rule width und correct size
% \begin{macrocode}
-% Fussnoten mit 5cm Linie und richtiger Größe
\renewcommand\footnoterule{%
\kern-3\p@
\hrule\@width 5cm
\kern2.6\p@}
- \newdimen\fnindent
- \fnindent0.18cm
+\newdimen\fnindent
+\fnindent0.18cm
\long\def\@makefntext#1{%
\parindent \fnindent%
\leftskip \fnindent% Einrückung vor der footnotemark
@@ -943,11 +1050,10 @@ This work consists of the file lni.dtx
\llap{\hb@xt@0.10cm{\hss\@makefnmark\ }}\ignorespaces#1}
% \end{macrocode}
% \begin{macrocode}
-% Absatzeinzüge und Abstände
\setlength{\parindent}{0pt}
\setlength{\parskip}{8pt}
% \end{macrocode}
-% Aufzählungen mit Punkt
+% Set symbols for itemize
% \begin{macrocode}
\renewcommand{\labelitemi}{$\bullet$}
\renewcommand*\itemize{%
@@ -963,7 +1069,7 @@ This work consists of the file lni.dtx
\setlength{\parsep}{-2pt}}%
\fi}
% \end{macrocode}
-% Nummierierte Aufzählung
+% and numbered lists
% \begin{macrocode}
\renewcommand{\labelenumii}{\alph{enumii})}
\renewcommand*\enumerate{%
@@ -982,17 +1088,21 @@ This work consists of the file lni.dtx
\setlength{\labelsep}{0.6cm} %Einrückung des Aufzählungszeichens
\setlength{\itemsep}{8pt}%
\setlength{\parsep}{-2pt}}
- }
+ }%
% \end{macrocode}
+% \begin{macro}{\andname}
% \begin{macrocode}
\newcommand{\andname}{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
\addto\captionsngerman{%
\renewcommand{\andname}{und}%
\renewcommand{\figurename}{Abb.}%
\renewcommand{\tablename}{Tab.}%
\renewcommand{\lstlistingname}{List.}
\renewcommand{\refname}{Literaturverzeichnis}
-}
+}%
% \end{macrocode}
% \begin{macrocode}
\addto\captionsenglish{%
@@ -1000,19 +1110,25 @@ This work consists of the file lni.dtx
\renewcommand{\figurename}{Fig.}%
\renewcommand{\tablename}{Tab.}%
\renewcommand{\lstlistingname}{List.}
-}
+}%
% \end{macrocode}
+% \begin{macro}{\startpage}
% \begin{macrocode}
\newcommand*{\startpage}[1]{\setcounter{page}{#1}}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\booktitle}
% \begin{macrocode}
\newcommand*{\@booktitle}{}
\newcommand*{\booktitle}[1]{\renewcommand{\@booktitle}{#1}}
% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\editor}
% \begin{macrocode}
\newcommand*{\@editor}{}
\newcommand*{\editor}[1]{\renewcommand{\@editor}{#1}}
% \end{macrocode}
+% \end{macro}
% \begin{macrocode}
\AtBeginDocument{%
\let\@rigyear\year
@@ -1022,7 +1138,7 @@ This work consists of the file lni.dtx
}%
}%
% \end{macrocode}
-% Kopfzeileneinstellungen
+% set-up for header and footer
% \begin{macrocode}
\fancypagestyle{plain}{%
\fancyhead{} % Löscht alle Kopfzeileneinstellungen
@@ -1032,9 +1148,7 @@ This work consists of the file lni.dtx
\fancyhead[LE]{\small\@editor~(Hrsg.):\ \@booktitle,\linebreak\hspace{0.05cm}\thepage\hspace{5pt} Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn~\@year}
\fancyfoot{} % Löscht alle Fußzeileneinstellungen
\renewcommand{\headrulewidth}{0.4pt} %Linie unter Kopfzeile
-}
-% \end{macrocode}
-% \begin{macrocode}
+}%
\pagestyle{fancy}
\fancyhead{} % Löscht alle Kopfzeileneinstellungen
\fancyhead[RO]{\small\@shorttitle\hspace{5pt}\thepage\hspace{0.05cm}}
@@ -1072,8 +1186,11 @@ This work consists of the file lni.dtx
\usepackage[ngerman,nameinlink]{cleveref}
\fi%
\crefname{figure}{\figurename}{\figurename}
+ \Crefname{figure}{\figurename}{\figurename}
\crefname{listing}{\lstlistingname}{\lstlistingname}
+ \Crefname{listing}{\lstlistingname}{\lstlistingname}
\crefname{table}{\tablename}{\tablename}
+ \Crefname{table}{\tablename}{\tablename}
\fi%
% \end{macrocode}
% enables correct jumping to figures when referencing
@@ -1117,9 +1234,18 @@ This work consists of the file lni.dtx
\endlist\egroup}
% \end{macrocode}
% \begin{macrocode}
-\frenchspacing % Abstand nach Satzende
-\widowpenalty=10000 % Vermeidet "widows & orphans"
-\clubpenalty=10000
+\frenchspacing
+\tolerance 1414
+\hbadness 1414
+\emergencystretch 1.5em
+\hfuzz 0.3pt
+\widowpenalty=10000
+\displaywidowpenalty=10000
+\clubpenalty=9999
+\interfootnotelinepenalty=9999
+\brokenpenalty=2000
+\vfuzz \hfuzz
+\raggedbottom
% \end{macrocode}
% \begin{macrocode}
%</class>
@@ -2548,32 +2674,32 @@ EXECUTE {end.bib}
%%% Mehrere Autoren werden durch \and voneinander getrennt.
%%% Die Fußnote enthält die Adresse sowie eine E-Mail-Adresse.
%%% Das optionale Argument (sofern angegeben) wird für die Kopfzeile verwendet.
-\author[Vorname1 Name1\and Vorname2 Name2]
-{Vorname1 Nachname1\footnote{Einrichtung/Universität, Abteilung, Anschrift, Postleitzahl Ort, \email{emailadresse@author1}}\and
- Vorname2 Nachname2\footnote{Einrichtung/Universität, Abteilung, Anschrift, Postleitzahl Ort, \email{emailadresse@author2}}
- und weitere Autorinnen und Autoren in der gleichen Notation}
-%
-\title[Kurztitel (falls nötig)]{Titel}
-%
-\startpage{11}% Beginn der Seitenzählung für diesen Beitrag
-\editor{Herausgeber et al.}
-\booktitle{Name-der-Konferenz}
+\title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen
+Worten und noch mehr Buchstaben}
+%%%\subtitle{Untertitel / Subtitle} % if needed
+\author[Vorname1 Nachname1 \and Firstname2 Lastname2]
+{Vorname1 Nachname1\footnote{Universität, Abteilung, Straße, Postleitzahl Ort,
+Land \email{emailaddress@author1}} \and
+Firstname2 Lastname2\footnote{University, Department, Address, Country
+\email{emailaddress@author2}}}
+\startpage{11} % Beginn der Seitenzählung für diesen Beitrag / Start page
+%numbering at this number
+\editor{Herausgeber et al.} % Names of Editors
+\booktitle{Name-der-Konferenz} % Name of book title
\year{2017}
\maketitle
\begin{abstract}
-Hier kommt die Zusammenfassung hin
-Add your abstract here
+Zusammenfassung / Some abstract
\end{abstract}
\begin{keywords}
-Hier kommen die Keywords hin
-Add your keywords here
+Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2
\end{keywords}
%%% Beginn des Artikeltexts
-\section{Überschrift}
+\section{Überschrift/Heading}
-%%% Angabe der .bib-Datei (ohne Endung)
-\bibliography{mybibfile}
+%%% Angabe der .bib-Datei (ohne Endung) / State .bib file (for BibTeX usage)
+\bibliography{mybibfile} %\printbibliography if you use biblatex/Biber
\end{document}
%</template>
% \end{macrocode}