From 1148d41758cad309fd85140ab7a7ed64ce11b4bd Mon Sep 17 00:00:00 2001 From: Cian Bagshaw Date: Sun, 14 Aug 2022 18:26:45 +0100 Subject: [PATCH] Initial commit Created tmac file with main macros I intended to implement. --- cv.tmac | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 cv.tmac diff --git a/cv.tmac b/cv.tmac new file mode 100644 index 0000000..3978743 --- /dev/null +++ b/cv.tmac @@ -0,0 +1,103 @@ +.\" cv.tmac - troff/groff macros for a CV PDF document +.\" by Cian Bagshaw (2022) +. +.\" macros are documented in the format: +.\" .MA - macro description: arguments +. +.ps 12 \" text point size +.vs 13 \" vertical line spacing +. +.\" .LB - left border for content between .LB and .BE +.de LB +.nr LB \\n(nl \" record start position +.in +.5m \" indent text, yielding space for line +.. +.\" .BE - left border content end, draw border/line +.de BE +.in -.5m \" reset indent +.nr LB \\n(nl-\\n(LB \" get and store area height (current-start pos) +\v'-\\n(LBu-1v'\L'\\n(LBu' \" go up to start, and draw a line back down +.sp 0 \" newline +.. +.\" .HS - start heading, render title and content between .HS and .HE: name, +.\" picture.pdf (optional) +.de HS +.nr HS \\n(nl \" record start position +\X'pdf: pdfpic \\$2 -L 2i' \" gropdf pdfpic, left alligned, 2i wide +.in +2.2i \" indent text to left of image +.ps 40 \" set title size +.sp 1.3 \" newline +\\$1 \" print title name +.ps \" reset font size +.sp 0.3 \" newline +.ps +3 \" subtitle and info font size +\fICurriculum Vitae\fP \" italic subtitle +.sp 0.7 \" newline +.LB \" start left border for info text +.sp 0.3 \" newline +.. +.\" .HE - end heading +.de HE +.BE \" end border +.ps \" reset font size +.in -2.2i \" reset indent +.sp \\n(HSu+2i+1v-\\n(nlu \" newline of correct size (start+2i+1v-end) +.. +.\" .IN - info colon separated: label, value +.de IN +\fB\\$1:\fP \\$2 \" print bold label with colon, value in roman +.sp 0.3 \" newline +.. +.\" .LS - list with columns: items per column, column width (ems) +.de LS +.sp .3 \" newline +.nr LC \\$1 \" record max items per column +.nr LW \\$2 \" record column width +.nr LS \\n(nl \" record top position +.nr LI 0 \" record current number of items (0) +.nr NC 0 \" record current number of columns (0) +.. +.\" .LI - list item: text +.de LI +.nr CI \\n(NC*\\n(LW \" record/calculate indent (columns*width) +.nr LI \\n(LI+1 \" record/calculate item number +.nr NC \\n(LI/\\n(LC \" record/calculate number of columns (itemNumber/max) +.in \\n(CI+1.2 \" indent +\(bu \\$1\" \" print bullet and text +.sp .3 \" newline +.if !\\n(LI%\\n(LC .sp \\n(LSu-\\n(nlu \" if new column, go to top +.. +.\" .LE - list end +.de LE +.in -\\n(CI+1.2 \" reset indent (-currentIndent) +.sp \\n(LSu-\\n(nlu+\\n(LCv+1 \" space to bottom of list (top-position+items+1) +.. +.\" .SH - section heading: name +.de SH +.sp 1.5 \" newline +.ps 20 \" heading font-size +\v'.3m'\l'6.5i'\h'-6.5i'\v'-.3m'\\$1 \" go down, draw line, go back, go up, print title +.sp .3m \" newline +.ps \" reset font size +.. +.\" .DA - date timeline, description between .DA and .DE: from, to, place, +.\" course/position (optional) +.de DA +.sp .5 \" newline +.in +1.2 \" indent +.ll -1.2 \" decrease line-length respectively +\fI\\$1 \- \\$2\fP \" print dates in bold +.in +1i \" indent text to the right of date +.sp -1 \" go up a line (indent causes newline) +.LB \" start left border +\fB\\$3\fP \" title +.sp 0 \" newline +.if \\n(.$.=4 \fB\\$4\fP: \" if course specified, print bold +.. +.\" .DE - date end +.de DE +.BE \" end border +.in -1i+1.2 \" reset indent +.ll +1.2 \" reset line length +.sp -1 +.. -- 2.20.1