我一直在写论文,但有一个问题我似乎无法弄清楚为什么会发生这种情况:
以下是我论文样式表中的一段代码。这定义了我的签名页的第一个读取器和第二个读取器。我还附上了问题 PDF 的输出快照。有人能告诉我为什么会发生这种情况吗?
% Signature page
\def\signaturepage{%
\newpage
\thispagestyle{empty} % KS 2009
\begin{center}
\Large\uppercase\expandafter{\@title}
\end{center}
\vspace{.4in}
\centerline{\shortstack[c]{\vrule width 2in height 0.4pt\\
\@author}}
\vfill
% \vspace{0.15in}
% \hspace{0in} \rm APPROVED:
\leftline{ Approved:} % KS 2009
\vspace{0.15in}
\rightline{\shortstack[l]{\vrule width 3in height 0.4pt\\ \@adviser}}
% \vspace{0.15in}
\vfill
\leftline{Committee Members:} % KS 2009
% \vspace{0.375in}
\vspace{0.15in}
\rightline{\shortstack[l]{\vrule width 3in height 0.4pt\\ \@firstreader}}
% \vspace{.375in}
\vfill
\rightline{\shortstack[l]{\vrule width 3in height 0.4pt\\ \@secondreader}}
% \vspace{.375in}
\vfill
这是我编译上述代码时得到的结果。
答案1
固定3in
规则宽度很好,但也是这里的问题。也许你可以\rightline
通过使用固定宽度的框(类似tabular
)来调整你的用法。这样,签名行下面的内容将根据需要换行。我已将其定义\signatureline
为宽度.6\linewidth
,根据需要将其内容向右推齐:
\documentclass{article}
\newcommand{\signatureline}[1]{%
\begin{tabular}{@{}p{.6\linewidth}@{}}
\hline \\[-.5\normalbaselineskip] #1
\end{tabular}
}
\begin{document}
\noindent Approved:\par%
\vspace{0.15in}
\null \hfill \signatureline{Advisor\\A.\ B.\ Coverage\\Dept.\ of Electrical and Computer Engineering}
\vfill
\noindent Committee Members:\par%
\vspace{0.15in}
\noindent \hfill \signatureline{First Reader\\Dept.\ of Electrical and Computer Engineering}
\vfill
\noindent \hfill \signatureline{Second Reader\\Dept.\ of Physics}
\vfill
\end{document}
我保持其他间距不变,但我也会对它们进行调整。
答案2
宏\rightline
会将其内容推到页面的右侧。因此,你的问题不是第二个读者的行移得太远了正确的,但你的第一的读者和委员会主席被推左边有点,因为他们的部门隶属关系行长度超过 3 英寸。您可以修改模板,以便\vrule width 3in
用足够宽的 替换\vrule
(通过反复试验确定),或者您可以在隶属关系文本中插入手动换行符,例如Dept. of Electrical and\\Computer Engineering
。或者使用缩写,我想,这取决于是否合适。
答案3
在LaTeX 社区此问题已在本主题中得到解决:\vrule 错位。
公认的解决方案包含两种方法:
递归修补
\signaturepage
到所需深度以获得更广泛的规则:\usepackage{etoolbox} \newcommand*{\patch}[1]{% \patchcmd{\signaturepage}{\vrule width 3in}{\vrule width 3.5in}{#1}{}} \patch{\patch{\patch{}}}
缩短条目或为较宽的文本引入换行符,例如
\firstreader{E. Joe Charlson, Professor\\ Dept. of Electrical and\\ Computer Engineering}