From 8c78e0fddf4c2b1bf47826ded2537aca0f5db4be Mon Sep 17 00:00:00 2001 From: Jan Wille <jan.wille@stud.hs-hannover.de> Date: Mon, 2 May 2022 22:26:29 +0200 Subject: [PATCH] tabellen und listings formatierung --- Praxisbericht.pdf | Bin 10506419 -> 10506469 bytes Praxisbericht.tex | 13 ++++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Praxisbericht.pdf b/Praxisbericht.pdf index 61cdb36a4806dee3524297408bc1e65b9970cabb..82a30ae7ab36b6e52b7f823d6bd9947463cb8ecb 100644 GIT binary patch delta 17436 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 XNkvg=8W+e?a|07oE>%@me>W}w>|>~H delta 16759 zcmaF5u#t81!ba8&0{0kACkx)QU}Tx>b<d+-EOm<b9Mund)-UGo-kw`JQ-u5S`t5GH zYfP-)c&%l>8>83iA%1nk!M2D$+3RzcZZY{)bkg|TXV;>gXC762-1mB^?GOGVPMN<x zY}YT_eSLcUz5hm1U)Mf=`}b(PxXi4=BksnZ=X_M@y>|C#yZz%8ZRPu23?E<IJo~!q zN{yK(7T$ELFBjimU!2R{;;~pIZFT4*--ZZLRqaVF4G!^}g5$$1e{PC8`;)0#Ex6=y zhNe-N$d)_4S1)sw|L%45n6E#%#xde_Uj5D%H`^^H&kZDQJ<Ahnm0479QoL%*)5w`s zS)p=kiry~FR+*J2`PH4-?Dw{byQW>Kj;;*~`&FB*y47|0h58D;h-ni)rtr6XO4~1O zH6u83>-WI5sq!xz{7%f<dqlOj;*`rSFD5<B(-p4@)8<V0clM3_skv|0N|uS4{o&i@ zdFs=Q%To5U9k2gw_6V-dxLU={ruuZz_M+^KoNkuS6VK#3&2^0C?2vl(_hCm~)rU3Z z1<ZSS_uSjQc8TQIghRI)>P6Q2JUnAK$CX2U)<2``E?N@$+#BZTgiTAE`-^pkc+H$6 z8SAB48<*T&@=~rroY%^;k*V*g&NJ<<@K>89k|!1Is}LyUTF6$R@WiB~B5cC#h33cI z9yAv+@=acHX*QSb@xHcei4~LDDqNZw>`ixZ@p8v|?msEcYjaP3`5CThSy$`XjZ#1C z+;rtYzjYQ{l%&0DUa!fe`U3T{lZ6$&XB}y~c)(ZGiB0zE@2%A{6nInEKkVDOK0`p_ zQt<1=EqnQlBASZ6m%2?T_V|5vLHUaYr^Q+J77v3?2+emCJ|G)k^rX9*+4Gyir;@$d zOBl~ZO4Tl#n)Te^OSx#r+e4g;vk!k>R&T{)vAN=7>bo0xFG5@AIJ_z^4tc7Sm^qI{ z>|VTBQlRNynfS>)Q#JXG6@|8F>bx%y-RUoKLs;<hG@D%=O#fEB*5MV4XKePd;n}-( zLX^e9`qaR6CX1)u%kW~FC#v)Gkw}-+XEu*1PgtMWrWq}@`?mZ+!v41F8JgSTU9Oxx z5olR26<m5(xYe}gg+%vz+vGwXf#&2*3;E7XpOC*kW0tqcO(sptw3j|Cwn=?12BNH| zGAGIH>SLP0bf~Pm==!Zlp&09vUX@HG8x-ATWo&t^C0nMJoArF@3bI)E*;b{%J-OVg z=}mQDpofY+U+4J)3e3}Hbuyc5SugnJ)`@-JFU>e!A1t)gP-cIjT*Q{G--7=OA2r=G zYuUZ4SF7T^uTA#M+53K-UDzyJ?Sfxf*TW`XIyzmq_(-d={rRxO^RG5eT$}S@jnC&9 zJaSd9?pW@;(WLOD_jJG++a;}=4RlJH>f0|Lh@QXszr569xg^CZWk<Q@f(I({=LMu? z?BxP4th9N(x9Wu0`T0?$1(#ZM9P%PoM%}lc^y@@d)6>q$3m*B^&(eu&HshbBrSQV) z2G7=$9x^=24yTWYX}uRoHR?<DTX7*!*7m*5Q!|eLRowqBYNWQ#ULL<j?v#dYx<Tf$ ze%T*>sw{11w#?YhtdLM|wOXWa!L!uVgAbRqH<_OEGfQycUbFDowWiMHvt8ux{E6ON zoVMd}`hmksCjMI><-NCF>v(-%>dluYH|lU@EN?j4H8o(eMR0v-;J%_2uU9cE{OC#- zmgd@WF!g2T-Sd^lET%k7a_!r%@rN}ec;OfE%99o6j^Da}^~Z9p!@}n*Zm3*hT5?3Z z?~UiH<*RRc>9iG0d#qUTc;+-Q?V^rXZf}Al`*h{=mxM$uXlJ)naDS1j`}^kQZTdcv zF*b+X>NS$vS1t9=`#PDc^s<r9oGis_k2bR#%RKy;WivzmkxpCB-CeWn*><T+7Jp(; ze~4RP0`Eosau<u2x38@{bw+R_&%=T<Lh~Z`M$Q-B{eOkRd^-n)qbudKSIsNodmE(a zE!x7%Dlq3>+nFD=3^T4(FIU^TW^YH${Tp-EY^eA%Gb{J}66qW+_vec*B`>ma{t>eO z#}ko*#@8R7IvTP1!iLLT8?1dl%(7rIR8Dk{*w%5s{-z_NeQy1}{tf%KpZ}J<*lw?d zZ2C6VUcm$P`%f*`-|;YqtLOWQ_bq>C|5Nqke46_&ROX=lRnzA`Dpvo=yWXFB)x+w` zpG@1c9SjE-XT6qZoSl0sOTF7zr?NZxy=l?~o|3(<W!o90chs;aZ}3&szjxy9`xe!h z`#E1FyB3(H{#;XE+Ywq6GG}qD0{a4XS2e%Hl-^CNF8(fv{<rT}lZu+=METiCK`fV7 zn^!qAlpnvHU35g!zA^i|w$#!n&Q~8^?%He~vT}VLZ!4FUsKnc{kD>y1FMfI{yY_fI zo4o?>dxq7$S?8S=y-L6MTu1i#pUXv=C%ck#wl3%BigBpiIx%|r+xiPL@9jQpt&>`{ zr$I<q=kC2v3Uhy&<S$M=H<RP&?~2_kYi3sG9xBXa&WqK^$u9q1AIUAPAuwO-ZS`KB z|DtnsE52U;rE{hB-Jkd0em%RZ`})=APZEDlPnz+r?9=A2JDZ&=?mhl2dpD|l>*M2} zC-!nkM9eMxf1gABGCzyVC%Y<>v{cOwb199K<Myj2@0jarr2JoM%EWa^3Ewu`+P|F? zDs+i&cJQSg`#!To{}0{!)mKN5$8>M9lroFv`$fHvH*Y=6eSCRq_v+%61(wV6<h<{( zyjsQ*Ds$?D%J+KNqx@?Pf9n1<|68cBc=E)3!kc$LyT!t6VqrY_VvlCM<jua@+rHKA zJ9MCSV&ja3E}m0<P21|K-?i+dig<<)i`4Ao&C^oc7o|=5`KwwiO1bh$<S!@rt|t#~ zibtKhW^DQUtIx0d)1RlGzpr*vXNuDFN(<}#b5c7eXw84ABO>@`-ukrp&HtwzwK>(a zEH+Q7`lZk2qbpawUKe*>-0P_0#aN~K1x?|*Z;5U*^R<m{@sxO_FiT%Zv$;Ps`%bU@ z0;cHC2g~j6riGv1KkxrN;nG*%&;GpmeY1drC3m&aR<T5p^V6>0e7?SDThrG2=|L@< zvu}l;O`6KRlu;*L{@g#S&e<#rA4N)Vi!Q$yAW*2Z$tKCsg=wc}%7@H#DG9S)@8oji z)2@Havtjb92eNe<+qPKoGykx8!n3ZUZPT>Pt|HvJ&d2`UnsseUg9e++*?01rOKo-@ znytiZ&gi#;XMfY5+}!KO^4(iS)`+FE<TKQ4kQZR;-LrP<*Dl3L_J7v-96s>+kYx82 zyZY5nC!EmecU@AfFs&o!%=dF<%Z#>WxBh;p7FvELqkdk8g%_X3frx9%wyZVwd+_n5 zQ>tZ$;yhg^)k!y^?{Ys`_IuG5v$Ll{?&WpJ9v7a_keG4X)Lib*?(A-^6T5Y8ZQJg@ zJF_D&qTV~>_1ew5t8%)Zf9BDV{1|^mT;ts)lRZM50x3s6_#R)r&qK8NS@uVb$8%c~ zHG(EE&JpE|(AmgQZ@y~54uKxQwb@+aIe${O82tA6Z9mbMA(j1gMCI({^HMWe>R%_! z)j80e;-qx>mCW&u);`x+3w8xfY}fq!Y2HSQXkVcZr>Eq4x-s&3X_Qq5>#rC4ZKo!4 zd*V43r+a;N?(vS1M*hv_D-Kz7HT@5qqxG#iEa7mx{=tqU{`Fnc8td)<&ii#${ojXa z=fj>!HOh8vVXVxp{JQy<mc*|I2MlBmr!;09nkZxylFVF}|As9^P<=u268%p1MP{b! zzg{``>(no1{oI{Q+n?{~e%A5t-HCaHKbK`oBuHm)9B<N?n5=ZIfQ_TS=x9*aCygIl zZ!U~(JUo3*P{UGlo}x7;YeGJ=*T+qHEgP70ciE%<Q|!VmW@3K+cXC(PdQN1zcJpdK zFGJJH6PrtN*h<6S*88oDZ*0%Fy4qfDh5S)5cZF@;m)_kumQ&exu515<omnN%XDy%K z;XGws+RInbFAsg1_0;(pb1+Zu*GEfcMPDz8zHZuK<EhNS)48Se_0((c945TT-0{V| z{-IQLa@GwYu0JB|@@wL?*G5{ig|mlbuuhIrog`EAvH1M=JI6M08ZMvNkWwRXNBHiW zWzpuc28L@7cq~<7tXSgckb6svWlu@)kINxTwBCN5A@jxJ%e|gG;jP>MEj%=1uXv+< z{N8wnzL@6yVKqlBTv`JpQZnn=S#SOJ=$hEQM!jCsHT`(?uQ@f|9I0zOycSL_SR?u= z&L&mC@cOzfr+I5VEVj;&FZWW9h$=l>bojVc*Vzxb(O0&n|0pYMUE(8o_`-{eY<r#_ z{C7*;>)VTG6V|>v@;RVQY4XR2&e}iM4jQcg@`_>483Ts=3lgOTxzi;Ky%X|`?m6@I zOg<7nSuTflPW{nBmZ}?JUnZVEUGnC$!Ty(8Y<s4^?@m3>@@v0K`f)F=uU*FL9KWa3 z<OFUgI(0ku?sd6+Usz8~WOmtqaK+7EU!E8G?)KGrUv<{CbBdp&dj2<~52~LPOJ6rQ z7l$UyU_H6r+0XCJJTB2^$+j`mj$TVquVF6tkNN*lJ><9jfm73S>aU$uUMJng@%_hZ zp#%RnZtL^A*i#|@EIXm9J5aRiy}9pK*QGC|VhjAfCJ8+asMsajweo1qlhT?e-gW^y z9`E8SPj$*RxThgp_=<Z+e@fP=aM4Ly{_)QeoA%D)`!NoS+0!m*9;z2nWxite(9A^c zv?$}5tT|=vH&@4QeJ`V`ywak6@yUB9vvpp|ESZwNXQ$Kq7K`Wkk7hVN2(-1By6z@_ zphe7Gp2KXlKX|WoG-$BI=ZCqgUhUpxlD$jn+D4O4_ixMAv`%Pan!#ZokjPQ``tkgn z$5xXBWNL%sZ>G85JvL?S6Dhw}hdqPe>X*;H^t$hMSIFweS1LPJ-ZU`yG>19LEU@18 za1!saClY&(=rOwXUNxWpqHqnbiNZUB-B;z#u_@IZJHEosLC5s`TKo1#t0n$K^k+4+ z{A8Gu^Lh2GXz8=J@+80UE_u)J(Yuf_R{W}j#p4)ehr7J~!Lz6G-SUsvVfp3*<5Z&q zx4wr-{ao4=@!?D9LD@-iT;+#u{kl`QQ~SDvd3~)<Wv1TQXBR5ot}uJ77AkvbzY~Ab z)dXR-&ck<R?46wxci2N^6aU<`g?Il2%D&!lMMm_fok0gn|Dlfd{_aH*RcW0MZQIk% zyYKnmqc1mS{x3G$dDjB^&WrEl(dp&wmF;EieL6YtndCm!7c$0*J>mYY6B0F=cMC64 zbGyxSL-0)feeWjkCf<WzPkJ*XO1ysjF03o!S#t7C;obI`B_??pcP@JDIgwx(pAyL+ zw&t=3>vTa+Nuh?vqIxeF&X|N;eto=ZuCAI#<u0j*mnLtwW%cDsd~WA?s>S&dbM>s{ zw-@q+sYGu$>?15KnKkc$x^w`G=eIB^-d@q(GKKj~$3EGm)i2^Gty`a~dXRmCK-K>y zvu(0H(~imZew{p%Blyz+mU#99hhz^<d$5}Ej?F1<zpmI|{htEu*KO@X?lbL?`cU?^ zavwjZ`C7#v?R#E#YuQyzkM8^O_&B=_w^+l>fTIjY4K-DrTnx;ZKYeG}-8^f;?!yaP zSmZ7%x<+4dc+eFVD&JAR%;qPb@_#Lb_v{bLy%$TmEM30ac|~XMl#t~oEld?Jmvk=k zsFKj_Z9A66U@wsPd3RK=k?ktAZ&Uaf_Ma0tm-51PiQEq!?PUu#s<bYAmUw8QxW=W1 z6ptI_Qo9*H9=@7&<WS?sDIxPcwyA5~V|>joCI9^nhRsy_Sn?XEogwYXmD&sE2@ zo9+aD-D7lzVO`Bsm$M7j&yKqH?sU%o8?P(;yJJ~(Z+GplS#$j9jS$U6Q#&T@TOx4& zcG^#kyao3qN)9yX*PNYR+4M*Fnx@vz(7=12PwWr)!8GBi^6Veq)@tSaeLMTX^&RY- zzSYm>{rt8pNAkzo7vK7JrDQL#Kgu3(f4)Th{=?;`Bf`Sh+TRoEzkW?-!&JFPQD>S? z@YnifpW<HOB)!gsKmLAVdqly<Js$nP8XnG9wPL)OkhyZ>7uIBlq>gD_;X7|Sa#Y+h z3`sPO+BW&UjFouerPn$4zi;qlh^qe=a<I*dPyWe<2hZ9Q-T$*P>dsLA;mV|@-<$jW z+7z43Yn|^WYu^_=8RN21&iiqRqwTw^mt-Ejcst+m?vvk%Gdgu-CR8WCx%F}O^Tq$P z0}GW(n&f)6&HoW+U3cYSXFczKewN>|{+kzmJ<KR%YNB9dV5w(rV60$fYOH5yXg;}d zmgw{k2F~o0Cx5RHHZ?I)FflgNGc+(qSHL^j;YYf#sevin1XD{>JyT<2gbCMv6bhM` z8zK~#8tR!?PHvbb2DV|kw9y>-$y0xZ3t1W&E0`FY=oy-sE104wsxh1+G1>T6n5c!G zfr$m&EE7uuJyRnj=kEITgWcG`LeJd5Wb)46=4^(BdWJ@plfV5oXR|cdGc~uIZ2ZTZ z)xt#2z<6@OA9Gf713eRq>4`jy!jt#^QDrkV)3Y=-nm#dVj_~Bae^l5^jP;Byj3=xA zox*4UY4gSw-`?@@?tUkK*{oxa1QmW<-Tp*o``(!ROSksg9hoT|)uPek8E~9m{p0%g zbqpd)HGJR6`RIxrNZNRx+kJJF=-Pi}qC4+j{~m6CNA0JVOQN7?QtAHar=Ai=k7}KE z)p+=QU({ayduC6go;lj*eBXPscUS$Ph1<$DeXSBcuBEYDLYArULvs4@OA&W(e|1xF zN@<MApQOR{@ABlDf6|P<C(rn&QGY!=bFxCxRw1pPP_5}r0iH9&C$TCXmdKmza`0|h z{#gsY#d%V-hioTI^saPU-5Zi9#<{E@c%8Y|GRIIpo;#(x3w1X?Q0|&?bj|I&y^ITH zHJIsEu?Y$;aNMHX%wM=nE-_Z@#lCB@mtJV^7HgE-8vS?O`&avNGM(G3R+ZWx<hoEV zs>6KX(;4^6hZpR6Hu2qegQ||Hhf>eJ@GJYXOWC)3`?1@d7Cuvqr|h1X&rqGDIP+}; zL*`=kC$|ss+-SG(bq~%yz50KmZMLjn=IM(iVYeqtzpuc{X1}h}_sPwCwu5g@y`A^` zbXvj#UA;HAwrvUhzQ}j+TSl{~DyuiKI(|JJtx{9ZsefY*%j<XDF)LIU|MK#@kekxK zfGh6n*DG1ppH|Fe+t1P~6KMW)#o5I0u%3EH*)7IC-d@pW^Vt_y=f3posLqwzp3D$* zy=P5=>YdL`AIf77Z#v^Cqp>=M<(*pZ#r|c_PA=QBb@t!wX4PkJTryg9?6-NGzQM=E zo84?%dMX%>f32T(T;iH0!*<_D<$U`)X%{bXKhofxtid*|^Xl1ui;mC#-RE&A<VoG- z;7nQfrz|#UyVjpr){tHwEBWWHiFMJ5t7_APlA0|<Clxoz#_~N9m@V{zxnp66q1wmX zgd(=MY-`;nah3yZe-7Wa%9)jObn*(huvX_O{ae@l%KUAz>w<Yt{X<nrMi#Xlg03@8 z^z3APeBv|18BO-@syoyqZU|{{{o8dfB~t3owtFImwW6~`52)7iCcd%pj$e3*;fqF! zj7&ncNKIS5QuFtQ?nw!U?W_O&Y+z4u(NMh9<)MCp?ZB)Dhneh!cy@nY!LjYb;sY~3 zMqd;+OUd*~KYBC#S+~s3=7aU0emC;k^?c%alqu%sdQQmd!bXS19)W%g(oM%%?+E5_ zrkP1AXepb&=zKowL8e%e)Ar<#KdX5)_VFC?`^I{w!}#?t;igG}Q7rFYOj50N|8>ac z7;`{id)A4}fD1kcCwYBzFzEU=sqx7~n@d&;<u3Ymaj0`G;=A9ukGED^MK1A0eZ%3G zDo<I?Zc1v*6Azc(Q<JtcG|t0m#pDlFfv-D{lx*DL=4=qpAMRQrw_um#(d{bVPb6#* zxGMQNdeh&&eQRbPKIHxDr<CDDQBGfvpt&U*7Or2ae=q1j;XS3x!QF2%E;jCayeHD) zkB`%eCm9|QnR6vBwf(rid4AmH>p30~FBVLwZ~Gos^da{}wZp7Qi(9W-djC|ezIsW5 zr<Q%*4iD}AAfah07eB21yL}1w)jG3&gXN1tqkc{L>EZt2@}oT;cQ3L#q3nG%Q(@0S zk2xtbE`HwJb56D0`}vlREKMJNi6_Du+kDn*{yG$6`B>&?bd1eSbsaOk*3_BliA86e zbVIiD2MX06od09p>m!vK!cVuy>*=kVDSBMkWhL9Yq=o+~zpd2a-0U;&)``<B*QZVh zsQb8+lf9eSV71{S4&@K7jz==It_U#L<X+A@^YrI2@kw&Ix0q!Qw%+1MJ$*uW3Tx*D z!}D<(p?)GPs|~lde?HWD@BIrFuS>FFOB3c5PP1@KeKq@(wnKfn`@{c|cQs8{&pUmJ zXSeJslZk>xmJWNB+{$dfIvT{inrYbg{E4^lv&wC3Ijbw)WJxvDnT2FMx_7PM4rAuB zM3K3XE^Et$r}f9JIezNxuQdxCtzupaR5z^rI+1bzefgTKFxvvN9=5dyC$f4U`S~`u z;vU!Bl8^<rBN}s(@B3)x)i0}yJua~$dBg6g_b)$~92Vfq$gMb1!}Nh|mVd;{S?BGq zR4)A1m2^?`;fh(mbR(zbS3G0mRAsri@#^om&$q1K)E^Iw|9oNUN0-(eY!B+@I@kU< z`S$5Hi3{uUohPiWnsfA)ydhgz|1-s|tK6mxii>wX{K@y;Q1|tuIgQ%>_N>qM)xS8# zU$yHA%f{3_OEeo<S6rW><4|&P&B_3slBLzl=Oi-7FJJXz#UhdXj!&!W=ASy&Q}N`7 zud8dK-qVe)(@t6PFliVr(G9g}FFI0uCFop7;kVqIzpia751H4SCo^}qptT=Y<bf?^ zvmM=a0*og(D)UJ_IyKR4wd18VW-fbuZu~Z^kI4>+J}jhqMm(z6D8_Bo;)oULhRy6T z++jcWy^4P5s}eaQy_G+pJx=~t9(R`EHoo?4uaEuBU#2_pw7tMrmsJ`})~f{GNcaBL zZTp#>)}wkY=X+J&fj-~qU6+EJOV#=_8=W-v{g#<;{p^fvu%{YRH$P*W$<1B!GT*Ix z#<6X}p8B*&`!_}NEZdx(xYDdYx#HyHyb}cp>t8=JEWRtHVzpuQ?nvu*3i7)z&hcsI z>)|lEzG7~XU;HH%ix8>vw(n(CzV5%U_3Oh2#>~0aQ|q)E_DBABZYFKSZ?5WEz~Xp) zYVzc{cMFftUAxe4W~uUKix#J6E=+dL3;rxrYR%S{TNGzfpL~C&zm&25mcFge7996W z(~)fX^i*Wc(+V$z$o2Qk=UL3$?v-YDcY;$|{4K^m4cuJz!4DS;Gd;MzOaGufd)@P* z7s{W-OS;)q7D_$cdwZ|t2Z<@1yN*pbf9Xuk64e69=)yPaoTYzuc8WbaXm2QJlK1lm zhuAq)37wRy3;|}n%Y*B0Nv&6H67M?~&&DCNssBoEX0NGCsK7_N{{<K8ei~*d2R}>> zJ9W;3p&+zLclr`WmkqhbXJS4T-QA?RN|;$Jz&5q0Pj9Ai(bky7PE*y33%Ny4syanD zsHdm+_1f`2e*F4E^as-|<|%zf8cZ@Bj4QqdY<se1<(EK7@uu<(FK>0#CmBA-^9qxX z-hbk-#<Y0<rCN_dj9;kNRiucV<YfF%!gH(o!MY?K^}G*~`@emAVclQ+uuJgNS^LY2 zRXJ+bpS>~Tt=wI9^;d3(IaVDMlz%DknPbLIg*^*?ZC5=it9MRemvhQn3qHPgg5OTI z`|+i_g;y-%p1=LXP0i&gC-QF1&8evW!Yy%AdH*cA8(yvsH(T!i6ED>Zm8{N*fAfF) zo$&t6ryYu!McWb>Tmq8Ml;_`_wsFqazb9C$rb#ZIXIb#U%}=Z$^|=Dm5m|;ej0Jfo zvj2M*a;x3C6e!=LwpE~~@!W$_?YO?gciz`)vuxIT3f&2OTM?J}fTxZ5-TMP=r!pg! z)Nja+b9C$Djyc96BF=t8Sno(r|LMm$341gftD9#%FF*Nn;{NA<&)G%<h`wgOVE)ge zJYbW>i>7-y=5l9`h8_F+KRxUGrO(oD^43bS{hxB`*}`e(7r(O?==eHytN)!pzkOQO z=C!mg<K6%IzKgc#@kGT9EP<XgR!x!g-<SQl^}pp`R(|&9U;lwdOQ(BsFuoTvGto0L zGFC7&H_<aUHdZh)H`B8;hqqYyrprk#;GSN?$(ST+WUOauZmM8nW~gUoVx(YXY^G;y zG}-YKxSfnp$TwY|i!n&t$k0H~%-Bf5(8N;D%*0H=$jC^~*vJUn?w(-i%s;&^d5*yJ zGhB@GSuOM|EKR2ua5I{-nHlOC7@AFA%gt!PYOZHuW<LETNZ8m|&(hFhx+)K&Ih&Dz zp0Szb^dufe3uZGti|O-t7%f;WjrEMor{CdWv|zE+GdBXYm_?@R@G`2hn&}yu8%+=6 zWi(?mHP*8*Hk>|*m(h&X!cfn`vi%${WBWN?ruK8Z%<boRS=!I>vbLY&Wotjj%ieyD zm!th0FK7EXUat0Yyxi^QczN2-@$$Bx<K=5V$IIV-j#r@l9Is&eIbNambG*Xs=Xgch z&+&@3pW_v4KgTQHevVh7{T#1k`#D~z_H(?_?dN!9+RyRIwx8pbYd^;;-+qo)q5T}M zV*5E>rS@~Y%I)WPRoc(-s<xlwRck-TtKNQ&SEKzLuV(u>Uaj_XyxQ&Ocy-#(@#?mp z<JD_F$E)9dj@O|59Is*fIbNgobG*jw=Xg!p&+(eJpW`)aKgVm{eva3o{TwgIk5=vH zc&*#d@!GVX<F#!+$7|Pqj@Q2Z9Ir$BIbO&1bG%ON=Xjml&+)pnpW}6HKga9Veva3@ z{T#1H`#E0E_H(>m?dN#C+t2a(w4dYkZ9m8B*M5%Izx^C<K>In~!1i;zLG9;wgWJ#X zhP0pK4Q)Ti8`ge~H@y8EZ$$e!-pKZIyix7vc%$3T@y4{D<Be@U#~asvjyJyj9B)GV zIo`zfbG%9I=XjIb&+(?TpW{t!KgXNaevUW2{Ty#b`#Ijs_H(>h?dN#2+t2alw4dY6 zZ9m7G*M5#Szx^C<LHjx0!uE5#MeXN!i`&ofmb9PaEp0!?Th@M#x4iuvZ$<k#-pclK zyjAVzc&ppb@z%7T<E?E!$6MEaj<>%39B)JWIo`(hbG%LM=Xjgj&+)djpW|(9KgZkF zevY@j{Ty#c`#Iju_H(>l?dN#A+t2a#w4dYcZ9m7`*M5$-zx^EVg!Xg16Wh=6PHI2L zJGuQF@09j)yi?oH@lI<$$2-0K9Pf<wbG$R#&+*P`KgT<J`#Ih@t>PguOiNBKW34KW z$k4qNrhB?i<^I!e>)+dWM3(L8-0VBM?nL|2_QTf;EI!Xx+-elTX7uBa*RK2G<>B&s zeLg#Q2A*(YE$>$FZ|&(m@Wd<Q$KKUV*B`E)zD#wFLH*%n+Yc|67HBU$&Ak7w!J2Jv z-@LsWzBs`DZ(UjW*T++tg4nV|E=w#d5jtZYzW)BH1x?%5Giio=nD;BUNkz{kry-~5 z{rZ33p4?f|VZk{?$aU7Ml}eLBp0uX9W=!nh`8N5~2VRf=4AlV(-%e8vGTIW5rlu49 zZ|`hTt1Y$pyNm2(>T?CJT?$@$TH#XAlUur<i_#M6CYNm1@VvZXm9Fr%xLaizuYR5~ ze3w=!b8EhzKg;ZU*JGc$Z(aAh`c(-3x?g|G3>DgM6dY1}6XPA7mvejZiRI4(vvpJ0 zm?kgS^Dm`+xwLoDLZP?2_ivW%z7SR>up`9mrZx}%q8lCym+~ozcAGq{Pu%cdj#b-d z#~OLIWjX!(cixvRxG`l>{e+d%cHh-Gv~<@C*S{C8+)hlrekXsIrSkGiuS~=}<0=Zv z<=Zwd|9(X?ElT95#jjc6)%{gldF3Uq{4{9%VV#*2!XYP<?Vv57l+LSij`??^ZNb?% z=B_QqtbQzU%MTUpYvR%pxgD2&{Y`z+%jj7Fa_39DU#n;S;8MSnXZCwr+;nGNKaV%Q zwg!PW`#P2XI_`ZJ+kcC9<)10rpC-KC+;ui-;gnCSUhe+szBudXyTh)xbd4tVoYMXN z_mbJuOJynUo?`d%JRO^ZlcG9&Rt2lx677%^_e)WUd$gi<w;Jo5i8kk3CqCZ9zR)^4 zto}Rmj(fFt?_HOk@TAvA_0P&~v&BAaJEs1sl>aW<{kSKoQEns4<Q;ZG=8oCv=el>T zoS}8Szs&r~wfxxh&J&EM`nK)M*EZ`qwarK8Ez^u`TlqQ;P8DtuTDQ=l>rc@>xB11} zN>9)0cq|z|A<AOKA-?}ko7eoAqoFcKq@{P89NRnI`iV?_x%)S)l{mXuV5OOTvz^fP zH+Ms}y({0E`$xrA*qon#!!e0AlSQ95mOSRsh;+YqVx7s2gSk&P=Vi*@`emac;w2&a zySb{eSiHGu>N$O97A1Z+?!H%3?q4Z$JXS3v*5@QJ!|)BqBBv$X28Z7WwD7Pi_8Hjo zrbe5|SBckYwFtVY{MlD^`~S2T#oc}K(!%?kr$5w~qsJ&UT|je=tK8n$yt|jQ10<cU zN=r5$_;<jcbzfuRg?RbHfj6%lo;|%-bI$kr)tlD7S|w8>e!EfPfv|@9w-n>!(=N|@ zQxJQ!)Pd0_yMQ}FQT%WmALj&>j6-hQCzjsa#+)ZAeSEWZxdgjG0>7<`+a~c3|1@{) zus&-z&!M1X;>AsBA0M1otW<iWa+xnFc|)1yJ>?*_53?m>q`xuGcw5Ho84>^Z*uiy% z5ntW6cL*Nbwx8>ffVjf*g`)fJY}o&oVfrtvIS!0>rdw;zv1Z)7y<B@v8Y83a^m{sU zGV05|hn7oLn|F8d9BqqPqPT0>rbVCT{U~0vU3j0WoyPeCYoD$EAiVrxwq4}H5HXL5 zX_*U}@+4)9_x=8(RUxZ+pn1QH^dZ;7la&6<yY_$5wf{XCzDs2?i;n~<=Q@3zqxxCc zbK=U!AAWthE0sEL`)wH>fu;K!g+B8yNnTXhE_w0fj(Y#|=j+$k9y0tW9i!6f)3^7d zaD-R8wU&JV=eKALBi`O+2W6%%nK5&P#o;9qb5<|ew7963x9wKqUs>58&*&F!o0k;+ zi1Yelkh!+={|jEBwakufEZ5vlym|8TjQPLvT#;{^XXlhGDEd05bCdm<PeHDB^CzDd z??`vxcbV>TU3i~r{Vt_n^G;b7ZgUBDiC*;kd1uizJ<TZsrL}zV@zvTMUG_(~ggn*# zZ=K}SEWV_0@%*fJi=WS!aA>j->n?#Qr=R<NoHKRuj2xFqpS?CoalTH@Tv;O~_By~O zpWFIY{qOl14>{vi<bTJv?2G4P(`0S#X>xqkB=@;~d%^-E4z@tC>g)BFZ&qIaefi)& zeHowsFB8t6*EK$+dscp8wB5_Jizc&ns=Rq?!s6!NVy!;wM3>CdhS_4%Rjz4%w%*e- z^YL`cg`eM4T<hYy6|~c$@|tz!U86%j^D>U*ELb3NF<ta~$hzZe78T4qUj6E@%sET5 zWU-(LJLQYGPl%c{^K0}P1v}Rza@1=sh;ej2s5Uiz(t{tZZ&fB*&VTTvU3aBUxjMUc zosHW0qbDEp{?4}7yqRsSC3rl<Q1D{6kw9$UuOF#`f4}*;n6TczsWNrKTtDH@vrbJD z{>;6V)9pjvr1j>L-~1`)J)?Hr!+57#+7i=qclB#zF6{L1srhsFD|?MK`^lFN`8fYu z)ZetWt23y+b2<3!s>S+(C!YPb;eYd{s=#FLjpskEmL-NikI#L~^GCJv+-lv5mk+O& zeG=^p)0?~J{**uRhF>0@Efd>6asKamv85lfmM!O>@cdst>;C>_AJ6~qKe}K46w3nV z`4&56kLmY3?mnXW|AmN3p$?bpjEP-`b}VmuwCG^^Klbcb_r(<XS4?j_=`6fG+F;I9 zX3%J;iIMsAuf}uC*-T9JOie7O8=1^8XEQd`v$V9Fo^LY8g4sgPWV)jA9O3EvOy;Pt z85@}BSsF|?G?^nj{kO>+RW?gQJ!4a&>1w8PK<!Tp1LNt*rgO~MK#gQm<LL`PY*Pc! z=<W2orgJP<%=HXSA;#&L%~54DGS)LQFl!Gto6{a{Hn%<8Y~J>8v-wtESq#k$ji*o5 zULX%<ZQr52K$%g@!qP;+00b2B6u1lw3=K@o%}h<Ff7DqZENX0tCS_q^X|P>Vcflz} zCUf)cPxTgLGcg)W4>VlRQ;%Ybfq{XUfq|JZvUZS|iIFjen1!*S5xP1HOG67xF>_Qg z6Jv7|152nAO(D)VFflPO2K5U-J~BWOv#>BlHqg+($k@ota{5H01;Vx_7*b~D1}Odk zDK|4W!w|DHG@ky@Xn`=J5r`7efI0?Zuc3jFiJ>ui7=pwsryCkC5Y{v@Lvxa;fhlU3 z85$Uw8kiYv&oy3<#;9dtj%L1zg^8g7N}w1Tm{?et8&3agvcQkY%xt@_>4GXoCR2;) zC(Ra=*Bhe;w5g?;F^VG$3=B*y%`FX(9R`XxV*?X(y=KNn2AJxM&CD_Mni@g$#={~6 zlr+pNAcDwZ7A7d30a<KfV1VvGGXp~ll$ZcJ+Q8gkx}3!VwR#hj6b1?qV<Rk{G%-du z!_2_Y2t_a0esi=`XJBAvWMPVuVnFH)j4Tbo9<N98kcpu=h9^yoEHTB5O)<qx3^5&J zVvgZx6H{Xp$JB#dV`6HFA_x{UGsOr=6LUk9=mLe7rGX(@GBYwU1NEJevJ@z3o0%J+ z=`}JjGdG)l&~kyWtr4aX7O1HTY=osLB+!t;%-q~;x}enp;d&z!(+vy^%ni&9QN3?u zX=-AEngKvQwJ@;62s%pxV|4S(%*`;<mI<t&K#oTXBTRQ%7@K3b-NFPThnZQJU^>Ra z)D+bt1_ovpW`-zH298GyGjohMvoOa<&1M$nmYC`+Oi_Fcid$1da}-NJkzj6sR{ok8 zn;TmiPG4xfK)Bu*)sG-4bF^G<Vq|Jzj9Oe8fQn{g)Qkv@KvT@p!P3wiwG;u_0dqPZ zEMb5IEzPGp+JM}IlD5Eh8Jc2>85v=iYhq-9;vb0j(c;m>#K6eX1VtUVRxyP7I}Yw9 z69Z!-)bbkS7&B8dG{=}27@HWOggeMUQxg-E_%SdsF)=bRn{H^kK)4<)QG;qVOVnx# zY?TRG0tSV<sS#@00_inH^*6|RV{-#cKbo6C${|F!n-~~d7)`%uyFl0$HEn~cL?aW_ zA_XjlR@fRE7#W(Hn@(4>TOe$UTC#wgVQP%&RTD$hd=56&*m8QI-2&ly^a9Js*vQlz zB_P4d%}}#DDDj&anV_TyusU;7lqv@#W(IFm!0T~iGb5-vSnPupnxF<XNX*;>y**`Q zY-(wO5+xvY#s<b1jxjT}n4V}4ZcTuwddwz^nWYIzJ_ng(Zh%n^8=D)TW;C!mLn92Y znj2c6q*bswBU6aWrn5UN;H@`ANhM$f#;CO#C~S=kjWE@jpf>hEdM&Y7XkiJp5Sp<- z>deicNdT4-L4uYBX44lsfJy-LKrk^hK`jA5Ior?xGrld2Pzy@1I<(RQBxY=Eic*Du z#mu3Z7%2^y7+auL=OBe92B<{}Sj@y2J@idXETEo5c-+L)&|>;T#|6S77?EmXW-xt% z%>t2B)cOQuxUm67qBAix#q@!hi5W^U1lDVc5lSW|MyAsZoj}z%MnIcb!dl$$%wb|` zj2Wn=7KYOsofZh!qc-V4Hd>fqwhk=JF%q_kg{1*{;xw@|FvAE&OC!{#0>}<aV+)AW zk<yQerK!nuMdt;=wgwoXU}=F7GNuLwsLereW8BbUdLhUNj2vxhfYzb~Im5ybGh)n* z4W=Ii8DRh^Ymp+~!qfuYccupBs7(Mv0~1h{IbG0Yfp97o2U?={DoiX5%`kGlsevU% zOTg670JWL`TV-lIJ<(->hzO)iKseUa(8yx?Mi)>Fqx-|u&={j|Gc`0t_pgbip)qRp z2?}9DQ`EK=Sj-H)7iD5;XasGWAjPn$p_#?>Kvz&LffmCimWGC?ZEUc)78qSRQ$tJi zqSM6E&;X-!F*PzUgrqQ}ATct8){(HrBPaw7EX}YeL=R~rQzIkP#ywcC1!^w^<Y*&f z%vd)vL2X>ugEgC@c2mHbO)(R$kvV3PF))L+1dx4aZh?^qj4aI2%1IMT15>l<58Xhe z2YR&(s_fAcxQQibzyaKILbA%(&}6!yJE){bGs48uz}N!KMk7;WV`%3K*$7kga?-@o zzz8*%Kp|pmhT04Ri<v{KMMT;HX*QgG(H%5gfMLH0S`!)^`i7`O7$9>^49uo0dVmTb zv@By{X<&e!#Enc%(7GL9BaDrv7lMsI3mGF*6SN))SUFmc5mZ-OS{O|~2r>dQ9hsP+ zw`fc(EX`3nm|$bg%%=-_E)ZrknV#smK)4>G8E9&PHi!V$h1T5zI|j>$hp7Rysf`q! zrUn=Z&BD?I+I5(|-E#qNJ#>@-S(6cZ4luE>#FAD_(fTi-K`>);^wAb0Q&SW4n#RQ3 z#2DJrR7SSg1ln9g5wkF!Zs)Z?McmBT5-svf%uP%Tr!VwcAgqP%brW+FjDo?))XdDt zbowH%1xnMr7qHl3)RU$b1{m!&Q%hrvy4cLX+-SO^Hz-A-mr-U$#_0V=BQq0o)J}+@ zfsvVsrN#7#-k`jS-pI8uH%A?YFf=eWGzKkPMHxykHZ(Rz4_9L&3j_2(GB&a>MlT|b zO^i&S{Y*q&H8wFaH=J(hgE5F;Xkct+V1Zr&8iSHJT81>XG%!R@PbP+D#;E;vLjw~- zGjsGJ+QiV(5To^BVrXe%JpCfrO=zte6C)#2j5^-L*aEc=Y6$8d8lYF&Cg#RQ80DO~ zi7Dz>0w_J3nn7D#h}Nr#xtTdM@Zjmx#M~ThbPJ@}0<%)IFfc%`4ooZz4K1f1^aXYF z(8ANi0u(8z#k`4y31+^tFf}%xF6am9Zla|~6AN=QXnsey*22;Vn*ET)j18wJ`hj8} zqZMF;kuOXvjbME{gb|iTrqG%kS<D>0pJ`%gY+#61Cz@EohZ~VX+S1qry+SpyG&X}) zGf0*gTVO<|r3ps!!^G0W$Z&d~KWL-?E!UY?nwVjfA(kc<7%9Ti)W8HiC0d#qp$@Hr zYBE!_5iGEn8MJ&s<T?{eQ*-0#AN@f!B!-(zEzzqt6H8M|%<wcbG@0%gu)rzFz{SzR z)xgoh(be42!o=0c#lY3T%+1i!&Ct-y(%8(|PQiwtl2`>hJFeoA#G;alqSQ1lkh{$+ NEls&pRbBnvxB!qSE`I<3 diff --git a/Praxisbericht.tex b/Praxisbericht.tex index 37a9a4d..bcbccaa 100644 --- a/Praxisbericht.tex +++ b/Praxisbericht.tex @@ -143,7 +143,7 @@ \begin{table} \caption{Erklärungen zur Projektstruktur} \label{tab: struktur} \renewcommand*{\arraystretch}{1.25} - \begin{tabular}{l p{.6\textwidth}} + \begin{tabular}{@{}l p{.6\textwidth}@{}} \textit{Ordner/Dateiname} & \textit{Erklärung}\\ \hline \texttt{.venv/} & Dieser Ordner wird beim Erzeugend des \emph{Virtual Enviroments} (siehe \ref{sec: bibliotheken}) @@ -170,14 +170,15 @@ \caption{Verwendete Pakete und ihre Funktion} \label{tab: bibliotheken} \renewcommand*{\arraystretch}{1.25} \begin{tabular}{@{}r p{.6\textwidth}@{}} - \multicolumn{2}{@{}l}{\textit{Runtime Pakete:} } \\ + \multicolumn{2}{@{}l}{\textit{Runtime Pakete:} } \\\hline \texttt{opencv-python} \cite{pypi:python-opencv} & Ein Wrapper für das OpenCV Framework \cite{opencv}. Stellt eine Reihe an Funktionen für die Bildverarbeitung zur Verfügung. Ein Großteil aller verwendeten Algorithmen sind hier implementiert. \\ \texttt{numpy} \cite{pypi:numpy} & Eine Bibliothek zu schnellen Verarbeitung großer Datenstrukturen (insbesondere Matrizen). Sie liegt den Bild-Datentypen in \texttt{opencv-python} zugrunde. \\ \texttt{pytesseract} \cite{pypi:pytesseract} & Wrapper für das OCR-Programm \emph{Tesseract} \cite{tesseract}. Dieses für die eigentliche Texterkennung durch und kann durch diese Bibliothek bedient werden. \\ - \multicolumn{2}{@{}l}{\textit{Pakete für die Entwicklung:}} \\ + \\[-3ex] + \multicolumn{2}{@{}l}{\textit{Pakete für die Entwicklung:}} \\\hline \texttt{pyinstaller} \cite{pypi:pyinstaller} & Eine Bibliothek zum Verpacken eines Pythonprogrammes in ein alleinstehendes Programm. \\ \texttt{black} & Python Formatierungsprogramm. \\ @@ -191,6 +192,7 @@ Unterordner dieses Projektes abgelegt und nur diesem Projekt zur Verfügung gestellt. Dazu werden die folgenden Befehle oder das Makefilerezept \lstinline{setup} verwendet. + \medskip \begin{lstlisting}[language=bash,gobble=16] # virual env erstellen: python -m venv .venv @@ -199,6 +201,7 @@ # pakete installieren: pip install -r requirements.txt \end{lstlisting} + \medskip Der Quellcode des Projektes befindet sich im Unterordner \lstinline{./src}. Dort befindet sich die Datei \lstinline{__main__.py}, als Haupteinstiegspunkt des Programms, sowie alle weiteren selbsterstellten Pakete. Das Programm wird also mittels @@ -212,6 +215,7 @@ folgen eine beliebig lange Reihe an gültigen Codes. Über die Flag \lstinline{-h} kann außerdem eine Hilfe aufgerufen werden, die die Benutzung erklärt und nachfolgend abgedruckt ist. + \medskip \begin{lstlisting}[language=,gobble=16] usage: __main__.py [-h] imagepath code [code ...] @@ -222,6 +226,7 @@ options: -h, --help show this help message and exit \end{lstlisting} + \medskip Die Kommandozeilenparameter werden direkt an die Funktion \lstinline{main()} übergeben, die alternativ zur Nutzung über die Kommandozeile von anderen Python-Programmen importiert und aufgerufen werden kann. @@ -373,6 +378,7 @@ \lstinline{main()} mit diesen Parametern das erwartete Ergebnis liefert. Die Funktion kann also leicht an aktuelle Bilder angepasst werden. Hier der entsprechende code: + \medskip \begin{lstlisting}[gobble=16] valid_codes = ["SIE20220101", "FAT3264128"] @pytest.mark.parametrize( @@ -385,6 +391,7 @@ def test_knownimages(path, contained_codes): assert contained_codes == main(path, valid_codes) \end{lstlisting} + \medskip Um die Tests durchzuführen, kann direkt der Befehl \lstinline{pytest} oder das Makefilerezept \emph{test} verwendet werden. -- GitLab