[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96141":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":14,"starSnapshotCount":14,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},96141,"vintage-latex","Foadsf\u002Fvintage-latex","Foadsf","Twenty LuaLaTeX and MetaPost (fiziko) examples of the old scientific-paper aesthetic: engraved plates, star charts, computed log tables, knots, telescopes",null,"PowerShell",210,14,116,0,23,45.83,"Other",false,"main",true,[22,23,24,25,26,27,28,29],"fiziko","latex","lualatex","metapost","scientific-illustration","tikz","typography","vintage","2026-09-20 04:01:32","# Vintage scientific papers with LaTeX\n\nTwenty small examples show independent mechanisms behind a convincing\nold-scientific-paper aesthetic. Each file is deliberately standalone: copy one,\ncompile it, and remove individual effects to see what they contribute.\n\nThe examples fall into three groups: pure LaTeX pages (1, 2, 4, 5, 6, 10 to\n14), standalone [fiziko](https:\u002F\u002Fgithub.com\u002Fjemmybutton\u002Ffiziko) MetaPost\nfigures (3, 7, 8, 9), and LaTeX pages with fiziko figures drawn inside them by\nLuaTeX's built-in MetaPost (15 to 20).\n\n## Gallery\n\nLow-resolution previews of the compiled output; the PDFs themselves are\nvector and searchable.\n\n| | | | |\n|:-:|:-:|:-:|:-:|\n| [![01](preview\u002F01-early-modern-page.png)](examples\u002F01-early-modern-page.tex) | [![02](preview\u002F02-engraved-optics-plate.png)](examples\u002F02-engraved-optics-plate.tex) | [![03](preview\u002F03-fiziko-hooke-apparatus.png)](examples\u002F03-fiziko-hooke-apparatus.mp) | [![04](preview\u002F04-ornamented-incipit.png)](examples\u002F04-ornamented-incipit.tex) |\n| 01 early modern page | 02 engraved optics plate | 03 Hooke apparatus | 04 ornamented incipit |\n| [![05](preview\u002F05-victorian-newspaper.png)](examples\u002F05-victorian-newspaper.tex) | [![06](preview\u002F06-natural-history-catalogue.png)](examples\u002F06-natural-history-catalogue.tex) | [![07](preview\u002F07-fiziko-lens-rays.png)](examples\u002F07-fiziko-lens-rays.mp) | [![08](preview\u002F08-fiziko-atwood-machine.png)](examples\u002F08-fiziko-atwood-machine.mp) |\n| 05 Victorian newspaper | 06 natural history catalogue | 07 lens rays | 08 Atwood machine |\n| [![09](preview\u002F09-fiziko-shading-atlas.png)](examples\u002F09-fiziko-shading-atlas.mp) | [![10](preview\u002F10-lua-table-of-logarithms.png)](examples\u002F10-lua-table-of-logarithms.tex) | [![11](preview\u002F11-circumpolar-star-chart.png)](examples\u002F11-circumpolar-star-chart.tex) | [![12](preview\u002F12-snow-crystal-micrographs.png)](examples\u002F12-snow-crystal-micrographs.tex) |\n| 09 shading atlas | 10 table of logarithms | 11 circumpolar star chart | 12 snow-crystal micrographs |\n| [![13](preview\u002F13-cooling-curve-graph-paper.png)](examples\u002F13-cooling-curve-graph-paper.tex) | [![14](preview\u002F14-patent-drawing-sheet.png)](examples\u002F14-patent-drawing-sheet.tex) | [![15](preview\u002F15-fiziko-inclined-plane.png)](examples\u002F15-fiziko-inclined-plane.tex) | [![16](preview\u002F16-fiziko-telescope-plate.png)](examples\u002F16-fiziko-telescope-plate.tex) |\n| 13 cooling curve | 14 patent drawing sheet | 15 inclined plane | 16 telescope plate |\n| [![17](preview\u002F17-fiziko-terrestrial-globe.png)](examples\u002F17-fiziko-terrestrial-globe.tex) | [![18](preview\u002F18-fiziko-mechanics-primer.png)](examples\u002F18-fiziko-mechanics-primer.tex) | [![19](preview\u002F19-fiziko-knots-plate.png)](examples\u002F19-fiziko-knots-plate.tex) | [![20](preview\u002F20-fiziko-phases-of-the-moon.png)](examples\u002F20-fiziko-phases-of-the-moon.tex) |\n| 17 terrestrial globe | 18 mechanics primer | 19 knots plate | 20 phases of the moon |\n\n## The examples\n\n1. [`01-early-modern-page.tex`](examples\u002F01-early-modern-page.tex) -- OpenType\n   old-style figures and historical ligatures, an explicit long *s*, warm paper\n   and ink colors, asymmetric margins, a drop capital, spaced small capitals,\n   marginalia, and printer's rules.\n2. [`02-engraved-optics-plate.tex`](examples\u002F02-engraved-optics-plate.tex) --\n   deterministic irregular strokes and line hatching in TikZ, with labels kept\n   as real searchable text.\n3. [`03-fiziko-hooke-apparatus.mp`](examples\u002F03-fiziko-hooke-apparatus.mp) --\n   a compact Hooke apparatus drawn with the external\n   [fiziko](https:\u002F\u002Fgithub.com\u002Fjemmybutton\u002Ffiziko) MetaPost library: hatched\n   support, modeled spring, hanging weight, and measured extension.\n4. [`04-ornamented-incipit.tex`](examples\u002F04-ornamented-incipit.tex) -- an A5\n   early-scientific title page with a boxed three-line initial and a small\n   vector ornament made from ordinary TikZ paths.\n5. [`05-victorian-newspaper.tex`](examples\u002F05-victorian-newspaper.tex) -- a\n   compact square broadsheet with a masthead, balanced columns, rule between\n   columns, pull quotation, article heads, and meteorological register.\n6. [`06-natural-history-catalogue.tex`](examples\u002F06-natural-history-catalogue.tex)\n   -- a museum catalogue page using hanging entries, dot leaders, explicit\n   typographic roles, and old-style numeric data.\n7. [`07-fiziko-lens-rays.mp`](examples\u002F07-fiziko-lens-rays.mp) -- a glass lens\n   whose ray paths are computed by fiziko's refraction macro rather than drawn\n   to a predetermined focal point.\n8. [`08-fiziko-atwood-machine.mp`](examples\u002F08-fiziko-atwood-machine.mp) -- an\n   Atwood machine composed from a hatched support, shaded pulley, curved rope,\n   hanging weights, and acceleration arrow.\n9. [`09-fiziko-shading-atlas.mp`](examples\u002F09-fiziko-shading-atlas.mp) -- a\n   side-by-side comparison of line shading, stippling, and a variable-width\n   shaded tube.\n10. [`10-lua-table-of-logarithms.tex`](examples\u002F10-lua-table-of-logarithms.tex)\n    -- a five-place table of logarithms whose every digit is computed by a\n    Lua function at compile time, set in lining tabular figures with the\n    ruling of a nineteenth-century table.\n11. [`11-circumpolar-star-chart.tex`](examples\u002F11-circumpolar-star-chart.tex)\n    -- a polar star chart: one macro converts right ascension and declination\n    to chart coordinates for thirty-four catalogued stars, hour circles\n    lettered in roman numerals, and magnitude-graded discs.\n12. [`12-snow-crystal-micrographs.tex`](examples\u002F12-snow-crystal-micrographs.tex)\n    -- four circular microscope fields; the crystals are grown by TikZ\n    Lindenmayer-system grammars, with six rotated copies of one arm supplying\n    the hexagonal symmetry.\n13. [`13-cooling-curve-graph-paper.tex`](examples\u002F13-cooling-curve-graph-paper.tex)\n    -- a pgfplots chart on sepia graph paper with inward ticks, open-circle\n    plotting symbols, a hand-fitted curve, and an italic marginal remark.\n14. [`14-patent-drawing-sheet.tex`](examples\u002F14-patent-drawing-sheet.tex) --\n    a patent-office plate of a centrifugal governor: numbered leader lines,\n    sections hatched at forty-five degrees, engraved balls, and witness and\n    inventor signature lines.\n15. [`15-fiziko-inclined-plane.tex`](examples\u002F15-fiziko-inclined-plane.tex)\n    -- a treatise page whose figure is drawn by fiziko inside LuaLaTeX: a\n    wooden wedge, a shaded ball, and the weight resolved along and normal to\n    the slope, with labels set in the page's own text and math fonts.\n16. [`16-fiziko-telescope-plate.tex`](examples\u002F16-fiziko-telescope-plate.tex)\n    -- a Keplerian telescope in which every ray is refracted by fiziko's\n    tracing macro; the focus and the exit pupil, where the eye is placed, are\n    found where computed rays cross the axis.\n17. [`17-fiziko-terrestrial-globe.tex`](examples\u002F17-fiziko-terrestrial-globe.tex)\n    -- the earth from three stations using fiziko's globe with its built-in\n    coastlines, plus a border row of small globes turned by equal steps.\n18. [`18-fiziko-mechanics-primer.tex`](examples\u002F18-fiziko-mechanics-primer.tex)\n    -- a two-column chapter with a loaded cart, a lever in balance, and a\n    pendulum, each drawn in place in its column.\n19. [`19-fiziko-knots-plate.tex`](examples\u002F19-fiziko-knots-plate.tex) --\n    trefoil, cinquefoil, and septafoil cords from one formula each, with\n    fiziko finding the crossings and shading the rope.\n20. [`20-fiziko-phases-of-the-moon.tex`](examples\u002F20-fiziko-phases-of-the-moon.tex)\n    -- the moon in eight orbital positions under one fixed light, and the\n    same eight phases as seen from the earth by turning the light about a\n    fixed sphere.\n\nThe `.tex` files compile independently with LuaLaTeX. The `.mp` files are\nstandalone MetaPost sources with fiziko as an explicit external dependency.\nExamples 15 to 20 need both: they are LuaLaTeX documents that load fiziko\nthrough `luamplib`.\n\n## Build\n\nThe quickest route is the script for your shell, run from the repository\nroot. Both compile every example into `build\u002F` and skip the fiziko examples\nunless a fiziko checkout is given:\n\n```powershell\n.\\build.ps1 -Fiziko ..\\fiziko            # PowerShell 7\n```\n\n```sh\n.\u002Fbuild.sh ..\u002Ffiziko                      # POSIX shell\n```\n\nAppend example names to build only those. The sections below spell out the\nsame commands by hand.\n\nRequirements:\n\n- LuaLaTeX (TeX Live or MiKTeX);\n- the LaTeX packages `fontspec`, `geometry`, `microtype`, `multicol`, `xcolor`,\n  `tikz` (with its `lindenmayersystems`, `patterns.meta`, `calc`, and\n  `shapes.geometric` libraries), `pgfplots`, `luacode`, and `array`;\n- EB Garamond (the `ebgaramond` package in TeX Live and MiKTeX).\n\nFrom the repository root, create an output directory and compile all\npure-LaTeX examples:\n\n```powershell\n# PowerShell 7 on Windows\nNew-Item -ItemType Directory -Force build | Out-Null\n$names = @(\n  '01-early-modern-page',\n  '02-engraved-optics-plate',\n  '04-ornamented-incipit',\n  '05-victorian-newspaper',\n  '06-natural-history-catalogue',\n  '10-lua-table-of-logarithms',\n  '11-circumpolar-star-chart',\n  '12-snow-crystal-micrographs',\n  '13-cooling-curve-graph-paper',\n  '14-patent-drawing-sheet'\n)\nforeach ($name in $names) {\n  lualatex -interaction=nonstopmode -halt-on-error `\n    -output-directory=build \"examples\u002F$name.tex\"\n}\n```\n\n```sh\n# POSIX shell on Linux or macOS\nmkdir -p build\nfor name in \\\n  01-early-modern-page \\\n  02-engraved-optics-plate \\\n  04-ornamented-incipit \\\n  05-victorian-newspaper \\\n  06-natural-history-catalogue \\\n  10-lua-table-of-logarithms \\\n  11-circumpolar-star-chart \\\n  12-snow-crystal-micrographs \\\n  13-cooling-curve-graph-paper \\\n  14-patent-drawing-sheet\ndo\n  lualatex -interaction=nonstopmode -halt-on-error \\\n    -output-directory=build \"examples\u002F$name.tex\"\ndone\n```\n\nThe source files intentionally reject pdfLaTeX. That engine cannot provide the\nOpenType controls demonstrated here.\n\n### Build the fiziko examples\n\nClone fiziko separately; it is not vendored or relicensed here:\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Fjemmybutton\u002Ffiziko.git ..\u002Ffiziko\n```\n\nMetaPost finds `fiziko.mp` through `MPINPUTS`. Preserve the trailing path\nseparator so the normal MetaPost search path remains available.\n\n```powershell\n# PowerShell 7 on Windows\n$env:MPINPUTS = \"$((Resolve-Path ..\u002Ffiziko).Path);\"\nNew-Item -ItemType Directory -Force build | Out-Null\n$names = @(\n  '03-fiziko-hooke-apparatus',\n  '07-fiziko-lens-rays',\n  '08-fiziko-atwood-machine',\n  '09-fiziko-shading-atlas'\n)\nforeach ($name in $names) {\n  # -job-name is required by MiKTeX's mpost; omit it on TeX Live (see below).\n  mpost -interaction=nonstopmode -halt-on-error `\n    -job-name=$name -output-directory=build \"examples\u002F$name.mp\"\n}\n```\n\n```sh\n# POSIX shell on Linux or macOS\nexport MPINPUTS=\"$(cd ..\u002Ffiziko && pwd):\"\nmkdir -p build\nfor name in \\\n  03-fiziko-hooke-apparatus \\\n  07-fiziko-lens-rays \\\n  08-fiziko-atwood-machine \\\n  09-fiziko-shading-atlas\ndo\n  # Run from inside build\u002F: TeX Live's mpost cannot read the mpx file its\n  # btex step writes when -output-directory is used.\n  (cd build && mpost -interaction=nonstopmode -halt-on-error \\\n    \"..\u002Fexamples\u002F$name.mp\")\ndone\n```\n\nEach result is named `build\u002F\u003Cexample-name>-1.eps`. The two distributions\ndisagree about the job-name flag: MiKTeX's `mpost` (3.00, checked September\n2026) crashes with an access violation at the first `btex` label unless\n`-job-name=\u003Cname>` is given, while TeX Live's `mpost` rejects that spelling\nand needs no flag at all because the job name defaults to the file's basename.\n`build.ps1` detects MiKTeX and adds the flag; `build.sh` never does. Convert\nthe EPS files to\nPDF or PNG with Ghostscript; do not request PDF directly from MetaPost without\nchecking the file signature. Every source uses `prologues := 3` so labels are\nembedded and the output carries an EPSF header.\n\n### Build the LaTeX pages with fiziko inside them\n\nExamples 15 to 20 additionally need:\n\n- the `luamplib` package, which runs MetaPost inside LuaTeX;\n- `unicode-math` and the `garamond-math` package, so that the mathematical\n  labels on the figures match EB Garamond.\n\n`luamplib` finds `fiziko.mp` through the same `MPINPUTS` variable as above,\nso set it before running LuaLaTeX:\n\n```powershell\n# PowerShell 7 on Windows\n$env:MPINPUTS = \"$((Resolve-Path ..\u002Ffiziko).Path);\"\nNew-Item -ItemType Directory -Force build | Out-Null\n$names = @(\n  '15-fiziko-inclined-plane',\n  '16-fiziko-telescope-plate',\n  '17-fiziko-terrestrial-globe',\n  '18-fiziko-mechanics-primer',\n  '19-fiziko-knots-plate',\n  '20-fiziko-phases-of-the-moon'\n)\nforeach ($name in $names) {\n  lualatex -interaction=nonstopmode -halt-on-error `\n    -output-directory=build \"examples\u002F$name.tex\"\n}\n```\n\n```sh\n# POSIX shell on Linux or macOS\nexport MPINPUTS=\"$(cd ..\u002Ffiziko && pwd):\"\nmkdir -p build\nfor name in \\\n  15-fiziko-inclined-plane \\\n  16-fiziko-telescope-plate \\\n  17-fiziko-terrestrial-globe \\\n  18-fiziko-mechanics-primer \\\n  19-fiziko-knots-plate \\\n  20-fiziko-phases-of-the-moon\ndo\n  lualatex -interaction=nonstopmode -halt-on-error \\\n    -output-directory=build \"examples\u002F$name.tex\"\ndone\n```\n\nThese pages share one pattern. `\\everymplib` inputs `fiziko.mp`, fixes the\nrandom seed, sets the stroke width and light direction, and tints all strokes\nwith the page's ink colour through `drawoptions`; each figure is then an\nordinary `mplibcode` environment placed where it belongs in the text. Labels\nwritten between `btex` and `etex` are typeset by the document itself, which is\nwhy they appear in EB Garamond and Garamond Math rather than Computer Modern.\n\nTwo pitfalls met while writing them:\n\n- MetaPost's default `scaled` arithmetic rejects `randomseed` values of 4096\n  or more, so the seeds in these files are small.\n- Do not name a MetaPost variable `floor`: it shadows the `floor` function,\n  and fiziko's wood texture then fails with an \"Isolated expression\" error.\n\nMiKTeX note: the MiKTeX package `luamplib` (2.42.8, checked September 2026)\nships `luamplib.sty` but not the `luamplib.lua` module it requires, so\n`\\usepackage{luamplib}` fails with \"module 'luamplib' not found\". The fix is\nto extract both files from the CTAN `luamplib.dtx` with\n`luatex luamplib.dtx` and place them together in a TEXMF root, then refresh\nthe file name database. TeX Live is not affected.\n\n## What was corrected from the design discussion\n\nThese examples were developed from a Gemini design discussion supplied by the\nproject owner. The useful ideas survived, but its sample was not copied as-is:\n\n- `Style=Historic` is not used as a generic switch. Historical ligatures are\n  requested explicitly with `Ligatures=Historic`.\n- A long *s* is an orthographic character, not itself a ligature. The source\n  contains `ſ` explicitly in `obſerved`; EB Garamond's `Historic` feature also\n  substitutes long-*s* forms in some other contexts.\n- `\\pagecolor` already comes from `xcolor`; a separate `pagecolor` dependency is\n  unnecessary for this use.\n- The discussion used `\\caption*` without loading a package that defines it.\n  The figure MWE uses an ordinary centered text line instead.\n- TikZ's random-step decoration is seeded, so recompiling does not redraw the\n  plate differently.\n\n## Design notes\n\nThis is a period-inspired visual treatment, not a historically exact facsimile.\nReal seventeenth-, nineteenth-, and early-twentieth-century publications differ\nsubstantially by press, date, language, paper, and reproduction process.\n\n- Swap EB Garamond for another period-specific OpenType face such as IM FELL\n  English or Old Standard when the target publication calls for it. Recheck\n  the replacement font's OpenType features rather than assuming the same\n  settings are supported.\n- Old-style figures are a design choice, not a universal historical rule.\n- Warm page color and softened ink simulate a scanned or aged copy; a pristine\n  original would not necessarily have those colors.\n- Line jitter suggests a handmade plate, while hatching reflects a real graphic\n  constraint of monochrome reproduction. Neither reproduces a particular\n  engraving process by itself.\n- Every fiziko example sets a fixed `randomseed`, because several of the\n  library's textures use random sampling and would otherwise change on rebuild.\n- The star positions in example 11 are rounded epoch-2000 coordinates; the\n  cooling readings in example 13 are a formula with a deterministic ripple,\n  not measurements; the lens radii in example 16 were chosen for a legible\n  plate, not copied from an instrument; and the log table in example 10 is\n  computed, so it is exact to the precision printed.\n- The knot routine in fiziko is documented by its author as not especially\n  stable. Example 19 uses cords whose crossings are well separated; a new knot\n  may need its sampling step or rope width adjusted.\n\nFor accessible output, keep body text contrast high, retain all diagram labels\nas text, and do not rasterize the final PDF.\n\n## License\n\nThe source, prose, and generated examples are licensed under\n[CC BY-SA 4.0](https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-sa\u002F4.0\u002F). When adapting\nthe project, credit it, link back to the repository, note your changes, and use\nthe same license for the adaptation.\n\nfiziko itself is not included in this repository. It remains a separate\nGPL-3.0 dependency under the terms published by its upstream project.\n","这是一个复现经典科学文献视觉风格的 LaTeX 示例集合，提供20个独立可编译的 LuaLaTeX 和 MetaPost（含 fiziko 库）源文件。核心功能包括模拟雕版印刷效果、手绘感星图、计算对数表、物理仪器线描、古籍排版装饰等；技术特点为纯 TeX 生态实现（无外部图像依赖）、模块化设计（各例可单独使用或解耦分析）、向量输出且支持文本搜索。适用于学术出版物封面\u002F插页设计、科学史教学材料制作、科技人文类书籍的复古版式参考。",2,"2026-09-11 02:30:03","CREATED_QUERY"]