将 itemize 移动到页面的右边距

将 itemize 移动到页面的右边距

我正在寻找这种期望的效果(规则是显示页面的边距): 在此处输入图片描述

如图所示,我希望将 itemize 环境移动到页面的右边距(与\raggedleft或完全一样\hfill)。

我对图片使用的代码是:

\documentclass{article}
\usepackage[a4paper, portrait, margin=0.5in]{geometry}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\usepackage[T1]{fontenc}
\usepackage[usestackEOL]{stackengine}
\usepackage{tikz}
\usepackage{enumitem}

\thispagestyle{empty}
\renewcommand{\familydefault}{\sfdefault}

\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000

\begin{document}
\hrule
\medskip

\begin{itemize}[leftmargin=150mm, noitemsep, nolistsep]
    \item Text Here
    \item[] More Text Here
    \item[] This is the Longest Text
\end{itemize}
\end{document}

问题是,如果最长的文本变长或变短,列表将不再在右边距结束。

任何帮助都值得感激,谢谢!

答案1

您可以实现这一点,但需要限制列表环境。为此,varwidth提供一个类似名称的环境,它将把它的宽度缩小到内容的自然宽度,直到达到最大值。

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem,varwidth}

\begin{document}

\hrule
\medskip

\begin{itemize}[nosep]
  \item Text Here
  \item[] More Text Here
  \item[] This is the Longest Text
\end{itemize}

\bigskip

\hrule
\medskip

\mbox{}\hfill
\begin{varwidth}{\linewidth}
  \begin{itemize}[nosep]
    \item Text Here
    \item[] More Text Here
    \item[] This is the Longest Text
  \end{itemize}
\end{varwidth}

\end{document}

答案2

列表环境不适合执行此操作,但 tabular环境可以轻松模仿列表,并且可以轻松地与\hfill(MWE 中的第一个列表)右对齐。

您不需要在左列的每个单元格中输入每个项目符号,只需在表格标题(第二个列表)中输入一次

使用tabulary可以为列表设置宽度的最大值(而不是最小值,如使用列一样p{5cm}),因此只有短项目的列将尽可能窄,而包含一些长项目的列将自动换行以不超过限制。使用tabulary对齐和连字符的项目也很容易,或者使文本右侧参差不齐(更适合窄列表),以及悬挂缩进项目符号(如在itemize列表中)或将项目符号与文本对齐以获得一些空间(比较列表中的最后一个项目第 3 和第 4 个)。

姆韦

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tabulary,array}
\usepackage{lipsum}
\renewcommand{\familydefault}{\sfdefault}
\begin{document}

\hfill\begin{tabular}{ll@{}}
     \textbullet & Little \\
                 & Text  \\
      \textbullet  & Here end.\\ 
\end{tabular}

\bigskip\hfill\begin{tabular}{>{\textbullet\quad}l@{}}
    Text Here  \\
    More Text Here \\
    This is the Longest Text\\ 
\end{tabular}

\bigskip\hfill\begin{tabulary}{.35\linewidth}{@{}>{\textbullet\quad}J@{}}
    Text Here  \\
    More Text Here \\
  This is the longest \lipsum[1][1] \\ 
\end{tabulary}


\bigskip\hfill\begin{tabulary}{.35\linewidth}{@{\textbullet\quad}L@{}}
  Text Here  \\
  More Text Here \\
  This is the longest \lipsum[1][1] \\ 
\end{tabulary}
\end{document}

相关内容