我正在使用以下模板来制作文档。我遇到的唯一问题是数字“1900”的最后一位数字与文件右侧单词“apples”中的“s”不对齐(请参阅底部的屏幕截图)。似乎“1900”需要在右侧多留一个空格才能与单词“Apples”完全对齐。我不知道该怎么做。
\documentclass[9pt]{article}
\usepackage{fullpage}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[usenames]{color}
\leftmargin=0.25in
\oddsidemargin=0.25in
\textwidth=6.0in
\topmargin=-0.25in
\textheight=9.25in
\raggedright
\pagenumbering{gobble}
\def\bull{\vrule height 0.8ex width .7ex depth -.1ex }
% DEFINITIONS
\newenvironment{changemargin}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}{\end{list}
}
\newcommand{\lineover}{
\begin{changemargin}{-0.05in}{-0.05in}
\vspace*{-8pt}
\hrulefill \\
\vspace*{-2pt}
\end{changemargin}
}
\newcommand{\header}[1]{
\begin{changemargin}{-0.5in}{-0.5in}
\scshape{#1}\\
\lineover
\end{changemargin}
}
\newcommand{\contact}[4]{
\begin{changemargin}{-0.5in}{-0.5in}
\begin{center}
{\Large \scshape {#1}}\\ \smallskip
{#2}\\ \smallskip
{#3}\\ \smallskip
{#4}\smallskip
\end{center}
\end{changemargin}
}
% END DEFINITIONS
\begin{document}
\header{I Eat Apples}
\begin{body}
\vspace{14pt}
\textbf{One Apple} \hfill {Jan 1900}
\vspace*{-4pt}
\begin{itemize} \itemsep -0pt % reduce space between items
\item Two Apples \hfill{Apples}
\end{itemize}
\end{body}
\end{document}
答案1
问题在于行尾有一个多余的空格,即“Jan 1900”这一行。下一行\vspace*{-4pt}
也属于以 结尾的段落\begin{itemize}
。因此有二段落末尾的行尾空格。但是 TeX 只会用内部空格移除一个空格\unskip
,并用 替换\parfillskip
。因此本段末尾的结果是:
(Jan 1900)<space><\parfillskip (0pt plus 1fil)>
通过在 之前插入一个空行可以解决这个问题\vspace
。这样段落就已经结束了,并且\vspace
在垂直模式下调用,而不受行尾的影响。
或者至少其中一行结尾被注释,如示例文件所示:
\documentclass{article}
\begin{document}
\textbf{One Apple} \hfill {Jan 1900}%
\vspace*{-4pt}
\begin{itemize} \itemsep -0pt % reduce space between items
\item Two Apples \hfill{Apples}
\end{itemize}
\end{document}