删除第一个项目前的换行符

删除第一个项目前的换行符

我有一个列表,我希望第一个项目符号与前面的文本在同一行开始。我当前的示例如下。在图像中,我标记了我希望项目符号所在的位置:

\documentclass{article}
\usepackage{lipsum}
\setlength{\parindent}{0pt}
\begin{document}
    \textbf{Heading}
    \begin{itemize}
        \item \lipsum[1][2]
        \item \lipsum[1][3]
        \item \lipsum[1][4]
        \item \lipsum[1][5]
    \end{itemize}
\end{document}

在此处输入图片描述

这个问题与如何在与文本相同的行上开始逐项列举?但这些解决方案都不适用于我,因为它们要么需要创建一个新的缩进小页面全部项目符号,而不仅仅是第一个,或者它们对前面的文本进行硬编码,这对我来说不起作用。

无论如何,由于每个\item似乎都会自动放在换行符上,所以我认为这就像在列表开头添加“撤消”换行符的命令一样简单,例如

\usepackage[inline]{enumitem}
\setlist[itemize]{before=\nolinebreak}

我重复了此操作,before=\unskip但都没有效果。

有没有简单的命令可以before=防止出现第一个换行?如果没有,为什么这么复杂?

答案1

尝试trivlist模拟类似定理的环境以列表开始的情况:

\documentclass{article}
\usepackage{lipsum}
\setlength{\parindent}{0pt}

\begin{document}
    \trivlist\item[\textbf{Heading}\hskip-\labelsep]
    \begin{itemize}
        \item \lipsum[1][2]
        \item \lipsum[1][3]
        \item \lipsum[1][4]
        \item \lipsum[1][5]
    \end{itemize}
    \endtrivlist
\end{document}

在此处输入图片描述

答案2

快速而肮脏:

\documentclass{article}
\usepackage{lipsum}
\usepackage{enumitem}

\setlength{\parindent}{0pt}
\begin{document}
    \textbf{Heading}
\vspace{-5ex}

\begin{itemize}[leftmargin=2.5cm]
        \item \lipsum[1][2]
        \item \lipsum[1][3]
        \item \lipsum[1][4]
        \item \lipsum[1][5]
    \end{itemize}
\end{document}

第二次尝试,仅缩进第一项:

\documentclass{article}
\usepackage{lipsum}
\usepackage{enumitem}

\setlength{\parindent}{0pt}
\begin{document}
    \textbf{Heading}
\vspace{-5ex}

\begin{itemize}
 {\setlength\itemindent{1.25cm} \item \lipsum[1][2]}
        \item \lipsum[1][3]
        \item \lipsum[1][4]
        \item \lipsum[1][5]
    \end{itemize}
\end{document}

在此处输入图片描述

第三次尝试,自动测量偏移:

\documentclass{article}
\usepackage{lipsum}
\usepackage{enumitem}

\setlength{\parindent}{0pt}
\begin{document}
\newlength{\foobar}

\def\myheading{My longer Heading}

    \settowidth{\foobar}{\textbf{\myheading}}
    {\textbf{\myheading}}

\vspace{-5ex}

\begin{itemize}
 {\setlength\itemindent{\foobar} \item \lipsum[1][3]}
        \item \lipsum[1][2]
        \item \lipsum[1][4]
        \item \lipsum[1][5]
    \end{itemize}
\end{document}

相关内容