我正在使用res9b模板,我正在尝试弄清楚如何添加另一行地址。我尝试使用“\\”,但输出是逗号分隔的列表,而不是换行符。
答案1
将地址内容放入 中\parbox{<width>}{<content>}
是一种快速破解方法。类似下面的方法可能会有所帮助:
\address{\parbox{0.4\linewidth}{%
1985 Storm Lane, Troy, NY 12180\\ %
1985 Storm Lane, Troy, NY 12180}
}
答案2
在line
课程选项下res
,\\
被重新定义为,
。这可以在查看 的定义时看到\@linename
,用于在选项下打印简历标题line
:
\def\@linename{\begingroup
\def\\{, }
{\namefont\@name}
\vskip 2pt
\fullline
\vskip 2pt
% where do you live?
\@ifundefined{@addressone}{%
% do nothing
}{%
\leavevmode\hbox to \textwidth
{\hfill\vbox{\hbox{\@addressone}
\hbox{\@addresstwo}
}%
}\par
}
\endgroup}
还请注意,\@addressone
(您使用 存储的第一个地址\address
)设置在一个框中,该框不会\\
按您认为的方式进行解析。我们需要做更多的工作来恢复tabular
-like 定义。
实际的“标题打印宏”\print@name
是在将文档加载到时设置的\@linename
,因此任何更改都应在上执行\print@name
。您可以\print@name
使用以下方法进行修补etoolbox
或直接使用重新定义)并删除此重新定义的范围。使用etoolbox
,将以下内容添加到您的序言中:
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\print@name}{\endgroup}{\relax}{}{} % Remove scope
\patchcmd{\print@name}{\@ifundefined}{\endgroup\@ifundefined}{}{}% Insert end-of-scope earlier
\patchcmd{\print@name}{\@addressone}{\@tablebox{\@addressone}}{}{}% Insert \@addressone in tabular (box)
\makeatother