如何在与文本相同的行上开始逐项列举?

如何在与文本相同的行上开始逐项列举?

我创建了一个名为“示例”的新环境,如下所示:

\newenvironment{example}
    {\textbf{Example:} \begin{itemize}}
    {\end{itemize}}

环境运行良好,但项目在例子:文本。是否可以从与例子:文本并将其余项目与第一个项目垂直对齐?

答案1

你可以这样做,但我不建议这样做。看看结果,自己判断。

\documentclass{article}
\usepackage{enumitem}
\usepackage{lipsum} % just for the example

\newlength{\jeroenlen}
\newenvironment{example}
 {\settowidth{\jeroenlen}{\textbf{Example:}}%
  \begin{description}[leftmargin=\jeroenlen,labelwidth=0pt,labelsep=0pt]
  \item[\textbf{Example:}]%
  \begin{itemize}[leftmargin=1.5em,labelsep=.5em]}
 {\end{itemize}\end{description}}

\begin{document}
\lipsum[2]
\begin{example}
\item Such and such
\item So and so
\item Enough
\end{example}
\lipsum[3]
\end{document}

封闭description环境对于避免“示例:”之后的换行是必要的。

在此处输入图片描述

答案2

\documentclass{article}

\newenvironment{example}
    {\textbf{Example:}\begin{minipage}[t]{0.8\linewidth}\begin{itemize}}
    {\end{itemize}\end{minipage}}

\begin{document}

\begin{example}
  \item These are first examples.
  \item Second examples.
  \item And more.
\end{example}

\end{document}

在此处输入图片描述

答案3

使用 enumitem,您还可以获得略有不同的布局,其中第一个项目(示例 •)的标签相对于以下项目的项目符号居中,在我看来这看起来更好。结果如下:

在此处输入图片描述

\documentclass[11pt, a4paper]{article}  
\usepackage[utf8]{inputenc}  
\usepackage[T1]{fontenc}  
\usepackage{enumitem}  
\usepackage{lmodern}  
\pagestyle{empty}  
\parindent = 0pt  

\makeatletter%  
\newenvironment{examples}{%  
\newsavebox{\Exbox}\newlength{\len}%  
\sbox{\Exbox}{\textbf{Examples}\enspace\textbullet}\settowidth{\len}{\usebox{\Exbox}}%  
\let\olditem\item  
\def\item{\if@newlist\olditem\hspace{0.5\len}\else\olditem\fi}  
\setlist{before=\renewcommand{\labelitemi}{\if@newlist\makebox[0pt]{\usebox{\Exbox}}\else\textbullet\fi}}  
\begin{itemize}[labelwidth =0.5\len,itemindent=!,leftmargin=!]}%  
{\end{itemize}}  
\makeatother%  

\begin{document}
 Let’s try  this:   
\begin{examples}%   
\item very first element of the list,    
\item second element,  
\item third element.  
\end{examples}  
\end{document}  

相关内容