pytex-preprocessor 0.4.5__tar.gz → 0.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytex_preprocessor-0.4.5/src/pytex_preprocessor.egg-info → pytex_preprocessor-0.4.6}/PKG-INFO +1 -1
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/pyproject.toml +1 -1
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/biblatex.py +6 -2
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/tectonic.py +156 -48
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/variants.py +44 -4
- pytex_preprocessor-0.4.6/src/pytex_hsrtreport/assets/logos/MAKERS.svg +163 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/document.py +10 -5
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/logos.py +1 -0
- pytex_preprocessor-0.4.6/src/pytex_hsrtreport/variants.py +39 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_markdown/__init__.py +9 -1
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_markdown/convert.py +126 -38
- pytex_preprocessor-0.4.6/src/pytex_markdown/frontmatter.py +195 -0
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/__init__.py +5 -2
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/convert.py +5 -13
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/document.py +1 -1
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/header.py +1 -1
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/shortcodes.py +12 -11
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/signatures.py +1 -1
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6/src/pytex_preprocessor.egg-info}/PKG-INFO +1 -1
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_preprocessor.egg-info/SOURCES.txt +9 -6
- pytex_preprocessor-0.4.6/src/pytex_protocol/__init__.py +59 -0
- pytex_preprocessor-0.4.6/src/pytex_protocol/frontmatter.py +7 -0
- pytex_preprocessor-0.4.5/src/pytex_hsrtreport/variants.py +0 -26
- pytex_preprocessor-0.4.5/src/pytex_protocol/frontmatter.py +0 -80
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/LICENSE +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/README.md +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/setup.cfg +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/builtin.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/captions.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/cleveref.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/colors.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/conditionals.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/counters.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/definitions.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/floats.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/font.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/fontawesome.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/fontspec.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/geometry.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/glossaries.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/graphics.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/hooks.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/hyperref.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/lengths.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/listings.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/mdframed.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/picture.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/setspace.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/commands/tables.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/helpers/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/helpers/coerce.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/helpers/parenting.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/helpers/sanitize.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/helpers/with_package.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/interface/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/interface/control_sequence.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/interface/package.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/interface/tex.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/color.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/comment.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/concat.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/control_sequence.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/document.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/document_class.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/empty.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/environment.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/image.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/include.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/length.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/math.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/package.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/model/raw.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/packages.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/registry.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex/template.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_analyze/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_analyze/analyze.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_analyze/optimize.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/build.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/console.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/render.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/tex2py.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_builder/tree.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Bold.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-BoldItalic.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Book.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-BookItalic.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Medium.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-MediumItalic.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Strong.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-Thin.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Blender/Blender-ThinItalic.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Black.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Bold.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-BoldItalic.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Italic.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Medium.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/DIN/DIN-Regular.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/fonts/Times New Roman.ttf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/ASTA.svg +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/DUMMY.png +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/DUMMY_FOOT.png +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/ECHO.svg +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/HSRT.pdf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/INF.pdf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/MAKERS-Icon.svg +0 -0
- /pytex_preprocessor-0.4.5/src/pytex_hsrtreport/assets/logos/MAKERS.svg → /pytex_preprocessor-0.4.6/src/pytex_hsrtreport/assets/logos/MAKERS-RAlign.svg +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/STUPA.pdf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/assets/logos/Skyline.pdf +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/boxes.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/citations.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/cleveref_names.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/colors.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/fonts.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/glossary.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/hyperref_config.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/listings.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/pagebreak.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/pagesetup.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/tex/pagesetup.tex +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/titlepage.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/voting.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/watermark.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_hsrtreport/wordcount.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_koma/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_koma/commands.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_koma/document.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_markdown/escape.py +0 -0
- {pytex_preprocessor-0.4.5/src/pytex_protocol → pytex_preprocessor-0.4.6/src/pytex_markdown/protocol}/entries.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_preprocessor.egg-info/dependency_links.txt +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_preprocessor.egg-info/entry_points.txt +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_preprocessor.egg-info/requires.txt +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_preprocessor.egg-info/top_level.txt +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_tikz/__init__.py +0 -0
- {pytex_preprocessor-0.4.5 → pytex_preprocessor-0.4.6}/src/pytex_tikz/tikz.py +0 -0
|
@@ -58,8 +58,12 @@ def Parencite(*keys: str) -> TeX:
|
|
|
58
58
|
|
|
59
59
|
@Registry.add
|
|
60
60
|
@with_package(BIBLATEX)
|
|
61
|
-
def Autocite(*keys: str) -> TeX:
|
|
62
|
-
|
|
61
|
+
def Autocite(*keys: str, postnote: str | None = None) -> TeX:
|
|
62
|
+
key_param = Parameter(",".join(keys))
|
|
63
|
+
if postnote is None:
|
|
64
|
+
return ControlSequence("autocite", (key_param,))
|
|
65
|
+
# A single optional argument to \autocite is the postnote (e.g. a page).
|
|
66
|
+
return ControlSequence("autocite", (Parameter(postnote, optional=True), key_param))
|
|
63
67
|
|
|
64
68
|
|
|
65
69
|
@Registry.add
|
|
@@ -15,6 +15,7 @@ import subprocess
|
|
|
15
15
|
import tarfile
|
|
16
16
|
import tempfile
|
|
17
17
|
import xml.etree.ElementTree as ET
|
|
18
|
+
import zipfile
|
|
18
19
|
from pathlib import Path
|
|
19
20
|
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
@@ -52,20 +53,50 @@ BIBER_MIRROR_URL = (
|
|
|
52
53
|
"/releases/download/biber-binaries/{asset}"
|
|
53
54
|
)
|
|
54
55
|
|
|
55
|
-
# SHA256 of each
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
56
|
+
# SHA256 of each biber binary, keyed by the versioned mirror asset name. Used
|
|
57
|
+
# to verify downloads from either source and to reject HTML error pages a CDN
|
|
58
|
+
# might serve with a 200 status. Covers every mirrored platform (glibc/musl
|
|
59
|
+
# Linux x86_64, Linux aarch64, macOS x86_64/universal, Windows x86_64).
|
|
59
60
|
BIBER_SHA256: dict[str, str] = {
|
|
61
|
+
"biber-2.11-darwin_x86_64.tar.gz": "4e3343574f917d7825148e4c9ccb665154476ec0817abf67f1fea052fb8cc728",
|
|
62
|
+
"biber-2.11-linux_x86_64-musl.tar.gz": "a6b7e61446ee8b23cc0b6b1eaffd4a8e0d271f06874ad22b025cc41f74050617",
|
|
60
63
|
"biber-2.11-linux_x86_64.tar.gz": "7fcb51491fb24151810a92b2e2d03b7a1291823c0f8d6fb53183af391fca42e7",
|
|
64
|
+
"biber-2.11-MSWIN64.zip": "f3a438ae8d94e7afbd069f0f941b3d93816fc06647d88460ba05a5485ed4372a",
|
|
65
|
+
"biber-2.12-darwin_x86_64.tar.gz": "5a5f20669bd3e4cf56fd246ef2ba37d601ca2059510590a5022da4487d5e7bb8",
|
|
61
66
|
"biber-2.12-linux_x86_64.tar.gz": "fd0b5145cc908c400a701b583330635d533d750b73a272d1d5ea47e10b2fbf71",
|
|
67
|
+
"biber-2.12-MSWIN64.zip": "96d99e075dbb666ad4ec93bcca5fcc15ea07b6f70e9151e7d44baa4cc7c02932",
|
|
68
|
+
"biber-2.13-darwin_x86_64.tar.gz": "ad47307b6f27c7bb129a1a3235e01245be3e95541bba9adca6892196e599edfd",
|
|
69
|
+
"biber-2.13-linux_x86_64-musl.tar.gz": "d4a25d32fef6993b5ea0dece70af4b09a1f2758f8b8737924250f3e6b80a979a",
|
|
62
70
|
"biber-2.13-linux_x86_64.tar.gz": "03101f418d46f4666272b68a4318d9e4b7a840d9dfa05d93ddc490d491157a75",
|
|
71
|
+
"biber-2.13-MSWIN64.zip": "bf3ab70629465d674d020a10f34e307c7f6fb031dc7ea73627a1fe53b1e8457b",
|
|
72
|
+
"biber-2.14-darwin_x86_64.tar.gz": "d834ba71c05f8dfe668d4c40d13c0e11e0fee24e567877479a0ac1c98ad89131",
|
|
73
|
+
"biber-2.14-linux_x86_64-musl.tar.gz": "0b6c2a8307111c6dc2897d338be1ad446ef2e1ca8d126f806ce5c9bf7ff486ca",
|
|
63
74
|
"biber-2.14-linux_x86_64.tar.gz": "dab3177f03322b5529d07d47d21d9e573a90c23d86eaaf11591b2d155316ee1b",
|
|
75
|
+
"biber-2.14-MSWIN64.zip": "247451621ef60378045cf917a007ef3219d3cbf833f080c3333927dea854b4fe",
|
|
76
|
+
"biber-2.15-darwin_x86_64.tar.gz": "e2b4931db6b4a684b640f41e53faee1c68f931f03c41d8f2c40d8b11c85511c7",
|
|
77
|
+
"biber-2.15-linux_x86_64-musl.tar.gz": "277acd35d51a07c1b75782514f88f1ad380581b0077548eaa0db6b60263dafaa",
|
|
64
78
|
"biber-2.15-linux_x86_64.tar.gz": "653c8add18d2e94a233a6b9aae6d8144f965c2ce13fb7b4e66502b55fcd06e06",
|
|
79
|
+
"biber-2.15-MSWIN64.zip": "61553ef3d5e8bdff86e1ac8204236fbf3980bc8ade94949f1ad874ba4031eb7f",
|
|
80
|
+
"biber-2.16-darwin_x86_64.tar.gz": "c396133cc924c23111353ea5cb0e9960a98f1fddca8f42fbdb89e89424fc136f",
|
|
81
|
+
"biber-2.16-linux_x86_64-musl.tar.gz": "e0935c8e67016889b3c8bb1f0fbd602b587f6935cd61ee23bc2eb898ae633f58",
|
|
65
82
|
"biber-2.16-linux_x86_64.tar.gz": "3afb97a42d2cf272d3c0b51663725e55339c4e6f3d594cd52e16c39fa9fcfb13",
|
|
83
|
+
"biber-2.16-MSWIN64.zip": "8e7a4c98626511bcf1c89a1847242cdd0e0113927137577eedaa13c72ce84b4b",
|
|
84
|
+
"biber-2.17-darwin_universal.tar.gz": "182e1efa074d8a2a23a8893f2a22440d4e463cce55e4ed02076ac4c0ee0614b2",
|
|
85
|
+
"biber-2.17-darwin_x86_64.tar.gz": "aa72ccdd01d59367b919d517f7a116e5dc40848abc1909cd812b485f791df7f4",
|
|
86
|
+
"biber-2.17-linux_x86_64-musl.tar.gz": "8967c4d34bfd2ed3d71e54d8a20a0c766b90368348994c99fca56ee2d812619e",
|
|
66
87
|
"biber-2.17-linux_x86_64.tar.gz": "129d2e0332a57e985ffa253e5e9fbd28ef99af5a068d1b141145211969aa8999",
|
|
88
|
+
"biber-2.17-MSWIN64.zip": "c103bffc5ae0a7f513e7c26b6d394e9be6cf41952959c5d604ee2e6581b5dea2",
|
|
89
|
+
"biber-2.18-darwin_universal.tar.gz": "a0848ca266334284f1145470e53c3882b2d5e8ad82828700df1f6e347f7b675b",
|
|
90
|
+
"biber-2.18-darwin_x86_64.tar.gz": "f05520a397162434e93ef28b6be2c866f555a1979f150601fecf6d22d4bb8f2e",
|
|
91
|
+
"biber-2.18-linux_x86_64-musl.tar.gz": "34da2cc489a1387bfda8c76add3d613ececd9b674d0361a2b1464cf592dee2ed",
|
|
67
92
|
"biber-2.18-linux_x86_64.tar.gz": "2a6b4cd15a1139907799da0d23cd4ddcce8341af3960d2b3d1d3e4b4a9f1fb53",
|
|
93
|
+
"biber-2.18-MSWIN64.zip": "02ee3a8b6838b7ff1e9aea1a5342686981b9364067a7b8e7131c3b3201cf387c",
|
|
94
|
+
"biber-2.19-darwin_universal.tar.gz": "0ebda145064eb5b8901a4ed5c8c5e5e6a5208e0aba425f7febcb5fb5b1a9c11b",
|
|
95
|
+
"biber-2.19-darwin_x86_64.tar.gz": "3835aab3247d3bff79b0c2fcf061149b80e39bf11f55a3a30cf946043a85d45b",
|
|
96
|
+
"biber-2.19-linux_aarch64.tar.gz": "45571c262e714786ec841320ee1845f0e3e3cf29443bb58769b26c6fc6274766",
|
|
97
|
+
"biber-2.19-linux_x86_64-musl.tar.gz": "66e765df8b52446659a978f35d25974b835b7168ddd96f45d4a49cea6bd727eb",
|
|
68
98
|
"biber-2.19-linux_x86_64.tar.gz": "e2eda3e6ea7ac7e78d60e99a0e2aeb1096829f95791c06b768ed31a12889e58e",
|
|
99
|
+
"biber-2.19-MSWIN64.zip": "f0bccdec320e89a04b067f1189957b4bbe6feb445005357601f6e295e83e97da",
|
|
69
100
|
}
|
|
70
101
|
|
|
71
102
|
|
|
@@ -112,45 +143,140 @@ def ensure_tectonic(console: Console) -> Path:
|
|
|
112
143
|
return cached
|
|
113
144
|
|
|
114
145
|
|
|
115
|
-
|
|
116
|
-
|
|
146
|
+
# macOS binaries lived under OSX_Intel up to biber 2.16 and moved to MacOS
|
|
147
|
+
# from 2.17 on; the SourceForge fallback URL needs the right subdir per version.
|
|
148
|
+
_OLD_MAC_DIRS: frozenset[str] = frozenset(
|
|
149
|
+
{"2.11", "2.12", "2.13", "2.14", "2.15", "2.16"}
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def _biber_candidates(version: str) -> list[tuple[str, str, str]]:
|
|
154
|
+
"""``(sf_subdir, sf_filename, mirror_asset)`` for this platform, best first.
|
|
155
|
+
|
|
156
|
+
More than one candidate is returned where a fallback helps:
|
|
157
|
+
|
|
158
|
+
* Linux x86_64 prefers the statically-linked *musl* build, which has no
|
|
159
|
+
shared-library dependencies (the glibc build needs e.g. ``libnsl.so.1``,
|
|
160
|
+
absent on many minimal systems), then falls back to the glibc build.
|
|
161
|
+
* macOS prefers the *universal* build (the only arm64-native option, added
|
|
162
|
+
in 2.17), then the x86_64 build (runs under Rosetta on Apple silicon).
|
|
163
|
+
|
|
164
|
+
Candidates upstream never published for a given version simply 404, and the
|
|
165
|
+
download loop moves on to the next one.
|
|
166
|
+
"""
|
|
117
167
|
system = platform.system()
|
|
118
168
|
machine = platform.machine()
|
|
169
|
+
mac_dir = "OSX_Intel" if version in _OLD_MAC_DIRS else "MacOS"
|
|
170
|
+
# biber 2.19 renamed the musl tarball; earlier releases use the old name.
|
|
171
|
+
musl_file = (
|
|
172
|
+
"biber-linux-musl_x86_64.tar.gz"
|
|
173
|
+
if version == "2.19"
|
|
174
|
+
else "biber-linux_x86_64-musl.tar.gz"
|
|
175
|
+
)
|
|
119
176
|
if system == "Linux":
|
|
120
177
|
if machine == "x86_64":
|
|
121
|
-
return
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
178
|
+
return [
|
|
179
|
+
("Linux-musl", musl_file, f"biber-{version}-linux_x86_64-musl.tar.gz"),
|
|
180
|
+
(
|
|
181
|
+
"Linux",
|
|
182
|
+
"biber-linux_x86_64.tar.gz",
|
|
183
|
+
f"biber-{version}-linux_x86_64.tar.gz",
|
|
184
|
+
),
|
|
185
|
+
]
|
|
186
|
+
if machine in ("aarch64", "arm64"):
|
|
187
|
+
return [
|
|
188
|
+
(
|
|
189
|
+
"Linux",
|
|
190
|
+
"biber-linux_aarch64.tar.gz",
|
|
191
|
+
f"biber-{version}-linux_aarch64.tar.gz",
|
|
192
|
+
),
|
|
193
|
+
]
|
|
194
|
+
elif system == "Darwin":
|
|
195
|
+
return [
|
|
196
|
+
(
|
|
197
|
+
mac_dir,
|
|
198
|
+
"biber-darwin_universal.tar.gz",
|
|
199
|
+
f"biber-{version}-darwin_universal.tar.gz",
|
|
200
|
+
),
|
|
201
|
+
(
|
|
202
|
+
mac_dir,
|
|
203
|
+
"biber-darwin_x86_64.tar.gz",
|
|
204
|
+
f"biber-{version}-darwin_x86_64.tar.gz",
|
|
205
|
+
),
|
|
206
|
+
]
|
|
207
|
+
elif system == "Windows":
|
|
208
|
+
return [("Windows", "biber-MSWIN64.zip", f"biber-{version}-MSWIN64.zip")]
|
|
128
209
|
raise BuildError(
|
|
129
210
|
f"unsupported platform for biber auto-download: {system} {machine}"
|
|
130
211
|
)
|
|
131
212
|
|
|
132
213
|
|
|
133
214
|
def _biber_cached(version: str) -> Path:
|
|
134
|
-
|
|
215
|
+
name = "biber.exe" if platform.system() == "Windows" else "biber"
|
|
216
|
+
return CACHE_DIR / "biber" / version / name
|
|
135
217
|
|
|
136
218
|
|
|
137
|
-
def
|
|
138
|
-
"""
|
|
139
|
-
return filename.replace("biber-", f"biber-{version}-", 1)
|
|
219
|
+
def _biber_sources(version: str) -> list[tuple[str, str | None]]:
|
|
220
|
+
"""``(url, expected_sha256 or None)`` to try in order.
|
|
140
221
|
|
|
222
|
+
For each platform candidate the mirror is tried first, then SourceForge.
|
|
223
|
+
"""
|
|
224
|
+
sources: list[tuple[str, str | None]] = []
|
|
225
|
+
for sf_dir, filename, asset in _biber_candidates(version):
|
|
226
|
+
sha = BIBER_SHA256.get(asset)
|
|
227
|
+
sources.append((BIBER_MIRROR_URL.format(asset=asset), sha))
|
|
228
|
+
sources.append(
|
|
229
|
+
(
|
|
230
|
+
BIBER_RELEASE_URL.format(
|
|
231
|
+
version=version, sf_dir=sf_dir, filename=filename
|
|
232
|
+
),
|
|
233
|
+
sha,
|
|
234
|
+
)
|
|
235
|
+
)
|
|
236
|
+
return sources
|
|
141
237
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
238
|
+
|
|
239
|
+
def _is_biber_member(name: str) -> bool:
|
|
240
|
+
"""Whether an archive member is the biber executable.
|
|
241
|
+
|
|
242
|
+
Most archives hold a plain ``biber`` (``biber.exe`` on Windows), but a few
|
|
243
|
+
musl tarballs name the binary after the tarball (e.g.
|
|
244
|
+
``biber-linux_x86_64-musl``). AppleDouble sidecars (``._biber``) are
|
|
245
|
+
excluded. The largest matching member is chosen by the callers.
|
|
246
|
+
"""
|
|
247
|
+
base = Path(name).name
|
|
248
|
+
if base.startswith("._"):
|
|
249
|
+
return False
|
|
250
|
+
return base in {"biber", "biber.exe"} or base.startswith("biber")
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def _extract_biber_binary(archive: Path, version: str) -> bytes:
|
|
254
|
+
"""Read the biber executable out of a ``.tar.gz`` or ``.zip`` archive."""
|
|
255
|
+
if zipfile.is_zipfile(archive):
|
|
256
|
+
with zipfile.ZipFile(archive) as zf:
|
|
257
|
+
members = [
|
|
258
|
+
i
|
|
259
|
+
for i in zf.infolist()
|
|
260
|
+
if not i.is_dir() and _is_biber_member(i.filename)
|
|
261
|
+
]
|
|
262
|
+
if not members:
|
|
263
|
+
raise BuildError(
|
|
264
|
+
f"biber binary not found inside the biber {version} archive"
|
|
265
|
+
)
|
|
266
|
+
return zf.read(max(members, key=lambda i: i.file_size))
|
|
267
|
+
with tarfile.open(archive) as tf:
|
|
268
|
+
tar_members = [
|
|
269
|
+
m for m in tf.getmembers() if m.isfile() and _is_biber_member(m.name)
|
|
270
|
+
]
|
|
271
|
+
member = max(tar_members, key=lambda m: m.size, default=None)
|
|
272
|
+
if member is None:
|
|
273
|
+
raise BuildError(
|
|
274
|
+
f"biber binary not found inside the biber {version} archive"
|
|
275
|
+
)
|
|
276
|
+
src = tf.extractfile(member)
|
|
277
|
+
if src is None:
|
|
278
|
+
raise BuildError(f"could not read biber from the biber {version} archive")
|
|
279
|
+
return src.read()
|
|
154
280
|
|
|
155
281
|
|
|
156
282
|
def _download_to(url: str, dest: Path, sha: str | None, console: Console) -> bool:
|
|
@@ -196,25 +322,7 @@ def _ensure_biber(version: str, console: Console) -> Path:
|
|
|
196
322
|
raise BuildError(
|
|
197
323
|
f"failed to download biber {version} from the mirror or SourceForge"
|
|
198
324
|
)
|
|
199
|
-
|
|
200
|
-
member = next(
|
|
201
|
-
(
|
|
202
|
-
m
|
|
203
|
-
for m in tf.getmembers()
|
|
204
|
-
if Path(m.name).name == "biber" and m.isfile()
|
|
205
|
-
),
|
|
206
|
-
None,
|
|
207
|
-
)
|
|
208
|
-
if member is None:
|
|
209
|
-
raise BuildError(
|
|
210
|
-
f"biber binary not found inside the biber {version} archive"
|
|
211
|
-
)
|
|
212
|
-
src = tf.extractfile(member)
|
|
213
|
-
if src is None:
|
|
214
|
-
raise BuildError(
|
|
215
|
-
f"could not read biber from the biber {version} archive"
|
|
216
|
-
)
|
|
217
|
-
cached.write_bytes(src.read())
|
|
325
|
+
cached.write_bytes(_extract_biber_binary(tmp, version))
|
|
218
326
|
except Exception:
|
|
219
327
|
if cached.exists():
|
|
220
328
|
cached.unlink()
|
|
@@ -21,25 +21,27 @@ of the document when it is not given via frontmatter/config.
|
|
|
21
21
|
from __future__ import annotations
|
|
22
22
|
|
|
23
23
|
import re
|
|
24
|
+
from pathlib import Path
|
|
24
25
|
from typing import TYPE_CHECKING
|
|
25
26
|
|
|
27
|
+
from pytex.commands.biblatex import Addbibresource
|
|
26
28
|
from pytex.commands.builtin import ChapterStar
|
|
27
29
|
from pytex.model.concat import Concat
|
|
28
30
|
from pytex.model.document import Document
|
|
31
|
+
from pytex.model.empty import Empty
|
|
29
32
|
from pytex.model.raw import Raw
|
|
30
33
|
from pytex_hsrtreport.document import HSRTReport
|
|
31
34
|
from pytex_hsrtreport.titlepage import TitlePageDataLine
|
|
32
35
|
from pytex_hsrtreport.variants import Variant
|
|
33
|
-
from pytex_markdown import Markdown, escape_latex
|
|
34
|
-
from
|
|
35
|
-
from pytex_protocol.frontmatter import split_frontmatter
|
|
36
|
+
from pytex_markdown import Markdown, escape_latex, split_frontmatter
|
|
37
|
+
from pytex_markdown.protocol import build_protocol
|
|
36
38
|
|
|
37
39
|
if TYPE_CHECKING:
|
|
38
40
|
from collections.abc import Mapping
|
|
39
41
|
|
|
40
42
|
from pytex.interface.package import PackageOption
|
|
41
43
|
from pytex.interface.tex import TeX
|
|
42
|
-
from
|
|
44
|
+
from pytex_markdown.frontmatter import FrontmatterValue
|
|
43
45
|
|
|
44
46
|
__all__ = ["VARIANT_NAMES", "build_document"]
|
|
45
47
|
|
|
@@ -119,11 +121,14 @@ def _report(
|
|
|
119
121
|
# The `#` heading was pulled out for the title page; re-emit it at the
|
|
120
122
|
# top of the body as a big, unnumbered heading so it is not lost.
|
|
121
123
|
body_tex = Concat(ChapterStar(escape_latex(title)), Raw("\n\n"), body_tex)
|
|
124
|
+
bibliography = _bibliography(options)
|
|
122
125
|
return HSRTReport(
|
|
123
126
|
variant=logo_variant,
|
|
124
127
|
show_titlepage=title is not None,
|
|
125
128
|
show_footer_logos=footer_logos,
|
|
126
129
|
show_toc=True,
|
|
130
|
+
show_bibliography=bibliography is not None,
|
|
131
|
+
user_preamble=_bib_preamble(bibliography) if bibliography else Empty,
|
|
127
132
|
title=escape_latex(title) if title is not None else None,
|
|
128
133
|
author=_escaped(_str(options, "author", "autor")),
|
|
129
134
|
abstract=_escaped(_str(options, "abstract", "zusammenfassung")),
|
|
@@ -161,6 +166,41 @@ def _protocol(
|
|
|
161
166
|
|
|
162
167
|
# -- helpers ---------------------------------------------------------------
|
|
163
168
|
|
|
169
|
+
# Self-contained .bib name written next to the .tex via filecontents so biber
|
|
170
|
+
# finds it in the build dir without an external file path.
|
|
171
|
+
_BIB_FILENAME = "pytex-md-refs.bib"
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def _bibliography(options: Mapping[str, object]) -> str | None:
|
|
175
|
+
"""BibTeX content from the ``bibliography`` frontmatter, or ``None``.
|
|
176
|
+
|
|
177
|
+
The value is either inline BibTeX (a block scalar, recognised by an ``@``
|
|
178
|
+
entry) or a path to a ``.bib`` file, which is read in. A path that does not
|
|
179
|
+
resolve to a file is ignored.
|
|
180
|
+
"""
|
|
181
|
+
value = _str(options, "bibliography", "literatur", "bibliografie", "bib")
|
|
182
|
+
if value is None:
|
|
183
|
+
return None
|
|
184
|
+
if "@" in value:
|
|
185
|
+
return value
|
|
186
|
+
path = Path(value)
|
|
187
|
+
return path.read_text(encoding="utf-8") if path.is_file() else None
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
def _bib_preamble(content: str) -> TeX:
|
|
191
|
+
"""Emit the bibliography as an inline ``filecontents`` .bib + ``\\addbibresource``.
|
|
192
|
+
|
|
193
|
+
Writing the .bib via ``filecontents`` keeps the document self-contained: the
|
|
194
|
+
file lands in the build dir at compile time, so biber resolves it without a
|
|
195
|
+
separate path (and the numeric biblatex default style applies).
|
|
196
|
+
"""
|
|
197
|
+
block = (
|
|
198
|
+
f"\\begin{{filecontents*}}[overwrite,noheader]{{{_BIB_FILENAME}}}\n"
|
|
199
|
+
+ content.rstrip("\n")
|
|
200
|
+
+ "\n\\end{filecontents*}\n"
|
|
201
|
+
)
|
|
202
|
+
return Concat(Raw(block, allow_replacements=False), Addbibresource(_BIB_FILENAME))
|
|
203
|
+
|
|
164
204
|
|
|
165
205
|
def _str(options: Mapping[str, object], *keys: str) -> str | None:
|
|
166
206
|
for key in keys:
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
width="2048mm"
|
|
6
|
+
height="512mm"
|
|
7
|
+
viewBox="0 0 2048 512"
|
|
8
|
+
version="1.1"
|
|
9
|
+
id="svg1"
|
|
10
|
+
xml:space="preserve"
|
|
11
|
+
sodipodi:docname="MAKERs-Team-Wide-Color-BlackText-LAlign.svg"
|
|
12
|
+
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
|
13
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
14
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
15
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
16
|
+
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
|
17
|
+
id="namedview1"
|
|
18
|
+
pagecolor="#505050"
|
|
19
|
+
bordercolor="#ffffff"
|
|
20
|
+
borderopacity="1"
|
|
21
|
+
inkscape:showpageshadow="0"
|
|
22
|
+
inkscape:pageopacity="0"
|
|
23
|
+
inkscape:pagecheckerboard="1"
|
|
24
|
+
inkscape:deskcolor="#505050"
|
|
25
|
+
inkscape:document-units="mm"
|
|
26
|
+
inkscape:zoom="0.070523658"
|
|
27
|
+
inkscape:cx="4388.5982"
|
|
28
|
+
inkscape:cy="-326.13169"
|
|
29
|
+
inkscape:window-width="1920"
|
|
30
|
+
inkscape:window-height="1043"
|
|
31
|
+
inkscape:window-x="0"
|
|
32
|
+
inkscape:window-y="0"
|
|
33
|
+
inkscape:window-maximized="1"
|
|
34
|
+
inkscape:current-layer="g1"
|
|
35
|
+
showguides="true"><sodipodi:guide
|
|
36
|
+
position="2021.8091,285.07763"
|
|
37
|
+
orientation="1,0"
|
|
38
|
+
id="guide1"
|
|
39
|
+
inkscape:locked="false" /><sodipodi:guide
|
|
40
|
+
position="0,286.10685"
|
|
41
|
+
orientation="1,0"
|
|
42
|
+
id="guide2"
|
|
43
|
+
inkscape:locked="false" /><sodipodi:guide
|
|
44
|
+
position="30.279792,199.74611"
|
|
45
|
+
orientation="1,0"
|
|
46
|
+
id="guide3"
|
|
47
|
+
inkscape:locked="false" /><sodipodi:guide
|
|
48
|
+
position="2047.9999,431.14801"
|
|
49
|
+
orientation="1,0"
|
|
50
|
+
id="guide4"
|
|
51
|
+
inkscape:locked="false" /><sodipodi:guide
|
|
52
|
+
position="263.33682,29.423434"
|
|
53
|
+
orientation="0,-1"
|
|
54
|
+
id="guide5"
|
|
55
|
+
inkscape:locked="false" /><sodipodi:guide
|
|
56
|
+
position="1699.4631,474.68773"
|
|
57
|
+
orientation="0,-1"
|
|
58
|
+
id="guide6"
|
|
59
|
+
inkscape:locked="false" /><sodipodi:guide
|
|
60
|
+
position="585.53278,35.901142"
|
|
61
|
+
orientation="1,0"
|
|
62
|
+
id="guide7"
|
|
63
|
+
inkscape:locked="false" /></sodipodi:namedview><defs
|
|
64
|
+
id="defs1" /><g
|
|
65
|
+
id="layer2"><g
|
|
66
|
+
id="g1"
|
|
67
|
+
style="fill:#ffffff;fill-opacity:1"
|
|
68
|
+
transform="translate(329.08479,-1.033803)"><path
|
|
69
|
+
d="m 496.61892,281.82165 v 199.81317 h -62.37106 v -99.62436 l -30.76219,99.62436 h -53.62218 l -30.7622,-99.62436 v 99.62436 H 256.44801 V 281.82165 h 76.76438 L 377.23902,401.766 420.13676,281.82165 Z m 156.35103,169.61542 h -66.60439 l -9.87777,30.19775 h -65.75772 l 73.0955,-199.81317 h 72.24882 l 72.81328,199.81317 H 662.84772 Z M 637.72997,404.306 619.66776,348.70827 601.60555,404.306 Z m 226.06002,77.32882 -58.13773,-86.64215 v 86.64215 H 742.99898 V 281.82165 h 62.65328 v 84.10216 l 57.29106,-84.10216 h 70.83772 l -68.86216,95.67326 73.37771,104.13991 z M 1018.7296,331.77495 v 24.55331 h 62.0888 v 47.13107 h -62.0888 v 28.2222 h 70.5555 v 49.95329 H 956.07631 V 281.82165 h 133.20879 v 49.9533 z m 194.7331,149.85987 -37.5355,-71.68438 h -0.2822 v 71.68438 h -62.6533 V 281.82165 h 93.1333 q 24.2711,0 41.4866,8.74889 17.2155,8.46666 25.6822,23.42442 8.7489,14.67554 8.7489,33.3022 0,20.03776 -11.2889,35.55997 -11.0067,15.5222 -31.8911,22.29553 l 43.4622,76.48216 z M 1175.645,368.18158 h 24.8355 q 9.0311,0 13.5467,-3.95111 4.5155,-4.23333 4.5155,-12.98221 0,-7.90221 -4.7977,-12.41776 -4.5156,-4.51556 -13.2645,-4.51556 h -24.8355 z m 204.6109,115.42879 q -35.8421,0 -59.2666,-16.65109 -23.1422,-16.93332 -25.1177,-49.38885 h 66.6044 q 1.4111,17.21554 15.24,17.21554 5.0799,0 8.4666,-2.25778 3.6689,-2.53999 3.6689,-7.61999 0,-7.05555 -7.62,-11.28888 -7.62,-4.51555 -23.7066,-10.15999 -19.1911,-6.77333 -31.8911,-13.26443 -12.4178,-6.49111 -21.4489,-18.90888 -9.0311,-12.41776 -8.7489,-31.89108 0,-19.47332 9.8778,-33.01997 10.16,-13.82888 27.3755,-20.88443 17.4978,-7.05555 39.2289,-7.05555 36.6888,0 58.1377,16.93332 21.7311,16.93332 22.86,47.69552 h -67.4511 q -0.2822,-8.46666 -4.2333,-12.13555 -3.9511,-3.66889 -9.5955,-3.66889 -3.9512,0 -6.4911,2.82222 -2.54,2.54 -2.54,7.33778 0,6.77332 7.3377,11.28888 7.62,4.23332 23.9889,10.44221 18.9089,7.05555 31.0444,13.54665 12.4178,6.49111 21.4489,18.06221 9.0311,11.5711 9.0311,29.06887 0,18.34442 -9.0311,33.01997 -9.0311,14.39332 -26.2467,22.57776 -17.2155,8.18443 -40.9222,8.18443 z"
|
|
70
|
+
id="text1"
|
|
71
|
+
style="font-weight:900;font-size:282.222px;font-family:Poppins;-inkscape-font-specification:'Poppins, Heavy';letter-spacing:0px;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;fill:#000000;fill-opacity:1"
|
|
72
|
+
aria-label="MAKERS" /><path
|
|
73
|
+
d="m 340.83238,243.52145 q -35.84219,0 -59.26662,-16.6511 -23.1422,-16.93332 -25.11775,-49.38885 h 66.60439 q 1.41111,17.21555 15.23998,17.21555 5.08,0 8.46666,-2.25778 3.66889,-2.54 3.66889,-7.61999 0,-7.05555 -7.61999,-11.28888 -7.62,-4.51555 -23.70665,-10.15999 -19.1911,-6.77333 -31.89109,-13.26444 -12.41776,-6.4911 -21.44887,-18.90887 -9.0311,-12.41777 -8.74888,-31.891091 0,-19.473317 9.87777,-33.019972 10.15999,-13.828877 27.37553,-20.884427 17.49777,-7.05555 39.22886,-7.05555 36.68886,0 58.13773,16.933319 21.73109,16.93332 22.85998,47.695511 h -67.45105 q -0.28223,-8.466655 -4.23333,-12.13554 -3.95111,-3.668886 -9.59555,-3.668886 -3.95111,0 -6.49111,2.82222 -2.54,2.539997 -2.54,7.337771 0,6.773325 7.33778,11.288875 7.61999,4.23334 23.98886,10.44222 18.90888,7.05555 31.04442,13.54666 12.41777,6.4911 21.44887,18.06221 9.03111,11.5711 9.03111,29.06886 0,18.34443 -9.03111,33.01997 -9.0311,14.39332 -26.24664,22.57776 -17.21554,8.18444 -40.92219,8.18444 z M 595.96105,41.732724 v 49.67107 H 542.90332 V 241.5459 H 480.25003 V 91.403794 h -52.49328 v -49.67107 z m 78.17526,0 V 154.3393 q 0,13.82888 5.92666,22.01332 6.20888,7.90221 19.75554,7.90221 13.54665,0 20.03776,-7.90221 6.4911,-8.18444 6.4911,-22.01332 V 41.732724 H 788.7184 V 154.3393 q 0,28.50442 -11.8533,48.82441 -11.8533,20.03776 -32.45552,30.19775 -20.6022,10.15999 -46.00218,10.15999 -25.39998,0 -45.15552,-10.15999 -19.47332,-10.15999 -30.47997,-30.19775 -11.00666,-20.03777 -11.00666,-48.82441 V 41.732724 Z M 979.2183,110.31266 q 0,18.90889 -8.7489,34.43109 -8.7489,15.23999 -25.9644,24.2711 -16.9334,9.0311 -41.2044,9.0311 H 878.465 V 241.5459 H 815.8117 V 41.732724 h 87.4889 q 36.6888,0 56.1621,18.626651 19.7556,18.626651 19.7556,49.953285 z M 896.245,128.6571 q 19.4733,0 19.4733,-18.34444 0,-18.344423 -19.4733,-18.344423 h -17.78 V 128.6571 Z m 230.8576,82.69104 h -66.6044 l -9.8777,30.19776 h -65.7578 l 73.0955,-199.813176 h 72.2489 l 72.8132,199.813176 h -66.0399 z m -15.24,-47.13107 -18.0622,-55.59774 -18.0622,55.59774 z"
|
|
74
|
+
id="text1-5"
|
|
75
|
+
style="font-weight:900;font-size:282.222px;font-family:Poppins;-inkscape-font-specification:'Poppins, Heavy';letter-spacing:0px;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;fill:#000000;fill-opacity:1"
|
|
76
|
+
aria-label="STUPA" /></g><g
|
|
77
|
+
id="layer1-4"
|
|
78
|
+
transform="translate(9.0596895,-1.7374416)"><g
|
|
79
|
+
id="g11-7-0-0-9-0-20-7"
|
|
80
|
+
transform="matrix(0,0.59667125,0.59667125,0,393.2673,161.87008)"
|
|
81
|
+
style="stroke-width:0.443432"><path
|
|
82
|
+
id="path3-9-3-3-8-7-0-1-0-3-2-8"
|
|
83
|
+
style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
84
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
|
|
85
|
+
id="path3-9-3-3-8-7-3-1-7-3-6-3-4"
|
|
86
|
+
style="fill:#f18700;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
87
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
88
|
+
transform="rotate(120,158.4647,-495.98275)" /><path
|
|
89
|
+
id="path3-9-3-3-8-7-3-5-2-9-3-2-7-5"
|
|
90
|
+
style="fill:#ce1625;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
91
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
92
|
+
transform="rotate(-120,158.45415,-495.99122)" /></g><g
|
|
93
|
+
id="g11-7-0-0-9-0-0-5-0"
|
|
94
|
+
transform="matrix(0.51673246,-0.29833562,0.29833562,0.51673246,241.95468,423.93573)"
|
|
95
|
+
style="stroke-width:0.443432"><path
|
|
96
|
+
id="path3-9-3-3-8-7-0-1-0-3-1-9-3"
|
|
97
|
+
style="fill:#008b92;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
98
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
|
|
99
|
+
id="path3-9-3-3-8-7-3-1-7-3-6-9-2-6"
|
|
100
|
+
style="fill:#0075bf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
101
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
102
|
+
transform="rotate(120,158.4647,-495.98275)" /><path
|
|
103
|
+
id="path3-9-3-3-8-7-3-5-2-9-3-2-6-2-1"
|
|
104
|
+
style="fill:#29235c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
105
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
106
|
+
transform="rotate(-120,158.45415,-495.99122)" /></g><g
|
|
107
|
+
id="g11-7-0-0-9-0-2-89-0"
|
|
108
|
+
transform="matrix(0,0.59667125,0.59667125,0,630.13284,25.684221)"
|
|
109
|
+
style="stroke-width:0.443432"><path
|
|
110
|
+
id="path3-9-3-3-8-7-0-1-0-3-16-7-6"
|
|
111
|
+
style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
112
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
|
|
113
|
+
id="path3-9-3-3-8-7-3-1-7-3-6-2-36-3"
|
|
114
|
+
style="fill:#f18700;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
115
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
116
|
+
transform="rotate(120,158.4647,-495.98275)" /><path
|
|
117
|
+
id="path3-9-3-3-8-7-3-5-2-9-3-2-1-1-2"
|
|
118
|
+
style="fill:#ce1625;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
119
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
120
|
+
transform="rotate(-120,158.45415,-495.99122)" /></g><g
|
|
121
|
+
id="g11-7-0-0-9-0-2-8-2-0"
|
|
122
|
+
transform="matrix(0,0.59667125,0.59667125,0,630.43565,300.31284)"
|
|
123
|
+
style="stroke-width:0.443432"><path
|
|
124
|
+
id="path3-9-3-3-8-7-0-1-0-3-16-6-9-6"
|
|
125
|
+
style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
126
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
|
|
127
|
+
id="path3-9-3-3-8-7-3-1-7-3-6-2-3-3-1"
|
|
128
|
+
style="fill:#f18700;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
129
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
130
|
+
transform="rotate(120,158.4647,-495.98275)" /><path
|
|
131
|
+
id="path3-9-3-3-8-7-3-5-2-9-3-2-1-8-1-5"
|
|
132
|
+
style="fill:#ce1625;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
133
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
134
|
+
transform="rotate(-120,158.45414,-495.99122)" /></g><g
|
|
135
|
+
id="g11-7-0-0-9-0-0-0-94-5"
|
|
136
|
+
transform="matrix(0.51673246,-0.29833562,0.29833562,0.51673246,478.82011,560.2897)"
|
|
137
|
+
style="stroke-width:0.443432"><path
|
|
138
|
+
id="path3-9-3-3-8-7-0-1-0-3-1-1-78-4"
|
|
139
|
+
style="fill:#008b92;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
140
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
|
|
141
|
+
id="path3-9-3-3-8-7-3-1-7-3-6-9-9-4-7"
|
|
142
|
+
style="fill:#0075bf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
143
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
144
|
+
transform="rotate(120,158.4647,-495.98275)" /><path
|
|
145
|
+
id="path3-9-3-3-8-7-3-5-2-9-3-2-6-7-5-6"
|
|
146
|
+
style="fill:#29235c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
147
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
148
|
+
transform="rotate(-120,158.45415,-495.99122)" /></g><g
|
|
149
|
+
id="g11-7-0-0-9-0-0-0-9-0-5"
|
|
150
|
+
transform="matrix(0.51673246,-0.29833562,0.29833562,0.51673246,241.95467,698.73251)"
|
|
151
|
+
style="stroke-width:0.443432"><path
|
|
152
|
+
id="path3-9-3-3-8-7-0-1-0-3-1-1-5-3-6"
|
|
153
|
+
style="fill:#008b92;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
154
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z" /><path
|
|
155
|
+
id="path3-9-3-3-8-7-3-1-7-3-6-9-9-1-6-9"
|
|
156
|
+
style="fill:#0075bf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
157
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
158
|
+
transform="rotate(120,158.4647,-495.98275)" /><path
|
|
159
|
+
id="path3-9-3-3-8-7-3-5-2-9-3-2-6-7-2-10-3"
|
|
160
|
+
style="fill:#29235c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.87637;stroke-dasharray:none;stroke-opacity:1"
|
|
161
|
+
d="m 72.187145,-608.63455 c -8.389369,38.44406 -27.282093,70.83442 -54.178521,94.61352 -4.137019,3.65754 -5.449842,10.26951 -2.688548,15.05251 14.675938,25.42107 29.351877,50.84214 44.027816,76.26321 2.761293,4.783 8.673559,6.0982 13.068673,2.75435 28.548345,-21.71988 52.510725,-48.95763 72.013875,-81.76553 2.82204,-4.74718 3.00458,-12.6906 0.7284,-17.72185 -7.11103,-15.71813 -21.09098,-50.13052 -25.68624,-89.06116 -0.64735,-5.48427 -5.43095,-9.95351 -10.9538,-9.95353 l -24.440675,-6e-5 c -5.522847,-2e-5 -10.713598,4.42321 -11.89098,9.81854 z"
|
|
162
|
+
transform="rotate(-120,158.45415,-495.99122)" /></g></g></g><g
|
|
163
|
+
id="layer1" /></svg>
|
|
@@ -57,7 +57,7 @@ from .listings import HSRTListingStyles
|
|
|
57
57
|
from .logos import DefaultLogos, footer_logo_hook
|
|
58
58
|
from .pagesetup import HSRTPageSetup
|
|
59
59
|
from .titlepage import TitlePage, TitlePageDataLine
|
|
60
|
-
from .variants import Variant, default_logo_names
|
|
60
|
+
from .variants import Variant, default_logo_names, footer_logo_names
|
|
61
61
|
|
|
62
62
|
__all__ = ["HSRTReport"]
|
|
63
63
|
|
|
@@ -195,7 +195,7 @@ class HSRTReport(KomaDocument):
|
|
|
195
195
|
# that HSRTFontSetup's \renewcommand{\blenderfont} requires.
|
|
196
196
|
yield HSRTPageSetup()
|
|
197
197
|
# The skyline is drawn on every page; footer logos only when requested.
|
|
198
|
-
logo_names =
|
|
198
|
+
logo_names = footer_logo_names(self.variant) if self.show_footer_logos else ()
|
|
199
199
|
yield Raw(footer_logo_hook(logo_names), allow_replacements=False)
|
|
200
200
|
if self.inline_fonts:
|
|
201
201
|
yield HSRTFontSetup()
|
|
@@ -277,9 +277,14 @@ class HSRTReport(KomaDocument):
|
|
|
277
277
|
|
|
278
278
|
from .logos import LOGO_OUTPUT_DIR, logo_output_name, logo_path
|
|
279
279
|
|
|
280
|
-
# Titlepage overlay
|
|
281
|
-
# skyline is emitted on every page
|
|
282
|
-
|
|
280
|
+
# Titlepage overlay uses the title logos, the footer hook its own set
|
|
281
|
+
# (which may differ, e.g. MAKERS); the skyline is emitted on every page
|
|
282
|
+
# regardless of show_footer_logos.
|
|
283
|
+
names = sorted(
|
|
284
|
+
set(default_logo_names(self.variant))
|
|
285
|
+
| set(footer_logo_names(self.variant))
|
|
286
|
+
| {"Skyline"}
|
|
287
|
+
)
|
|
283
288
|
base = Path(target_dir)
|
|
284
289
|
return tuple(
|
|
285
290
|
# IncludeImage.read_bytes converts svg -> pdf on the fly.
|