我正在创建一个具有相当标准结构的文档。因此,我创建了两个命令来帮助我格式化它:
\documentclass{article}
\usepackage{xltxtra}
\newcommand{\witem}[2]{{#1 #2}}
\newcommand{\ws}[2]{{#1\textsuperscript{#2}}}
\begin{document}
\setlength{\parindent}{0cm}
\witem{Jan 1}{OHP} \ws{20}{5,5} \ws{26}{5} \ws{32}{5,5,5} \\
\witem{Apr 9}{BP} \ws{20}{5,5} \ws{33}{5} \ws{46}{5,3,3}
\end{document}
是否可以\witem{Jan 1}{OHP}
将输出“Jan 1”“OHP”的函数改为始终将两个块输出为 2cm + 3cm?(我不需要担心换行或类似的事情。
答案1
您可以使用\makebox
:
\newcommand{\witem}[2]{%
\makebox[2cm][l]{#1}%
\makebox[3cm][l]{#2}%
}
完整示例:
\documentclass{article}
\newcommand{\witem}[2]{%
\makebox[2cm][l]{#1}%
\makebox[3cm][l]{#2}%
}
\newcommand{\ws}[2]{{#1\textsuperscript{#2}}}
\begin{document}
\witem{Jan 1}{OHP} \ws{20}{5,5} \ws{26}{5} \ws{32}{5,5,5}
\witem{Apr 9}{BP} \ws{20}{5,5} \ws{33}{5} \ws{46}{5,3,3}
\end{document}
如果您想要在分配的区域中右对齐,则更改为;如果您想要居中,则[l]
省略它。[r]
答案2
例如使用\parbox
具有相关宽度的。
该示例显示了具有两个定义长度的用法,可以轻松更改为命令的任何其他目的\witem
。
其他可能性:使用tabularx
withp
和X
- columntype 方法:
\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularx}
\usepackage{xltxtra}
\newlength\firstboxwidth
\newlength\secondboxwidth
\setlength{\firstboxwidth}{2cm}
\setlength{\secondboxwidth}{3cm}
\newcommand{\witem}[2]{\parbox{\firstboxwidth}{#1}\parbox{\secondboxwidth}{#2}}
\newcommand{\wtabitem}[2]{{#1} & {#2} &}
\newcommand{\ws}[2]{{#1\textsuperscript{#2}}}
\begin{document}
\setlength{\parindent}{0em}
\witem{\rule{\firstboxwidth}{0.5cm}}{\color{red}\rule{\secondboxwidth}{0.5cm}}
\witem{Jan 1}{OHP} \ws{20}{5,5} \ws{26}{5} \ws{32}{5,5,5}
\witem{Apr 9}{BP} \ws{20}{5,5} \ws{33}{5} \ws{46}{5,3,3}
And now the tabularx approach:
\begin{tabularx}{\linewidth}{@{}p{\firstboxwidth}@{}p{\secondboxwidth}@{}XXX}
\wtabitem{Jan 1}{OHP} \ws{20}{5,5} & \ws{26}{5}& \ws{32}{5,5,5} \tabularnewline
\wtabitem{Apr 9}{BP} \ws{20}{5,5} &\ws{33}{5}& \ws{46}{5,3,3} \tabularnewline
\end{tabularx}
\end{document}
答案3
您的请求最直接的实现可能是通过 \makebox1
\documentclass{article}
%\usepackage{xltxtra}
\newcommand{\witem}[2]{{\makebox[2cm][l]{#1}\makebox[3cm][l]{#2}}}
\newcommand{\ws}[2]{{#1\textsuperscript{#2}}}
\begin{document}
\setlength{\parindent}{0cm}
\witem{Jan 1}{OHP} \ws{20}{5,5} \ws{26}{5} \ws{32}{5,5,5} \\
\witem{Apr 9}{BP} \ws{20}{5,5} \ws{33}{5} \ws{46}{5,3,3}
\end{document}