Initial commit
authorCian Bagshaw <cian@cianb.xyz>
Sun, 14 Aug 2022 17:26:45 +0000 (18:26 +0100)
committerCian Bagshaw <cian@cianb.xyz>
Sun, 14 Aug 2022 17:26:45 +0000 (18:26 +0100)
Created tmac file with main macros I intended to implement.

cv.tmac [new file with mode: 0644]

diff --git a/cv.tmac b/cv.tmac
new file mode 100644 (file)
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
+..