this repo has no description

create first snippet

altagos.dev 15cac14e b3ff4113

verified
+177 -23
+2 -2
build.zig.zon
··· 5 5 .minimum_zig_version = "0.15.0-dev.1149+4e6a04929", 6 6 .dependencies = .{ 7 7 .zine = .{ 8 - .url = "git+https://github.com/Altagos/zine#d13cdde2af9e2e6c78274b4e5bf9ed2fa26e9126", 9 - .hash = "zine-0.11.1-ou6nINh6FgAIUbMMIzGj-8qnXl3zwfzBDfDpdxumM-Z_", 8 + .url = "git+https://github.com/Altagos/zine#98210f23736b6577ce46223e2deac602c53dd3cb", 9 + .hash = "zine-0.11.1-ou6nIMt6FgC6lZfe2NBfnWlwm3MzGitZFj0nrm5CwvAO", 10 10 }, 11 11 }, 12 12 .paths = .{
+8
content/snippets/index.smd
··· 1 + --- 2 + .title = "Snippets", 3 + .author = "Jakob Speer", 4 + .date = @date("2025-07-20"), 5 + .layout = "index.shtml", 6 + .draft = false, 7 + .description = "A list of snippets" 8 + ---
+50
content/snippets/tex-side-by-side-figures/index.smd
··· 1 + --- 2 + .title = "Side-by-side Figures in LaTeX", 3 + .author = "Jakob Speer", 4 + .date = @date("2025-11-21"), 5 + .layout = "snippet.shtml", 6 + .draft = false, 7 + .description = "" 8 + --- 9 + 10 + Source: [https://tex.stackexchange.com/a/6869](https://tex.stackexchange.com/a/6869) 11 + 12 + Required Packages: 13 + - [`floatrow`](https://ctan.org/pkg/floatrow?lang=en) 14 + 15 + What we want to achieve: 16 + ```=html 17 + <figure> 18 + <?xml version="1.0" standalone="no"?> 19 + <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 20 + <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 225.4157067374192" width="100%" preserveAspectRatio="xMidYMid meet"> <!-- svg-source:excalidraw --><metadata></metadata><defs><style class="style-fonts">@font-face { font-family: Comic Shanns; src: url(data:font/woff2;base64,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); }</style></defs><g stroke-linecap="round" transform="translate(10 10) rotate(0 150 70)"><path d="M32 0 C94.51 0, 157.02 0, 268 0 M32 0 C122.41 0, 212.82 0, 268 0 M268 0 C289.33 0, 300 10.67, 300 32 M268 0 C289.33 0, 300 10.67, 300 32 M300 32 C300 47.77, 300 63.54, 300 108 M300 32 C300 52.22, 300 72.44, 300 108 M300 108 C300 129.33, 289.33 140, 268 140 M300 108 C300 129.33, 289.33 140, 268 140 M268 140 C174.68 140, 81.36 140, 32 140 M268 140 C184.17 140, 100.35 140, 32 140 M32 140 C10.67 140, 0 129.33, 0 108 M32 140 C10.67 140, 0 129.33, 0 108 M0 108 C0 82.2, 0 56.41, 0 32 M0 108 C0 79.18, 0 50.36, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="currentColor" stroke-width="2" fill="none"></path></g><g transform="translate(116 67.5) rotate(0 44 12.5)"><text x="44" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Figure 1</text></g><g stroke-linecap="round" transform="translate(410 10) rotate(0 150 70)"><path d="M32 0 C124.1 0, 216.21 0, 268 0 M32 0 C96.4 0, 160.8 0, 268 0 M268 0 C289.33 0, 300 10.67, 300 32 M268 0 C289.33 0, 300 10.67, 300 32 M300 32 C300 62.3, 300 92.6, 300 108 M300 32 C300 59.55, 300 87.1, 300 108 M300 108 C300 129.33, 289.33 140, 268 140 M300 108 C300 129.33, 289.33 140, 268 140 M268 140 C218.11 140, 168.22 140, 32 140 M268 140 C182.89 140, 97.78 140, 32 140 M32 140 C10.67 140, 0 129.33, 0 108 M32 140 C10.67 140, 0 129.33, 0 108 M0 108 C0 85.3, 0 62.61, 0 32 M0 108 C0 89.96, 0 71.92, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="currentColor" stroke-width="2" fill="none"></path></g><g transform="translate(516 67.5) rotate(0 44 12.5)"><text x="44" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Figure 2</text></g><g transform="translate(83 182.07766114498594) rotate(0 77 12.5)"><text x="77" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Caption 1: ...</text></g><g transform="translate(483 190.4157067374192) rotate(0 77 12.5)"><text x="77" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Caption 2: ...</text></g></svg> 21 + </figure> 22 + ``` 23 + 24 + How to: 25 + ```latex 26 + \usepackage{floatrow} 27 + % Table float box with bottom caption, box width adjusted to content 28 + \newfloatcommand{capbtabbox}{table}[][\FBwidth] 29 + 30 + \usepackage{blindtext} 31 + 32 + \begin{document} 33 + 34 + \blindtext 35 + 36 + \begin{figure} 37 + \begin{floatrow} 38 + \ffigbox{\rule{3cm}{3cm}}{ 39 + \caption{Figure 1} 40 + } 41 + \ffigbox{\rule{3cm}{3cm}}{ 42 + \caption{Figure 2} 43 + } 44 + \end{floatrow} 45 + \end{figure} 46 + 47 + \end{document} 48 + ``` 49 + 50 + ![Result](result.png)
content/snippets/tex-side-by-side-figures/result.png

This is a binary file and will not be displayed.

+28
content/snippets/tex-side-by-side-figures/side-by-side-figures.svg
··· 1 + <?xml version="1.0" standalone="no"?> 2 + <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 3 + <svg version="1.1" 4 + xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 225.4157067374192" width="1440" height="450.8314134748384"> <!-- svg-source:excalidraw --> 5 + <metadata></metadata> 6 + <defs> 7 + <style class="style-fonts"> 8 + @font-face { font-family: Comic Shanns; src: url(data:font/woff2;base64,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); }</style> 9 + </defs> 10 + <g stroke-linecap="round" transform="translate(10 10) rotate(0 150 70)"> 11 + <path d="M32 0 C94.51 0, 157.02 0, 268 0 M32 0 C122.41 0, 212.82 0, 268 0 M268 0 C289.33 0, 300 10.67, 300 32 M268 0 C289.33 0, 300 10.67, 300 32 M300 32 C300 47.77, 300 63.54, 300 108 M300 32 C300 52.22, 300 72.44, 300 108 M300 108 C300 129.33, 289.33 140, 268 140 M300 108 C300 129.33, 289.33 140, 268 140 M268 140 C174.68 140, 81.36 140, 32 140 M268 140 C184.17 140, 100.35 140, 32 140 M32 140 C10.67 140, 0 129.33, 0 108 M32 140 C10.67 140, 0 129.33, 0 108 M0 108 C0 82.2, 0 56.41, 0 32 M0 108 C0 79.18, 0 50.36, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="currentColor" stroke-width="2" fill="none"></path> 12 + </g> 13 + <g transform="translate(116 67.5) rotate(0 44 12.5)"> 14 + <text x="44" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Figure 1</text> 15 + </g> 16 + <g stroke-linecap="round" transform="translate(410 10) rotate(0 150 70)"> 17 + <path d="M32 0 C124.1 0, 216.21 0, 268 0 M32 0 C96.4 0, 160.8 0, 268 0 M268 0 C289.33 0, 300 10.67, 300 32 M268 0 C289.33 0, 300 10.67, 300 32 M300 32 C300 62.3, 300 92.6, 300 108 M300 32 C300 59.55, 300 87.1, 300 108 M300 108 C300 129.33, 289.33 140, 268 140 M300 108 C300 129.33, 289.33 140, 268 140 M268 140 C218.11 140, 168.22 140, 32 140 M268 140 C182.89 140, 97.78 140, 32 140 M32 140 C10.67 140, 0 129.33, 0 108 M32 140 C10.67 140, 0 129.33, 0 108 M0 108 C0 85.3, 0 62.61, 0 32 M0 108 C0 89.96, 0 71.92, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="currentColor" stroke-width="2" fill="none"></path> 18 + </g> 19 + <g transform="translate(516 67.5) rotate(0 44 12.5)"> 20 + <text x="44" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Figure 2</text> 21 + </g> 22 + <g transform="translate(83 182.07766114498594) rotate(0 77 12.5)"> 23 + <text x="77" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Caption 1: ...</text> 24 + </g> 25 + <g transform="translate(483 190.4157067374192) rotate(0 77 12.5)"> 26 + <text x="77" y="17.5" font-family="Comic Shanns, monospace, Segoe UI Emoji" font-size="20px" fill="currentColor" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Caption 2: ...</text> 27 + </g> 28 + </svg>
+14
layouts/index.shtml
··· 1 + <extend template="root.shtml"> 2 + 3 + <title id="title" :text="$page.title.suffix(' | ', $site.title)"></title> 4 + 5 + <main id="main"> 6 + <h1 :text="$page.title"></h1> 7 + <div :html="$page.content()"></div> 8 + 9 + <ul :loop="$page.subpages()"> 10 + <li> 11 + <a href="$loop.it.link()" :text="$loop.it.title"></a> 12 + </li> 13 + </ul> 14 + </main>
+29
layouts/snippet.shtml
··· 1 + <extend template="root.shtml"> 2 + 3 + <title id="title" :text="$page.title.suffix(' | ', $site.title)"></title> 4 + 5 + <main id="main"> 6 + <a href="/snippets" class="back"><i class="ph-bold ph-arrow-left"></i>Back</a> 7 + 8 + <h1 :text="$page.title"></h1> 9 + <h5> 10 + Created on: 11 + <span :text="$page.date.format('2006-01-02')"> 12 + </span> 13 + </h5> 14 + <div :html="$page.content()"></div> 15 + <ctx :if="$page.footnotes?()"> 16 + <div class="footnotes"> 17 + <ol :loop="$if"> 18 + <li id="$loop.it.def_id"> 19 + <div class="footnote"><ctx :html="$loop.it.html()"></ctx></div> 20 + <ctx :loop="$loop.it.ref_ids"> 21 + <div class="back"> 22 + <a href="$loop.it.prefix('#')"><i class="ph-bold ph-arrow-up"></i>Back</a> 23 + </div> 24 + </ctx> 25 + </li> 26 + </ol> 27 + </div> 28 + </ctx> 29 + </main>
+1 -1
mise.toml
··· 1 1 [tools] 2 2 watchexec = "latest" 3 - zig = "0.15.1" 3 + zig = "0.15.2" 4 4 5 5 [tasks.watch] 6 6 run = "watchexec -q -r -e scss,zig 'zig build serve -- --drafts'"
+11 -4
style/content/blocks.scss
··· 19 19 margin-right: 16px; 20 20 } 21 21 22 + summary::marker { 23 + content: "- "; 24 + // font-size-adjust: 0.6; 25 + } 26 + 27 + &:open { 28 + summary::marker { 29 + content: "~ "; 30 + } 31 + } 32 + 22 33 h1, 23 34 h2, 24 35 h3, 25 36 summary { 26 37 margin: 0; 27 38 padding: 0 16px; 28 - 29 - font-size: var(--font-size); 30 - font-weight: bold; 31 - line-height: 32px; 32 39 33 40 background: color-mix(in srgb, var(--block-highlight) 30%, transparent); 34 41 color: var(--block-header);
+12 -1
style/content/code.scss
··· 111 111 @include style($color: --syn-fun); 112 112 } 113 113 114 - code > .statement { 114 + code > .statement, 115 + code > .module { 115 116 // color: var(--syn-statement); 116 117 @include style($color: --syn-statement); 117 118 } ··· 281 282 282 283 code > .markup_italic { 283 284 @include style($font-style: italic); 285 + 286 + &::selection { 287 + background-color: var(--selection-background); 288 + color: var(--selection-foreground); 289 + } 290 + 291 + &::-moz-selection { 292 + background-color: var(--selection-background); 293 + color: var(--selection-foreground); 294 + } 284 295 } 285 296 286 297 code > .markup_strikethrough {
+12 -1
style/content/figures.scss
··· 1 1 figure { 2 + width: var(--content-max-width); 2 3 overflow-y: auto; 3 - 4 4 text-align: center; 5 + margin: 1em 0; 5 6 6 7 img { 7 8 max-width: var(--content-max-width); 9 + height: auto; 8 10 object-fit: scale-down; 11 + color: var(--text-color); 12 + } 13 + 14 + svg { 15 + overflow: hidden; 16 + resize: "horizontal"; 17 + max-width: var(--content-max-width); 18 + height: auto; 19 + color: var(--text-color); 9 20 } 10 21 }
+6 -10
style/content/footnotes.scss
··· 1 - .footnotes { 2 - .back { 3 - a { 4 - text-decoration: none; 5 - } 1 + .back { 2 + text-decoration: none; 6 3 7 - .ph-bold { 8 - font-size: 32px; 9 - position: relative; 10 - top: 2px; 11 - } 4 + .ph-bold { 5 + font-size: 32px; 6 + position: relative; 7 + top: 2px; 12 8 } 13 9 }
+1 -1
zig/download.sh
··· 1 1 #!/usr/bin/env bash 2 2 set -e 3 3 4 - [ -z "$ZIG_VERSION" ] && ZIG_VERSION="master" 4 + [ -z "$ZIG_VERSION" ] && ZIG_VERSION="0.15.1" 5 5 [ -z "$ZIG_PUBLIC_KEY" ] && ZIG_PUBLIC_KEY="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U" 6 6 7 7 command -v jq >/dev/null || { echo "jq required"; exit 1; }
+3 -3
zine.ziggy
··· 7 7 .static_assets = [ 8 8 // Well Known 9 9 ".well-known/atproto-did", 10 - 10 + 11 11 // Favicon 12 12 "favicon/apple-touch-icon.png", 13 13 "favicon/favicon-96x96.png", ··· 16 16 "favicon/site.webmanifest", 17 17 "favicon/web-app-manifest-192x192.png", 18 18 "favicon/web-app-manifest-512x512.png", 19 - 19 + 20 20 // Fonts 21 21 "fonts/TX-02.woff2", 22 22 "fonts/AndadaPro-Bold.woff2", ··· 30 30 "fonts/AndadaPro-SemiBold.woff2", 31 31 "fonts/AndadaPro-SemiBoldItalic.woff2", 32 32 "math/Temml.woff2", 33 - 33 + 34 34 // Other 35 35 "math/Temml-Local.css.map", 36 36 ],