% Teckids e.V. — Allgemeine Vorlage, Version 2 %- % Copyright © 2013, 2015 % Dominik George <dominik.george@teckids.org> % Copyright © 2014, 2015, 2017, 2018, 2020, 2024 % Thorsten “mirabilos” Glaser <thorsten.glaser@teckids.org> % Copyright © 2015, 2016, 2017, 2019 % Thorsten Glaser <t.glaser@tarent.de> % % Provided that these terms and disclaimer and all copyright notices % are retained or reproduced in an accompanying document, permission % is granted to deal in this work without restriction, including un‐ % limited rights to use, publicly perform, distribute, sell, modify, % merge, give away, or sublicence. % % This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to % the utmost extent permitted by applicable law, neither express nor % implied; without malicious intent or gross negligence. In no event % may a licensor, author or contributor be held liable for indirect, % direct, other damage, loss, or other issues arising in any way out % of dealing in the work, even if advised of the possibility of such % damage or existence of a defect, except proven that it results out % of said person's immediate fault when using the work as intended. % Characters requiring escaping: % • { } # & _ % $ ⇒ quote by prepending a backslash \ % • \ → \textbackslash % • ^ → \textasciicircum % • ~ → \textasciitilde % • (nbsp) → ~ % • (em dash) → \dash \NeedsTeXFormat{LaTeX2e}% \ProvidesPackage{teckids2style}[2024/06/11 1.19 Teckids TeX/LaTeX style, second epoch]% for Tₑχ/LᴬTᴇΧ \RequirePackage{accsupp}% \RequirePackage[utf8]{inputenc}% \RequirePackage[british,ngerman,shorthands=off,safe=none,math=normal,main=ngerman,headfoot=ngerman,hyphenmap=other*]{babel}% \RequirePackage[usenames,dvipsnames,table]{xcolor}% \RequirePackage[LY1,TS1,T1]{fontenc}% \RequirePackage{pdf14}% \RequirePackage[paperwidth=21truecm,paperheight=29.7truecm,includehead,hmargin=1.75cm,top=0.3cm,bottom=2.2cm,headheight=1cm,headsep=0.5cm,footskip=0.8cm,marginparsep=2.5mm]{geometry}% \RequirePackage{fancybox}% \linespread{1.15}% \RequirePackage[varqu,varl]{inconsolata}% \RequirePackage{longtable}% \RequirePackage{tabu}% \RequirePackage{multirow}% \renewcommand{\multirowsetup}{}% \RequirePackage{wrapfig}% \setlength{\intextsep}{0pt}% see also \teckidsgeometry below \RequirePackage{intcalc}% \RequirePackage[writefile]{listings}% \RequirePackage{float}% \RequirePackage[totpages,user]{zref}% \RequirePackage{calc}% \RequirePackage{ifthen}% \RequirePackage[noadjust]{marginnote}% \RequirePackage{unicodedomino}% \RequirePackage{unicodepoints}% \RequirePackage[encoding,filenameencoding=utf8]{grffile}% \RequirePackage{framed}% \RequirePackage[export]{adjustbox}% \ifcsname RedeclareSectionCommand\endcsname% (nicht in Briefen) \RequirePackage[section]{placeins}% \fi% \RequirePackage[pdftex,unicode]{hyperref}% % Debian stretch compatibility glue \ifx\f@nch@setoffs\@undefined% \let\f@nch@setoffs\fancy@setoffs% \fi% % tabu vs. longtable compatibility glue \@ifpackagelater{longtable}{2020/01/08}{% \PackageWarning{teckids2style}{% longtable newer than v4.13, applying\MessageBreak LT gbox hack% }% % % https://github.com/tabu-issues-for-future-maintainer/tabu/issues/26 % \def\tabuendlongtrial{% \LT@echunk \global\setbox\LT@gbox \hbox{\unhbox\LT@gbox}\kern\wd\LT@gbox \LT@get@widths }% }{}% \@ifpackagelater{longtable}{2021/04/18}{}{% \PackageWarning{teckids2style}{% longtable older than v4.15, applying\MessageBreak underfull vbox hack% }% % % bugfix for "Underfull \vbox (badness 10000) detected" of longtable / longtabu, see: % https://tex.stackexchange.com/a/71121 % \def\LT@start{% \let\LT@start\endgraf \endgraf\penalty\z@\vskip\LTpre \dimen@\pagetotal \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi \advance\dimen@ \ht\LT@foot \edef\restore@vbadness{\vbadness\the\vbadness\relax}% (added) \vbadness=\@M% (added) \dimen@ii\vfuzz \vfuzz\maxdimen \setbox\tw@\copy\z@ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox \setbox\tw@\vbox{\unvbox\tw@}% \vfuzz\dimen@ii \restore@vbadness% (added) \advance\dimen@ \ht \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi \advance\dimen@\dp \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi \advance\dimen@ -\pagegoal \ifdim \dimen@>\z@\vfil\break\fi \global\@colroom\@colht \ifvoid\LT@foot\else \advance\vsize-\ht\LT@foot \global\advance\@colroom-\ht\LT@foot \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ \maxdepth\z@ \fi \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak \output{\LT@output}% }% }% \definecolor{teckidsorangedark}{HTML}{FF6600}% \definecolor{teckidsorangelight}{HTML}{FF9955}% \definecolor{teckidsbluegradientlight}{HTML}{00CBFA}% \definecolor{teckidsbluegradientdark}{HTML}{0606FA}% \definecolor{teckidsbluestroke}{HTML}{005EBE}% \definecolor{teckidsSTYlstbackground}{HTML}{E6E6E6}% \definecolor{teckidsSTYlstlineno}{HTML}{444444}% \definecolor{teckidsSTYlstmargin}{HTML}{707070}% \definecolor{teckidsSTYroyalblue}{HTML}{002366}% \newcommand{\teckidslogo}[1][10cm]{\includegraphics[width=#1]{teckids_logo}}% \newcolumntype{Y}{>{\strut\hspace{0pt}}X<{\nolinebreak\hspace{0pt}\strut}}% \newcolumntype{Z}[1]{>{\strut\hspace{0pt}}X[#1]<{\nolinebreak\hspace{0pt}\strut}}% \tabucolumn Y% \tabucolumn Z% \hypersetup{ colorlinks = true, linkcolor = teckidsSTYroyalblue, urlcolor = teckidsSTYroyalblue, citecolor = teckidsSTYroyalblue, pdfauthor = {Teckids e.V.} }% % Set default page style \pagestyle{fancy}% \addtokomafont{pageheadfoot}{\upshape}% \addtokomafont{pagenumber}{\itshape}% % Bitte gerne neudefinieren, zum Beispiel… \newcommand{\dokumentLizenzlogo}{}% \newcommand{\dokumentLizenztext}{% Freies Material unter einer Freien Lizenz\linebreak% Für Details kontaktieren Sie bitte den Teckids~e.V.% }% % … hiermit: \newcommand{\dokumentLizenzCCBYSAthreeDE}{% \renewcommand{\dokumentLizenzlogo}{% % see https://creativecommons.org/licenses/by-sa/3.0/de/ \includegraphics[width=3cm,valign=t]{cc-by-sa}% }% \renewcommand{\dokumentLizenztext}{% Veröffentlicht unter der \textit{Creative Commons Namensnennung \dash\linebreak% Weitergabe unter gleichen Bedingungen 3.0 Deutschland} Lizenz.% }% }% \newcommand{\dokumentLizenzCCBYSAfour}{% \renewcommand{\dokumentLizenzlogo}{% % see https://creativecommons.org/licenses/by-sa/4.0/ \includegraphics[width=3cm,valign=t]{cc-by-sa}% }% \renewcommand{\dokumentLizenztext}{% Veröffentlicht unter der \textit{Creative Commons Namensnennung \dash\linebreak% Weitergabe unter gleichen Bedingungen 4.0 International} Lizenz.% }% }% \newcommand{\dokumentLizenzLGPLorCCBYSAfour}{% \dokumentLizenzCCBYSAfour{}% \renewcommand{\dokumentLizenztext}{% Duallizensiert unter GNU~LGPL~2.0 (oder neuer) und CC-BY-SA~4.0.% }% }% \newcommand{\dokumentLizenzMirOS}{% \renewcommand{\dokumentLizenzlogo}{% \mbox{% \makebox(0,0){\hspace{1em}\LARGE ✓}\hspace{2em}\makebox[0pt]{% \raisebox{-1.5\height}{\hspace{-0.75em}\textsc{copy}}% }\raisebox{-0.2\height}{\tiny\hspace{-2em}OK to}% }% }% \renewcommand{\dokumentLizenztext}{% Veröffentlicht unter der MirOS-Lizenz.% }% }% \newcommand{\dokumentLizenzMirOSorCCBYfour}{% \dokumentLizenzMirOS{}% \renewcommand{\dokumentLizenztext}{% Duallizensiert unter der MirOS-Lizenz und CC-BY~4.0.% }% }% \newcommand{\dokumentLizenzCCBYfour}{% \renewcommand{\dokumentLizenzlogo}{% % see https://creativecommons.org/licenses/by/4.0/ \includegraphics[width=3cm,valign=t]{cc-by}% }% \renewcommand{\dokumentLizenztext}{% Veröffentlicht unter der \textit{Creative Commons \dash Namensnennung 4.0} Lizenz.\hspace{1cm}% (hspace is a hack) }% }% % Syntax: \teckidshdr[2017 Name,]{Dokumenttitel} \newcommand{\teckidshdr}[2][]{% \fancyhf{}% \renewcommand{\headrulewidth}{0pt}% \renewcommand{\footrulewidth}{1pt}% \renewcommand*\pagemark{\leavevmode\usekomafont{pagenumber}\ifnum\ztotpages=1\else\thepage/\ztotpages\fi}% \fancyhead[L]{\leavevmode\usekomafont{pageheadfoot}\itshape\Large #2}% \fancyhead[R]{\leavevmode\usekomafont{pageheadfoot}\pagemark}% \fancyfoot[L]{\leavevmode\usekomafont{pageheadfoot}\dokumentLizenzlogo}% \fancyfoot[C]{\leavevmode\usekomafont{pageheadfoot}{\footnotesize% \textcopyright~#1~Teckids~e.V.\linebreak% \dokumentLizenztext% }}% \fancyfoot[R]{\leavevmode\usekomafont{pageheadfoot}% \includegraphics[width=4cm,valign=t]{teckids_logo}% }% }% \teckidshdr{\headmark}% % Stuff to do at geometry changes \def\teckidsgeometry{\@ifnextchar[\teckidsgeometry@BT\teckidsgeometry@BF}% \def\teckidsgeometry@BT[#1]{% \geometry{#1}% \teckidsgeometry@BF% }% \def\teckidsgeometry@BF{% % restore lengths damaged during geometry change \setlength{\intextsep}{0pt}% % tell fancyhdr to redo its geometry calculations \f@nch@setoffs% }% % run it initially \teckidsgeometry% % Hurenkinder und Schusterjungen \clubpenalty10000% \widowpenalty10000% \displaywidowpenalty=10000% % Zu lange Zeilen \emergencystretch 5em% % Allgemeine Einstellungen \DeclareGraphicsExtensions{.pdf,.png,.jpg}% \unitlength=1mm% \setlength{\parskip}{0.3cm plus 5mm minus 1mm}% \setlength{\parindent}{0cm}% % Extra-Befehle \newcommand{\ankreuzen}{Bitte zum Beispiel so → \CheckedBox\hspace{0.05cm} ← ankreuzen!}% \newcommand{\angekreuzteskaestchen}{\CheckedBox\hspace{0.1cm}}% \newcommand{\ankreuzkaestchen}{\Square\hspace{0.1cm}}% % Inhaltsverzeichnis (nicht in Briefen) \ifcsname RedeclareSectionCommand\endcsname% \addtocontents{toc}{\protect\thispagestyle{fancy}}% \RedeclareSectionCommand[tocbeforeskip=10pt plus 4pt minus 2pt]{section} \RedeclareSectionCommand[tocnumwidth=2.8em]{subsection} \RedeclareSectionCommand[tocindent=4.3em]{subsubsection} % when calling, ensure blank line before and after! \newcommand{\inhaltsverzeichnis}{% \hypersetup{linkcolor = black}% % deliberately no % at end of line! \tableofcontents \hypersetup{linkcolor = teckidsSTYroyalblue}% % deliberately no % at end of line! \newpage }% \fi% % Listings \newcounter{lstdumps}% \setcounter{lstdumps}{0}% \newcommand{\lstdumpname}{}% \xdef\lstdumpsection{\@empty}% \lstnewenvironment{lstdump}[3][]% {\lst@TestEOLChar{#3}% \lstset{#1}% \csname\@lst @SetFirstNumber\endcsname% \stepcounter{lstdumps}% \marginnote{{\LARGE\color{teckidsSTYlstmargin}\thelstdumps}}[4pt]% \renewcommand{\lstdumpname}{ (#2)}% \lst@BeginAlsoWriteFile{\jobname.lst}% \ifx\lstdumpsection\@currentlabel\else% \ifx\lstdumpsection\@empty% \immediate\write\lst@WF{Listing dump for \jobname.tex}% \immediate\write\lst@WF{}% \fi% \immediate\write\lst@WF{>>> (\@currentlabel) \@currentlabelname}% \immediate\write\lst@WF{}% \fi% \immediate\write\lst@WF{-----BEGIN LISTING \thelstdumps\lstdumpname-----}% }% {% \immediate\write\lst@WF{-----END LISTING \thelstdumps\lstdumpname-----}% \immediate\write\lst@WF{}% \endgroup% \csname\@lst @SaveFirstNumber\endcsname% \xdef\lstdumpsection{\@currentlabel}% }% \lstnewenvironment{lstdump*}[3][]% {\lst@TestEOLChar{#3}% \lstset{#1}% \csname\@lst @SetFirstNumber\endcsname% \renewcommand{\lstdumpname}{"#2"}% \lst@BeginAlsoWriteFile{\jobname.lst}% \ifx\lstdumpsection\@currentlabel\else% \ifx\lstdumpsection\@empty% \immediate\write\lst@WF{Listing dump for \jobname.tex}% \immediate\write\lst@WF{}% \fi% \immediate\write\lst@WF{>>> (\@currentlabel) \@currentlabelname}% \immediate\write\lst@WF{}% \fi% \immediate\write\lst@WF{-----BEGIN LISTING \lstdumpname-----}% }% {% \immediate\write\lst@WF{-----END LISTING \lstdumpname-----}% \immediate\write\lst@WF{}% \endgroup% \csname\@lst @SaveFirstNumber\endcsname% \xdef\lstdumpsection{\@currentlabel}% }% \lstnewenvironment{lstdumpx}[2][]% {\lst@TestEOLChar{#2}% \lstset{#1}% \csname\@lst @SetFirstNumber\endcsname% \stepcounter{lstdumps}% \marginnote{{\LARGE\color{teckidsSTYlstmargin}\thelstdumps}}[4pt]% \renewcommand{\lstdumpname}{ [unnamed]}% \lst@BeginAlsoWriteFile{\jobname.lst}% \ifx\lstdumpsection\@currentlabel\else% \ifx\lstdumpsection\@empty% \immediate\write\lst@WF{Listing dump for \jobname.tex}% \immediate\write\lst@WF{}% \fi% \immediate\write\lst@WF{>>> (\@currentlabel) \@currentlabelname}% \immediate\write\lst@WF{}% \fi% \immediate\write\lst@WF{-----BEGIN LISTING \thelstdumps\lstdumpname-----}% }% {% \immediate\write\lst@WF{-----END LISTING \thelstdumps\lstdumpname-----}% \immediate\write\lst@WF{}% \endgroup% \csname\@lst @SaveFirstNumber\endcsname% \xdef\lstdumpsection{\@currentlabel}% }% % usage: \lstdumpesc[file]{pdf} or \lstdumpesc{bothfileandpdf} \def\lstdumpesc{\@ifnextchar[{\lstdumpesc@two}{\lstdumpesc@one}}% \def\lstdumpesc@one#1{\lst@WFAppend{#1}#1}% \def\lstdumpesc@two[#1]#2{\lst@WFAppend{#1}#2}% \lstset{ backgroundcolor=\color{teckidsSTYlstbackground}, breakatwhitespace=true, rulecolor=\color{black}, basicstyle=\ttfamily, upquote=true, keepspaces, literate= {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1 {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1 {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1 {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1 {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1 {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1 {œ}{{\oe}}1 {Œ}{{\OE}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {å}{{\r a}}1 {Å}{{\r A}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {©}{{\textcopyright}}1 {™}{\texttrademark}1 {§}{\S}1 {£}{{\pounds}}1 {°}{\textdegree{}}1 {„}{{\quotedblbase}}1 {“}{{\textquotedblleft}}1 {”}{{\textquotedblright}}1 {‘}{{\textquoteleft}}1 {’}{{\textquoteright}}1 {«}{\guillemotleft}1 {»}{\guillemotright}1 {€}{{\fontencoding{LY1}\selectfont\symbol{'001}}}1 {}{-}1 {‐}{-}1 {‑}{-}1 {‒}{-}1 {–}{-}1 {—}{-}1 {―}{-}1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 { }{ }1 {…}{{\fontencoding{LY1}\selectfont\symbol{'205}}}1, columns=flexible, showstringspaces=false, extendedchars=true, breaklines=true, prebreak=\unicodepoints@flipsym{\color{red}\ding{229}}, frame=single, showtabs=false, showspaces=false, showstringspaces=false, escapeinside={〈}{〉}, keywordstyle=\color{teckidsbluestroke}, commentstyle=\color{ForestGreen}, stringstyle=\color{teckidsorangedark}, % für 〔Paßwörter〕 und 「variable Texte」 in Listings % (wird bei Benutzung der language-Option in einem Listing entfernt) moredelim={[is][\color{ForestGreen}]{〔}{〕}}, moredelim={*[is][\color{teckidsorangedark}]{「}{」}}, % Zeilennummern numbers=left, numberstyle=\ttfamily\color{teckidsSTYlstlineno}, xleftmargin=24pt, numbersep=12pt, }% % Use pxfonts by default \renewcommand{\sfdefault}{pxss}% % sans-serif fonts should not use italic as emphasis \renewcommand{\emph}[1]{\textbf{#1}}% % Use Comic Sans MS as “roman” font, because we have to use the % sans-serif font always, and like this, we spot errors easily \renewcommand{\rmdefault}{comic}% % default font is sans-serif, i.e. pxfonts \renewcommand*{\familydefault}{\sfdefault}% % em dash \def\dash{\unskip\kern.16667em\textemdash\penalty\exhyphenpenalty\hskip.16667em\relax}% % for footnotes \newcommand{\Hair}{\unskip\kern.16667em}% % for lead paragraph before IT-Mieze \newcommand{\keinumbruch}{\par\nobreak\@afterheading}% % fbox and ovalbox line will be inside the box \setlength{\fboxsep}{-2\fboxrule}% % to calculate horizontal padding inside the frame \newdimen{\inlinebildsep}% % to store dimensions of box without padding \newsavebox{\inlinebildbox}% % for nice inline pictures in boxen with rounded corners \newcommand{\inlinebild}[2][\@empty]{% % first, generate a box with square content and w/o padding \savebox{\inlinebildbox}{\ovalbox{\strut\hspace{1.25ex}}}% % get its real height (Teχ height + depth) \inlinebildsep=\ht\inlinebildbox% \advance\inlinebildsep by \dp\inlinebildbox% % subtract its real width \advance\inlinebildsep by -\wd\inlinebildbox% % we want half of it on either side \divide\inlinebildsep by 2% % now render the actual box \ovalbox{% % left padding \hspace{\inlinebildsep}% % ensure standard height \strut% % the graphic \resizebox{!}{1.25ex}{\includegraphics{#2}}% % the text, if any \ifx#1\@empty\else{ #1}\fi% % right padding \hspace{\inlinebildsep}% }}% % for nice inline boxen with square corners \newcommand{\inlinekasten}[1]{% % first, generate a box with square content and w/o padding \savebox{\inlinebildbox}{\fbox{\strut\hspace{1.25ex}}}% % get its real height (Teχ height + depth) \inlinebildsep=\ht\inlinebildbox% \advance\inlinebildsep by \dp\inlinebildbox% % subtract its real width \advance\inlinebildsep by -\wd\inlinebildbox% % we want half of it on either side \divide\inlinebildsep by 2% % now render the actual box \fbox{% % left padding \hspace{\inlinebildsep}% % ensure standard height \strut% % the text #1% % right padding \hspace{\inlinebildsep}% }}% % \hyperfootnotetext is what \footnotetext is supposed to be: % like \footnote except not rendering anything (it will not % generate a paragraph if you append % to all lines) \newcommand\hyperfootnotetext[1]{% % new local scope {% % temporarily redefine this macro to empty \renewcommand{\@makefnmark}{}% % temporarily prevent leaving vmode \renewcommand{\leavevmode}{}% % this also means we cannot create a(n empty) hyperlink \renewcommand{\hyper@linkstart}[2]{}% \renewcommand{\hyper@linkend}{}% % call the original \footnote macro \footnote{#1}% % exit the local scope with the redefined macro }% % end of command }% % Berichtskopf mit Titel und Logo, Normalfall \newcommand{\teckidshead}[1]{% \begin{minipage}[c]{.5\linewidth}\centering\Large\textbf{#1}\end{minipage} \hfill% \begin{minipage}[c]{.4\linewidth}\teckidslogo[\linewidth]\end{minipage} }% % Berichtskopf mit Titel und Logo, Sonderfall (mehrzeiliger Text) \newcommand{\teckidsheadleft}[1]{% \begin{minipage}[c]{.5\linewidth}\Large\textbf{#1}\end{minipage} \hfill% \begin{minipage}[c]{.4\linewidth}\teckidslogo[\linewidth]\end{minipage} }% % use \begin{autosizedbibliography} % to auto-detect the widest reference label \gdef\bibitem@longest{1}% \AtEndDocument{\immediate\write\@auxout{\gdef\noexpand\bibitem@longest{\bibitem@longest}}}% \newenvironment{autosizedbibliography}{% \begin{thebibliography}{\bibitem@longest}% }{% \end{thebibliography}% }% \let\bibitem@stock\bibitem% \newcommand{\bibitem@sizer}[2][]{% \settowidth\@tempdimb{\@biblabel{#1}}% \settowidth\@tempdima{\@biblabel{\bibitem@longest}}% \ifdim\@tempdima<\@tempdimb% \gdef\bibitem@longest{#1}% \fi% \bibitem@stock[#1]{#2}% }% % now \bibitem{foo} = \bibitem[foo]{foo} \renewcommand{\bibitem}{\@dblarg\bibitem@sizer}% % uncomment to figure out overfull hbox %\overfullrule=2cm