我想制作一份简历模板。虽然网上似乎有很多使用 TeX 的简历示例,但我正在寻找一种简单的方法将所有内容都包含在文件中,但编译以下内容之一:
- 简略简历(约 1 页)
- 学术简历(大部分内容,但重点是学术方面)
- 带注释的简历(包括各种任务的详细描述)
- 详尽的简历(一切!)
- 简历(较少学术内容,更多工作经历和技能)
本质上,我想把这些事情都写下来一次每当我需要提交不同类型的简历或履历时,不必重写所有内容。
定义“出版物”、“爱好”、“学术就业”和“非学术就业”的列表或条目,并输出任何与我想要制作的简历类型相符的内容,这将会很棒。也许这些条目看起来可能像下面这样:(认识到下划线不适合命令名称 :-) )
\cv_name{John Doe}
\cv_phone{777-777-7777}
\cv_email{[email protected]}
\cv_website{http://www.WebsiteOfJohnDoe.com}
\cv_degree{Big State University,Computer Science,Bachelors,1995}
\cv_degree{Big State University,Math,Bachelors,1995} % double-major?
\cv_degree{University Of Big State,Math,PhD,1999}
\cv_job{Cashier,Joe's Bakery,01/01/1990,01/01/1995,555-555-5555,{I was a cashier but got tired of it.}} % optional annotation?
\cv_job{Head Baker,Joe's Bakery,01/01/1990,01/01/1995,555-555-5555}
\cv_current_job{CEO,BakeriesAreUs,01/01/1995,666-666-6666} % no end date needed for current job
\cv_publication{My Autobiography,\cite{myBook}} % incorporate with BibTex?
\cv_award{Some Scholarship,1993} % no annotation
\cv_award{Nobel Peace Prize,2005,{I love humanity!}} % annotated
输出也许可以使用标志和 if 语句,例如(以伪代码形式):
make_academic_cv = true
output_name()
output_position()
output_contact_info()
output_education_background()
if (make_exhaustive_cv) or (make_resume) or (make_academic_cv) then
output_academic_employment()
endif
if (make_exhaustive_cv) or (make_resume) then
output_nonacademic_employment()
endif
if (make_exhaustive_cv) or (make_academic_cv) then
output_academic_awards()
endif
if (make_exhaustive_cv) or (make_academic_cv) then
output_publications()
output_conferences_and_presentations()
endif
if (make_exhaustive_cv) then
output_hobbies()
output_social_media_contact_info()
endif
以前有人做过类似的事情吗?
一种可能的解决方案是采用 BibTeX 或词汇表模型,即拥有一个包含各种条目的“数据库”文件,然后根据需要在主文件中引用这些条目。我还没有找到可以做到这一点的软件包,但我绝对愿意听取建议!
我没有足够的技能来自己做这件事,但如果其他人的代码与我想要做的事情足够相似,我可以使用它。也许展示如何执行其中一个或两个宏(例如“\cv_degree{}”)会更容易。
提前致谢!
答案1
我有一个非常自动化的方式来管理我的简历的多个版本。我使用biblatex
和biber
创建我的简历,因为数据模型和过滤功能比 强大得多bibtex
。我tex
为每个版本的简历创建一个新文件,而不是使用标志,因为它让我看到每个简历中将包含哪些内容,但是,我没有理由不能将它们全部与标志结合起来。我的方法的关键是这些tex
文件没有个人信息,基本上由一堆\defbibfilter
和组成\printbibliography
。我没有完全可共享的代码(虽然有一天我会想要),但我的简历基本上看起来像
\defbibfilter{grad}{type=teaching and subtype=graduate}
\defbibfilter{undergrad}{type=teaching and subtype=undergraduate}
\section*{Teaching}
\subsection*{Graduate}
\printbibliography[filter=grad]
\subsection*{Undergraduate}
\printbibliography[filter=undergrad]
列出了我的教学情况,按研究生和本科课程排序。如果我想在另一个版本的简历中按我教过他们的地点排序,我会定义一组不同的过滤器
\defbibfilter{UniversityA}{type=teaching and institution=UniversityA}
\defbibfilter{UniversityB}{type=teaching and institution=UniversityB}
\section*{Teaching}
\subsection*{UniversityA}
\printbibliography[filter=UniversityA]
\subsection*{UniversityB}
\printbibliography[filter=UniversityB]
为了实现这一点,我需要在文件中定义一个*.dbx
包含许多新字段的数据模型。例如,对于资金条目,我需要定义字段funder
(谁给了我钱)和amount
(他们给了我多少钱)
\DeclareDatamodelFields[type=field,datatype=literal]{funder}
\DeclareDatamodelFields[type=field,datatype=literal]{amount}
我还需要为新数据类型定义新的参考书目驱动程序。例如,我的*.bbx
文件包括以下内容
\DeclareBibliographyDriver{funding}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{year+duration+amount}%
\setunit{\addcolon\addspace}
\usebibmacro{funder+type+number}%
\newunit\newblock
\usebibmacro{title}%
\newunit\newblock
\usebibmacro{organization+department+location}%
\usebibmacro{finentry}%
}