我正在尝试根据自己的要求编辑简历模板。但是,我在使用命令时遇到了一些奇怪的行为\itab
。
有问题的部分:
\begin{rSection}{Technologies}
\itab{\textbf{Languages}} \tab{} \tab{{Python, Java, Javascript, C++, C, Oracle}}
\itab{\textbf{Libraries \& Frameworks}} \tab{} \tab{{NodeJS, Django, Vaadin, numpy, pandas, Tensorflow}}
\itab{\textbf{Software}} \tab{} \tab{{LaTeX, UNIX, Eclipse, Jetbrains, Jupyter, git}}
.tex
文件:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Medium Length Professional CV
% LaTeX Template
% Version 2.0 (8/5/13)
%
% This template has been downloaded from:
% http://www.LaTeXTemplates.com
%
% Original author:
% Trey Hunner (http://www.treyhunner.com/)
%
% Important note:
% This template requires the resume.cls file to be in the same directory as the
% .tex file. The resume.cls file provides the resume style used for structuring the
% document.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass{resume} % Use the custom resume.cls style
\usepackage[left=0.75in,top=0.6in,right=0.75in,bottom=0.6in]{geometry} % Document margins
\newcommand{\tab}[1]{\hspace{.2667\textwidth}\rlap{#1}}
\newcommand{\itab}[1]{\hspace{0em}\rlap{#1}}
\name{Daniel Bak} % Your name
\address{4405 Burgess Hill Lane \\ Johns Creek, GA 30022} % Your address
%\address{123 Pleasant Lane \\ City, State 12345} % Your secondary addess (optional)
\address{(+1) 902$\cdot$955$\cdot$9072 \\ [email protected] \\ linkedin.com/in/danielpbak \\ github.com/danielpbak} % Your phone number and email
\begin{document}
%----------------------------------------------------------------------------------------
% EDUCATION SECTION
%----------------------------------------------------------------------------------------
\begin{rSection}{Education}
{\bf Dalhousie University} \hfill {\em Graduated October 2017}
\\ B.CSc. Computer Science
\end{rSection}
%----------------------------------------------------------------------------------------
% WORK EXPERIENCE SECTION
%----------------------------------------------------------------------------------------
\begin{rSection}{Experience}
\begin{rSubsection}{STI Technologies Limited}{May 2015 - April 2016}{Oracle Database Developer (Co-op)}{Data Solutions Department}
\item Completed two internships, first as a data analyst, then as a database developer
\item Developed web scrapers to collect physician data using both Python and CasperJS. Trained colleagues in how to operate and maintain these scrapers. The resulting data was later used to develop a suite of physician-focused reports.
\item Built a highly efficient Fellegi-Sunter record linkage procedure in PL/SQL to merge several sources of physician data.
\item Created complex SQL queries for both internal and external clients, and helped those clients understand the results through both electronic and in-person consultation.
\item Developed Python, batch and PowerShell scripts to automate data entry, report modification, data extraction and other labor intensive tasks, saving hundreds of man hours.
\item Wrote extensive documentation for all of the above projects.
\end{rSubsection}
%------------------------------------------------
\begin{rSubsection}{Course Work \& Extracurriculars}{}{}{}
\item Contributed to the open source ReviewBoard Django application, integrating social authentication in order to validate GitHub webhooks and merge users.
\item Developed interconnected RESTful web services in NodeJS as a part of my Cloud Computing course.
\item In the Software Engineering course, using SVN and in a team of four, developed an Android application in Vaadin (Java) which allowed the user to tag their current location with ”graffiti”, and see nearby graffiti.
\item As a part of the Machine Learning course, implemented and used several unsupervised, supervised and reinforcement learning models in MATLAB and learned the theory behind them.
\item Built a multithreaded HTTP server in C as part of the Operating Systems course. The server used three different queuing strategies.
\item Completed the nand2tetris course, building a full-scale computer system and simple compiler and assembler starting from basic logic circuits.
\item Was the 2016 Tabs Director \& Organizational Committee Member of the Dalhousie debate team. Made it to the finals of several debate tournaments and won multiple awards.
\end{rSubsection}
\end{rSection}
%----------------------------------------------------------------------------------------
\begin{rSection}{Technologies}
\itab{\textbf{Languages}} \tab{} \tab{{Python, Java, Javascript, C++, C, Oracle}}
\itab{\textbf{Libraries \& Frameworks}} \tab{} \tab{{NodeJS, Django, Vaadin, numpy, pandas, Tensorflow}}
\itab{\textbf{Software}} \tab{} \tab{{LaTeX, UNIX, Eclipse, Jetbrains, Jupyter, git}}
\end{rSection}
\end{document}
类文件:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Medium Length Professional CV - RESUME CLASS FILE
%
% This template has been downloaded from:
% http://www.LaTeXTemplates.com
%
% This class file defines the structure and design of the template.
%
% Original header:
% Copyright (C) 2010 by Trey Hunner
%
% Copying and distribution of this file, with or without modification,
% are permitted in any medium without royalty provided the copyright
% notice and this notice are preserved. This file is offered as-is,
% without any warranty.
%
% Created by Trey Hunner and modified by www.LaTeXTemplates.com
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ProvidesClass{resume}[2010/07/10 v0.9 Resume class]
\LoadClass[11pt,letterpaper]{article} % Font size and paper type
\usepackage[parfill]{parskip} % Remove paragraph indentation
\usepackage{array} % Required for boldface (\bf and \bfseries) tabular columns
\usepackage{ifthen} % Required for ifthenelse statements
\pagestyle{empty} % Suppress page numbers
%----------------------------------------------------------------------------------------
% HEADINGS COMMANDS: Commands for printing name and address
%----------------------------------------------------------------------------------------
\def \name#1{\def\@name{#1}} % Defines the \name command to set name
\def \@name {} % Sets \@name to empty by default
\def \addressSep {$\diamond$} % Set default address separator to a diamond
% One, two or three address lines can be specified
\let \@addressone \relax
\let \@addresstwo \relax
\let \@addressthree \relax
% \address command can be used to set the first, second, and third address (last 2 optional)
\def \address #1{
\@ifundefined{@addresstwo}{
\def \@addresstwo {#1}
}{
\@ifundefined{@addressthree}{
\def \@addressthree {#1}
}{
\def \@addressone {#1}
}}
}
% \printaddress is used to style an address line (given as input)
\def \printaddress #1{
\begingroup
\def \\ {\addressSep\ }
\centerline{#1}
\endgroup
\par
\addressskip
}
% \printname is used to print the name as a page header
\def \printname {
\begingroup
\hfil{\MakeUppercase{\namesize\bf \@name}}\hfil
\nameskip\break
\endgroup
}
%----------------------------------------------------------------------------------------
% PRINT THE HEADING LINES
%----------------------------------------------------------------------------------------
\let\ori@document=\document
\renewcommand{\document}{
\ori@document % Begin document
\printname % Print the name specified with \name
\@ifundefined{@addressone}{}{ % Print the first address if specified
\printaddress{\@addressone}}
\@ifundefined{@addresstwo}{}{ % Print the second address if specified
\printaddress{\@addresstwo}}
\@ifundefined{@addressthree}{}{ % Print the third address if specified
\printaddress{\@addressthree}}
}
%----------------------------------------------------------------------------------------
% SECTION FORMATTING
%----------------------------------------------------------------------------------------
% Defines the rSection environment for the large sections within the CV
\newenvironment{rSection}[1]{ % 1 input argument - section name
\sectionskip
\MakeUppercase{\bf #1} % Section title
\sectionlineskip
\hrule % Horizontal line
\begin{list}{}{ % List for each individual item in the section
\setlength{\leftmargin}{1.5em} % Margin within the section
}
\item[]
}{
\end{list}
}
%----------------------------------------------------------------------------------------
% WORK EXPERIENCE FORMATTING
%----------------------------------------------------------------------------------------
\newenvironment{rSubsection}[4]{ % 4 input arguments - company name, year(s) employed, job title and location
{\bf #1} \hfill {#2} % Bold company name and date on the right
\ifthenelse{\equal{#3}{}}{}{ % If the third argument is not specified, don't print the job title and location line
\\
{\em #3} \hfill {\em #4} % Italic job title and location
}\smallskip
\begin{list}{$\cdot$}{\leftmargin=0em} % \cdot used for bullets, no indentation
\itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics
}{
\end{list}
\vspace{0.5em} % Some space after the list of bullet points
}
% The below commands define the whitespace after certain things in the document - they can be \smallskip, \medskip or \bigskip
\def\namesize{\huge} % Size of the name at the top of the document
\def\addressskip{\smallskip} % The space between the two address (or phone/email) lines
\def\sectionlineskip{\medskip} % The space above the horizontal line for each section
\def\nameskip{\bigskip} % The space after your name at the top
\def\sectionskip{\medskip} % The space after the heading section