-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkarencv.dtx
214 lines (210 loc) · 8.25 KB
/
karencv.dtx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
% \iffalse meta-comment
% Copyright (C) 2108 by Sebastian Ankargren
% -----------------------------------
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in:
%
% http://www.latex-project.org/lppl.txt
%
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{karencv.dtx}
%</driver>
%<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<class>\ProvidesClass{karencv}
%<*class>
[2018/03/09 v0.1 Academic CV]
%</class>
%
%<*driver>
\documentclass{ltxdoc}
\usepackage{url}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
\DocInput{karencv.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{0}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
% Digits \0\1\2\3\4\5\6\7\8\9
% Exclamation \! Double quote \" Hash (number) \#
% Dollar \$ Percent \% Ampersand \&
% Acute accent \' Left paren \( Right paren \)
% Asterisk \* Plus \+ Comma \,
% Minus \- Point \. Solidus \/
% Colon \: Semicolon \; Less than \<
% Equals \= Greater than \> Question mark \?
% Commercial at \@ Left bracket \[ Backslash \\
% Right bracket \] Circumflex \^ Underscore \_
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
%
% \changes{v0.1}{2018/03/12}{Initial version}
%
% \GetFileInfo{karencv.dtx}
%
% \DoNotIndex{\#}
%
% \title{The \textsf{karencv} class\thanks{This document
% corresponds to \textsf{karencv}~\fileversion,
% dated \filedate.}}
% \author{Sebastian Ankargren \\ \texttt{[email protected]}}
%
% \maketitle
%
% \begin{abstract}
% The |karencv| class provides a simple style for CVs constructed following the recommendations made by Dr. Karen (\emph{The Professor Is In}). As such, it constitutes a clean CV template which still puts no restrictions on content and organization thereof.
% \end{abstract}
%
% \section{Introduction}
%
% The |karencv| class offers a simple CV template, which allows the creation of a CV which follows the rules laid out by Dr. Karen at \emph{The Professor Is In} (\url{https://theprofessorisin.com/2016/08/19/dr-karens-rules-of-the-academic-cv/}).\footnote{It should be emphasized, however, that to a large extent these rules are about content, not style.} Briefly summarized, these rules, which are implemented in the |karencv| class, are:
% \begin{itemize}
% \item One inch margin on all four sides
% \item 12 point font throughout; candidate name 14 or 16 pt (centered) with "Curriculum vitae" (in 12 pt) below (optional)
% \item Single spaced
% \item Headings in bold and all caps; subheadings in bold only
% \item No italics (except journals and book titles)
% \item One or two full returns before all headings; one full return between heading and first entry
% \item Everything left justified; nothing right justified
% \item No bullet points
% \item No boxes or columns
% \item Year (not month/day) of every entry left justified, tab/indent between year and substance of entry
% \end{itemize}
% The content sections as suggested by Dr. Karen are (possible subsections not listed):
% \begin{itemize}
% \item Education
% \item Professional Appointments/Employment
% \item Publications
% \item Awards and Honors
% \item Grants and Fellowships
% \item Invited Talks
% \item Conference Activity/Participation
% \item Teaching Experience
% \item Research Experience
% \item Service to Profession
% \item Departmental/University Service
% \item Extracurricular University Service
% \item Community Involvement/Outreach
% \item Media Coverage
% \item Related Professional Skills
% \item Non-Academic Work
% \item Teaching Areas/Courses Prepared to Teach
% \item Languages
% \item Professional Memberships/Affiliations
% \item References
% \end{itemize}
% The general template will of course work even if a different style (in terms of content) is desired and as such the class provides a simple and clean CV style.
% \StopEventually{\PrintIndex}
%
% \section{Implementation}
% Initial settings, including loading packages. The |\PassOptionsToPackage{...}{geometry}| line aligns the template with the one-inch margin rule.
% \begin{macrocode}
\DeclareOption*{\OptionNotUsed}
\ProcessOptions\relax
\LoadClass[12pt]{article}
\PassOptionsToPackage{a4paper, margin=1in}{geometry}
\RequirePackage{times}
\RequirePackage{calc}
\RequirePackage{fancyhdr}
\RequirePackage{color}
\RequirePackage{hyperref}
\RequirePackage{graphicx}
\RequirePackage{geometry}
\RequirePackage{enumitem}
\RequirePackage{titlesec}
\RequirePackage{url}%
% \end{macrocode}
% Set width of headrule to be full page and create the pagestyle with page number, and set the section heading style. The |\titleformat| and |\titlespacing| changes render the correcting headings style.
% \begin{macrocode}
\fancyhf{}\renewcommand{\headrulewidth}{0pt}
\setlength{\parindent}{0in}
\pagestyle{fancy}
\rhead{\thepage}
\titleformat{name=\section}[hang]
{\normalsize \bfseries \scshape}
{}
{0em}
{\hspace{-0.4pt}\normalsize}
\titleformat{name=\subsection}[hang]
{\normalsize \bfseries}
{}
{0em}
{}
\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 2pt}
% \end{macrocode}
% Link colors and settings. Not part of the style guide, but improves the visual appeal and allows for a clickable e-mail address.
% \begin{macro}{\email}
% \begin{macrocode}
\definecolor{darkblue}{rgb}{0.0,0.0,0.3}
\hypersetup{colorlinks,breaklinks,
linkcolor=darkblue,urlcolor=darkblue,
anchorcolor=darkblue,citecolor=darkblue}
\urlstyle{same}
\providecommand*\emaillink[1]{\nolinkurl{#1}}
\providecommand*\email[1]{\href{mailto:#1}{\emaillink{#1}}}
% \end{macrocode}
% \end{macro}
% A macro which can be used for adding entries. This makes it easy to follow the rule about having the year left justified with tab/indent to the substance of the entry. By default, the spacing is |0.07\textwidth| which works well for 12 pt fonts and single-year entries (i.e. |2014|, not |2014--2015|). For ranges, |0.15| usually works better.
% \begin{macro}{\makecol}
% \begin{macrocode}
\newcommand{\makecol}[3][0.07]{
\begin{minipage}[t]{#1\textwidth}
#2
\end{minipage}
\begin{minipage}[t]{\textwidth-#1\textwidth}
#3
\end{minipage}}
% \end{macrocode}
% \end{macro}
% Command for forcing an indent. This is sometimes useful when entries end up spanning multiple lines.
% \begin{macro}{\forceindent}
% \begin{macrocode}
\newcommand{\forceindent}{\leavevmode{\parindent=1em\indent}}
% \end{macrocode}
% \end{macro}
% Macro for creating the CV header. When used, it also removes the page number from the first page. By default, the title is |Curriculum vitae|. Since the font size is fixed at 12 pt, |\large| yields a header of size 14.4 pt.
% \begin{macro}{\cvheader}
% \begin{macrocode}
\newcommand{\cvheader}[2][Curriculum vitae]{%
\thispagestyle{empty}%
\lhead{#2}%
\begin{minipage}[t]{\textwidth}{
\centering
{\large \bfseries #2}\\
#1\\[-0.15\baselineskip]%
\rule{\columnwidth}{1pt}}
\end{minipage}
}
% \end{macrocode}
% \end{macro}
% Two special |itemize| list types which are used. Both are without bullet points as the style guide requires. |articlelist| uses no indent for the first line, but if the entry spans multiple lines subsequent lines will be indented to better distinguish entries (which is not completely obvious otherwise as there are no bullet points present). |reflist| has no indentation whatsoever, and is useful for listing references (one |\item| per reference).
% \begin{environment}{articlelist}
% \begin{environment}{reflist}
% \begin{macrocode}
\newlist{articlelist}{itemize}{3}
\setlist[articlelist]{label={},itemindent=-2em,leftmargin=2em,itemsep=-0.2em}
\newlist{reflist}{itemize}{3}
\setlist[reflist]{label={},leftmargin=0em}
% \end{macrocode}
% \end{environment}
% \end{environment}
%
% \Finale
\endinput