diff options
Diffstat (limited to 'macros/latex/contrib/l3kernel/l3news.tex')
-rw-r--r-- | macros/latex/contrib/l3kernel/l3news.tex | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/macros/latex/contrib/l3kernel/l3news.tex b/macros/latex/contrib/l3kernel/l3news.tex new file mode 100644 index 0000000000..1c1b9eed79 --- /dev/null +++ b/macros/latex/contrib/l3kernel/l3news.tex @@ -0,0 +1,157 @@ +% Copyright 2019 The LaTeX3 Project + +\providecommand*{\lastissue}{12} + +\documentclass{ltnews} + +\AtBeginDocument{% + \renewcommand{\LaTeXNews}{\LaTeX3~News}% + \RaggedRight + \setlength\parindent{1em}% +} +\usepackage{catchfile} +\usepackage{csquotes} +\usepackage{enumitem} +\usepackage{fancyvrb} +\usepackage{hologo} +\usepackage{metalogo} +\usepackage{multicol} +\usepackage{ragged2e} +\usepackage{siunitx} +\usepackage{tikz} +\usepackage{underscore} +\usepackage{xparse} +\usepackage{hyperref} +\hypersetup{colorlinks} +\usepackage{bookmark} + +\makeatletter +\newcounter{issue} +\renewcommand*{\theissue}{% + \ifnum\value{issue}<10 0\fi + \number\value{issue}% +} +\newcommand*{\MonthJanuary}{01} +\newcommand*{\MonthFebruary}{02} +\newcommand*{\MonthMarch}{03} +\newcommand*{\MonthApril}{04} +\newcommand*{\MonthMay}{05} +\newcommand*{\MonthJune}{06} +\newcommand*{\MonthJuly}{07} +\newcommand*{\MonthAugust}{08} +\newcommand*{\MonthSeptember}{09} +\newcommand*{\MonthOctober}{10} +\newcommand*{\MonthNovember}{11} +\newcommand*{\MonthDecember}{12} +\newcommand*{\printissue}{% + Issue % + \texorpdfstring{\number\value{issue}}{\theissue}, % + \texorpdfstring{\@month\space\@year}{\@year/\@nameuse{Month\@month}}% +} +\let\l@part\l@section +\let\l@section\l@subsection +\let\l@subsection\l@subsubsection +\let\l@subsubsection\l@paragraph +\let\l@paragraph\l@subparagraph +\newcommand*{\makefirsttitle}{% + \twocolumn[{% + \parbox[t][4\baselineskip]{\textwidth}{% + \@titlefont\@title, Issues 1--\lastissue + }% + }]% +} +\makeatother + +\begin{document} + +%%% Title and Table of Contents + +\makefirsttitle +\pdfbookmark[0]{\contentsname}{toc} +\tableofcontents +\clearpage + +\begingroup + \renewcommand*{\AtBeginDocument}[1]{#1}% + \renewcommand*{\PassOptionsToPackage}[2]{}% + \renewcommand*{\usepackage}[2][]{}% + \renewcommand*{\RequirePackage}[2][]{}% + \renewcommand*{\documentclass}[2][]{% + \setcounter{footnote}{0}% + \gobbleopt + }% + \newcommand*{\gobbleopt}[1][]{}% + \makeatletter + \let\org@twocolumn\twocolumn + \renewenvironment{document}{% + \clearpage + \ifnum\@issue=20 % + \addtocontents{toc}{\protect\setcounter{tocdepth}{5}}% + \addtocontents{toc}{% + \protect\makeatletter + }% + \addtocontents{toc}{% + \let\protect\saved@l@paragraph\protect\l@paragraph + }% + \addtocontents{toc}{% + \let\protect\l@paragraph\protect\l@subsection + }% + \fi + \ifnum\@issue=\lastissue\space + \addtocontents{toc}{% + \let\protect\l@paragraph\protect\saved@l@paragraph + }% + \def\toclevel@subsection{1}% + \def\toclevel@subsubsection{2}% + \addtocontents{toc}{\protect\setcounter{tocdepth}{4}}% + \renewcommand*{\tableofcontents}{% + \section*{\contentsname}% + \@starttoc{toc\lastissue}% + }% + \let\saved@addtocontents\addtocontents + \renewcommand*{\addtocontents}[2]{% + \saved@addtocontents{##1}{##2}% + \def\temp@toc{toc}% + \def\temp@param{##1}% + \ifx\temp@toc\temp@param + \saved@addtocontents{toc\lastissue}{##2}% + \fi + }% + \let\l@subsubsection\l@subsection + \let\l@subsection\l@section + \let\l@section\l@part + \let\l@part\@gobbletwo + \fi + \def\twocolumn[{% + \let\twocolumn\org@twocolumn + \org@twocolumn[% + {% because of optional argument of \twocolumn + \pdfbookmark[0]{\printissue}{issue\theissue}% + }% + \begingroup + \let\WriteBookmarks\relax + \@firstofone{% inside opt. arg. of \twocolumn: protect "]" + \renewcommand*{\Hy@writebookmark}[5]{}% + }% + \phantomsection + \addcontentsline{toc}{part}{\printissue}% + \endgroup + }% + }{% + \clearpage + }% + \makeatother + \loop + \ifnum\value{issue}<\lastissue + \stepcounter{issue}% + \input{l3news\theissue}% + \repeat + \stepcounter{issue}% + \IfFileExists{l3news\theissue}{% + \@latex@error{\jobname.tex is out of date,\MessageBreak + there is `l3news\theissue.tex'% + }\@ehc + }{}% +\endgroup + +\end{document} |