From d8094384ad167f1927b80c113e2afcc37e93ed36 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sat, 18 May 2024 23:50:29 +0200 Subject: [PATCH] added examples to README.md --- README.md | 66 ++++++++++++++++++++++++++++++++++++++++++- gallery/platypus.pdf | Bin 18411 -> 18411 bytes gallery/platypus.png | Bin 80402 -> 46141 bytes gallery/platypus.typ | 2 +- 4 files changed, 66 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4a3f2b5..b9008d0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,67 @@ # circuiteria -Drawing block circuits with Typst made easy, using CeTZ \ No newline at end of file +Circuiteria is a [Typst](https://typst.app) package for drawing block circuit diagrams using the [CeTZ](https://typst.app/universe/package/cetz) package. + +

+ Perry the platypus +

+ +## Examples + + + + + + + + + + + + + + + + + + + + + +
+ + + +
A bit of eveything
+ + + +
Wires everywhere
+ + + + + + + +
GroupsRotated
+ +> **Note**\ +> These circuit layouts were copied from a digital design course given by prof. S. Zahno and recreated using this package + +*Click on the example image to jump to the code.* + +## Usage +For information, see the [manual](manual.pdf) + +To use this package, simply import [src/lib.typ](src/lib.typ) and call the `circuit` function: +```typ +#import "src/lib.typ" +#lib.circuit({ + import lib: * + ... +}) +``` + +## Installing +> TODO diff --git a/gallery/platypus.pdf b/gallery/platypus.pdf index dd448bba578e85160c2941b2fb604fc95b4af513..e288eb04eefb579e8f151487319263509676ec8a 100644 GIT binary patch delta 1497 zcmZ{fdoFyXVoXz>@&8nUt5`P z&#b+h(+uJEz?e~tut!`BogX6C`x27i#eb+7z=CTbb=1z7ALS@8K&0t<1}Yzd^X|=Q z(UjDbFV-E3mWj3VUmpyCi@FN#2PkTq4wfiqXN_u2xhC&WyR5u=X9mE1xIw=}GlLmB z=l+{541ZNCSxfRcrXti!zHyz|S{ll~YH7RGqJhBkK`AD*k=LfjmDtWAl+58>X}-?P z1uLwLmd|A#J=@Y5e=u&>okl~_c5T|IcT{sJeTB-##tv6np7UWKKs48G<7?a=x6k~P z;Rco2RBm}V<@V287eGnVRiabnJ%z+%$dmrN-bRClih73nMOO2|2pbNa7fmbj7Qj6I z+prx1fnRq}?^ESj;x8J*lQTdn_uk3W!@74I-TddthqWdy`4&L7Y}uR4tNE8*Ow3~Y zLg;a4_g_1}=r9oWW@7p!#O}b7)5(=}h*Qu5UD3c|PXmK85E&Bu+qyAn!0~ORfn3+YzSZ<~<0HvEJZJv+gyXrOfFjhm!xDBxaG~vanTAaBdWtWa=ic?s1jrq1Xe};lB@WkKRCRB+RFfrsu`YwL7uBT31hZ+Cu zhPX_z1wAn-N4%=@NU_EH_^widlN~whE^Llxe~^sUDl23TJG~MwO_A(9U`l9725N)_ zAt`!FbM}Pk(kF+~jwl%XjB~uZr!gJKs@PmXZ$-z;NFWzS%H&YX77F12?ffAy_!*iY z+bxmIG-SN12({3p_PrA5s>nkDWbxWb^R4np2I}eDC3G!6kTAs-ex0+_VXin+^^PT= z&JfDcMNJo1UT0(Ijld|7otv~XA0Z0!?RBq(%%$bIzMHv8fqk-+jA^va|>UTBG>c_8gDHV zBG%}i7im5Fv`f^oHcL4*C(`GUtS!_NpWnRkr_)RU#=R9i{jnLGM%d{`#qy!f0R(&N#Dp?WIC9Y20s9c@?H?Vja*V04Cl!on1-K-1$NZxOe7kt`!ftCJO zO6YJtxS@Z!+nW2W`>T!1#;Ewq)lb$pp@zf0p9sV!L>+$KtUM4qF7Lk5(b_Y9rLzpq zmIj>LqtUd-ut3{k?cHSGuv_jy?LA`pW9D);fBhgMYm2?n3W|7ak!Dg}%V6Y17(#?Myzu2YB+^0hF6_36P1PbHTqhv1&NEWWVpcFg-wooIH1`1N>( z?WUG{{&!R6Y%o4ieTil9Ib*%U(ObWeJDdC8TbCC(SjOWU0riu!x%(dHR2{K0d;1MM z!?}8#chHNk@9v7@efC=OuS!=E_duZT9^aE=B;3@*4)cXVkf<*AFebSLXZW9Pw)@}YV;&uD1{ReZ1%fkQw delta 1497 zcmZ{gc{mdc9LHUSnJXhQS=U5=d`h+)1eIvMJrr8}SofRLdMNOFqAUNq|df8FC1?h|kibOYLV2aki z4QXQ$7CF&AQP%MN)2j9hE1!!vGW{uX6yAiZBG{-|fYIO02bsYBq104!WL3~(_d zhq{eVrDk13jc)$<(zEqF_i$@qjkCME(KK=BCXej(!Ry$LRd;}dO=lC()3Y-olpv-ab<#8Xw;0ewQThe{C%vbaXCN>5 z;mU8*Ls}%nU+~(^kv}m#hXCPc{Z5Gmm04m2O$=b}O*0n`tkC?}{zRasD~=JE zLntJ^FLAZP=QG9>c4~QzQtnG`fWbtuWr_Odn=L7$Sz2TP8PSc_zlFUg^H1%f-D-R# zlviH`yVamxYi*fB)wVlr!Tnbau)`j+(GlR7tCp$pB`1otkqUF@%=jl&ePV?-Z?t`? zWY!AS^vL`H2Ap6#j=zwZJ(aZ(t~6V4o4_-B7cq#5TtvL4>eIe*7b;1a$o7Y5ZrZ1{ z;Cy{qeMouV6cJCN*V$nvaH8j;0__&C+%)hn+VvzhYt%bU@ch&8gaJPOWXf@wDh{eT zTe89=>8L0uWo_!xjz$b}5fOO%atgSTN@uBEAq7uM(kc3uEUeUCsmv+*NhHB)+i~7a z=!AxGsj+~6kcW923zfL(=Rta4OR7_R*u4Pv!_$4(`J|oa4D6vulmEFgQr}*i=~&hlbqqK`N8f?Eaqum^w}M%TzcK_(P!fAfg($A+<$-L37;`GCtKfXV^!}_dKUHdl=NVR z-I1%I&bWXZiq!>IytZ98wD=Z!03gcKZYimzQ`L6*M~JPswc5%vn+B4?UoIoau_EjSW>1s(OU2SZw&sfhkS$H4w~$ zQ#3`0Lo|oUb-OPQfx;SVWZ_diQ?vo5FNP#&L8Rc2Tv2;t3~fd+rAtWr?h=Jc-$PWtwI} z9#s*F3(#&7U3fQp6}oSy>%%7A$_T1HUB9}R=7@u;|HQRv-9O@92bSiM{mlw_VS0w- zA7i<{` eWtOo#JUU3StaY;PuhS+bYLN54w#dWQa{mA)vcl^C diff --git a/gallery/platypus.png b/gallery/platypus.png index 517e345b3f51706f466a6a860e68183dc9b9ae65..9338a236fd3a76f9ba27d8eee35e6c9708fbbf33 100644 GIT binary patch literal 46141 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 Xp&fnyrRN#=GjqnA=MMhQ>+Aj>6Wtn= literal 80402 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 diff --git a/gallery/platypus.typ b/gallery/platypus.typ index 08649fa..4cc190d 100644 --- a/gallery/platypus.typ +++ b/gallery/platypus.typ @@ -1,6 +1,6 @@ #import "../src/lib.typ": * -//#set page(width: auto, height: auto, margin: .5cm) +#set page(width: auto, height: auto, margin: .5cm) #let teal = rgb(37, 155, 166) #let orange = rgb(254, 160, 93)