排版小说对话,其中一个说话者有多个段落

排版小说对话,其中一个说话者有多个段落

我正在排版一本小说,其中许多角色都有 2 段以上不间断的对话。

例子:

“Lorem ipsum dolor sit amet...tik。

“Nullam orci dolor,porttitor a…朱洛?

“Nulla nibh nisl,fermentum id orci pulvinar,cursus varius eros。”

到目前为止,我一直将这段文字排版如下:

``Lorem ipsum dolor sit amet\dots tik.

``Nullam orci dolor, porttitor a\dots \emph{julo?}

``Nulla nibh nisl, fermentum id orci pulvinar, cursus varius eros.''

但我想知道是否可以使用 csquote 包或类似包来设置上述格式,例如:

\begin{SPEACH}
Lorem ipsum dolor sit amet\dots tik. \par
Nullam orci dolor, porttitor a\dots \emph{julo?} \par
Nulla nibh nisl, fermentum id orci pulvinar, cursus varius eros.
\end{SPEACH}

我问这个问题的主要原因是因为我使用 Sublime Text 2 排版小说,以 开头``但不结束的段落''会弄乱语法突出显示。

答案1

此解决方案只是用 声明一个引用样式csquotes,然后创建\speech{}使用该样式的命令。组是限制样式效果所必需的everypareverypar样式基于 中的架构csquotes.cfg

\documentclass{article}
\usepackage{csquotes}
\DeclareQuoteStyle{everypar}% based on csquotes.cfg
  {\textquotedblleft}
  [\textquotedblleft]
  {\textquotedblright}
  {\textquoteleft}
  [\textquoteleft]
  {\textquoteright}
\newcommand\speech[1]{%
  \begingroup\setquotestyle{everypar}%
  \enquote{#1}\endgroup}

\begin{document}

\speech{%
  Lorem ipsum dolor sit amet\dots tik. \par
  Nullam orci dolor, porttitor a\dots \emph{julo?} \par
  Nulla nibh nisl, fermentum id orci pulvinar, cursus varius eros.%
}

\end{document}

演讲

答案2

通过这个答案,我将左边的引号重叠到段落的开头,但\def\andIquote{``}如果您想要传统的引号设置,您可以重新定义。

同样,我没有留出额外的垂直空间,但可以添加,例如,\medskip在环境定义的开始和结束处添加。

\documentclass{article}
\usepackage{lipsum}
\def\andIquote{\makebox[0pt][r]{``}}
\let\svpar\par
\newenvironment{speech}
{\def\par{\svpar\andIquote}\andIquote\ignorespaces}{\unskip''\svpar}
\begin{document}
\lipsum[1]
\begin{speech}
Lorem ipsum dolor sit amet\dots tik. \par
Nullam orci dolor, porttitor a\dots \emph{julo?} \par
Nulla nibh nisl, fermentum id orci pulvinar, cursus varius eros. 
\end{speech}
\lipsum[2]
\end{document}

在此处输入图片描述

相关内容