将计数器打印为枚举

将计数器打印为枚举

我正在使用自定义计数器对一些段落进行编号,但我想将计数器打印为enumerate带有悬挂缩进的段落的一部分(如软件包enumitem提供的那样)。不幸的是,我无法为此使用列表,因为它不适用于我需要使用的另一个软件包。我附上了 enumitem 如何排版编号的屏幕截图(使用 的geometry“showframe”选项)。如何将自定义计数器排版为带有悬挂缩进的列表项(以便在有多个数字时它也具有正确的缩进)?

MWE 使用列表:

%!TEX program = lualatex
\documentclass[12pt,a4paper,twoside]{memoir}

\usepackage{parskip}

\usepackage{enumitem}

\usepackage[margin=2cm, showframe]{geometry}

\newcounter{myname}
\newcommand{\mycommand}{%
    \refstepcounter{myname}%
    \textbf{\themyname.\ }%
}

\begin{document}

    \begin{enumerate}[leftmargin=-\itemindent,ref={\arabic*}]

    \item lipsuLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis feugiat massa. Fusce id est libero. Aliquam fringilla velit eget sollicitudin porta.

    \item Vivamus fringilla aliquam vestibulum. In hac habitasse platea dictumst. Etiam rhoncus convallis laoreet. Cras porta nisi a elit dignissim commodo.

    \item Phasellus massa urna, dictum molestie cursus vel, porttitor quis erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

    \item Donec non dapibus dolor. Ut maximus tincidunt ligula cursus tristique.

    Curabitur consectetur, ex ac tristique ultricies, neque dolor porta metus, sed dapibus purus lacus in lacus. Sed vel libero nulla. Donec non aliquet nibh.

    \item Curabitur laoreet libero lectus, nec finibus est pulvinar et. Phasellus vehicula, nulla eget molestie cursus, sapien nibh ornare mauris, molestie dapibus tellus magna in lectus. Mauris porta a elit id fringilla.

    \item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum varius eros augue, ullamcorper porta tortor aliquet at. Proin sodales commodo molestie. Pellentesque id leo eu magna sollicitudin aliquam nec et orci. Fusce sollicitudin, nulla non sollicitudin tincidunt, nulla lacus consequat quam, a tempor nisi ex ut erat. Maecenas venenatis tincidunt fermentum.

    \item Integer hendrerit felis ullamcorper, dapibus nisl in, lacinia purus. Etiam sollicitudin rutrum mattis.

    \item Fusce sed lacinia ipsum, ut tincidunt neque. Aliquam nunc magna, volutpat vitae velit in, volutpat accumsan odio. Fusce nec quam egestas, feugiat metus ac, vehicula diam.

    \item Curabitur facilisis varius magna, at lobortis eros luctus nec. Vestibulum turpis tellus, egestas vitae tincidunt nec, egestas eu dolor.

    \item Nulla sit amet metus eu mauris dapibus tristique. Duis pretium tempus gravida. Donec imperdiet pulvinar nibh, sit amet volutpat ipsum viverra a.

    Morbi imperdiet, purus euismod molestie dictum, orci lorem dictum justo, nec tincidunt velit purus fringilla sem. Nulla justo diam, porttitor sit amet purus in, dapibus pellentesque dui. Nunc hendrerit, erat ut lacinia viverra, tellus sapien tempus enim, id vulputate dui augue et mauris.

    \item Duis pellentesque dapibus turpis, in tempus lectus fringilla tincidunt. Aliquam erat volutpat. Duis a tempor erat, vel iaculis nunc.

    \item Morbi sollicitudin augue ut nunc blandit, vitae congue diam sagittis.

    \item Sed at dolor feugiat, blandit lorem quis, ullamcorper libero. Phasellus facilisis dolor ut accumsan dictum.

    \end{enumerate}

\end{document}

list as enumitem typesets it

我正在使用自定义计数器对一些段落进行编号,但我想将计数器打印为enumerate带有悬挂缩进的段落的一部分(如软件包enumitem提供的那样)。不幸的是,我无法为此使用列表,因为它不适用于我需要使用的另一个软件包。我附上了 enumitem 如何排版编号的屏幕截图(使用 的geometry“showframe”选项)。如何将自定义计数器排版为带有悬挂缩进的列表项(以便在有多个数字时它也具有正确的缩进)?

MWE 使用列表:

%!TEX program = lualatex
\documentclass[12pt,a4paper,twoside]{memoir}

\usepackage{parskip}

\usepackage{enumitem}

\usepackage[margin=2cm, showframe]{geometry}

\newcounter{myname}
\newcommand{\mycommand}{%
    \refstepcounter{myname}%
    \textbf{\themyname.\ }%
}

\begin{document}

    \begin{enumerate}[leftmargin=-\itemindent,ref={\arabic*}]

    \item lipsuLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis feugiat massa. Fusce id est libero. Aliquam fringilla velit eget sollicitudin porta.

    \item Vivamus fringilla aliquam vestibulum. In hac habitasse platea dictumst. Etiam rhoncus convallis laoreet. Cras porta nisi a elit dignissim commodo.

    \item Phasellus massa urna, dictum molestie cursus vel, porttitor quis erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

    \item Donec non dapibus dolor. Ut maximus tincidunt ligula cursus tristique.

    Curabitur consectetur, ex ac tristique ultricies, neque dolor porta metus, sed dapibus purus lacus in lacus. Sed vel libero nulla. Donec non aliquet nibh.

    \item Curabitur laoreet libero lectus, nec finibus est pulvinar et. Phasellus vehicula, nulla eget molestie cursus, sapien nibh ornare mauris, molestie dapibus tellus magna in lectus. Mauris porta a elit id fringilla.

    \item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum varius eros augue, ullamcorper porta tortor aliquet at. Proin sodales commodo molestie. Pellentesque id leo eu magna sollicitudin aliquam nec et orci. Fusce sollicitudin, nulla non sollicitudin tincidunt, nulla lacus consequat quam, a tempor nisi ex ut erat. Maecenas venenatis tincidunt fermentum.

    \item Integer hendrerit felis ullamcorper, dapibus nisl in, lacinia purus. Etiam sollicitudin rutrum mattis.

    \item Fusce sed lacinia ipsum, ut tincidunt neque. Aliquam nunc magna, volutpat vitae velit in, volutpat accumsan odio. Fusce nec quam egestas, feugiat metus ac, vehicula diam.

    \item Curabitur facilisis varius magna, at lobortis eros luctus nec. Vestibulum turpis tellus, egestas vitae tincidunt nec, egestas eu dolor.

    \item Nulla sit amet metus eu mauris dapibus tristique. Duis pretium tempus gravida. Donec imperdiet pulvinar nibh, sit amet volutpat ipsum viverra a.

    Morbi imperdiet, purus euismod molestie dictum, orci lorem dictum justo, nec tincidunt velit purus fringilla sem. Nulla justo diam, porttitor sit amet purus in, dapibus pellentesque dui. Nunc hendrerit, erat ut lacinia viverra, tellus sapien tempus enim, id vulputate dui augue et mauris.

    \item Duis pellentesque dapibus turpis, in tempus lectus fringilla tincidunt. Aliquam erat volutpat. Duis a tempor erat, vel iaculis nunc.

    \item Morbi sollicitudin augue ut nunc blandit, vitae congue diam sagittis.

    \item Sed at dolor feugiat, blandit lorem quis, ullamcorper libero. Phasellus facilisis dolor ut accumsan dictum.

    \end{enumerate}

\end{document}

list as enumitem typesets it

编辑:另一个包是wrapfig。该问题的解决方案位于是否有可能将 wrapfig 与 enumerate 或 itemize 环境一起使用?,但我没能让它工作。使用计数器代替列表似乎更简洁(因为它涵盖了我的整个文档),而且如果我在文档的后面犯了错误,它会更清楚(我在脚注中使用了另一个列表,但有时由于错误,不同的列表会混在一起)。

问题在于wrapfig它将图像放在文档的绝对末尾而不是它应该在的位置,即使我暂停正在运行的列表并在声明wrapfigure(enumitem:\end{enumerate}\begin{enumerate}[resume*=[name of the list]]

编辑2:正如所问,MWE 显示了 wrapfig 和列表的问题:

%!TEX program = lualatex
\documentclass[12pt,a4paper,twoside]{memoir}

\usepackage{parskip}

\usepackage{enumitem}

\usepackage[margin=2cm, showframe]{geometry}

\newcounter{mycounter}
\newcommand{\mycommand}{%
    \refstepcounter{mycounter}%
    \noindent \textbf{\themycounter.\ }%
}

\usepackage{wrapfig}
\usepackage{graphicx}

\begin{document}

    \begin{enumerate}[leftmargin=-\itemindent,ref={\arabic*},series=numbers]

    \item lipsuLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis feugiat massa. Fusce id est libero. Aliquam fringilla velit eget sollicitudin porta.

    \item Vivamus fringilla aliquam vestibulum. In hac habitasse platea dictumst. Etiam rhoncus convallis laoreet. Cras porta nisi a elit dignissim commodo.

    \item Phasellus massa urna, dictum molestie cursus vel, porttitor quis erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

    \item Donec non dapibus dolor. Ut maximus tincidunt ligula cursus tristique.

    Curabitur consectetur, ex ac tristique ultricies, neque dolor porta metus, sed dapibus purus lacus in lacus. Sed vel libero nulla. Donec non aliquet nibh.

    \item Curabitur laoreet libero lectus, nec finibus est pulvinar et. Phasellus vehicula, nulla eget molestie cursus, sapien nibh ornare mauris, molestie dapibus tellus magna in lectus. Mauris porta a elit id fringilla.

\end{enumerate}

    \begin{wrapfigure}{R}{0.3\textwidth}

        \begin{center}
            \includegraphics[width=5cm]{lion.png}
            % source: http://www.ctan.org/lion/ctan_lion_350x350.png
        \end{center}

        \caption{Caption}

    \end{wrapfigure}

\begin{enumerate}[resume*=numbers]

    \item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum varius eros augue, ullamcorper porta tortor aliquet at. Proin sodales commodo molestie. Pellentesque id leo eu magna sollicitudin aliquam nec et orci. Fusce sollicitudin, nulla non sollicitudin tincidunt, nulla lacus consequat quam, a tempor nisi ex ut erat. Maecenas venenatis tincidunt fermentum.

    \item Integer hendrerit felis ullamcorper, dapibus nisl in, lacinia purus. Etiam sollicitudin rutrum mattis.

    \item Fusce sed lacinia ipsum, ut tincidunt neque. Aliquam nunc magna, volutpat vitae velit in, volutpat accumsan odio. Fusce nec quam egestas, feugiat metus ac, vehicula diam.

    \item Curabitur facilisis varius magna, at lobortis eros luctus nec. Vestibulum turpis tellus, egestas vitae tincidunt nec, egestas eu dolor.

    \item Nulla sit amet metus eu mauris dapibus tristique. Duis pretium tempus gravida. Donec imperdiet pulvinar nibh, sit amet volutpat ipsum viverra a.

    Morbi imperdiet, purus euismod molestie dictum, orci lorem dictum justo, nec tincidunt velit purus fringilla sem. Nulla justo diam, porttitor sit amet purus in, dapibus pellentesque dui. Nunc hendrerit, erat ut lacinia viverra, tellus sapien tempus enim, id vulputate dui augue et mauris.

    \end{enumerate}

\end{document}

答案1

这里有一种方法insbox

\documentclass[12pt,a4paper,twoside]{memoir}

\usepackage{parskip}

\usepackage{enumitem}

\usepackage[margin=2cm, showframe]{geometry}

\newcounter{mycounter}
\newcommand{\mycommand}{%
    \refstepcounter{mycounter}%
    \noindent \textbf{\themycounter.\ }%
}

\usepackage{wrapfig}
\usepackage{insbox, caption, adjustbox}
\usepackage{graphicx}

\begin{document}

    \begin{enumerate}[leftmargin=-\itemindent,ref={\arabic*},series=numbers]

    \item lipsuLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis feugiat massa. Fusce id est libero. Aliquam fringilla velit eget sollicitudin porta.

    \item Vivamus fringilla aliquam vestibulum. In hac habitasse platea dictumst. Etiam rhoncus convallis laoreet. Cras porta nisi a elit dignissim commodo.

    \item Phasellus massa urna, dictum molestie cursus vel, porttitor quis erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

    \item Donec non dapibus dolor. Ut maximus tincidunt ligula cursus tristique.

    Curabitur consectetur, ex ac tristique ultricies, neque dolor porta metus, sed dapibus purus lacus in lacus. Sed vel libero nulla. Donec non aliquet nibh.

    \item Curabitur laoreet libero lectus, nec finibus est pulvinar et. Phasellus vehicula, nulla eget molestie cursus, sapien nibh ornare mauris, molestie dapibus tellus magna in lectus. Mauris porta a elit id fringilla.

\end{enumerate}

            \InsertBoxR{0}{\parbox{5cm}{\includegraphics[ width=5cm]{ctan_lion}
            \captionof{figure}{Caption}}}

\begin{enumerate}[resume*=numbers, rightmargin = 6cm,before = \vspace*{-\dimexpr\baselineskip}]

    \item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum varius eros augue, ullamcorper porta tortor aliquet at. Proin sodales commodo molestie. Pellentesque id leo eu magna sollicitudin aliquam nec et orci. Fusce sollicitudin, nulla non sollicitudin tincidunt, nulla lacus consequat quam, a tempor nisi ex ut erat. Maecenas venenatis tincidunt fermentum.

    \item Integer hendrerit felis ullamcorper, dapibus nisl in, lacinia purus. Etiam sollicitudin rutrum mattis.
    \item Fusce sed lacinia ipsum, ut tincidunt neque. Aliquam nunc magna, volutpat vitae velit in, volutpat accumsan odio. Fusce nec quam egestas, feugiat metus ac, vehicula diam.
    \end{enumerate}


\begin{enumerate}[resume*=numbers]

    \item Curabitur facilisis varius magna, at lobortis eros luctus nec. Vestibulum turpis tellus, egestas vitae tincidunt nec, egestas eu dolor.

    \item Nulla sit amet metus eu mauris dapibus tristique. Duis pretium tempus gravida. Donec imperdiet pulvinar nibh, sit amet volutpat ipsum viverra a.

    Morbi imperdiet, purus euismod molestie dictum, orci lorem dictum justo, nec tincidunt velit purus fringilla sem. Nulla justo diam, porttitor sit amet purus in, dapibus pellentesque dui. Nunc hendrerit, erat ut lacinia viverra, tellus sapien tempus enim, id vulputate dui augue et mauris.

    \end{enumerate}

\end{document} 

enter image description here

答案2

enter image description here

\documentclass[12pt,a4paper,twoside]{memoir}

\usepackage{parskip,xparse}
\usepackage[margin=2cm, showframe]{geometry}

\newcounter{myname}

\NewDocumentEnvironment{MyList}{O{0}}{%
    \setcounter{myname}{#1}
    \begin{list}
        % défini la forme de l'étiquette
        {\stepcounter{myname}\makebox[1.5em][r]{\textbf{\themyname.}}}
        % défini les longueurs
        {\setlength{\labelwidth}{0pt}
         \setlength{\leftmargin}{0pt}
         \setlength{\itemindent}{-1.5em}
         }%
    }
    {\end{list}}

\begin{document}

    \begin{MyList}

    \item lipsuLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis feugiat massa. Fusce id est libero. Aliquam fringilla velit eget sollicitudin porta.

    \item Vivamus fringilla aliquam vestibulum. In hac habitasse platea dictumst. Etiam rhoncus convallis laoreet. Cras porta nisi a elit dignissim commodo.

    \item Phasellus massa urna, dictum molestie cursus vel, porttitor quis erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

    \item Donec non dapibus dolor. Ut maximus tincidunt ligula cursus tristique.

    Curabitur consectetur, ex ac tristique ultricies, neque dolor porta metus, sed dapibus purus lacus in lacus. Sed vel libero nulla. Donec non aliquet nibh.

    \item Curabitur laoreet libero lectus, nec finibus est pulvinar et. Phasellus vehicula, nulla eget molestie cursus, sapien nibh ornare mauris, molestie dapibus tellus magna in lectus. Mauris porta a elit id fringilla.

    \item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum varius eros augue, ullamcorper porta tortor aliquet at. Proin sodales commodo molestie. Pellentesque id leo eu magna sollicitudin aliquam nec et orci. Fusce sollicitudin, nulla non sollicitudin tincidunt, nulla lacus consequat quam, a tempor nisi ex ut erat. Maecenas venenatis tincidunt fermentum.

    \item Integer hendrerit felis ullamcorper, dapibus nisl in, lacinia purus. Etiam sollicitudin rutrum mattis.

    \item Fusce sed lacinia ipsum, ut tincidunt neque. Aliquam nunc magna, volutpat vitae velit in, volutpat accumsan odio. Fusce nec quam egestas, feugiat metus ac, vehicula diam.

    \item Curabitur facilisis varius magna, at lobortis eros luctus nec. Vestibulum turpis tellus, egestas vitae tincidunt nec, egestas eu dolor.

    \item Nulla sit amet metus eu mauris dapibus tristique. Duis pretium tempus gravida. Donec imperdiet pulvinar nibh, sit amet volutpat ipsum viverra a.

    Morbi imperdiet, purus euismod molestie dictum, orci lorem dictum justo, nec tincidunt velit purus fringilla sem. Nulla justo diam, porttitor sit amet purus in, dapibus pellentesque dui. Nunc hendrerit, erat ut lacinia viverra, tellus sapien tempus enim, id vulputate dui augue et mauris.

    \item Duis pellentesque dapibus turpis, in tempus lectus fringilla tincidunt. Aliquam erat volutpat. Duis a tempor erat, vel iaculis nunc.

    \item Morbi sollicitudin augue ut nunc blandit, vitae congue diam sagittis.

    \item Sed at dolor feugiat, blandit lorem quis, ullamcorper libero. Phasellus facilisis dolor ut accumsan dictum.

    \end{MyList}

\end{document}

相关内容