![新戏剧剧本](https://linux22.com/image/416904/%E6%96%B0%E6%88%8F%E5%89%A7%E5%89%A7%E6%9C%AC.png)
我正在慢慢地找到我想要的脚本模板。但是,以下代码有两个问题我想解决:
- 这些线条从右边的纸张中出来;
- 我想要命令中的文本\做过保持连接,不分成两页。这可能吗?非常感谢!
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcase}
\usepackage{xcolor}
\usepackage[top=15mm, bottom=20mm, left=20mm, right=15mm]{geometry}
\usepackage{nimbusmono}
\renewcommand*\familydefault{\ttdefault}
\newlength{\postspeciskip}
\newlength{\standardindent}
\AtBeginDocument{%
\setlength{\postspeciskip}{1.5\baselineskip}%
\setlength{\standardindent}{0.2\textwidth}%
\setlength{\leftskip}{\standardindent}%
}
\newcommand\sce[2]{%
\setlength{\parskip}{0pt plus \baselineskip}
{\newpage\LARGE\toleft{#1}#2\par}
\nopagebreak
\addvspace{6mm}%
}
\newcommand{\toleft}[1]{\makebox[0pt][r]{\makebox[\standardindent][l]{#1}}}
\newcommand\character[1]{%
\par
\setlength{\parskip}{0.9\baselineskip plus 1pt}%
\toleft{\MakeTextUppercase{#1}}%
}
\newcommand\did[1]{{\raggedright\textcolor{blue}{\textit{#1}}\par}}
\newcommand\g[1]{\textcolor{red}{\textsl{#1}}}
\interlinepenalty = 1000
\setlength\parindent {0pt}
\interlinepenalty = 1000\parskip 0pt plus \baselineskip
\begin{document}
\def\HELLEN{\character{HELLEN}}
\def\MARTIN{\character{MARTIN}}
\def\RICK{\character{RICK}}
\sce{1.1}{The First Scene}
\did{Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.}
\HELLEN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna \g{(sub dialogue)} aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper \g{(sub dialogue)} suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\MARTIN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation\dots \g{(sub dialogue)} ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\RICK \g{(sub dialogue)} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\HELLEN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna \g{(sub dialogue)} aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper \g{(sub dialogue)} suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\MARTIN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation\dots \g{(sub dialogue)} ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\RICK \g{(sub dialogue)} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\RICK Lorem\dots
\did{Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.}
\end{document}
答案1
minipages
很有用。这是您的 MWE 的一个略微修改版本,我在HELLEN 的第一次演讲minipage
中的定义和中使用了。\did
% didprob.tex SE 551856
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcase}
\usepackage{xcolor}
\usepackage[top=15mm, bottom=20mm, left=20mm, right=15mm]{geometry}
\usepackage{nimbusmono}
\renewcommand*\familydefault{\ttdefault}
\newlength{\postspeciskip}
\newlength{\standardindent}
\AtBeginDocument{%
\setlength{\postspeciskip}{1.5\baselineskip}%
\setlength{\standardindent}{0.2\textwidth}%
\setlength{\leftskip}{\standardindent}%
}
\newcommand\sce[2]{%
\setlength{\parskip}{0pt plus \baselineskip}
{\newpage\LARGE\toleft{#1}#2\par}
\nopagebreak
\addvspace{6mm}%
}
\newcommand{\toleft}[1]{\makebox[0pt][r]{\makebox[\standardindent][l]{#1}}}
\newcommand\character[1]{%
\par
\setlength{\parskip}{0.9\baselineskip plus 1pt}%
\toleft{\MakeTextUppercase{#1}}%
}
\newcommand\did[1]{{\raggedright\textcolor{blue}{\textit{#1}}\par}}
\renewcommand\did[1]{{\begin{minipage}[t]{0.85\textwidth}\raggedright\textcolor{blue}{\textit{#1}}\par\end{minipage}}}
\newcommand\g[1]{\textcolor{red}{\textsl{#1}}}
\interlinepenalty = 1000
\setlength\parindent {0pt}
\interlinepenalty = 1000\parskip 0pt plus \baselineskip
\begin{document}
\def\HELLEN{\character{HELLEN}}
\def\MARTIN{\character{MARTIN}}
\def\RICK{\character{RICK}}
\sce{1.1}{The First Scene}
\did{Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.}
\HELLEN \begin{minipage}[t]{0.85\textwidth}Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna \g{(sub dialogue)} aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper \g{(sub dialogue)} suscipit lobortis nisl ut aliquip ex ea commodo consequat. \end{minipage}
\MARTIN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation\dots \g{(sub dialogue)} ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\RICK \g{(sub dialogue)} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\HELLEN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna \g{(sub dialogue)} aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper \g{(sub dialogue)} suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\MARTIN Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation\dots \g{(sub dialogue)} ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\RICK \g{(sub dialogue)} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
\RICK Lorem\dots
\did{Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.}
\end{document}
我不清楚你如何设置文本的间距,所以你可能需要改变文本的minipage
宽度