仅基于部分文本的中心线

仅基于部分文本的中心线

我正在使用我找到的简历模板。它看起来是这样的

标题

我想以不同的方式将文本的底行居中。目前,它基于整行文本居中,但我希望电子邮件地址在姓名和地址下方居中排列。

这是生成文档的示例。

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\pagestyle{empty}
\raggedright


\newcommand{\lineunder}{\vspace*{-8pt} \\ \hspace*{-18pt} \hrulefill \\}
\newcommand{\contact}[3]{
\vspace*{-8pt}
\begin{center}
{\LARGE \scshape {#1}}\\
    #2 \lineunder 
    #3
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}
{ Address, City, State Zip}
{(123) 456-7890 \qquad {[email protected]}
\qquad http://www.webaddress.html
}
\end{document}

答案1

\parboxes您可以使用盒子。使用其中每个盒子的宽度等于三分之一的变体\textwidth

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\pagestyle{empty}
\raggedright


\newcommand{\lineunder}{\vspace*{-8pt}\par\hspace*{-18pt}\hrulefill\par}
\newcommand{\contact}[3]{%
\vspace*{-8pt}
\begin{center}
{\LARGE\scshape #1}\\
    #2 \lineunder 
    #3
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}{Address, City, State Zip}
{\parbox[t]{.3333\textwidth}{(123) 456-7890\hfill}%
\parbox[t]{.3333\textwidth}{\hfil\texttt{[email protected]}\hfil}%
\parbox[t]{.3333\textwidth}{\hfill\url{http://www.webaddress.html}}%
}
\end{document}

我不清楚规则的悬挂缩进是否应该是现在的样子。

在此处输入图片描述

\makebox现在使用和的变体\llap\rlap将电子邮件居中并保持\qquad分离:

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}

\pagestyle{empty}
\raggedright


\newcommand{\lineunder}{\vspace*{-8pt}\par\hspace*{-18pt}\hrulefill\par}
\newcommand{\contact}[5]{%
\vspace*{-8pt}
\begin{center}
{\LARGE\scshape #1}\\
    #2 \lineunder 
\makebox[\textwidth][c]{%
\llap{#3\qquad}\texttt{#4}\rlap{\qquad\url{#5}}}
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}{Address, City, State Zip}{(123) 456-7890}{[email protected]}{http://www.webaddress.html}
\end{document}

在此处输入图片描述

答案2

将电子邮件地址置于邮政地址下方的变体,并\qquad与电话号码和主页分开。

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\pagestyle{empty}
\raggedright

\newcommand{\lineunder}{\vspace*{-8pt} \\ \hspace*{-18pt} \hrulefill \\}
\newcommand{\contact}[5]{
\vspace*{-8pt}
\begin{center}
{\LARGE \scshape {#1}}\\
    #2 \lineunder
  \sbox0{#4}%
  \centerline{%
    \hbox to .5\dimexpr\hsize-\wd0{\hfill#3\qquad}%
    \usebox0 %
    \hbox to .5\dimexpr\hsize-\wd0{\qquad#5\hfill}%
  }%
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}
  {Address, City, State Zip}
  {(123) 456-7890}
  {[email protected]}
  {http://www.webaddress.html}
\end{document}

结果

重写为“纯 LaTeX”:

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\pagestyle{empty}
\raggedright

\newlength{\emailwidth}
\newlength{\partialwidth}

\newcommand{\lineunder}{\vspace*{-8pt} \\ \hspace*{-18pt} \hrulefill \\}
\newcommand{\contact}[5]{
\vspace*{-8pt}
\begin{center}
{\LARGE \scshape {#1}}\\
    #2 \lineunder
  \settowidth{\emailwidth}{#4}%
  \setlength{\partialwidth}{\linewidth}%
  \addtolength{\partialwidth}{-\emailwidth}%
  \setlength{\partialwidth}{.5\partialwidth}%
  \parbox{\linewidth}{%
    \mbox{%
      \parbox{\partialwidth}{\hspace{\fill}\mbox{#3\qquad}}%
      #4%
      \parbox{\partialwidth}{\mbox{\qquad#5}}%
    }%
  }%
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}
  {Address, City, State Zip}
  {(123) 456-7890}
  {[email protected]}
  {http://www.webaddress.html}
\end{document}

下一个变体可能更容易理解:

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\pagestyle{empty}
\raggedright

\newcommand{\lineunder}{\vspace*{-8pt} \\ \hspace*{-18pt} \hrulefill \\}
\newcommand{\contact}[5]{
\vspace*{-8pt}
\begin{center}
{\LARGE \scshape {#1}}\\
    #2 \lineunder
   \makebox[0pt][r]{#3\qquad}#4\makebox[0pt][l]{\qquad#5}%
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}
  {Address, City, State Zip}
  {(123) 456-7890}
  {[email protected]}
  {http://www.webaddress.html}
\end{document}

但是,这个解决方案的缺点是,如果电话号码或主页太长,无法正确放入行中,TeX 不会发出警告。因此,第一个解决方案稍微复杂一些,因为它们还定义了电话号码和主页允许的空间。

答案3

这是另一种方法,其中命令\contact需要 5 个参数

\documentclass[11pt,letterpaper]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{calc}
\pagestyle{empty}
\raggedright


\newcommand{\lineunder}{\vspace*{-8pt}\par\hspace*{-18pt}\hrulefill\par}
\newcommand{\contact}[5]{%
\vspace*{-8pt}
\begin{center}
{\LARGE\scshape #1}\\
    #2 \lineunder 
    \newlength{\emailaddress}  
    \settowidth{\emailaddress}{\texttt{#4}}%
    \makebox[.5\textwidth-.5\emailaddress][r]{#3\qquad}%
    \makebox[\emailaddress][c]{\texttt{#4}}%
    \makebox[.5\textwidth-.5\emailaddress][l]{\qquad \url{#5}}%    
\end{center}
\vspace*{-8pt}
}

\begin{document}

\contact{First M. Last}
  {Address, City, State Zip}
  {(123) 456-7890}
  {[email protected]}%
  {http://www.webaddress.html}%

\end{document}

在此处输入图片描述

相关内容