使用表格环境的自定义命令中的换行符

使用表格环境的自定义命令中的换行符

我正在使用在这里找到的简历模板 -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 变体。rtabularxX

请注意,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}

相关内容