diff --git a/PUBLISHING.md b/PUBLISHING.md
new file mode 100644
index 00000000..3c6e7ea0
--- /dev/null
+++ b/PUBLISHING.md
@@ -0,0 +1,28 @@
+# Generating a PDF from ecmarkup
+
+In order to produce a PDF, the front matter `title`, `shortname`, `version`, and `date` are **mandatory**. If generating a final annual edition, date should reflect the date of the Ecma GA which will ratify the Standard. For example:
+
+```
+title: ECMAScript® 2024 Internationalization API Specification
+shortname: ECMA-402
+version: 11th Edition
+date: 2024-06-25
+```
+
+To generate markup for use in PDF conversion, make sure to include the options `--assets`, `--assets-dir`, and `--old-toc`. If you have images and styles to include, make sure to move them into your assets directory before running `ecmarkup`. For example:
+
+```shell
+mkdir -p out &&
+mv images out &&
+mv print.css out &&
+ecmarkup --assets external --assets-dir out --old-toc spec.html out/index.html
+```
+
+Then, from your spec's working directory, run [`prince`](https://www.princexml.com/) to generate your PDF.
+
+```shell
+cd path/to/spec
+prince --script ./node_modules/ecmarkup/js/print.js out/index.html -o path/to/output.pdf
+```
+
+This has been extensively tested with Prince 15. Earlier and later editions not guaranteed.
diff --git a/img/calendar.png b/img/calendar.png
index 5d1515c1..0d89b122 100644
Binary files a/img/calendar.png and b/img/calendar.png differ
diff --git a/img/ecma-header.svg b/img/ecma-header.svg
new file mode 100644
index 00000000..5eaffa9d
--- /dev/null
+++ b/img/ecma-header.svg
@@ -0,0 +1 @@
+<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.5" viewBox="0 0 2162 195" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#cbd7de"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="5.38908" y2="5.38908"/><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="22.3298" y2="22.3298"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="39.2706" y2="39.2706"/><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="56.2113" y2="56.2113"/><linearGradient id="f" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="73.152" y2="73.152"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="90.0928" y2="90.0928"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="107.034" y2="107.034"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="123.974" y2="123.974"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="140.915" y2="140.915"/><linearGradient id="k" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="157.856" y2="157.856"/><linearGradient id="l" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="174.796" y2="174.796"/><linearGradient id="m" gradientUnits="userSpaceOnUse" x1="956.622" x2="2161.582" xlink:href="#a" y1="191.737" y2="191.737"/><g fill-rule="nonzero"><path d="m333.323 193.947h-333.323v-193.947h333.323z" fill="#cbd7de"/><path d="m60.523 132.051c-4.297-2.999-9.694-7.079-13.693-10.955-5.737-5.204-10.425-11.55-13.701-18.544 2.546 7.317 6.626 14.389 12.649 20.133 4.65 3.802 9.633 6.881 14.745 9.366zm55.422-90.772c-4.5-6.825-13.124-10.852-21.41-13.481-24.608-9.702-59.687 8.799-64.887 40.696-.334 1.486-.883 4.885-.75 7.429 2.226-19.51 14.052-36.63 30.119-43.918 15.836-7.61 34.538-6.265 47.353 2.746.662.519 1.321 1.076 1.948 1.625-2.24-1.155-4.604-2.133-7.049-2.917-8.668-4.177-18.979-5.833-29.231-3.634-20.177 3.163-38.47 21.535-41.628 44.452-.256 1.482-.427 2.995-.534 4.512-.607-.44-.978-1.517-.978-2.866-.339 1.564-.339 3.126-.263 4.707-.219 7.331 1.432 14.884 4.494 21.922-1.188-3.634-1.932-7.306-2.339-10.971 1.458 7.141 4.463 14.007 9.037 19.529 3.007 3.093 6.374 9.884 10.446 12.064 15.484 12.282 38.979 16.452 54.837 7.416 2.171-.584 4.335-1.212 6.289-2.344-2.533.841-5.378 1.402-7.652 2.2l-.758.007c-.655.374-.981.552-1.316.734-11.708 1.477-35.684 4.073-50.46-8.381-4.195-3.01-7.443-6.971-10.486-11.033 1.555 1.063 4.061 2.502 5.572 4.093 7.444 7.435 17.669 14.157 27.626 14.961-4.592-1.875-8.536-4.105-12.879-6.735-2.248-1.036-5.851-1.632-7.484-3.536-9.304-7.941-17.254-16.077-18.685-28.293-.217-1.198.558-2.144.17-3.237 2.346 13.526 10.82 23.531 21.467 31.509 1.444 1.694 3.075 2.394 4.532 3.557 1.861.669 3.512 1.312 4.881 2.033 15.807 5.908 18.627-.572 32.802-.778-6.393 1.621-17.321 4.61-22.852 4.97 9.944 2.048 28.712-3.013 37.284-9.393 10.656-7.273 8.517-7.599 14.02-16.9.481-.761.95-2.493 1.346-4.59 3.343-6.438 5.259-13.745 5.259-21.502 0-14.882-6.988-28.112-17.841-36.653zm-77.979 46.645c-.935-6.033-1.213-12.199.088-18.323-.124 1.208-.224 2.179-.166 2.643-.588 7.387-.02 13.422.656 17.343-.169-.522-.36-1.061-.578-1.663.261 1.163.572 2.32.929 3.442.589 2.766 1.134 3.869.978 2.846 4.726 12.384 14.696 21.946 25.752 26.459-10.803-1.343-25.112-16.084-27.659-32.747zm31.502-53.196c-9.034 1.885-17.872 6.875-24.361 15.719 4.349-5.511 9.537-8.472 14.599-10.251-.456.334-.901.666-1.34 1.01-3.95 2.342-7.659 5.157-10.978 8.684-.895 1.147-1.304 2.545-2.14 3.56l-1.771 2.67c-2.348 2.219-3.751 4.875-5.277 7.69-6.628 14.623-5.831 32.83 3.265 48.139-16.447-22.774-9.959-55.315 9.506-69.724 8.099-6.391 17.486-9.51 26.704-10.019-2.839.585-5.578 1.449-8.207 2.522zm29.878 90.105c-1.531.272.835-.391 7.723-4.459.598-.344 1.246-.76 1.923-1.204 2.684-1.423 5.224-3.114 7.573-5.032-6.781 6.563-15.112 10.728-17.219 10.695" fill="#ee8421"/><path d="m174.805 88.549c0 15.17 9.727 18.788 24.821 18.788h25.259v22.591h-29.219c-29.857 0-46.944-10.471-46.944-49.976 0-34.195 5.586-52.17 44.428-52.17 30.82 0 38.309 12.592 38.309 39.864v21.103zm32.195-20.792c0-9.999.047-19.781-15.292-19.781-15.148 0-17.083 9.376-17.083 19.781z" fill="#231f20"/><path d="m420.875 27.782h-87.552v102.146h21.888v-80.261h15.438v.01c5.252 0 9.535 3.994 10.098 9.107v71.144h21.889v-80.261h15.322v.01c5.628 0 10.208 4.58 10.208 10.208v70.043h21.887v-72.963c0-16.107-13.058-29.183-29.178-29.183" fill="#231f20"/><path d="m277.879 49.677v-.01h40.858v-21.885h-44.666l-.014.053c-14.389.436-26.126 11.272-27.993 25.255h-.294v47.423h.294l-.294.234c0 15.794 12.588 28.649 28.287 29.128l.014.053h44.666v-21.897h-40.858c-5.636 0-10.216-4.58-10.216-10.216v-37.93c0-5.628 4.58-10.208 10.216-10.208" fill="#231f20"/><path d="m537.605 56.965c0-16.107-13.066-29.183-29.186-29.183h-43.773v21.885h40.86v.01c6.862 0 10.213 4.58 10.213 10.208 0 0 0 1.546-3.222 4.082-4.178 3.272-21.492 7.995-30.93 11.766v-.047c-14.722 4.926-21.484 14.12-21.484 28.523 0 18.72 8.242 25.951 24.442 25.951h53.08c-.469-10.99 0-73.195 0-73.195zm-21.886 51.612h-31.2c-1.963 0-3.104 0-3.257-1.398-1.485-13.379 6.639-12.873 34.457-22.456z" fill="#231f20"/><path d="m355.528 161.199h6.57v32.748h-6.57z" fill="#cbd7de"/><path d="m370.213 161.199h8.071l12.482 24.489h.09v-24.489h6.289v32.748h-8.021l-12.529-24.49h-.094v24.49h-6.288z" fill="#cbd7de"/><path d="m411.783 166.358h-9.384v-5.159h25.333v5.159h-9.381v27.589h-6.568z" fill="#cbd7de"/><path d="m433.317 161.199h19.328v5.159h-12.761v8.072h11.684v5.159h-11.684v9.197h12.857v5.161h-19.424z" fill="#cbd7de"/><path d="m460.248 161.199h7.082c7.039 0 15.436-.234 15.436 8.866 0 3.849-2.581 7.039-6.754 7.6v.096c1.782.139 2.813 1.924 3.469 3.378l5.255 12.808h-7.319l-3.941-10.232c-.938-2.435-1.783-3.374-4.551-3.374h-2.111v13.606h-6.566zm6.566 13.98h2.16c3.235 0 6.942-.47 6.942-4.551 0-3.941-3.658-4.27-6.942-4.27h-2.16z" fill="#cbd7de"/><path d="m490.554 161.199h8.071l12.478 24.489h.096v-24.489h6.285v32.748h-8.023l-12.527-24.49h-.092v24.49h-6.288z" fill="#cbd7de"/><path d="m535.547 161.199h7.411l12.855 32.748h-7.27l-2.817-7.508h-13.276l-2.864 7.508h-6.799zm3.612 6.569h-.092l-4.742 13.512h9.573z" fill="#cbd7de"/><path d="m563.656 166.358h-9.382v-5.159h25.333v5.159h-9.381v27.589h-6.57z" fill="#cbd7de"/><path d="m584.627 161.199h6.569v32.748h-6.569z" fill="#cbd7de"/><path d="m614.093 160.636c10.275 0 16.043 6.944 16.043 16.842 0 9.901-5.675 17.03-16.043 17.03-10.511 0-16.048-6.988-16.048-17.03 0-10.039 5.632-16.842 16.048-16.842zm0 28.711c6.707 0 9.193-5.958 9.193-11.869 0-5.769-2.672-11.683-9.193-11.683-6.522 0-9.198 5.914-9.198 11.683 0 5.911 2.489 11.869 9.198 11.869" fill="#cbd7de"/><path d="m637.223 161.199h8.067l12.48 24.489h.096v-24.489h6.285v32.748h-8.021l-12.529-24.49h-.09v24.49h-6.288z" fill="#cbd7de"/><path d="m682.214 161.199h7.411l12.857 32.748h-7.27l-2.819-7.508h-13.276l-2.862 7.508h-6.801zm3.612 6.569h-.092l-4.742 13.512h9.573z" fill="#cbd7de"/><path d="m708.112 161.199h6.568v27.587h12.714v5.161h-19.282z" fill="#cbd7de"/></g><path d="m2161.58 5.389h-1204.96" fill="none" stroke="url(#b)" stroke-width="7.8"/><path d="m2161.58 22.33h-1204.96" fill="none" stroke="url(#c)" stroke-width="7.8"/><path d="m2161.58 39.271h-1204.96" fill="none" stroke="url(#d)" stroke-width="7.8"/><path d="m2161.58 56.211h-1204.96" fill="none" stroke="url(#e)" stroke-width="7.8"/><path d="m2161.58 73.152h-1204.96" fill="none" stroke="url(#f)" stroke-width="7.8"/><path d="m2161.58 90.093h-1204.96" fill="none" stroke="url(#g)" stroke-width="7.8"/><path d="m2161.58 107.034h-1204.96" fill="none" stroke="url(#h)" stroke-width="7.8"/><path d="m2161.58 123.974h-1204.96" fill="none" stroke="url(#i)" stroke-width="7.8"/><path d="m2161.58 140.915h-1204.96" fill="none" stroke="url(#j)" stroke-width="7.8"/><path d="m2161.58 157.856h-1204.96" fill="none" stroke="url(#k)" stroke-width="7.8"/><path d="m2161.58 174.796h-1204.96" fill="none" stroke="url(#l)" stroke-width="7.8"/><path d="m2161.58 191.737h-1204.96" fill="none" stroke="url(#m)" stroke-width="7.8"/></svg>
\ No newline at end of file
diff --git a/img/ecma-logo.svg b/img/ecma-logo.svg
index 9fee7c8f..32020be0 100644
--- a/img/ecma-logo.svg
+++ b/img/ecma-logo.svg
@@ -1,120 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   viewBox="0 0 496.12799 132.66666"
-   height="132.66666"
-   width="496.12799"
-   xml:space="preserve"
-   id="svg2"
-   version="1.1"
-   sodipodi:docname="Ecma logo.svg"
-   inkscape:version="0.92.1 r15371"><sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="2840"
-     inkscape:window-height="1955"
-     id="namedview3808"
-     showgrid="false"
-     inkscape:zoom="2.8096018"
-     inkscape:cx="248.06667"
-     inkscape:cy="-147.88723"
-     inkscape:window-x="147"
-     inkscape:window-y="-13"
-     inkscape:window-maximized="1"
-     inkscape:current-layer="g12" /><metadata
-     id="metadata8"><rdf:RDF><cc:Work
-         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-     id="defs6" /><g
-     transform="matrix(1.3333333,0,0,-1.3333333,0,586.55599)"
-     id="g10"><g
-       transform="scale(0.1)"
-       id="g12"><path
-         id="path14"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="M 1705.1,3407.04 H 0 v 992.13 h 1705.1 v -992.13"
-         inkscape:connector-curvature="0" /><path
-         id="path16"
-         style="fill:#ee8421;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 309.605,3723.67 c -21.984,15.34 -49.589,36.21 -70.05,56.04 -29.344,26.62 -53.328,59.08 -70.086,94.86 13.027,-37.43 33.894,-73.61 64.707,-102.99 23.789,-19.45 49.277,-35.2 75.429,-47.91 z m 283.508,464.34 c -23.019,34.91 -67.136,55.51 -109.523,68.96 -125.883,49.63 -305.324,-45.01 -331.926,-208.18 -1.707,-7.6 -4.519,-24.99 -3.836,-38 11.387,99.8 71.883,187.38 154.07,224.66 81.012,38.93 176.68,32.05 242.235,-14.05 3.383,-2.65 6.758,-5.5 9.965,-8.31 -11.461,5.91 -23.555,10.91 -36.059,14.92 -44.34,21.37 -97.086,29.84 -149.531,18.59 -103.215,-16.18 -196.793,-110.16 -212.945,-227.39 -1.309,-7.58 -2.188,-15.32 -2.731,-23.08 -3.105,2.25 -5.004,7.76 -5.004,14.66 -1.734,-8 -1.734,-15.99 -1.348,-24.08 -1.121,-37.5 7.329,-76.14 22.989,-112.14 -6.078,18.59 -9.883,37.37 -11.965,56.12 7.461,-36.53 22.832,-71.65 46.23,-99.9 15.383,-15.82 32.606,-50.56 53.434,-61.71 79.211,-62.83 199.398,-84.16 280.52,-37.94 11.105,2.99 22.175,6.2 32.171,11.99 -12.961,-4.3 -27.511,-7.17 -39.144,-11.25 l -3.879,-0.04 c -3.352,-1.91 -5.02,-2.82 -6.731,-3.75 -59.89,-7.56 -182.539,-20.84 -258.125,42.87 -21.46,15.4 -38.074,35.66 -53.644,56.44 7.957,-5.44 20.773,-12.8 28.504,-20.94 38.078,-38.03 90.387,-72.42 141.32,-76.53 -23.488,9.59 -43.664,21 -65.879,34.45 -11.504,5.3 -29.933,8.35 -38.285,18.09 -47.598,40.62 -88.266,82.24 -95.582,144.73 -1.113,6.13 2.852,10.97 0.867,16.56 12.004,-69.19 55.352,-120.37 109.813,-161.18 7.39,-8.67 15.73,-12.25 23.187,-18.2 9.52,-3.42 17.965,-6.71 24.965,-10.4 80.859,-30.22 95.289,2.93 167.797,3.98 -32.703,-8.29 -88.605,-23.58 -116.895,-25.42 50.868,-10.48 146.872,15.41 190.723,48.05 54.508,37.2 43.57,38.87 71.719,86.45 2.461,3.89 4.859,12.75 6.883,23.48 17.101,32.93 26.902,70.31 26.902,109.99 0,76.13 -35.746,143.81 -91.262,187.5 z M 194.215,3949.4 c -4.785,30.86 -6.207,62.4 0.449,93.73 -0.633,-6.18 -1.148,-11.15 -0.851,-13.52 -3.008,-37.79 -0.102,-68.66 3.359,-88.72 -0.867,2.67 -1.844,5.43 -2.957,8.51 1.332,-5.95 2.926,-11.87 4.75,-17.61 3.015,-14.15 5.801,-19.79 5.004,-14.56 24.176,-63.35 75.176,-112.26 131.734,-135.35 -55.262,6.87 -128.461,82.28 -141.488,167.52 z m 161.144,272.12 c -46.211,-9.64 -91.421,-35.17 -124.617,-80.41 22.246,28.19 48.785,43.34 74.684,52.44 -2.336,-1.71 -4.61,-3.41 -6.856,-5.17 -20.207,-11.98 -39.179,-26.38 -56.156,-44.42 -4.582,-5.87 -6.672,-13.02 -10.949,-18.21 l -9.059,-13.66 c -12.011,-11.35 -19.187,-24.94 -26.996,-39.34 -33.906,-74.8 -29.828,-167.94 16.703,-246.25 -84.133,116.5 -50.945,282.96 48.625,356.67 41.434,32.69 89.453,48.65 136.606,51.25 -14.524,-2.99 -28.535,-7.41 -41.985,-12.9 z m 152.844,-460.93 c -7.836,-1.39 4.27,2 39.504,22.81 3.059,1.76 6.375,3.89 9.836,6.16 13.734,7.28 26.727,15.93 38.742,25.74 -34.687,-33.57 -77.305,-54.88 -88.082,-54.71"
-         inkscape:connector-curvature="0" /><path
-         id="path18"
-         style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 894.211,3946.2 c 0,-77.6 49.758,-96.11 126.969,-96.11 h 129.21 v -115.56 c 0,0 -88.73,0 -149.47,0 -152.732,0 -240.139,53.56 -240.139,255.65 0,174.92 28.578,266.87 227.27,266.87 157.659,0 195.969,-64.41 195.969,-203.92 0,-26.55 0,-107.95 0,-107.95 z m 164.689,106.36 c 0,51.15 0.24,101.19 -78.224,101.19 -77.492,0 -87.387,-47.96 -87.387,-101.19 H 1058.9"
-         inkscape:connector-curvature="0" /><path
-         id="path20"
-         style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="M 2152.97,4257.05 H 1705.1 v -522.52 h 111.97 v 410.57 h 78.97 v -0.05 c 26.87,0 48.78,-20.43 51.66,-46.59 v -363.93 h 111.97 v 410.57 h 78.38 v -0.05 c 28.79,0 52.22,-23.43 52.22,-52.22 v 0 -358.3 h 111.96 v 373.24 c 0,82.39 -66.8,149.28 -149.26,149.28"
-         inkscape:connector-curvature="0" /><path
-         id="path22"
-         style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 1421.48,4145.05 v 0.05 h 209.01 v 111.95 H 1402 l -0.07,-0.27 c -73.61,-2.23 -133.65,-57.66 -143.2,-129.19 h -1.5 V 3885 h 1.5 l -1.5,-1.2 c 0,-80.79 64.39,-146.55 144.7,-149 l 0.07,-0.27 h 228.49 v 112.01 h -209.01 c -28.83,0 -52.26,23.43 -52.26,52.26 v 194.03 c 0,28.79 23.43,52.22 52.26,52.22"
-         inkscape:connector-curvature="0" /><path
-         id="path24"
-         style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2750.1,4107.77 c 0,82.39 -66.84,149.28 -149.3,149.28 -45.76,0 -223.92,0 -223.92,0 V 4145.1 h 209.02 v -0.05 c 35.1,0 52.24,-23.43 52.24,-52.22 0,0 0,-7.91 -16.48,-20.88 -21.37,-16.74 -109.94,-40.9 -158.22,-60.19 v 0.24 c -75.31,-25.2 -109.9,-72.23 -109.9,-145.91 0,-95.76 42.16,-132.75 125.03,-132.75 h 271.53 c -2.4,56.22 0,374.43 0,374.43 z m -111.96,-264.02 c 0,0 -127.96,0 -159.6,0 -10.04,0 -15.88,0 -16.66,7.15 -7.6,68.44 33.96,65.85 176.26,114.87 v -122.02"
-         inkscape:connector-curvature="0" /><path
-         id="path26"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 1818.69,3574.56 h 33.61 v -167.52 h -33.61 v 167.52"
-         inkscape:connector-curvature="0" /><path
-         id="path28"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 1893.81,3574.56 h 41.29 l 63.85,-125.27 h 0.46 v 125.27 h 32.17 v -167.52 h -41.03 l -64.09,125.28 h -0.48 v -125.28 h -32.17 v 167.52"
-         inkscape:connector-curvature="0" /><path
-         id="path30"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2106.46,3548.17 h -48 v 26.39 h 129.59 v -26.39 h -47.99 v -141.13 h -33.6 v 141.13"
-         inkscape:connector-curvature="0" /><path
-         id="path32"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2216.62,3574.56 h 98.87 v -26.39 h -65.28 v -41.29 h 59.77 v -26.39 h -59.77 v -47.05 h 65.77 v -26.4 h -99.36 v 167.52"
-         inkscape:connector-curvature="0" /><path
-         id="path34"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2354.38,3574.56 h 36.23 c 36.01,0 78.96,1.2 78.96,-45.35 0,-19.69 -13.2,-36.01 -34.55,-38.88 v -0.49 c 9.12,-0.71 14.39,-9.84 17.75,-17.28 l 26.88,-65.52 h -37.44 l -20.16,52.34 c -4.8,12.46 -9.12,17.26 -23.28,17.26 h -10.8 v -69.6 h -33.59 z m 33.59,-71.51 h 11.05 c 16.55,0 35.51,2.4 35.51,23.28 0,20.16 -18.71,21.84 -35.51,21.84 h -11.05 v -45.12"
-         inkscape:connector-curvature="0" /><path
-         id="path36"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2509.41,3574.56 h 41.29 l 63.83,-125.27 h 0.49 v 125.27 h 32.15 v -167.52 h -41.04 l -64.08,125.28 h -0.47 v -125.28 h -32.17 v 167.52"
-         inkscape:connector-curvature="0" /><path
-         id="path38"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2739.57,3574.56 h 37.91 l 65.76,-167.52 h -37.19 l -14.41,38.41 h -67.91 l -14.65,-38.41 h -34.78 z m 18.48,-33.6 h -0.47 l -24.26,-69.12 h 48.97 l -24.24,69.12"
-         inkscape:connector-curvature="0" /><path
-         id="path40"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2883.36,3548.17 h -47.99 v 26.39 h 129.59 v -26.39 h -47.99 v -141.13 h -33.61 v 141.13"
-         inkscape:connector-curvature="0" /><path
-         id="path42"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 2990.64,3574.56 h 33.6 v -167.52 h -33.6 v 167.52"
-         inkscape:connector-curvature="0" /><path
-         id="path44"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 3141.37,3577.44 c 52.56,0 82.07,-35.52 82.07,-86.15 0,-50.65 -29.03,-87.12 -82.07,-87.12 -53.77,0 -82.09,35.75 -82.09,87.12 0,51.35 28.81,86.15 82.09,86.15 z m 0,-146.87 c 34.31,0 47.03,30.48 47.03,60.72 0,29.51 -13.67,59.76 -47.03,59.76 -33.36,0 -47.05,-30.25 -47.05,-59.76 0,-30.24 12.73,-60.72 47.05,-60.72"
-         inkscape:connector-curvature="0" /><path
-         id="path46"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 3259.69,3574.56 h 41.27 l 63.84,-125.27 h 0.49 v 125.27 h 32.15 v -167.52 h -41.03 l -64.09,125.28 h -0.46 v -125.28 h -32.17 v 167.52"
-         inkscape:connector-curvature="0" /><path
-         id="path48"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 3489.84,3574.56 h 37.91 l 65.77,-167.52 h -37.19 l -14.42,38.41 H 3474 l -14.64,-38.41 h -34.79 z m 18.48,-33.6 h -0.47 l -24.26,-69.12 h 48.97 l -24.24,69.12"
-         inkscape:connector-curvature="0" /><path
-         id="path50"
-         style="fill:#cbd7de;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         d="m 3622.32,3574.56 h 33.6 v -141.12 h 65.04 v -26.4 h -98.64 v 167.52"
-         inkscape:connector-curvature="0" /></g></g></svg>
\ No newline at end of file
+<svg height="132.66666" viewBox="0 0 496.12799 132.66666" width="496.12799" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.13333333 0 0 -.13333333 0 586.55599)"><path d="m1705.1 3407.04h-1705.1v992.13h1705.1z" fill="#cbd7de"/><path d="m309.605 3723.67c-21.984 15.34-49.589 36.21-70.05 56.04-29.344 26.62-53.328 59.08-70.086 94.86 13.027-37.43 33.894-73.61 64.707-102.99 23.789-19.45 49.277-35.2 75.429-47.91zm283.508 464.34c-23.019 34.91-67.136 55.51-109.523 68.96-125.883 49.63-305.324-45.01-331.926-208.18-1.707-7.6-4.519-24.99-3.836-38 11.387 99.8 71.883 187.38 154.07 224.66 81.012 38.93 176.68 32.05 242.235-14.05 3.383-2.65 6.758-5.5 9.965-8.31-11.461 5.91-23.555 10.91-36.059 14.92-44.34 21.37-97.086 29.84-149.531 18.59-103.215-16.18-196.793-110.16-212.945-227.39-1.309-7.58-2.188-15.32-2.731-23.08-3.105 2.25-5.004 7.76-5.004 14.66-1.734-8-1.734-15.99-1.348-24.08-1.121-37.5 7.329-76.14 22.989-112.14-6.078 18.59-9.883 37.37-11.965 56.12 7.461-36.53 22.832-71.65 46.23-99.9 15.383-15.82 32.606-50.56 53.434-61.71 79.211-62.83 199.398-84.16 280.52-37.94 11.105 2.99 22.175 6.2 32.171 11.99-12.961-4.3-27.511-7.17-39.144-11.25l-3.879-.04c-3.352-1.91-5.02-2.82-6.731-3.75-59.89-7.56-182.539-20.84-258.125 42.87-21.46 15.4-38.074 35.66-53.644 56.44 7.957-5.44 20.773-12.8 28.504-20.94 38.078-38.03 90.387-72.42 141.32-76.53-23.488 9.59-43.664 21-65.879 34.45-11.504 5.3-29.933 8.35-38.285 18.09-47.598 40.62-88.266 82.24-95.582 144.73-1.113 6.13 2.852 10.97.867 16.56 12.004-69.19 55.352-120.37 109.813-161.18 7.39-8.67 15.73-12.25 23.187-18.2 9.52-3.42 17.965-6.71 24.965-10.4 80.859-30.22 95.289 2.93 167.797 3.98-32.703-8.29-88.605-23.58-116.895-25.42 50.868-10.48 146.872 15.41 190.723 48.05 54.508 37.2 43.57 38.87 71.719 86.45 2.461 3.89 4.859 12.75 6.883 23.48 17.101 32.93 26.902 70.31 26.902 109.99 0 76.13-35.746 143.81-91.262 187.5zm-398.898-238.61c-4.785 30.86-6.207 62.4.449 93.73-.633-6.18-1.148-11.15-.851-13.52-3.008-37.79-.102-68.66 3.359-88.72-.867 2.67-1.844 5.43-2.957 8.51 1.332-5.95 2.926-11.87 4.75-17.61 3.015-14.15 5.801-19.79 5.004-14.56 24.176-63.35 75.176-112.26 131.734-135.35-55.262 6.87-128.461 82.28-141.488 167.52zm161.144 272.12c-46.211-9.64-91.421-35.17-124.617-80.41 22.246 28.19 48.785 43.34 74.684 52.44-2.336-1.71-4.61-3.41-6.856-5.17-20.207-11.98-39.179-26.38-56.156-44.42-4.582-5.87-6.672-13.02-10.949-18.21l-9.059-13.66c-12.011-11.35-19.187-24.94-26.996-39.34-33.906-74.8-29.828-167.94 16.703-246.25-84.133 116.5-50.945 282.96 48.625 356.67 41.434 32.69 89.453 48.65 136.606 51.25-14.524-2.99-28.535-7.41-41.985-12.9zm152.844-460.93c-7.836-1.39 4.27 2 39.504 22.81 3.059 1.76 6.375 3.89 9.836 6.16 13.734 7.28 26.727 15.93 38.742 25.74-34.687-33.57-77.305-54.88-88.082-54.71" fill="#ee8421"/><path d="m894.211 3946.2c0-77.6 49.758-96.11 126.969-96.11h129.21v-115.56s-88.73 0-149.47 0c-152.732 0-240.139 53.56-240.139 255.65 0 174.92 28.578 266.87 227.27 266.87 157.659 0 195.969-64.41 195.969-203.92 0-26.55 0-107.95 0-107.95zm164.689 106.36c0 51.15.24 101.19-78.224 101.19-77.492 0-87.387-47.96-87.387-101.19z" fill="#231f20"/><path d="m2152.97 4257.05h-447.87v-522.52h111.97v410.57h78.97v-.05c26.87 0 48.78-20.43 51.66-46.59v-363.93h111.97v410.57h78.38v-.05c28.79 0 52.22-23.43 52.22-52.22v-358.3h111.96v373.24c0 82.39-66.8 149.28-149.26 149.28" fill="#231f20"/><path d="m1421.48 4145.05v.05h209.01v111.95h-228.49l-.07-.27c-73.61-2.23-133.65-57.66-143.2-129.19h-1.5v-242.59h1.5l-1.5-1.2c0-80.79 64.39-146.55 144.7-149l.07-.27h228.49v112.01h-209.01c-28.83 0-52.26 23.43-52.26 52.26v194.03c0 28.79 23.43 52.22 52.26 52.22" fill="#231f20"/><path d="m2750.1 4107.77c0 82.39-66.84 149.28-149.3 149.28-45.76 0-223.92 0-223.92 0v-111.95h209.02v-.05c35.1 0 52.24-23.43 52.24-52.22 0 0 0-7.91-16.48-20.88-21.37-16.74-109.94-40.9-158.22-60.19v.24c-75.31-25.2-109.9-72.23-109.9-145.91 0-95.76 42.16-132.75 125.03-132.75h271.53c-2.4 56.22 0 374.43 0 374.43zm-111.96-264.02s-127.96 0-159.6 0c-10.04 0-15.88 0-16.66 7.15-7.6 68.44 33.96 65.85 176.26 114.87z" fill="#231f20"/><g fill="#cbd7de"><path d="m1818.69 3574.56h33.61v-167.52h-33.61z"/><path d="m1893.81 3574.56h41.29l63.85-125.27h.46v125.27h32.17v-167.52h-41.03l-64.09 125.28h-.48v-125.28h-32.17z"/><path d="m2106.46 3548.17h-48v26.39h129.59v-26.39h-47.99v-141.13h-33.6z"/><path d="m2216.62 3574.56h98.87v-26.39h-65.28v-41.29h59.77v-26.39h-59.77v-47.05h65.77v-26.4h-99.36z"/><path d="m2354.38 3574.56h36.23c36.01 0 78.96 1.2 78.96-45.35 0-19.69-13.2-36.01-34.55-38.88v-.49c9.12-.71 14.39-9.84 17.75-17.28l26.88-65.52h-37.44l-20.16 52.34c-4.8 12.46-9.12 17.26-23.28 17.26h-10.8v-69.6h-33.59zm33.59-71.51h11.05c16.55 0 35.51 2.4 35.51 23.28 0 20.16-18.71 21.84-35.51 21.84h-11.05z"/><path d="m2509.41 3574.56h41.29l63.83-125.27h.49v125.27h32.15v-167.52h-41.04l-64.08 125.28h-.47v-125.28h-32.17z"/><path d="m2739.57 3574.56h37.91l65.76-167.52h-37.19l-14.41 38.41h-67.91l-14.65-38.41h-34.78zm18.48-33.6h-.47l-24.26-69.12h48.97z"/><path d="m2883.36 3548.17h-47.99v26.39h129.59v-26.39h-47.99v-141.13h-33.61z"/><path d="m2990.64 3574.56h33.6v-167.52h-33.6z"/><path d="m3141.37 3577.44c52.56 0 82.07-35.52 82.07-86.15 0-50.65-29.03-87.12-82.07-87.12-53.77 0-82.09 35.75-82.09 87.12 0 51.35 28.81 86.15 82.09 86.15zm0-146.87c34.31 0 47.03 30.48 47.03 60.72 0 29.51-13.67 59.76-47.03 59.76s-47.05-30.25-47.05-59.76c0-30.24 12.73-60.72 47.05-60.72"/><path d="m3259.69 3574.56h41.27l63.84-125.27h.49v125.27h32.15v-167.52h-41.03l-64.09 125.28h-.46v-125.28h-32.17z"/><path d="m3489.84 3574.56h37.91l65.77-167.52h-37.19l-14.42 38.41h-67.91l-14.64-38.41h-34.79zm18.48-33.6h-.47l-24.26-69.12h48.97z"/><path d="m3622.32 3574.56h33.6v-141.12h65.04v-26.4h-98.64z"/></g></g></svg>
\ No newline at end of file
diff --git a/package.json b/package.json
index f8627ed0..6ad0bbbc 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
     "build-only": "npm run build-to -- out/index.html --assets-dir=out",
     "build": "npm run build-only -- --lint-spec --strict",
     "build-for-pdf": "npm run build -- --old-toc",
+    "pdf": "npm run build-for-pdf && prince --script ./node_modules/ecmarkup/js/print.js out/index.html -o out/ECMA-402.pdf",
     "test": "npm run build-to -- --lint-spec /dev/null",
     "watch": "npm run build -- --watch"
   },
diff --git a/spec/annexes.html b/spec/annexes.html
index 41c70a56..656dcf57 100644
--- a/spec/annexes.html
+++ b/spec/annexes.html
@@ -183,7 +183,7 @@ <h1>Additions and Changes That Introduce Incompatibilities with Prior Editions</
       <emu-xref href="#sec-intl.datetimeformat.prototype.format"></emu-xref> In ECMA-402, 1<sup>st</sup> Edition, the *"length"* property of the function object _F_ was set to *+0*<sub>𝔽</sub>. In 2nd Edition, *"length"* is set to *1*<sub>𝔽</sub>.
     </li>
     <li>
-      <emu-xref href="#sec-intl.collator.prototype-@@tostringtag"></emu-xref> In ECMA-402, 7<sup></sup>th</sup> Edition, the @@toStringTag property of `Intl.Collator.prototype` was set to *"Object"*. In 8<sup>th</sup> Edition, @@toStringTag is set to *"Intl.Collator"*.
+      <emu-xref href="#sec-intl.collator.prototype-@@tostringtag"></emu-xref> In ECMA-402, 7<sup>th</sup> Edition, the @@toStringTag property of `Intl.Collator.prototype` was set to *"Object"*. In 8<sup>th</sup> Edition, @@toStringTag is set to *"Intl.Collator"*.
     </li>
     <li>
       <emu-xref href="#sec-intl.datetimeformat.prototype-@@tostringtag"></emu-xref> In ECMA-402, 7<sup>th</sup> Edition, the @@toStringTag property of `Intl.DateTimeFormat.prototype` was set to *"Object"*. In 8<sup>th</sup> Edition, @@toStringTag is set to *"Intl.DateTimeFormat"*.
diff --git a/spec/colophon.html b/spec/colophon.html
index 9ee81fe5..d956e2fd 100644
--- a/spec/colophon.html
+++ b/spec/colophon.html
@@ -1,5 +1,5 @@
 <emu-annex id="sec-colophon">
   <h1>Colophon</h1>
-  <p>This specification is authored on <a href="https://github.com/tc39/ecma402">GitHub</a> in a plaintext source format called <a href="https://github.com/bterlson/ecmarkup">Ecmarkup</a>. Ecmarkup is an HTML and Markdown dialect that provides a framework and toolset for authoring ECMAScript specifications in plaintext and processing the specification into a full-featured HTML rendering that follows the editorial conventions for this document. Ecmarkup builds on and integrates a number of other formats and technologies including <a href="https://github.com/rbuckton/grammarkdown">Grammarkdown</a> for defining syntax and <a href="https://github.com/domenic/ecmarkdown">Ecmarkdown</a> for authoring algorithm steps. PDF renderings of this specification are produced by printing the HTML rendering to a PDF.</p>
+  <p>This specification is authored on <a href="https://github.com/tc39/ecma402">GitHub</a> in a plaintext source format called <a href="https://github.com/bterlson/ecmarkup">Ecmarkup</a>. Ecmarkup is an HTML and Markdown dialect that provides a framework and toolset for authoring ECMAScript specifications in plaintext and processing the specification into a full-featured HTML rendering that follows the editorial conventions for this document. Ecmarkup builds on and integrates a number of other formats and technologies including <a href="https://github.com/rbuckton/grammarkdown">Grammarkdown</a> for defining syntax and <a href="https://github.com/domenic/ecmarkdown">Ecmarkdown</a> for authoring algorithm steps. PDF renderings of this specification are produced using <a href="https://www.princexml.com/">PrinceXML</a>.</p>
   <p>Prior editions of this specification were authored using Word&mdash;the Ecmarkup source text that formed the basis of this edition was produced by converting the ECMAScript 2015 Word document to Ecmarkup using an automated conversion tool.</p>
 </emu-annex>
diff --git a/spec/datetimeformat.html b/spec/datetimeformat.html
index ba9a1ad2..61ebc667 100644
--- a/spec/datetimeformat.html
+++ b/spec/datetimeformat.html
@@ -780,65 +780,71 @@ <h1>DateTime Style Range Records</h1>
           <li>[[minute]]: *"numeric"*</li>
           <li>[[pattern]]: *"{hour}:{minute}"*</li>
           <li>[[pattern12]]: *"{hour}:{minute} {ampm}"*</li>
-          <li>[[rangePatterns]]:</li>
-          <ul>
-            <li>[[Hour]]:<ul>
-              <li>[[hour]]: *"numeric"*</li>
-              <li>[[minute]]: *"numeric"*</li>
-              <li>[[PatternParts]]:</li>
-              <ul>
-                <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
-                <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-              </ul>
-            </ul></li>
-            <li>[[Minute]]:<ul>
-              <li>[[hour]]: *"numeric"*</li>
-              <li>[[minute]]: *"numeric"*</li>
-              <li>[[PatternParts]]:</li>
-              <ul>
-                <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
-                <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-              </ul>
-            </ul></li>
-            <li>[[Default]]:<ul>
-              <li>[[year]]: *"2-digit"*</li>
-              <li>[[month]]: *"numeric"*</li>
-              <li>[[day]]: *"numeric"*</li>
-              <li>[[hour]]: *"numeric"*</li>
-              <li>[[minute]]: *"numeric"*</li>
-              <li>[[PatternParts]]:</li>
-              <ul>
-                <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
-                <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute}"*}</li>
-              </ul>
-            </ul></li>
-          </ul>
+          <li>[[rangePatterns]]:
+            <ul>
+              <li>[[Hour]]:<ul>
+                <li>[[hour]]: *"numeric"*</li>
+                <li>[[minute]]: *"numeric"*</li>
+                <li>[[PatternParts]]:
+                  <ul>
+                    <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                    <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
+                    <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                  </ul>
+                </li>
+              </ul></li>
+              <li>[[Minute]]:<ul>
+                <li>[[hour]]: *"numeric"*</li>
+                <li>[[minute]]: *"numeric"*</li>
+                <li>[[PatternParts]]:
+                  <ul>
+                    <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                    <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
+                    <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                  </ul>
+                </li>
+              </ul></li>
+              <li>[[Default]]:<ul>
+                <li>[[year]]: *"2-digit"*</li>
+                <li>[[month]]: *"numeric"*</li>
+                <li>[[day]]: *"numeric"*</li>
+                <li>[[hour]]: *"numeric"*</li>
+                <li>[[minute]]: *"numeric"*</li>
+                <li>[[PatternParts]]:
+                  <ul>
+                    <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute}"*}</li>
+                    <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
+                    <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute}"*}</li>
+                  </ul>
+                </li>
+              </ul></li>
+            </ul>
+          </li>
           <li>[[rangePatterns12]]:
           <ul>
             <li>[[Hour]]:<ul>
               <li>[[hour]]: *"numeric"*</li>
               <li>[[minute]]: *"numeric"*</li>
-              <li>[[PatternParts]]:</li>
-              <ul>
-                <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
-                <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" {ampm}"*}</li>
-              </ul>
+              <li>[[PatternParts]]:
+                <ul>
+                  <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                  <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
+                  <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                  <li>{[[Source]]: *"shared"*, [[Pattern]]: *" {ampm}"*}</li>
+                </ul>
+              </li>
             </ul></li>
             <li>[[Minute]]:<ul>
               <li>[[hour]]: *"numeric"*</li>
               <li>[[minute]]: *"numeric"*</li>
-              <li>[[PatternParts]]:</li>
-              <ul>
-                <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
-                <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" {ampm}"*}</li>
-              </ul>
+              <li>[[PatternParts]]:
+                <ul>
+                  <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                  <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
+                  <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{hour}:{minute}"*}</li>
+                  <li>{[[Source]]: *"shared"*, [[Pattern]]: *" {ampm}"*}</li>
+                </ul>
+              </li>
             </ul></li>
             <li>[[Default]]:<ul>
               <li>[[year]]: *"2-digit"*</li>
@@ -846,12 +852,13 @@ <h1>DateTime Style Range Records</h1>
               <li>[[day]]: *"numeric"*</li>
               <li>[[hour]]: *"numeric"*</li>
               <li>[[minute]]: *"numeric"*</li>
-              <li>[[PatternParts]]:</li>
-              <ul>
-                <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute} {ampm}"*}</li>
-                <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
-                <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute} {ampm}"*}</li>
-              </ul>
+              <li>[[PatternParts]]:
+                <ul>
+                  <li>{[[Source]]: *"startRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute} {ampm}"*}</li>
+                  <li>{[[Source]]: *"shared"*, [[Pattern]]: *" – "*}</li>
+                  <li>{[[Source]]: *"endRange"*, [[Pattern]]: *"{day}/{month}/{year}, {hour}:{minute} {ampm}"*}</li>
+                </ul>
+              </li>
             </ul></li>
           </ul></li>
         </ul>
diff --git a/spec/index.html b/spec/index.html
index 23f17bbf..4a982f02 100644
--- a/spec/index.html
+++ b/spec/index.html
@@ -8,57 +8,33 @@
     location.protocol = 'https:';
   }
 </script>
-<style>
-@media print {
-  /* for the PDF */
-  body.oldtoc {
-    font-size: 80%;
-  }
-  .oldtoc var {
-    color: #197124;
-  }
-}
-h1.orange {
-  font-size: 2em;
-}
-.oldtoc {
-  padding: 5em;
-}
-.orange {
-  color: #ff6600;
-  margin: 0px;
-}
-.list-of-names {
-  list-style-type: none;
-  margin-bottom: 10px;
-  padding-left: 10px;
+<style media="print">/**
+* ECMA-402-specific hacks
+*/
+emu-normative-optional,
+/* 15.3.7 Table 12 */
+#table-numberformat-resolvedoptions-properties {
+  break-inside: avoid-page;
 }
-emu-normative-optional {
-  border-left: 5px solid #ff6600;
-  padding: .5em;
-  display: block;
-  background: #ffeedd;
-}
-emu-normative-optional:before {
-  display: block;
-  color: #884400;
-  content: "NORMATIVE OPTIONAL";
-}
-#metadata-block {
-  margin: 4em 0;
-  padding: 10px;
-  border: 1px solid #ee8421;
+
+#sec-Intl-toStringTag > p:first-of-type {
+  break-after: initial;
 }
-#metadata-block h1 {
-  font-size: 1.5em;
-  margin-top: 0;
+
+/* These tables are too narrow for their captions */
+#table-sanctioned-single-unit-identifiers table,
+#table-listformat-resolvedoptions-properties table {
+  width: 102mm;
 }
-#metadata-block > ul {
-  list-style-type: none;
-  margin: 0; padding: 0;
+
+#table-intl-unsigned-rounding-modes table,
+#table-displaynames-resolvedoptions-properties table {
+  width: 130mm;
 }
-#ecma-logo {
-  width: 500px;
+
+/* This note is so long it takes up several pages anyway, let it break */
+#sec-intl\.datetimeformat-internal-slots emu-note:nth-of-type(2) {
+  break-inside: initial;
 }
 </style>
 <pre class=metadata>
diff --git a/spec/introduction.html b/spec/introduction.html
index b888cfa3..7d55201b 100644
--- a/spec/introduction.html
+++ b/spec/introduction.html
@@ -48,10 +48,9 @@ <h1>Introduction</h1>
   </p>
   <p>
     Richard Gibson, Ujjwal Sharma<br>
-    ECMA-402, 10<sup>th</sup> Edition Project Editors
+    ECMA-402, 10<sup>th</sup> & 11<sup>th</sup> Edition Project Editors
   </p>
   <p>
-    Richard Gibson, Ujjwal Sharma<br>
-    ECMA-402, 11<sup>th</sup> Edition Project Editors
+    This Ecma Standard was developed by Technical Committee 39 and was adopted by the General Assembly of June 2024.
   </p>
 </emu-intro>
diff --git a/spec/listformat.html b/spec/listformat.html
index 49f03ce7..cc58398c 100644
--- a/spec/listformat.html
+++ b/spec/listformat.html
@@ -240,7 +240,7 @@ <h1>
       <dl class="header">
         <dt>description</dt>
         <dd>
-          It deconstructs the pattern string into a List of parts.
+          <p>It deconstructs the pattern string into a List of parts.</p>
           <p>
             _placeables_ is a Record whose keys are placeables tokens used in the pattern string, and values are parts Records (as from PartitionPattern) which will be used in the result List to represent the token part.
             Example:
diff --git a/spec/numberformat.html b/spec/numberformat.html
index 87b1cd0a..ee41f716 100644
--- a/spec/numberformat.html
+++ b/spec/numberformat.html
@@ -947,7 +947,7 @@ <h1>
         <table class="real-table">
           <thead>
             <tr>
-              <th>Numbering System</th>
+              <th>Numbering&nbsp;System</th>
               <th>Digits</th>
             </tr>
           </thead>