Current File : //usr/share/texlive/texmf-dist/doc/latex/base/ltnews.tex |
% \iffalse meta-comment
%
% Copyright 2006, 2009, 2011, 2014 Heiko Oberdiek
% Copyright (C) 2014-2020 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
% 2020/01/30 v1.4b:
% * Fix TOC issue more generally and add page numbers
% 2020/04/13 v1.4d:
% * Use titletoc for partial toc'sa in the separate issues
% \fi
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{ltnews.tex}%
[2020/04/13 v1.4d Master file for ltnews*.tex (LaTeX Project)]
\providecommand*{\lastissue}{32}
\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}
% 1.4d (JLB) also load the titletoc package
\RequirePackage{titletoc}
% \small already robust so better not ...
%\expandafter
%\DeclareRobustCommand\expandafter*\expandafter\small\expandafter{\small}
\RequirePackage{hyperref}
\hypersetup{colorlinks}
\RequirePackage{bookmark}
\RequirePackage{multicol}
\makeatletter
% 1.4d (JLB) Titletoc thinks \contentsline has three arguments
% but it has 4 in our case
\def\ttl@gobblecontents#1#2#3#4{\ignorespaces}
\newcounter{issue}
\renewcommand*{\theissue}{%
\ifnum\value{issue}<10 0\fi
\number\value{issue}%
}
% show the page number on first page of issues:
\renewcommand{\ps@titlepage}{%
\renewcommand{\@oddhead}{\hfill}%
\renewcommand{\@evenhead}{\hfill}%
\renewcommand{\@oddfoot}{\@indiciafont\@indicia\hfill --\thepage}%
\renewcommand{\@evenfoot}{\@indiciafont\@indicia\hfill --\thepage}%
}
\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}
% 1.4d(JLB) Now that titletoc is used we can limit the depth
% of the main toc
\setcounter{tocdepth}{2}
\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
\def\y{|multicol}%
\ifx\x\y
\else
\@latex@error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
\fi
\fi
\fi
\fi
\fi
\fi
\endgroup
}%
\renewcommand*{\documentclass}[2][]{%
\setcounter{footnote}{0}%
\gobbleopt
}%
% 1.4d (JLB) Removed the extra lines that were written to the toc-files
\newcommand*{\gobbleopt}[1][]{}%
\let\org@twocolumn\twocolumn
\renewcommand\NeedsTeXFormat[1]{\NeedsTeXFormatdate}% ignore that inside
\newcommand\NeedsTeXFormatdate[1][]{}% % inidividual issues
\renewenvironment{document}{%
\clearpage
% 1.4d (JLB) Normally |\ltn@tocend| shoud do nothing
\let\ltn@tocend\relax
\ifnum\@issue=20 %
\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 >20\space
\addtocontents{toc}{%
\let\protect\l@paragraph\protect\saved@l@paragraph
}%
\def\toclevel@subsection{1}%
\def\toclevel@subsubsection{2}%
\renewcommand*{\tableofcontents}{%
\section*{\contentsname}%
% 1.4d (JLB) Start the partial contents
\startcontents[Issue\theissue]
% 1.4d (JLB) Show it
\printcontents[Issue\theissue]{}{1}[3]{}
% 1.4d (JLB)and make sure that |\end{document}| stops it again.
\gdef\ltn@tocend{\stopcontents[Issue\theissue]}
}%
\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
}%
}{%
% 1.4d (JLB) Adde |\ltn@tocend|
\ltn@tocend
\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}