%% 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} \usetikzlibrary{calc} \hypersetup{colorlinks,urlcolor={magenta!75!black},linkcolor={green!50!black}} \linespread{1.10} % font definition (same as cccbform.cls) %% FIXME: RawFeature +case x microtype fixes %% see https://github.com/schlcht/microtype/issues/33 for fix notes %% see https://fontdrop.info/?darkmode=true for character lookup \setmainfont[ 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, BoldFont=Recursive, BoldItalicFont=Recursive, UprightFeatures={ RawFeature={+ss01,+ss02,+ss08}, RawFeature={+axis={MONO=1.0,CASL=0.2,slnt=0,CRSV=0,wght=400}} }, BoldFeatures={RawFeature={+axis={MONO=1.0,CASL=0.2,slnt=0,CRSV=0,wght=700}}}, BoldItalicFeatures={RawFeature={+axis={MONO=1.0,CASL=0.2,slnt=-15,CRSV=1,wght=700}}}, ItalicFeatures={RawFeature={+axis={MONO=1.0,CASL=0.2,slnt=-15,CRSV=1,wght=400}}} ]{Recursive} \renewfontfamily\titlefont[ Renderer=HarfBuzz, ItalicFont=Recursive, BoldFont=Recursive, BoldItalicFont=Recursive, UprightFeatures={ RawFeature={+ss01,+ss02,+ss08}, RawFeature={+axis={MONO=0.0,CASL=0.4,slnt=0,CRSV=1,wght=500}} }, BoldFeatures={RawFeature={+axis={MONO=0.0,CASL=0.4,slnt=0,CRSV=1,wght=800}}}, BoldItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.4,slnt=-15,CRSV=1,wght=800}}}, ItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.4,slnt=-15,CRSV=1,wght=500}}} ]{Recursive} \usepackage{microtype} % set up example build directory \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*} HEADER1 = [[ \documentclass[shortexample]{cccbform} ]] HEADER2 = [[ \begin{document} ]] FOOTER = [[ \end{document} ]] \end{luacode*} \begin{luacode*} -- PARAM: number of layers, resulting in 2^LAYERS points local LAYERS = 7 -- 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<