극작가의 시 연설 접두사는 어떻게 연설과 같은 줄에 놓일 수 있습니까?

극작가의 시 연설 접두사는 어떻게 연설과 같은 줄에 놓일 수 있습니까?

verse환경을 활용하여dramatist패키지에서는 산문 환경을 위한 것이므로 음성 접두어를 음성과 같은 줄에 두고 싶습니다.

서식을 사용자 정의하기 위한 여러 가지 후크가 있지만 이 작업을 수행하는 데 어떻게 사용할 수 있는지 알 수 없습니다.

이는 다음과 관련이 있습니다.이 질문, 하지만 산문과 운문을 섞으려는 것이 아니기 때문에 더 간단한 해결책이 있기를 바랍니다. 저는 장편 극을 조판하고 있어서 모든 연설을 그 환경에 맞춰 포장해야 한다는 것이 매우 불편할 것입니다.

답변1

접두사가 조판되는 방식은 내부 명령에 의해 제어됩니다. \@character기본적으로 환경이 사용되는 경우 자체 줄에 설정되고 drama*별표가 없는 버전의 환경이 사용되는 경우 줄에 설정됩니다. 원래 정의는 다음과 같습니다.

\def\@character#1#2{%
    \@namedef{#2}{{\namefont #1}\xspace}
    \n@me@ppend@nddef{#2}{\@ppendname}{%
        \if@drverse
            {\speakstab\speaksfont{#1}\speaksdel\par\nobreak\addvspace{-\parskip}}
        \else
            \item[#1\speaksdel]
        \fi}
}

두 환경 모두 동일한 방식으로 접두사를 처리하도록 하려면 조건부 분기를 생략할 수 있습니다.

\documentclass{memoir}    
\usepackage{dramatist}

\makeatletter
\def\@character#1#2{%
    \@namedef{#2}{{\namefont #1}\xspace}
    \n@me@ppend@nddef{#2}{\@ppendname}{%
            \item[#1\speaksdel]
}
}
\makeatother

\begin{document}

\Character[Poe Prose]{POE}{poe}
\Character[Frost Verse]{FROST}{frost}

\begin{drama*}
\frostspeaks Some say the world will end in fire; \\
Some say in ice. \\ 
From what I've tasted of desire \\
I hold with those who favor fire. \\ 
But if it had to perish twice, \\
I think I know enough of hate \\ 
To know that for destruction ice \\ 
Is also great  \\
And would suffice.
\end{drama*}

\begin{drama}
\poespeaks For the most wild, yet most homely narrative which I am about to pen, I neither expect nor solicit belief. Mad indeed would I be to expect it, in a case where my very senses reject their own evidence.
\end{drama}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보