diff --git a/.gitignore b/.gitignore index b8bc715..5c88e94 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ *.aux +*.auxlock *.hd *.log *.out *.toc *.pdf +*.pyg _minted-* cccbform-examples *.fdb_latexmk diff --git a/Makefile b/Makefile index 94f3800..1d17f15 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ clean: distclean: latexmk -C - rm -fr _minted-doku cccbform-examples doku.hd + rm -fr _minted-doku cccbform-examples doku.hd doku.auxlock doku.pyg doku.pdf: doku.tex cccbform.cls logo.pdf latexmk -g -pdflua -lualatex="lualatex --shell-escape %O %S" $< diff --git a/doku.tex b/doku.tex index 6445d93..b8af3a9 100644 --- a/doku.tex +++ b/doku.tex @@ -1,10 +1,12 @@ -%% NB: Dieses Dokument baut so 3-10 Minuten je nach Dateisystem-Performance… -%% (Sehr viele Beispiele die jeweils komplette eigenständige Dokumente sind.) +%% NB: Dieses Dokument baut beim ersten Mal so 3-10 Minuten je nach +%% Dateisystem-Performance… (Sehr viele Beispiele die jeweils komplette +%% eigenständige Dokumente sind.) Danach sollte es gehen. \documentclass[ngerman,10pt]{scrreprt} \setcounter{secnumdepth}{\subsubsectionnumdepth} \setcounter{tocdepth}{\subsubsectiontocdepth} \KOMAoptions{BCOR=1cm,DIV=10,open=any} -\usepackage{calc,tikz,minted,fontspec,luacode,babel,csquotes,hyperref} +\usepackage{calc,tikz,minted,unicode-math,fontspec,luacode,babel,csquotes,hyperref} +\usetikzlibrary{calc} \hypersetup{colorlinks,urlcolor={magenta!75!black},linkcolor={green!50!black}} \linespread{1.05} % font definition (same as cccbform.cls) @@ -24,6 +26,19 @@ BoldItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.2,slnt=-15,CRSV=1,wght=700}}}, ItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.2,slnt=-15,CRSV=1,wght=400}}} ]{Recursive} +\setmathfont[ + Renderer=HarfBuzz, + ItalicFont=Recursive, + BoldFont=Recursive, + BoldItalicFont=Recursive, + UprightFeatures={ + RawFeature={+ss01,+ss02,+ss08}, + RawFeature={+axis={MONO=0.0,CASL=0.2,slnt=0,CRSV=0,wght=400}} + }, + BoldFeatures={RawFeature={+axis={MONO=0.0,CASL=0.2,slnt=0,CRSV=0,wght=700}}}, + BoldItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.2,slnt=-15,CRSV=1,wght=700}}}, + ItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.2,slnt=-15,CRSV=1,wght=400}}} + ]{Recursive} \setmonofont[ Renderer=HarfBuzz, ItalicFont=Recursive, @@ -53,7 +68,7 @@ \usepackage{microtype} % set up example build directory -\directlua{ os.execute "mkdir -p cccbform-examples" } +\directlua{ os.execute "mkdir -p ./cccbform-examples/" } \directlua{ os.execute "cp cccbform.cls logo.pdf cccbform-examples/" } % stuff to add before/after examples to form a full document \begin{luacode*} @@ -68,6 +83,84 @@ FOOTER = [[ ]] \end{luacode*} +\begin{luacode*} +-- PARAM: number of layers, resulting in 2^LAYERS points +local LAYERS = 8 +-- PARAM: per layer, multiply component by (1/(2^K))^weight +-- (1 = default, larger = smoother, smaller = rougher) +local weight = 1.00 + +N = 1 << LAYERS + +function smoothstep( a, b, t ) + local t = t*t*(3-2*t) + return a + (b-a)*t +end + +function REFRESH_POINTS() + POINTS = { } + for i = 1, N do + POINTS[i] = (2*math.random()-1)/N^weight -- + 0.125*math.sin( 2*math.pi*i/N ) + end + + for l = 2, LAYERS-1 do + local K = 1<