我正在乳胶中重新制作我的简历,但是我对 \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}
我更喜欢定义一个环境,但这是我的编码品味。