我在一个项目中使用 minipage 和 flushleft/right 来实现一个项目,该项目具有一些左对齐文本和与之关联的右对齐日期。但是,右对齐是有问题的。第一个问题是行后的空白,但如果我使用,%
那么我可以删除它,尽管如果我不必到处乱扔 ,那就太好了%
。第二个问题是最后一个元素进一步右对齐。此外,如果我\break
在任何项目后使用,它将完全右对齐(但显然有一个不需要的新行)。我发现删除命令\vspace
会导致正确的右对齐,但我想减少垂直空间。
\newcommand{\resitemwithdate}[2]{
\vspace{-3pt}
\item {
\begin{minipage}[t]{.80\linewidth}
\flushleft #1
\end{minipage}
\hfill
\begin{minipage}[t]{.15\linewidth}
\flushright #2%
\end{minipage}%
}%
}
\begin{itemize}
\resitemwithdate{A}{B}
\resitemwithdate{A}{B}%
\resitemwithdate{A}{B}\break
\resitemwithdate{A}{B}
\end{itemize}
答案1
\flushright
等引入额外的垂直空白,使得\vspace
“必要”成为\raggedright
可能,我建议等等。
\item
没有强制性论点!
此外,我推荐enumitem
用于精细控制列表中垂直间距的包itemize
。
\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe}% Remove this later on
\newcommand{\resitemwithdate}[2]{%
\item
\begin{minipage}[t]{.80\linewidth}
\raggedright #1%
\end{minipage}
\hfill
\begin{minipage}[t]{.15\linewidth}
\raggedleft #2%
\end{minipage}
}
\begin{document}
\begin{itemize}[itemsep=0pt]
\resitemwithdate{A}{B}
\resitemwithdate{A}{B}
\resitemwithdate{A}{B}
\end{itemize}
\end{document}
答案2
现在来点完全不同的东西!
我使用该listliketab
包来模拟使用itemize
而定制的环境enumitem
,并使用该date-time2
包在环境中格式化日期tabularx
:
\documentclass[british]{article}%
\usepackage{enumitem, tabularx, listliketab}
\usepackage{babel} %
\usepackage[british]{datetime2, }%
\usepackage{datetime2-calc, fmtcount}%
\DTMlangsetup[en-GB]{abbr, ord=raise}
\usepackage{lipsum}%
\usepackage{showframe}% Remove this later on
\newlist{myitemize}{itemize}{1}
\setlist[myitemize]{wide=0pt, label=\textbullet, leftmargin=*}
\newcommand{\resitemwithdate}[2]{%
\item
\begin{minipage}[t]{.80\linewidth}
\raggedright #1%
\end{minipage}
\hfill
\begin{minipage}[t]{.15\linewidth}
\raggedleft #2%
\end{minipage}
}
\let\tabitem=\textbullet
\begin{document}
\storestyleof{myitemize}
\begin{listliketab}
\begin{tabularx}{\linewidth}{@{}L >{\hsize=1.6\hsize}X >{\hsize=0.42\hsize\raggedleft\arraybackslash}X@{}}
\tabitem & \lipsum[11] & \Today \\
\tabitem & \lipsum[3] & \Today%
\end{tabularx}
\end{listliketab}
\end{document}
答案3
作为练习:
\documentclass{article}
\newcommand{\resitemwithdate}[2]
{
\setlength\itemsep{0pt}%
\item \begin{minipage}[t]{.80\linewidth}\raggedright
#1
\end{minipage}
\hfill
\begin{minipage}[t]{.15\linewidth}\raggedleft
#2
\end{minipage}%
}
\usepackage{showframe} % remove in real document
\renewcommand*\ShowFrameColor{\color{red}} % remove in real document
\begin{document}
\begin{itemize}
\resitemwithdate{A}{B}
\resitemwithdate{A}{B}
\resitemwithdate{A}{B}\break
\resitemwithdate{A}{B}
\end{itemize}
\end{document}