From d18e7095bf2b6d80bb3585efaa07cd50568a2bef Mon Sep 17 00:00:00 2001 From: JulianTao Date: Sun, 2 Oct 2022 15:02:33 -0700 Subject: [PATCH] Init --- .gitignore | 1 + .quartoignore | 3 + LICENSE | 21 +++++ README.md | 82 +++++++++++++++++++ _extensions/qletter/LICENSE | 21 +++++ _extensions/qletter/_extension.yml | 30 +++++++ _extensions/qletter/assets/logo.pdf | Bin 0 -> 5381 bytes _extensions/qletter/assets/signature.pdf | Bin 0 -> 6320 bytes _extensions/qletter/partials/after-body.tex | 12 +++ _extensions/qletter/partials/before-body.tex | 59 +++++++++++++ _output/qletter.pdf | Bin 0 -> 21520 bytes logo.pdf | Bin 0 -> 5381 bytes qletter.qmd | 32 ++++++++ signature.pdf | Bin 0 -> 6320 bytes 14 files changed, 261 insertions(+) create mode 100644 .gitignore create mode 100644 .quartoignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 _extensions/qletter/LICENSE create mode 100644 _extensions/qletter/_extension.yml create mode 100644 _extensions/qletter/assets/logo.pdf create mode 100644 _extensions/qletter/assets/signature.pdf create mode 100644 _extensions/qletter/partials/after-body.tex create mode 100644 _extensions/qletter/partials/before-body.tex create mode 100644 _output/qletter.pdf create mode 100755 logo.pdf create mode 100644 qletter.qmd create mode 100755 signature.pdf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/.quartoignore b/.quartoignore new file mode 100644 index 0000000..038addf --- /dev/null +++ b/.quartoignore @@ -0,0 +1,3 @@ +# Add files / folder that are useful to your repo +# but should not be in the downloaded bundle after `quarto use template` +style-guide \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c2bab37 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 quarto-journals + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e51cd0b --- /dev/null +++ b/README.md @@ -0,0 +1,82 @@ +# Opinioned Quarto letter template for the ASU BiG research group + +This is a Quarto template that assists you in writing a letter. + +The template is based on the LaTex `letter` class, with a customized layout including a logo at the upper left, a name block on the upper right, and an address block at the bottom left of the first page. + +This template is the quarto version of the [original `rmd` letter template](https://github.com/juliantao/bigrmd/tree/master/inst/rmarkdown/templates/Letter) for the same research group. Original inspirations were drawn from [Rob Hyndman's MonashEBSTemplates](https://github.com/robjhyndman/MonashEBSTemplates/tree/master/inst/rmarkdown/templates/Letter). I also burrowed some ideas from the [quarto-letter extension](https://github.com/mcanouil/quarto-letter). + + +## Creating a New Letter + +You can use this as a template to create a letter with the ASU default. To do this, use the following command: + +```bash +quarto use template juliantao/qletter +``` + +This will install the extension and create an example qmd file. You'll need to modify the various fields in the YAML header and replace the placeholder logo with your own logo. + +After rendering, the pdf file will be saved to the `_output` folder. + +An + +## Usage + +To use the format, you can use the format names `qletter-pdf`. For example: + +```bash +quarto render letter.qmd --to qletter-pdf +``` + +or in your document yaml + +```yaml +format: qletter-pdf +``` + +You can view a preview of the rendered template at . + +## YAML header and logo file + +```yaml +--- +fromname: Sender name +fromqualifications: PhD +fromtitle: Professor +fromWWW: sender.com +fromemail: sender@sender.com +fromphone: (000) 000 000 +fromdepartment: Sender Department +frominstitute: Sender Institution +fromaddress: Sender Address in one line +fromsignature: signature +fromlogo: logo +toname: Recipient +toaddress: | + | Recipient address line 1 + | Recipient address line 2 +subject: Subject Line +opening: Dear Recipient, +closing: Best regards, +cc: + - CC 1 + - CC 2 +encl: + - Enclosure 1 + - Enclosure 2 +ps: | + p.s.: something else +spacing: 1.2 +format: qletter-pdf +--- + +``` + +1. Sender fields starts with `from` +2. Recipient fields starts with `to` +3. You can also set a different `fontfamily`, `fontsize`, and `spacing`. The default fontfamily is `Roboto` and the size is `12pt` +4. The `fromWWW` field is your website **without the starting string of `https://`** +5. Save a copy of your logo and signature files in the directory, **please use a pdf format** +6. The recipient's address can have more than two lines in the `toaddress` field, just add more lines with the syntax `- address` +7. `cc`, `encl`, and `ps` fields are optional. diff --git a/_extensions/qletter/LICENSE b/_extensions/qletter/LICENSE new file mode 100644 index 0000000..71e7e5c --- /dev/null +++ b/_extensions/qletter/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Mickaƫl Canouil + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/_extensions/qletter/_extension.yml b/_extensions/qletter/_extension.yml new file mode 100644 index 0000000..e1e131d --- /dev/null +++ b/_extensions/qletter/_extension.yml @@ -0,0 +1,30 @@ +title: Personal Letter Format Template +author: Julian Tao +version: 0.1.0 +contributes: + formats: + common: + date-format: long + pdf: + documentclass: letter + fontfamily: roboto + fontsize: 12pt + geometry: + - "margin=1in" + colorlinks: true + header-includes: | + \usepackage{fontawesome, setspace} + \usepackage[absolute,overlay]{textpos} + \setlength{\TPHorizModule}{1cm} + \setlength{\TPVertModule}{1cm} + \renewcommand{\familydefault}{\sfdefault} + template-partials: + - "partials/before-body.tex" + - "partials/after-body.tex" + latex-output-dir: _output + format-resources: + - "assets/logo.pdf" + - "assets/signature.pdf" + execute: + echo: false + warning: false diff --git a/_extensions/qletter/assets/logo.pdf b/_extensions/qletter/assets/logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6408dd9d259074185a2d41154dcbbf64bcf36ac3 GIT binary patch literal 5381 zcmb_g2{=^!+m1HbBH>lZA#0Y|hbfX>*~b>L493hbV>B~*?aC|k%HAealr2$Y%a%g6 z5<<45;x$B}Y!$vUgZ}mQUDx-0*Y%y5XMXeC=eIrgdCr-+9~pC9ePx&mid&{+s^A+p z5`Y3!S5IzrbpT?F_a-oi01AY#+yDST^hsm}o(8sL90RY5ccZ%FxsM#-rZZ@G9EIC2 zRWDYHC+w)exlf-JhYC3x(_VLX=Lu+aJ??d2L><=>=-^*omQ{B3i}RnJ@z|m-Cx~iR z8sIIvt`9#soSmx|fFj;-_gE~hE)xi4Q`PCx7Wf;VgX z9li-__E3(L@O2)l5#dVq3XH1~eu8STt*x5J|LCLwWmi&=N<)NAWV(1y;VsJTYeRzm zijCZOZ};_$g5Ovnvf^U3U}P|q8tXjEL;N6s9kQMu!@!aOh6|{xvjFgb;Gm!bKy^20*O*eeeLp97n(dG60Od zxH*o72j_xqjD?us-AOoYsvqD0LQnvKz^JIAz}>@D;3&Y6Jw^vy9UMdlSXXlGvKi2* zzCJ(gXl*4nx)G8kxIPW%P4{7~=;prx9|IUPU;Kur1NPFzpC-BCu?E^Ka6Mowo=)|p zx#8&mi#+U4@u`CTzp_c~$F}~vY+}*7mUb`zg+jr9Nw29B6td+ju_I$&hrE*FUE~Tk zU+r}B-bD%CIC+}nSrKkm+l zI}?MqyP0=NiJgaJBhbFsYzpy1@qFWnvg0YT*5)#SLxE`m^0@wr8xQa|#;QKi+x#`# z{9lxa5iVHY*HNmiAFg@VM12$L0dZ?lTqN&RpT5~!_T=RAt0LPzyiYq&Ij=Ebv#R12 z5LGzAEU4c3N&S&mokn~0mJs5C d8F1c4Q8#%yhfbVfwXVqU!(RONY^{2-j_72Bx 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 F{{_A&fH(jE literal 0 HcmV?d00001 diff --git a/_extensions/qletter/assets/signature.pdf b/_extensions/qletter/assets/signature.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3f0aadea4958e584cf356d4e44d6afb14914d150 GIT binary patch literal 6320 zcmcJUc|278+sAKpleAbOi87L{Fq;{aeP6QgyTM>EGmNo^$P%dt6%|Qj*CZljUy?Oh z8X~gqYqI4zL;7{!JPR(-|hN-&UI#9^TwmCpdiGUy= zyp0o`gainD1&wncI)V^@OP3A=0)dq`PV=MC-|V<~9{Pwo!< z)giP>hsN3cj1{<}?2@uIN)2odiiA?yDHi;f2D`gf^d>6n5rG|pBqS&f-~gi_fB^!_ z%YvXFuq_I>0y+Qj-oL{(de7`?VMdtncHB27$Fv4rmY$ z2)ettHj01-=7R2z1#6(~Feo{^H^>ZdK|pZ0xUeV!1VzAvVF-}L?ihJsbzqP?i1IM^ zo}4lP@8SAeM0+dkdiS@a2dqy(;oMy*E86<(yH!C%f(Lrvk_UPzpgl3RXkBGFiu31& zbF!s)$j3<9)IiE z;a5nucvd%@muFZ_&Mpi-do3FEsY~tDVH0q>rAxE0?_VSm+V#Z?+v~@&Nc^gtY;Co- z*u0h;f@l-eBM!-j>)KN0*96iVbq~VCn0Bxzr0Px1fNYLWDShKOB)E(N5 z3OlCK>IZL3{g0F1^kx}9fQG(jid}<5xMM<8nFi~MYv+xa>(YvwB+*%hY>QzMT={$> zB~PQQHd8IvBRBf-cQSH&4m5#ZTyVI|I$)HS1tuw(F6OZ$Mk0K`v1ozo)UWaANAQVv zO2$@Vre>+khKk;yOdm!O0fEa?Mcwx@^f}|r%$(%2x2cRQ9_ys8U)cH~QRO3lAgdfiK34hxsnp;& z)=RdpDwlyCYalj$uuMzm3+TJ7o@|_?DGKyq2J@{kx8*HsTe5WiD=R z5vvQ5R~&S{+2!zSgQ||btmVmkt^D_f9*IHEK>T1^W4B>CrpTFwqo+7puFu$tVMseJ zB^MbZ)KXw0)!H2PhRk9hg~yQ0Y%leE4*fx!pP9{fe=5mPzBB6dJ3YgJqxX@oU*%%D zuO`7tc;?NE%QdoE-s)|eu6Np&89OEUFY)1jtTa{O6?tASVX?SnQc8jYy}w)EV#_i& z-yOr%qYJC!-{!vJ&W>Cxaj;6?P|quZb8dSFd$;@kNLwbe3BS8rHk2LiP$B%-@4NQS9cb>OXRq{~x3_fH##>9cRUU__E9f#}8HHMhKHyN2Dr@QK{MmEX#nCJwlqiICx z7<3BL^H{3PI>~bNrBmt!Tl7?U*~*Wm8JoHdjUqx`EOlCKliLE9r{87P+&LKl zZn|UjBRg!>AfiXfxaYVO7#;Z$+u%C>GHrPJkcJ-rg^TFm2PTE`XRDd2e}Cd=iu zd;Kwb%TX?)A&VGDoXhH|+!p6V{}!p54s)j$oips9tONH4^~mnxAs^euqaUC3e5+C_5KnWyDP=3eUo%>*bZD7zy_;jWcOXwx ztcr!|pkjj*k4Ns=fdJ>@0<%4bW(Dsa4_JA8r$A-H>|UGuu~i`c-qe;C(dlg#&Ni`ta0hu(a~+s!jzW}gB}}NTGvH_7GU{|-?BpE`7f#X zR>OIPuC%r;?DQtM?bstorI(^_;`=TyO~&QE#x#t!5qAL|knZ1=CX z9K9}aY#lCM!n)*fb1BV=!>{bU)tJ@L^ThzfTELNc^{o$Q90C%-0f!P2o$n8E!y_$! zq>Y%0N}a}K?*#g9C)T%jHy}8WoQn+kL^T~6gztI5PH^WQ{ zib%F$U6872<;Tkt6nxlim2rv7-x@Ceb=i-j?sChAEvxZBD=D5c<_{9JmeM8a3ezrrJy@%{N{g33CLzSzQ6=U-+Ice>ug0bp6LKgESm1;D;A;?$UJf^`m@$pIR z4n=7p%&lc}N=&zIpDw+g5^a6Y`f#fINs|PX26k%E(4-_s=DV1XDDBi}4SyHSyakfC zoc9UeOJ~~DSR%ZUf_x!yr;#!y8!MjcKIbTYhqUXWYv>qR+{OJ>7g7g;VnVN6~n zfbGJpw=>QsH_}!3<`(W(;$Wj+I4{Q5&H8#V>4~j1Q)F#neclFYAim#9a850y`N#%1& zJvZ1@ShI$9-% zF47}@w`RV4MC)8`+cS@$puW?JC7osL1}}{w-@uF<0y-+y&iF=mM3MqI0Ys-|;9?P}iM`XcMtBm{U*JKJ%_=jJ>~r`FY((Gi-|)DX~U% z;0<5vJk}${ZA=<(_2w~qRN<$SbKGWqU+7P{`fa;8!JOIaPQy=6I5Io$h+cqQWnS^1 zWn2zl%^1)qq{=JD+o$(UC_z<+XcX4#x?bILx1yHlzkP0um8zZjW7i9f_a{lk{8tp} z9iE2ec{N+NtcrH7WE3Q|yPhVvSUk%tuBFj+kIb8@5>M02eL1X8IHFyC%rC4X{-o(} z>^M>b-Bywmr{LSnZ~E5^$Y%-<;-VKHU(Dp34^^0G+>~p`FulJV+Ce4yxs;!Yx~S~^M7oAR zB>PDVm3pzHlP+Q`U6)-8V!xHhK3-`Gm2*U`%#|*3)gK<7eJRN*bX_;#>#@Z1OG9d% zv8{X>t>I!}8;m?)&j^`wU7WR}Szg8+E+_IUOFk20iICpFSdoCf60gJb6Q zY<4!;yo{JK4iD1xkbfJJ^C;;vf8}gUnGrJewGgKmA2cBWH4zQ79D{(;KcS9bGVhpbobECb&5MFuKEMN0Ud68wvw@(iPJQ`$y#H_SYmabi!xLv}EgpWA7?K&j+B&wt zG0wm{SXw+4>)DnB9hFIR>kU!}q?;b0)w&!_o9qQ*Orr9t8TM@>OFj&!4N{Pvl6fi} zo*-VmeEfVh^bpgKSTQ?m&%+`=D0m7W%V_k>GY+5WV#0ow}h0uXxX^jpn$`vF(QJd41i@wsB1< z;w(GocB%BNCUj#uIBt`j`mF`~*rsu{wBIayg@04>+fh6#^=Vt9kFzd(JBR&r#BU7N zANq9os?swL7alTZGODv}F`UGY9Pd?DyBs*Iow%@mI)D*hKkmP=6JD-P#rgN9?1!-A zSWDFN$~mD$D7EfZak=k(3` z({*PFEF)p`m=k2rS*a3v=eyNelIBc1I!e89J^iMQ}ocfQ9v ztf~G710&TM>bDS~I6ZI2$wzt(BHf?f{WuhTO49L9IzjoJ{F6?=#UO}%Vj%wKFKQ?S z1^nL_jYUk0W-W-JVP2w+qo*dU$n>Fx%83F?-vw?%&L>CYc}Oz+k}I=ktP6P0S_dpI zhO>PcAM$y@dmxZr^Y$rO_Ur?BxFbwM!3CrooD3UVzU9Cu%%@&eV$Qi1{eleTx)!KS zxP=O@i6yX>+5S~I7+h^Vb2L1E*;wxD*fzbeBe#CeylhJPS4-ZVOG2~~H}713S{AVx zV;9JhT&nE&((3-bXL`jOsx}X1qORy0(92CHr5NlGo9!=g=LOH@CK4~7A*Dv=(b(wvfvD3AFc$U3v zSv9@~TnZ1G`BUs&34f{$LyGK+4W*EmeSWb=O(<|j0qt%}z_=3e1PTP%La(ubc7HhaF7sOOdJFg6-R=g z5E0lv?2qRy^Y4&{#C zC1C%J8W@5*QQi?n*x&jU)K41<72O^DPjx}N`tN17A`SqK7@PwLY=ptd;@mO&j@@xa z7(1e)`%fxHc^&?LPb88e%l~vD5c{orcY9YDi~{@i&j0j)!zsuNCMpV|_;v{%K;rNQ zI1Giaf+%nM?@!~;e5CL~_gxLtF?JLMD68oHVu2nMeE1uXgZ@q&wF!7T4_kog^4p>? z1Uv{T3`GhUtGqO1EQFn~4zuLA+)>WHy*7seAD1oqNb9w5Fz@`EIl6qS@95D{?* z1gQuVIS51)4%Cza1@0k0jetO4Kn(|M7|`ce4LB)&m>AFpD54@i3*e*70ha~ZfVn9J z`M=FiSsUml3QULu7KMrL(pd0rm>4`xfkJQj6)wRbFc>8asE7y>3KxQi@~NYwrLhy)by$wJuur-B~F7fsQM@`!M~o@9D$X8A b!QJ%TqrNBtaaUc0I6{PuheuIMiSEAu>qmVa literal 0 HcmV?d00001 diff --git a/_extensions/qletter/partials/after-body.tex b/_extensions/qletter/partials/after-body.tex new file mode 100644 index 0000000..ad34785 --- /dev/null +++ b/_extensions/qletter/partials/after-body.tex @@ -0,0 +1,12 @@ +\vspace{4\parskip}% +\closing{$closing$\\[1em]\includegraphics[height=3ex]{$fromsignature$}} +$if(encl)$ +\encl{$for(encl)$$encl$$sep$\\$endfor$} +$endif$ +$if(cc)$ +\cc{$for(cc)$$cc$$sep$\\$endfor$} +$endif$ +$if(ps)$ +\ps{$ps$} +$endif$ +\end{letter} diff --git a/_extensions/qletter/partials/before-body.tex b/_extensions/qletter/partials/before-body.tex new file mode 100644 index 0000000..a614c8b --- /dev/null +++ b/_extensions/qletter/partials/before-body.tex @@ -0,0 +1,59 @@ +%% Define boxes for letter heads + +\newsavebox{\lethdone} %logo +\newsavebox{\lethdtwo} %address +\newsavebox{\headname} %name + +% define new page style, including the locations of the letter head boxes +\makeatletter +\def\ps@quartoletter{\begin{textblock}{8}(2,1.5) + \usebox{\lethdone} + \end{textblock} + \begin{textblock}{6}(15,1.5) + \usebox{\headname} + \end{textblock} + \begin{textblock}{10}(2,25.5)\usebox{\lethdtwo}\end{textblock}\def\thepage{}} + +\@ifundefined{opening}{}{% + \renewcommand*{\opening}[1]{\thispagestyle{quartoletter}% + {\@date\par}% + \vspace{2\parskip}% + {\raggedright \toname \\ \toaddress \par}% + \vspace{2\parskip}% + #1\par\nobreak}} +\makeatother + +% define letterhead logo +\sbox{\lethdone}{\hbox{ + \includegraphics[height=1in]{$if(fromlogo)$$fromlogo$$endif$} + } +} + +% define letterhead name +\sbox{\headname}{\parbox{4in}{\fontsize{10}{12}\sffamily\color[gray]{0.4} + {\large\textbf{$fromname$}}, $fromqualifications$\\ + $fromtitle$\\[1ex] + \begin{tabular}{@{}ll@{}} + \faicon{home} & \href{https://$fromWWW$}{$fromWWW$} \\ + \faicon{envelope} & \href{mailto:$fromemail$}{$fromemail$} \\ + \faicon{phone} & $fromphone$ + \end{tabular}}} + +% define letterhead address +\sbox{\lethdtwo}{\hbox{\fontsize{9}{11}\sffamily\color[gray]{0.4}\begin{tabular}{@{}ll@{}} + \multicolumn{2}{@{}l}{$if(fromdepartment)$$fromdepartment$$endif$} \\ + \multicolumn{2}{@{}l}{$if(frominstitute)$$frominstitute$$endif$} \\ + \multicolumn{2}{@{}l}{$if(fromaddress)$$fromaddress$$endif$} \\[0.2cm] + \end{tabular}}} + +$if(date)$ +\date{$date$} +$else$ +\date{\today} +$endif$ + +\begin{letter}{$toname$\\$toaddress$$if(subject)$\\ ~ \\Subject: $subject$$endif$} +\setstretch{1} +\vspace*{2ex} +\opening{$opening$} +\setstretch{$spacing$} diff --git a/_output/qletter.pdf b/_output/qletter.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4a418aebf2b840f9a3da85b3f7cb04dfb18cf775 GIT binary patch literal 21520 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 literal 0 HcmV?d00001 diff --git a/logo.pdf b/logo.pdf new file mode 100755 index 0000000000000000000000000000000000000000..6408dd9d259074185a2d41154dcbbf64bcf36ac3 GIT binary patch literal 5381 zcmb_g2{=^!+m1HbBH>lZA#0Y|hbfX>*~b>L493hbV>B~*?aC|k%HAealr2$Y%a%g6 z5<<45;x$B}Y!$vUgZ}mQUDx-0*Y%y5XMXeC=eIrgdCr-+9~pC9ePx&mid&{+s^A+p z5`Y3!S5IzrbpT?F_a-oi01AY#+yDST^hsm}o(8sL90RY5ccZ%FxsM#-rZZ@G9EIC2 zRWDYHC+w)exlf-JhYC3x(_VLX=Lu+aJ??d2L><=>=-^*omQ{B3i}RnJ@z|m-Cx~iR z8sIIvt`9#soSmx|fFj;-_gE~hE)xi4Q`PCx7Wf;VgX z9li-__E3(L@O2)l5#dVq3XH1~eu8STt*x5J|LCLwWmi&=N<)NAWV(1y;VsJTYeRzm zijCZOZ};_$g5Ovnvf^U3U}P|q8tXjEL;N6s9kQMu!@!aOh6|{xvjFgb;Gm!bKy^20*O*eeeLp97n(dG60Od zxH*o72j_xqjD?us-AOoYsvqD0LQnvKz^JIAz}>@D;3&Y6Jw^vy9UMdlSXXlGvKi2* zzCJ(gXl*4nx)G8kxIPW%P4{7~=;prx9|IUPU;Kur1NPFzpC-BCu?E^Ka6Mowo=)|p zx#8&mi#+U4@u`CTzp_c~$F}~vY+}*7mUb`zg+jr9Nw29B6td+ju_I$&hrE*FUE~Tk zU+r}B-bD%CIC+}nSrKkm+l zI}?MqyP0=NiJgaJBhbFsYzpy1@qFWnvg0YT*5)#SLxE`m^0@wr8xQa|#;QKi+x#`# z{9lxa5iVHY*HNmiAFg@VM12$L0dZ?lTqN&RpT5~!_T=RAt0LPzyiYq&Ij=Ebv#R12 z5LGzAEU4c3N&S&mokn~0mJs5C d8F1c4Q8#%yhfbVfwXVqU!(RONY^{2-j_72Bx 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 F{{_A&fH(jE literal 0 HcmV?d00001 diff --git a/qletter.qmd b/qletter.qmd new file mode 100644 index 0000000..01fd6da --- /dev/null +++ b/qletter.qmd @@ -0,0 +1,32 @@ +--- +fromname: Sender name +fromqualifications: PhD +fromtitle: Professor +fromWWW: sender.com +fromemail: sender@sender.com +fromphone: (000) 000 000 +fromdepartment: Sender Department +frominstitute: Sender Institution +fromaddress: Sender Address in one line +fromsignature: signature +fromlogo: logo +toname: Recipient +toaddress: | + | Recipient address line 1 + | Recipient address line 2 +subject: Subject Line +opening: Dear Recipient, +closing: Best regards, +cc: + - CC 1 + - CC 2 +encl: + - Enclosure 1 + - Enclosure 2 +ps: | + p.s.: something else +spacing: 1.2 +format: qletter-pdf +--- + +Enjoy! diff --git a/signature.pdf b/signature.pdf new file mode 100755 index 0000000000000000000000000000000000000000..3f0aadea4958e584cf356d4e44d6afb14914d150 GIT binary patch literal 6320 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 b!QJ%TqrNBtaaUc0I6{PuheuIMiSEAu>qmVa literal 0 HcmV?d00001