\hfill 宽度不够

\hfill 宽度不够

我正在乳胶中重新制作我的简历,但是我对 \hfill 命令遇到了问题,我使用该命令将文本在同一行上右对齐。

它看起来像这样:(请注意,除最后一行外,年份没有右对齐) 在此处输入图片描述

我能够将范围缩小到%\usepackage[parfill]{parskip}\setlength{\parindent}{0pt}命令。看起来好像缺少 parindent hfill

有什么建议可以修复此问题吗?

下面是一个小脚本,显示了该页面是如何生成的:

\documentclass[12pt,a4paper]{article}

\usepackage[left=2.00cm, right=2.00cm, top=2.00cm, bottom=2.00cm]{geometry}
\usepackage{fontspec}
\setmainfont{Source Sans Pro}
%\usepackage[parfill]{parskip}


\setlength{\parindent}{0pt}


\newcommand{\entry}[3]{
    \textbf{#1}
    
    #2 \hfill \textit{#3}
}

\newcommand{\hr}{
    \vspace{0.7em}\hrule\vspace{.7em}
}

\begin{document}
    
    \entry{Lorem Ipsum \\ Lorem Ipsum}{Lorem Ipsum}{2018 - 2020}
    \hr
    \entry{Lorem Ipsum}{Lorem Ipsum}{seit 2017}
    \hr
    \entry{Lorem Ipsum, Lorem Ipsum}{Lorem Ipsum}{seit 2014}
    \hr
    \entry{Lorem Ipsum, Lorem Ipsum, \\ Lorem Ipsum}{Lorem Ipsum}{seit 2006}
    \hr
    \entry{Lorem Ipsum}{Lorem Ipsum}{seit 2019}
    \hr
    \entry{Lorem Ipsum}{Lorem Ipsum}{2007 - 2014}
    
\end{document}

答案1

根据你的定义,你原则上引入了两个虚假空间

\newcommand{\entry}[3]{     % <-- here
    \textbf{#1}
    
    #2 \hfill \textit{#3}   % <-- here
}

第一个可能不会影响你的使用方式,但请记住这一点。此外,当你使用

\entry{...}{...}{...}

%除非您在行末明确添加空格,否则还会有一个空格。最后一行中的虚假空格已被以下空白行发出的隐式新段落删除,但其他空格仍然存在。

话虽如此,这里有一个建议:

\documentclass[12pt,a4paper]{article}

\makeatletter
\newenvironment{foo}{%
   \setlength{\parindent}{0pt}%
   \def\@tempa{\def\@tempa{\par\vspace{.7em}\hrule\vspace{.7em}}}%
   \newcommand*{\entry}[3]{%
      \@tempa
      \textbf{\ignorespaces##1}\par##2\hfill##3%
   }%
   \par
 }{\par}
\makeatother

\begin{document}

\begin{foo}
\entry{Lorem Ipsum \\ Lorem Ipsum}{Lorem Ipsum}{2018 - 2020}
\entry{Lorem Ipsum}{Lorem Ipsum}{seit 2017}
\entry{Lorem Ipsum, Lorem Ipsum}{Lorem Ipsum}{seit 2014}
\entry{Lorem Ipsum, Lorem Ipsum, \\ Lorem Ipsum}{Lorem Ipsum}{seit 2006}
\entry{Lorem Ipsum}{Lorem Ipsum}{seit 2019}
\entry{Lorem Ipsum}{Lorem Ipsum}{2007 - 2014}
\end{foo}

\end{document}

在此处输入图片描述

我更喜欢定义一个环境,但这是我的编码品味。

相关内容