Res 文档类中的水平制表符对齐

Res 文档类中的水平制表符对齐

考虑一下代码

\documentclass{res} 
\setlength{\textheight}{9.5in} % increase text height to fit on 1-page
\newlength{\imagewidth}\setlength{\imagewidth}{4em}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{zref-savepos}

\makeatletter
\@ifundefined{zsaveposx}{\let\zsaveposx\zsavepos}{}
\makeatother
\newcounter{hposcnt}
\renewcommand*{\thehposcnt}{hpos\number\value{hposcnt}}
\makeatletter
\newcommand{\schoolimage}[2][]{%
  \stepcounter{hposcnt}%
  \zsaveposx{\thehposcnt u}%
  \zref@refused{\thehposcnt u}%
  \llap{% Left margin (overlap)
    \raisebox{\dimexpr-\height+\baselineskip}[0pt][0pt]{% Remove vertical height + reposition
      \includegraphics[width=\imagewidth,#1]{#2}% Insert logo
    }%
    \hspace*{-\dimexpr\zposx{\thehposcnt u}sp-\zposx{hpos0s}sp-\sectionwidth}%
  }%
}
\makeatother
\AtBeginDocument{\noindent\leavevmode\zsaveposx{hpos0s}}%

\begin{document} 
\begin{resume}
\section{PROFESSIONAL EXPERIENCE}
   \vspace{-0.04in}  
   \begin{tabbing}
   \hspace{2.3in}\= \hspace{2.7in}\= \kill % set up of the two tab positions
   \schoolimage{example-image-a}{\bfseries Job Title} \>Employer   \> 2018--2020\\
                             \>Baltimore, MD
   \end{tabbing}\vspace{-20pt} 
   \lipsum[12]
\end{resume}
\end{document}

输出

在此处输入图片描述

日期范围 2018-2020 的定位由 确定\hspace{2.7in}。因此,确定右对齐此特定日期范围所需的水平空间量相对容易。

但是,不同条目的格式很容易有所不同;例如,2021 年至今、2021 年等。

因此,在这种情况下,没有一种方法\hskip可以适用于所有情况。

我们可以通过使用一定次数来手动强制将 2018-2020 移到右侧~,我发现次数可能会因条目而异。

我尝试使用\hfillhfil;例如,

\schoolimage{example-image-a}{\bfseries Job Title} \>Employer \hfill \> 2018--2020\\

但这不起作用。

问题:是否有一种自动正确调整日期范围的方法,例如\hfill在其他环境中可以做到的,这样就不必继续进行繁琐的手动调整~~~~~

谢谢。

答案1

这似乎只是一个关于制表符的问题,与res类无关(由于其限制性许可证,texlive 中不存在类)

\`命令将单元格内容刷新到右侧,比较以下两个制表符示例

在此处输入图片描述

\documentclass{article}

\begin{document}

\noindent X\dotfill X

  \begin{tabbing}
   \hspace{1.3in}\= \hspace{1.7in}\= \kill % set up of the two tab positions
   {\bfseries Job Title} \>Employer   \> 2018--2020\\
                             \>Baltimore, MD
   \end{tabbing}

\noindent X\dotfill X

  \begin{tabbing}
   \hspace{1.3in}\= \hspace{1.7in}\= \kill % set up of the two tab positions
   {\bfseries Job Title} \>Employer   \` 2018--2020\\
                             \>Baltimore, MD
   \end{tabbing}
\end{document}

答案2

使用表格环境排列和对齐数据非常容易。在本例中,tabular*宽度为\textwidth.

图像排版在tabular*

A

\documentclass{res} 

\setlength{\textheight}{9.5in} % increase text height to fit on 1-page
\newlength{\imagewidth}\setlength{\imagewidth}{4em}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{zref-savepos}

\usepackage{tabularx}

\makeatletter
\@ifundefined{zsaveposx}{\let\zsaveposx\zsavepos}{}
\makeatother
\newcounter{hposcnt}
\renewcommand*{\thehposcnt}{hpos\number\value{hposcnt}}


\makeatletter
\newcommand{\schoolimage}[2][]{%
    \stepcounter{hposcnt}%
    \zsaveposx{\thehposcnt u}%
    \zref@refused{\thehposcnt u}%
    \llap{% Left margin (overlap)
        \raisebox{\dimexpr-\height-\baselineskip}[0pt][0pt]{% Remove vertical height + CHANGED <<<<<<<<<<<<<<<<<<<<
            \includegraphics[width=\imagewidth,#1]{#2}% Insert logo
        }%
        \hspace*{-\dimexpr\zposx{\thehposcnt u}sp-\zposx{hpos0s}sp-\sectionwidth}%
    }%
}
\makeatother
\AtBeginDocument{\noindent\leavevmode\zsaveposx{hpos0s}}%

\begin{document} 
\begin{resume}
    \section{PROFESSIONAL EXPERIENCE}
    
    \schoolimage{example-image-a}   
    \begin{tabular*}{\textwidth}{@{}l @{\extracolsep{\fill}}c r@{}}
        {\bfseries Job Title}   &Employer       & \\
            Assistant           & Baltimore, MD &2018--2020 \\
    \end{tabular*}
    
    \schoolimage{example-image-b}   
    \begin{tabular*}{\textwidth}{@{}l @{\extracolsep{\fill}}cr @{}}
        {\bfseries Job Title}   &Employer           & \\
                Manager         & New Horizon, MD   & 2020--Present\\
    \end{tabular*}
    
    \lipsum[12]
\end{resume}
\end{document}

相关内容