我正在使用在这里找到的简历模板 -http://www.davidgrant.ca/latex_resume_template
有一个基于表格环境的自定义命令,位于下面的 MWE 中。我希望能够在第一个参数中开始一个新行,但我不确定如何做到这一点(目前 \newline 不执行任何操作,而 \ 或 \* 只会中断编译)
梅威瑟:
\documentclass[letterpaper,11pt]{article}
\newcommand{\ressubheading}[4]{
\begin{tabular*}{6.5in}{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{#3} & \textit{#4} \\
\end{tabular*}\vspace{-6pt}}
\begin{document}
\ressubheading{A very long piece of text that I wish to break\newline over two lines goes here}{Some other reasonably long piece of text}{Less tex t}{Less text}
\end{document}
答案1
类似这样。此处,l
列说明符被重新定义为L
具有/left 对齐p(0.5\textwidth)
的段落样式raggedright
。按照同样的想法,可以将r
列说明符更改为R
具有raggedleft
/right 对齐的段落样式。
代码
\documentclass[letterpaper,11pt]{article}
\usepackage[margin=10pt,paper size={20cm,5cm}]{geometry}
\usepackage{array}
\renewcommand*{\arraystretch}{1.5}
\newcolumntype{L}{>{\raggedright\arraybackslash}p{0.5\textwidth}}
\newcommand{\ressubheading}[4]{
\begin{tabular*}{6.5in}{L@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{#3} & \textit{#4} \\
\end{tabular*}\vspace{-6pt}}
\begin{document}
\ressubheading{A very long piece of text that I wish to break\newline over two lines goes here}{Some other reasonably long piece of text}{Less tex t}{Less text}
\end{document}
答案2
在 的定义中\ressubheading
,您可能希望将tabular*
环境和列类型替换为环境l
和列类型的 raggedright 和 raggedleft 变体。r
tabularx
X
请注意,X
-type 列默认都是等宽的;如果您想改变这一点,比如让左侧列比右侧列稍宽,请查看包用户指南中的说明tabularx
。
因为看起来你想让桌子占据全屏宽度文本块,我有两个额外的建议。首先,不要使用固定的宽度 -- 例如6.5in
--tabular[x*]
环境的宽度。相反,将环境的宽度设置为\textwidth
;这样,其宽度将由 LaTeX 自动确定。(如果\textwidth
不等于6.5in
...,这尤其有用)其次,\noindent
在 -- 之前使用\begin{tabular[x*]}
,特别是如果\parindent
文档中的 不为零。
\documentclass[letterpaper,11pt]{article}
\usepackage[margin=1in]{geometry} % choose page margins here
\usepackage{tabularx,ragged2e}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\newcolumntype{R}{>{\RaggedLeft\arraybackslash}X}
\newcommand{\ressubheading}[4]{%
\noindent
\begin{tabularx}{\textwidth}{@{}LR@{}}
\textbf{#1} & #2 \\
\textit{#3} & \textit{#4} \\
\end{tabularx}%% \vspace{-6pt} % is \vspace macro needed?
}
\usepackage{lipsum} % for filler text
\begin{document}
\ressubheading{A very long piece of text that I wish to break over two lines goes here}%
{Some other reasonably long piece of text}{Less text}{Less text}
\medskip
\lipsum[1] % filler text
\end{document}