자체 정의 환경 내의 열거

Nov 14 2020

처음과 끝에 기호가있는 내 자체 정의 환경은 열거없이 텍스트에 대해 잘 작동합니다. 열거를 포함하면 원하는 곳에 기호가 없습니다. "1"바로 앞에 첫 번째 기호가있을 수 있습니까? 즉, 열거의 마지막 줄과 같은 줄과 같은 줄의 끝 기호에 있습니까? 로 \ignorespacesafterend\unskip나는 성공하지 못했습니다.

\documentclass{article}
\usepackage{amssymb}
\newenvironment{myenv}{$\blacktriangleright$}{\hfill$\blacktriangleleft$}

\begin{document}
There is a text.

\begin{myenv}
And an example
\end{myenv}

Here is another text.

\begin{myenv}
\begin{enumerate}
\item A
\item B
\end{enumerate}
\end{myenv}

\end{document}

답변

2 Vincent Nov 14 2020 at 23:29

enumerate환경 내부에 myenv환경 을 중첩하는 대신를 사용하여 새 목록 환경을 정의 할 수 있습니다 enumitem. 여기서 검은 색 삼각형이 시작과 끝에 자동으로 배치됩니다.

\documentclass{article}
\usepackage{amssymb}
\newenvironment{myenv}{$\blacktriangleright$}{\hfill$\blacktriangleleft$}
\usepackage{enumitem}
\newlist{myenumerate}{enumerate}{1}
\newcommand*{\placebtr}{%
    \item[]
        \hspace*{-\labelsep}%
        \hspace*{-\labelwidth}%
        $\blacktriangleright$%
    \vspace*{-\baselineskip}%
    \vspace*{-\itemsep}%
    \vspace*{-\parsep}%
}
\setlist[myenumerate]{
    label=\arabic*.,
    first=\placebtr,
    after=\hfill$\blacktriangleleft$
}
\setlength{\parindent}{0pt}

\begin{document}
There is a text.

\begin{myenv}
And an example
\end{myenv}

Here is another text.

\begin{myenumerate}
\item A
\item B
\end{myenumerate}

\end{document}