%% --------------------------------------------------------------------------------------------- %% LaTeX ModernCV stripped down version for embedding in proposals %% --------------------------------------------------------------------------------------------- %% Initial version by Joe Foley %% Questions, comments, complaints: latex@LIST.RU.IS %% Created on 2015-02-27 %% This code is distributed under the Perl Artistic License %% http://language.per.com/misc/Artistic.html %% This template is heavily derived from the RUCSMSc.sty developed by Bjorn Thor Jonsson, bjorn@ru.is %% %% Reference for class/package writers %% http://ctan.uib.no/macros/latex/doc/clsguide.pdf %% \newcommand{\fileversion@embeddedcv}{Rev 1} \newcommand{\filedate@embeddedcv}{2016/03/05}% must be YYYY/MM/DD! \newcommand{\fileauthor@embeddedcv}{Joseph Timothy Foley, foley at R U dot I S} \ProvidesClass{embeddedcv}[\filedate@embeddedcv by \fileauthor@embeddedcv] \NeedsTeXFormat{LaTeX2e} \typeout{Embedded CV Class \fileversion@embeddedcv <\filedate@embeddedcv>, by \fileauthor@embeddedcv} %% ---------------- Critical packages ----------------------------- % This package allows you to create conditionals on booleans \RequirePackage{ifthen} % detect pdflatex vs latex \RequirePackage{ifpdf} %% XeTeX can allow for nicer fonts, but we really don't need it %% Because we use standard fonts to be consistent %% Doing the XeTeX tests causes AUCTex to keep asking if you want XeTeX, which is annoying %\RequirePackage{ifxetex} %% Morewrites packages allows more programs to generate external files %% because there is an internal limit %% Needed if you get a "No room for a new \write" error %% Unfortunately, it appears to be incompatible with DropBox. Bug filed with developed 2016-2-17 --foley %\RequirePackage{morewrites} %% Command to remove things if we are draft mode \RequirePackage{ifdraft} % ignore warnings and errors temporarily %\RequirePackage{silence} %% LaTeX3 %% Some of this may already be included as a dependancy from another package % Better handling of arguments, particularly for defaults \RequirePackage{xargs} % Specialized commands for constructing macros \RequirePackage{xparse} %% ---------------- Execution of Options ----------------------------- \ProcessOptions\relax% this stops searching for a * in % \ProcessOtions* %% Alternative way to subclass. Disable the other option processing %% if you enable it. This will dump all options onto the parent class %\ProcessOptions\LoadClassWithOptions{article} %% Read page 20 of http://latex-project.org/guides/clsguide.pdf %% carefully before modifying any of the execution and previous section. %% ---------------- Package Loading ----------------------------- \LoadClass{article} % our parent class. %% ---------------- XeTeX setup ----------------------------- %% Embedding is often needed in MS Word documents, so we need XeTeX %\ifxetex% \RequirePackage{fontspec} % font selecting commands \RequirePackage{xunicode} % unicode character macros \RequirePackage{xltxtra} % a few fixes and extras %\else % pdftex or latex % \RequirePackage[T1]{fontenc} % \RequirePackage[utf8]{inputenc} % allows UTF encoding, needed for Icelandic characters %\fi %% ---------------- Internationalization ----------------------------- %\RequirePackage[autostyle,strict]{csquotes} %% http://mirrors.concertpass.com/tex-archive/macros/latex/contrib/csquotes/csquotes.pdf %% You invoke with \enquote{} and \blockquote{} %% csquotes must be loaded before babel for AUCTeX %% autostyle: update style as language changes in document %% strict: any warnings become errors %\DeclareQuoteAlias{german}{icelandic} %% Unfortunately, csquotes does not understand Icelandic quotation marks %% so we must create an alias. German is close enough. %\@nameuse{RequirePackage}[english,german,icelandic]{babel} %% Babel allows various automatic text to be in selected languages %% But to use the options, you have to always load it, even for english %% The languages must be specified in order. %% We load german because it seems to be needed for the special Icelandic quotation marks. %% Smart quotation marks %% The \@nameuse magic is to prevent AUCTeX from using the semi-broken icelandic mode. %% If you don't have a keyboard to type the Icelandic characters, there are macros: %% "` or \glqq (startquote) %% "' or \grqq (endquote) %% \TH Þ %% \th þ %% \DH Ð %% \dh ð %% % set language based upon the class setting % \newcommand{\resetlanguage}{% % \ifthenelse{\boolean{icelandic}}% % {\selectlanguage{icelandic}}% % {\selectlanguage{english}}}% % \resetlanguage{} \RequirePackage{iflang} %% iflang allows us to put multiple translations together %% e.g. \IfLanguageName{icelandic}{Já}{Yes} \RequirePackage{etoolbox} \RequirePackage{ifthen} \RequirePackage{xcolor} \RequirePackage{url} \RequirePackage{graphicx} \RequirePackage{fancyhdr} %\RequirePackage{tweaklist} % Definition of "description" causes conflicts, weird. \RequirePackage{calc} %% XeLaTeX needed!! %\setmainfont[Mapping=tex-text]{Arial} \setmainfont[Mapping=tex-text]{Times New Roman} \usepackage[margin=10mm]{geometry} \definecolor{myblue}{rgb}{0,0,0.5} \newcommand{\bluerule}{\textcolor{myblue}{\hrule}\vspace{\baselineskip}} \newcommand*{\listitemsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} \newcommand*{\hintfont}{\small\sffamily} % length used by the moderncv layout % quote length \newlength{\quotewidth} % section lengths \newlength{\hintscolumnwidth} \newlength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth} \newlength{\maincolumnwidth} % doubleitem lengths \newlength{\doubleitemmaincolumnwidth} % listitem lengths \newlength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol{}~} \newlength{\listitemmaincolumnwidth} % listdoubleitem lengths \newlength{\listdoubleitemmaincolumnwidth} % recompute all the lengths that depends on the text width \newcommand*{\recomputethemelengths}{} \newcommand*{\recomputelengths}{% \setlength{\quotewidth}{0.65\textwidth}% % main lenghts \setlength{\maincolumnwidth}{\textwidth}% \addtolength{\maincolumnwidth}{-\separatorcolumnwidth}% \addtolength{\maincolumnwidth}{-\hintscolumnwidth}% % listitem lengths \setlength{\listitemmaincolumnwidth}{\maincolumnwidth}% \addtolength{\listitemmaincolumnwidth}{-\listitemsymbolwidth}% % doubleitem lengths \setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth}% \addtolength{\doubleitemmaincolumnwidth}{-\hintscolumnwidth}% \addtolength{\doubleitemmaincolumnwidth}{-\separatorcolumnwidth}% \setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}% % listdoubleitem lengths \setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth}% \addtolength{\listdoubleitemmaincolumnwidth}{-\listitemsymbolwidth}% \setlength{\listdoubleitemmaincolumnwidth}{0.475\listdoubleitemmaincolumnwidth}% % fancyhdr lengths \renewcommand{\headwidth}{\textwidth}% \recomputethemelengths} \setlength{\hintscolumnwidth}{0.15\textwidth} \recomputelengths % usage: \cvline{margintext}{linetext} \newcommand*{\cvline}[3][.25em]{% \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% \raggedleft\hintfont{#2} &{#3}% \end{tabular}\\[#1]} % usage: \cvdoubleitem{subtitle}{text}{subtitle}{text} \newcommand*{\cvdoubleitem}[4]{% \cvline{#1}{\begin{minipage}[t]{\doubleitemmaincolumnwidth}#2\end{minipage}% \hfill% \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintfont{#3}\end{minipage}\hspace*{\separatorcolumnwidth}\begin{minipage}[t]{\doubleitemmaincolumnwidth}#4\end{minipage}}} % usage: \cventry{years}{degree/job title}{institution/employer}{localization}{optionnal: grade/...}{optional: comment/job description} \newcommand*{\cventry}[6]{% \cvline{#1}{% {\bfseries#2}% \ifthenelse{\equal{#3}{}}{}{, {\slshape#3}}% \ifthenelse{\equal{#4}{}}{}{, #4}% \ifthenelse{\equal{#5}{}}{}{, #5}% .% \ifx&% \else{\newline{}\begin{minipage}[t]{\linewidth}\small#6\end{minipage}}\fi% }}% \newcommand*{\cvitem}[2]{\cvline{#1}{#2}} % usage (inside 'language' cvsection environment): \cvlanguage{name}{level}{comment} \newcommand*{\cvlanguage}[3]{% \cvline{#1}{\begin{minipage}[t]{.225\maincolumnwidth}\textbf{#2}\end{minipage}\hfill\begin{minipage}[t]{0.725\maincolumnwidth}\raggedleft\footnotesize\itshape #3\end{minipage}}} % usage: \cvlistdoubleitem[symbol]{point1}{point2} \newcommand*{\cvlistdoubleitem}[3][\listitemsymbol{}]{% \cvline[0pt]{}{#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}% \hfill% \ifthenelse{\equal{#3}{}}% {}% {#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}} % usage (inside 'computer skills' cvsection environment): \cvcomputer{category}{programs}{category}{programs} \newcommand*{\cvcomputer}[4]{% \cvdoubleitem{#1}{\small#2}{#3}{\small#4}} %% Some commands so that we can use the same .tex file as a full CV %% Disabled because they are before \begin{document} \newcommand{\firstname}[1]{} \newcommand{\familyname}[1]{} \newcommand{\address}[2]{} \newcommand{\phone}[1]{} \newcommand{\email}[1]{}