我正在创建一组以日期开头、后面跟着描述的列表。鉴于日期的水平长度不同,我想插入一个命令,在日期后创建统一的水平空间,以便所有描述完美对齐。例如,使用以下代码:
\documentclass[10pt, letter]{article}
\usepackage{setspace}
\usepackage[margin=1.250in]{geometry}
\singlespacing
\usepackage{fancyhdr}
\fancyhf{}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
\newenvironment{list2}{
\begin{list}{$\bullet$}{%
\setlength{\itemsep}{0in}
\setlength{\parsep}{0in} \setlength{\parskip}{0in}
\setlength{\topsep}{0in} \setlength{\partopsep}{0in}
\setlength{\leftmargin}{0.35in}}}{\end{list}}
\begin{document}
Example Paper Title
\begin{list2}
\item[] June 2014: Stanford University
\item[] Dec 2013: Conference
\end{list2}
\end{document}
我希望“斯坦福大学”和“会议”在同一垂直边距上对齐。我有很多列表,每个列表的水平日期长度都不同,因此,如果能有一个\hspace
可以应用于整个列表以将所有描述生成到同一边距的版本,那就太好了。谢谢。
答案1
您可以使用enumitem
:
\documentclass{article}
\usepackage{enumitem}
\newlist{list2}{itemize}{1}
\setlist[list2]{
nosep,
before={\let\makelabel=\mymakelabel},
leftmargin=*,
labelwidth=6em,
label={\hspace{6em}},
}
\newcommand{\mymakelabel}[1]{\textbullet\ #1:\hfill}
\begin{document}
\noindent Example Paper Title
\begin{list2}
\item[June 2014] Stanford University
\item[Dec 2013] Conference
\end{list2}
\end{document}
答案2
一个稍微简单一点的方法来做到这一点,也使用enumitem
。
要缩进列表,请提供长度labelindent
,例如labelindent=1em
。
\documentclass{article}
\usepackage{enumitem}
\newlist{mybullet}{description}{1}
\SetLabelAlign{myleft}{$\bullet$\ #1\hfil}
\setlist[mybullet]{align=myleft,labelwidth=1in,font=\normalfont,nosep}
\begin{document}
\noindent
Some text
\begin{mybullet}
\item[Sept 2004]{Something}
\item[May 1990]{Something}
\item[June 1215]{Magna Carta}
\end{mybullet}
\end{document}
答案3
您可以创建自己的环境datelist
,其中日期以冒号分隔\item
。
\def\dateliststart{\def\item##1:{\par
\noindent\hbox to2em{\hss$\bullet$\hss}\hbox to6em{##1:\hss}%
\hangindent=2em \ignorespaces}}
\newenvironment{datelist}{\bgroup\dateliststart}{\par\egroup}
\begin{datelist}
\item June 2014: Stanford University
\item Dec 2013: Conference
\end{datelist}