shithub: iwp9-proceedings

Download patch

ref: 16fbceaca10c5c783ce6a2a64661bf8b0615a944
parent: bdd8bb633077e7e9798c3768ec035cae2570114f
author: Edouard Klein <edk@beaver-labs.com>
date: Mon Jun 2 07:14:25 EDT 2025

Remove the labeln macro and use pdfpages' addtotoc instead

binary files a/main.pdf b/main.pdf differ
--- a/main.tex
+++ b/main.tex
@@ -19,19 +19,6 @@
   \end{picture}%
 }
 
-% To define a different label for each included pdf page
-\usepackage{etoolbox}
-\makeatletter
-\newcommand{\labeln}[1]{%
-  \@ifundefined{c@labeln@#1}{%
-    \newcounter{labeln@#1}%
-  }{}%
-  \stepcounter{labeln@#1}%
-  \label{#1\arabic{labeln@#1}}%
-}
-\makeatother
-
-
 %% Sans serif font, virtually no line spacing, small titles, small margins, no page numbers
 \renewcommand{\familydefault}{\sfdefault}
 \linespread{.8}
@@ -46,13 +33,16 @@
 \begin{document}
 
 % Cover image full page
+\pdfbookmark[1]{Cover}{cover}
 \includepdf[pages=1, noautoscale=true]{Cover.jpg}
 
 % Schedule page, landscape, rotated to be read when turned to the right
+\pdfbookmark[1]{Schedule}{schedule}
 \includepdf[pages=1, landscape=true, turn=false]{00_schedule.pdf}
 
 % Title page
 \newpage
+\pdfbookmark[1]{Foreword}{foreword}
 \thispagestyle{empty}
 \begin{center}
   \vspace*{2cm}
@@ -76,43 +66,43 @@
 \begin{longtable}{llr}
 \textbf{Author} & \textbf{Title} & \textbf{Page} \\
 \hline
-Ron Minnich & VMThreads: virtual machines as threads & \pageref{vmthread1} \\
-Konstantinn Bonnet & Plan 9 Doomed: a review & \pageref{plan9_doomed1} \\
-Jonathan Frech & Toiled & \pageref{toiled1} \\
-Arkadiusz Kozdra & Uglendix: Another Plan9/Linux Distribution & \pageref{uglendix1} \\
-P. Lalonde, T. Laronde, R. Minnich & NIX Reborn & \pageref{nix1} \\
-Edouard Klein & To Hell with WebAssembly & \pageref{wasm1} \\
-Ori Bernstein & Rethinking PKI on Plan 9 & \pageref{pki1} \\
-Brian Stuart & Plan 9, the Raspberry Pi, and the ENIAC & \pageref{eniac1} \\
-Geoff Collyer & What I Saw at the Evolution of Plan 9 & \pageref{geoff1} \\
-Angelo Papenhoff & Lola: A new Window System for Plan 9 & \pageref{lola1} \\
-Anthony Sorace & Nile: A More Transparent Window System & \pageref{nile1} \\
-Jonathan Frech & Amber & \pageref{amber1} \\
-Jonas Amoson & Static Initialization of Bitfields in the Plan 9 C Compilers & \pageref{bitfields1} \\
-G. Guardiola Múzquiz, E. Soriano & Socarrat for Plan 9 & \pageref{soccarat1} \\
-Thierry Laronde & TeX & \pageref{tex1} \\
-Jacob Moody & Modern Unicode Requires Modern Solutions & \pageref{unicode1} \\
-Alyssa Marie & Glenda and Tux & \pageref{glenda_tux1} \\
+Ron Minnich & VMThreads: virtual machines as threads & \pageref{vmthread} \\
+Konstantinn Bonnet & Plan 9 Doomed: a review & \pageref{plan9_doomed} \\
+Jonathan Frech & Toiled & \pageref{toiled} \\
+Arkadiusz Kozdra & Uglendix: Another Plan9/Linux Distribution & \pageref{uglendix} \\
+P. Lalonde, T. Laronde, R. Minnich & NIX Reborn & \pageref{nix} \\
+Edouard Klein & To Hell with WebAssembly & \pageref{wasm} \\
+Ori Bernstein & Rethinking PKI on Plan 9 & \pageref{pki} \\
+Brian Stuart & Plan 9, the Raspberry Pi, and the ENIAC & \pageref{eniac} \\
+Geoff Collyer & What I Saw at the Evolution of Plan 9 & \pageref{geoff} \\
+Angelo Papenhoff & Lola: A new Window System for Plan 9 & \pageref{lola} \\
+Anthony Sorace & Nile: A More Transparent Window System & \pageref{nile} \\
+Jonathan Frech & Amber & \pageref{amber} \\
+Jonas Amoson & Static Initialization of Bitfields in the Plan 9 C Compilers & \pageref{bitfields} \\
+G. Guardiola Múzquiz, E. Soriano & Socarrat for Plan 9 & \pageref{soccarat} \\
+Thierry Laronde & TeX & \pageref{tex} \\
+Jacob Moody & Modern Unicode Requires Modern Solutions & \pageref{unicode} \\
+Alyssa Marie & Glenda and Tux & \pageref{glenda_tux} \\
 \end{longtable}
 
 \pagenumbering{arabic}
 % Papers included as-is
-\includepdf[pages=-, pagecommand=\labeln{vmthread},                width=\paperwidth, keepaspectratio, delta=0 0]{01_vmthread.pdf}
-\includepdf[pages=-, pagecommand=\labeln{plan9_doomed},            width=\paperwidth, keepaspectratio, delta=0 0]{02_Konstantinn Bonnet - Plan 9 Doomed_ a review.pdf}
-\includepdf[pages=-, pagecommand=\labeln{toiled},                  width=\paperwidth, keepaspectratio, delta=0 0]{03_iwp9-2025_jonathan-frech_toiled_v2.pdf}
-\includepdf[pages=-, pagecommand=\labeln{uglendix}\coverpagen,     width=\paperwidth, keepaspectratio, delta=0 0]{04_Arkadiusz `Arusekk' Kozdra - Uglendix_ Another Plan9_Linux Distribution.pdf}
-\includepdf[pages=-, pagecommand=\labeln{nix},                     width=\paperwidth, keepaspectratio, delta=0 0]{05_nix.pdf}
-\includepdf[pages=-, pagecommand=\labeln{wasm},                    width=\paperwidth, keepaspectratio, delta=0 0]{06_Edouard Klein - To Hell with WebAssembly.pdf}
-\includepdf[pages=-, pagecommand=\labeln{pki},                     width=\paperwidth, keepaspectratio, delta=0 0]{07_pki.pdf}
-\includepdf[pages=-, pagecommand=\labeln{eniac},                   width=\paperwidth, keepaspectratio, delta=0 0]{08_eniac.pdf}
-\includepdf[pages=-, pagecommand=\labeln{geoff},                   width=\paperwidth, keepaspectratio, delta=0 0]{09_geoff.pdf}
-\includepdf[pages=-, pagecommand=\labeln{lola},                    width=\paperwidth, keepaspectratio, delta=0 0]{10_lola.pdf}
-\includepdf[pages=-, pagecommand=\labeln{nile}\coverpagen,         width=\paperwidth, keepaspectratio, delta=0 0]{11_nile.pdf}
-\includepdf[pages=-, pagecommand=\labeln{amber},                   width=\paperwidth, keepaspectratio, delta=0 0]{12_amber.pdf}
-\includepdf[pages=-, pagecommand=\labeln{bitfields},               width=\paperwidth, keepaspectratio, delta=0 0]{13_bitfields.pdf}
-\includepdf[pages=-, pagecommand=\labeln{soccarat},                width=\paperwidth, keepaspectratio, delta=0 0]{14_soccarat.pdf}
-\includepdf[pages=-, pagecommand=\labeln{tex},                     width=\paperwidth, keepaspectratio, delta=0 0]{15_tex.pdf}
-\includepdf[pages=-, pagecommand=\labeln{unicode},                 width=\paperwidth, keepaspectratio, delta=0 0]{16_unicode.pdf}
-\includepdf[pages=-, pagecommand=\labeln{glenda_tux},              width=\paperwidth, keepaspectratio, delta=0 0]{18_glenda_tux.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Ron Minnich                         - VMThreads: virtual machines as threads,vmthread},                         width=\paperwidth, keepaspectratio, delta=0 0]{01_vmthread.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Konstantinn Bonnet                  - Plan 9 Doomed: a review, plan9_doomed},                                   width=\paperwidth, keepaspectratio, delta=0 0]{02_Konstantinn Bonnet - Plan 9 Doomed_ a review.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Jonathan Frech                      - Toiled, toiled},                                                          width=\paperwidth, keepaspectratio, delta=0 0]{03_iwp9-2025_jonathan-frech_toiled_v2.pdf}
+\includepdf[pages=-, pagecommand=\coverpagen, addtotoc={1, section, 1, Arkadiusz Kozdra                    - Uglendix: Another Plan9/Linux Distrib, uglendix},                         width=\paperwidth, keepaspectratio, delta=0 0]{04_Arkadiusz `Arusekk' Kozdra - Uglendix_ Another Plan9_Linux Distribution.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, {P. Lalonde, T. Laronde, R. Minnich}- NIX Reborn,nix},                                                          width=\paperwidth, keepaspectratio, delta=0 0]{05_nix.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Edouard Klein                       - To Hell with WebAssembly,wasm},                                           width=\paperwidth, keepaspectratio, delta=0 0]{06_Edouard Klein - To Hell with WebAssembly.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Ori Bernstein                       - Rethinking PKI on Plan 9, pki},                                           width=\paperwidth, keepaspectratio, delta=0 0]{07_pki.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Brian Stuart                        - {Plan 9, the Raspberry Pi, and the ENIAC}, eniac},                          width=\paperwidth, keepaspectratio, delta=0 0]{08_eniac.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Geoff Collyer                       - What I Saw at the Evolution of Plan 9, geoff},                            width=\paperwidth, keepaspectratio, delta=0 0]{09_geoff.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Angelo Papenhoff                    - Lola: A new Window System for Plan 9,lola},                               width=\paperwidth, keepaspectratio, delta=0 0]{10_lola.pdf}
+\includepdf[pages=-, pagecommand=\coverpagen, addtotoc={1, section, 1, Anthony Sorace                      - Nile: A More Transparent Window System,nile},                             width=\paperwidth, keepaspectratio, delta=0 0]{11_nile.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Jonathan Frech                      - Amber, amber},                                                            width=\paperwidth, keepaspectratio, delta=0 0]{12_amber.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Jonas Amoson                        - Static Initialization of Bitfields in the Plan 9 C Compilers, bitfields}, width=\paperwidth, keepaspectratio, delta=0 0]{13_bitfields.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, {G. Guardiola Múzquiz, E. Soriano}  - Socarrat for Plan 9, soccarat},                                           width=\paperwidth, keepaspectratio, delta=0 0]{14_soccarat.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Thierry Laronde                     - TeX, tex},                                                                width=\paperwidth, keepaspectratio, delta=0 0]{15_tex.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Jacob Moody                         - Modern Unicode Requires Modern Solutions, unicode},                       width=\paperwidth, keepaspectratio, delta=0 0]{16_unicode.pdf}
+\includepdf[pages=-,                          addtotoc={1, section, 1, Alyssa Marie                        - Glenda and Tux, glenda_tux},                                              width=\paperwidth, keepaspectratio, delta=0 0]{18_glenda_tux.pdf}
 
 \end{document}
--