![LaTeX CV 的 .sty 文件中的照片选项](https://linux22.com/image/368050/LaTeX%20CV%20%E7%9A%84%20.sty%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E7%85%A7%E7%89%87%E9%80%89%E9%A1%B9.png)
我有一个.sty
简历文件,它在开头创建一个框,我可以在里面填写我的姓名(第一列)和我的信息(第二列)。我想在我的信息右侧(作为第三列)添加我的照片( .jpg
/ )。文件的相关行如下所示:.gif
.sty
以下是工作示例:.sty
文件
\usepackage{paralist,datetime}
\usepackage{hyperref,fancyhdr,enumitem,color}
\usepackage[a4paper,text={17.5cm,25.5cm},centering]{geometry}
\usepackage[compact,small,sf,bf]{titlesec}
\usepackage{kpfonts,dsfont}
\sloppy
\pagestyle{fancy}
\lhead{\sf ccc: \@name}
\rhead{\sf\thepage}
\cfoot{}
\def\name#1{\def\@name{#1}}
\def\info#1{\def\@info{#1}}
\newcommand{\shadebox}[3][.9]{\fcolorbox[gray]{0}{#1}{\parbox{#2}{#3}}}
\def\maketitle{
\thispagestyle{plain}
\vspace*{-1.4cm}
\shadebox[0.9]{17.3cm}{\sf\color[rgb]{.6,0,0}
\hbox to 17cm{\begin{tabular}{p{7.4cm}}
\LARGE\textbf{\@name}\\[0.3cm]
\Large\textbf{Curriculum Vitae}\\[0.6cm]
\normalsize\today
\end{tabular}
\hfill\hbox{\fontsize{9}{12}\sf
\begin{tabular}{@{}rp{7.2cm}@{}}
\@info
\end{tabular}}}
}
\vspace*{0.2cm}}
\titlelabel{}
\titlespacing{\section}{0pt}{2ex}{1ex}
\titleformat*{\section}{\color[rgb]{0.6,0,0}\large\sf\bfseries}
\titlespacing{\subsection}{0pt}{1ex}{0.5ex}
\setlength{\parskip}{0ex}
\setlength{\parindent}{0em}
\setlength{\headheight}{15pt}
\setlength{\tabcolsep}{0.15cm}
\clubpenalty = 10000
\widowpenalty = 10000
\setlist{itemsep=1pt}
\setdescription{labelwidth=1.2cm,leftmargin=1.5cm,labelindent=1.5cm,font=\rm}
我的mwe.tex
文件如下所示:
\documentclass[a4paper,11pt]{article}
\usepackage{/Users/sushilchauhan/cv/cv}
\usepackage{setspace}
\usepackage{multicol}
\usepackage{url}
\usepackage{hyperref}
\usepackage{color,soul}
\usepackage{longtable}
\definecolor{lightgray}{gray}{0.85}
\sethlcolor{lightgray}
\def\met{\mbox{${\hbox{$E$\kern-0.45em\lower-.1ex\hbox{\bf{/}}}}_T$}~}
\name{Dr. XYZ}
\info{Address: & XYZ\\
phone: & XYZ}
\begin{document}
\vspace{25pt}
\maketitle
\end{document}
因此我只需提供我的姓名和信息即可:
\name{XYZ}
\info{Address: XYZ}
我想问一下如何才能添加照片以及\name
和\info
。
答案1
我将您的cv.sty
文件复制到您的mwe.tex
文件中,以便只编译一个文件。当然,您可以使用原始文件。请参阅以下 mwe 中用 标记的重要更改代码<===========
。
我添加了定义
\newcommand*{\photo}[2]{\def\@photowidth{#1}\def\@photoname{#2}} % <====
对于新命令\photo
\photo{3cm}{example-image} % <==========================================
使用要使用的宽度和命令的文件名\includegraphics
。
然后您需要minipage
在命令中向表中添加新内容\maketitle
:
\begin{minipage}[c]{\@photowidth} % <=================================
\includegraphics[width=\@photowidth]{\@photoname}% <================
\end{minipage} % <====================================================
具有以下完整 mwe
\documentclass[a4paper,11pt]{article}
% content of cv.sty
\makeatletter % <=======================================================
\usepackage{paralist,datetime}
\usepackage{fancyhdr,enumitem,color}
\usepackage[a4paper,text={17.5cm,25.5cm},centering]{geometry}
\usepackage[compact,small,sf,bf]{titlesec}
\usepackage{kpfonts,dsfont}
\usepackage{graphicx}
\sloppy
\pagestyle{fancy}
\lhead{\sf ccc: \@name}
\rhead{\sf\thepage}
\cfoot{}
\def\name#1{\def\@name{#1}}
\def\info#1{\def\@info{#1}}
\newcommand{\shadebox}[3][.9]{\fcolorbox[gray]{0}{#1}{\parbox{#2}{#3}}}
% Usage: \photo{3cm}{example-image} % width name
\newcommand*{\photo}[2]{\def\@photowidth{#1}\def\@photoname{#2}} % <====
\def\maketitle{
\thispagestyle{plain}
\vspace*{-1.4cm}
\shadebox[0.9]{17.3cm}{\sf\color[rgb]{.6,0,0}
\hbox to 17cm{%
\begin{tabular}{p{5.4cm}}
\LARGE\textbf{\@name}\\[0.3cm]
\Large\textbf{Curriculum Vitae}\\[0.6cm]
\normalsize\today
\end{tabular}
\hfill\hbox{\fontsize{9}{12}\sf
\begin{tabular}{@{}rp{6.2cm}@{}}
\@info
\end{tabular}}\hfill
\begin{minipage}[c]{\@photowidth} % <=================================
\includegraphics[width=\@photowidth]{\@photoname}% <================
\end{minipage} % <====================================================
}
}
\vspace*{0.2cm}}
\titlelabel{}
\titlespacing{\section}{0pt}{2ex}{1ex}
\titleformat*{\section}{\color[rgb]{0.6,0,0}\large\sf\bfseries}
\titlespacing{\subsection}{0pt}{1ex}{0.5ex}
\setlength{\parskip}{0ex}
\setlength{\parindent}{0em}
\setlength{\headheight}{15pt}
\setlength{\tabcolsep}{0.15cm}
\clubpenalty = 10000
\widowpenalty = 10000
\setlist{itemsep=1pt}
\setdescription{labelwidth=1.2cm,leftmargin=1.5cm,labelindent=1.5cm,font=\rm}
\makeatother % <========================================================
\usepackage{setspace}
\usepackage{multicol}
\usepackage{url}
\usepackage{color,soul}
\usepackage{longtable}
\usepackage{hyperref}
\definecolor{lightgray}{gray}{0.85}
\sethlcolor{lightgray}
\def\met{\mbox{${\hbox{$E$\kern-0.45em\lower-.1ex\hbox{\bf{/}}}}_T$}~}
\name{Dr. XYZ}
\info{Address: & XYZ\\
phone: & XYZ}
\photo{3cm}{example-image} % <==========================================
\begin{document}
\vspace{25pt}
\maketitle
\end{document}
你得到了想要的结果:
请查看,\makeatletter
并且仅仅因为您在文件中\makeatother
使用了才需要...@
cv.sty