summaryrefslogtreecommitdiff
path: root/macros/latex/base/ltnews.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-10-05 03:01:15 +0000
committerNorbert Preining <norbert@preining.info>2019-10-05 03:01:15 +0000
commit72c9345e5bafe708888bf65448a81d1aee8275ed (patch)
treea1a99929b3d7307572844833f09ad7ba5ad1405d /macros/latex/base/ltnews.tex
parent9d9c04e14d0da9dd7829d0ec896aabfd50414fd8 (diff)
CTAN sync 201910050301
Diffstat (limited to 'macros/latex/base/ltnews.tex')
-rw-r--r--macros/latex/base/ltnews.tex277
1 files changed, 277 insertions, 0 deletions
diff --git a/macros/latex/base/ltnews.tex b/macros/latex/base/ltnews.tex
new file mode 100644
index 0000000000..3b351448b7
--- /dev/null
+++ b/macros/latex/base/ltnews.tex
@@ -0,0 +1,277 @@
+% \iffalse meta-comment
+%
+% Copyright 2006, 2009, 2011, 2014 Heiko Oberdiek
+% Copyright (C) 2014-2019 The LaTeX3 Project
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% 2006/06/02 v1.0: First version.
+% 2009/09/25 v1.1: \usepackage disabled.
+% 2011/07/01 v1.2: Fixes.
+% 2014/02/30 v1.3:
+% * Update for LaTeX 2014/05/01.
+% * Fix for anchor positions of issue titles.
+% 2014/05/15 v1.4:
+% * Updates for ltnews21.tex.
+% 2014/11/14 v1.4a:
+% * LaTeX Project version
+% 2015/02/16 v1.4b:
+% * Fix TOC issue
+% \fi
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{ltnews.tex}%
+ [2015/02/16 v1.4b Master file for ltnews*.tex (LaTeX Project)]
+\providecommand*{\lastissue}{30}
+\InputIfFileExists{ltnews-lastissue.cfg}{}{}
+
+
+\ifx\pdfoutput\undefined
+\let\pdfoutput\outputmode
+\protected\def\pdfinfo{\pdfextension info }
+\fi
+
+\RequirePackage{ifpdf}
+\ifpdf
+ % overwrite nasty stuff of ltnews.cfg
+ % (use of hyperref for this would also support other drivers)
+ \pdfinfo{%
+ /Title(LaTeX News)%
+ /Subject(Issues 1--\lastissue)%
+ /Author(The LaTeX Project)%
+ /Creator(LaTeX)%
+ }
+ \newtoks\pdfinfo
+\else
+ \AtBeginDocument{%
+ \hypersetup{%
+ pdftitle={LaTeX News},%
+ pdfsubject={Issues 1\textendash\lastissue},%
+ pdfauthor={The LaTeX Project},%
+ pdfcreator={LaTeX}%
+ }%
+ }%
+\fi
+
+\RequirePackage{lmodern}
+\RequirePackage[T1]{fontenc}
+\RequirePackage{hologo}
+\RequirePackage{graphicx}
+
+
+\documentclass{ltnews}
+
+\RequirePackage{url,csquotes}
+
+% \small already robust so better not ...
+%\expandafter
+%\DeclareRobustCommand\expandafter*\expandafter\small\expandafter{\small}
+
+\RequirePackage{hyperref}
+\hypersetup{colorlinks}
+\RequirePackage{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
+ }%
+ }]%
+}
+
+% table of contents with underlined links
+\iffalse % disable if option colorlinks is used
+\@ifpackagelater{hyperref}{2006/06/01}{%
+ \newcommand*{\saved@tableofcontents}{}%
+ \let\saved@tableofcontents\tableofcontents
+ \renewcommand*{\tableofcontents}{%
+ \begingroup
+ \hypersetup{pdfborderstyle={/S/U/W 1}}%
+ \saved@tableofcontents
+ \endgroup
+ }%
+}{}
+\fi
+
+% -- provide command introduced in new release
+% so this typesets with an old format
+\DeclareTextCommandDefault\textcommabelow[1]
+ {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
+ \hbox{\check@mathfonts\fontsize\ssf@size\z@
+ \math@fontsfalse\selectfont,}\hidewidth}\egroup}
+\DeclareTextCommandDefault\textcommaabove[1]{%
+ \hmode@bgroup
+ \ooalign{%
+ \hidewidth
+ \raise.7ex\hbox{%
+ \check@mathfonts\fontsize\ssf@size\z@\math@fontsfalse\selectfont`%
+ }%
+ \hidewidth\crcr
+ \null#1\crcr
+ }%
+ \egroup
+ }
+
+\makeatother
+
+\begin{document}
+
+%%% Title and Table of Contents
+
+\makefirsttitle
+\pdfbookmark[0]{\contentsname}{toc}
+\tableofcontents
+\clearpage
+
+%%% Issues
+
+\begingroup
+ \makeatletter
+ \renewcommand*{\usepackage}[2][]{%
+ \begingroup
+ \def\x{#1|#2}%
+ \def\y{T1|fontenc}%
+ \ifx\x\y
+ \else
+ \def\y{|lmodern,url}%
+ \ifx\x\y
+ \else
+ \def\y{|lmodern,url,hologo}%
+ \ifx\x\y
+ \else
+ \def\y{|csquotes}%
+ \ifx\x\y
+ \else
+ \def\y{|graphicx}%
+ \ifx\x\y
+ \else
+ \@latex@error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \endgroup
+ }%
+ \renewcommand*{\documentclass}[2][]{%
+ \setcounter{footnote}{0}%
+ \gobbleopt
+ }%
+ \newcommand*{\gobbleopt}[1][]{}%
+ \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{ltnews\theissue}%
+ \repeat
+ \stepcounter{issue}%
+ \makeatletter
+ \IfFileExists{ltnews\theissue}{%
+ \@latex@error{\jobname.tex is out of date,\MessageBreak
+ there is `ltnews\theissue.tex'%
+ }\@ehc
+ }{}%
+ \makeatother
+\endgroup
+
+\end{document}