Flushright 和空白

Flushright 和空白

我在一个项目中使用 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}

在此处输入图片描述

相关内容