排版广播脚本

排版广播脚本

我想要排版一个广播脚本,看起来像这个例子

基本上,一列包含角色名称,另一列包含文本。

由于我也将此脚本用于非母语人士,因此我想实现第三列,以便对词汇进行注释。第三列应占页面总宽度的大约 20%-25%。

我想象它看起来是这样的: Example of radio script text

实现此目的最有效的方法是什么?

如果您能提供解决方案的 MWE,那就太好了。

答案1

如果您实际上不希望注释出现在页边距中,而是希望注释出现在文本块的范围内,您可以按照以下方式进行伪装。(如果您确实希望注释出现在页边距中,那么这样做就更容易了。)

\documentclass{article}
\usepackage[
  showframe,% just for visualization purposes
]{geometry}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xparse}
\usepackage{changepage}% for: {adjustwidth}
\usepackage{ragged2e}%   for: better line-breaking in narrow text blocks
\usepackage{enumitem}
\setlist[description]{
  font={\sffamily\bfseries},
  labelsep=0pt,
  labelwidth=\transcriptlen,
  leftmargin=\transcriptlen,
}

% Lengths:
\newlength{\transcriptlen}
\newlength{\glosswidth}

% How much space for the glosses?
\setlength{\glosswidth}{3cm}

\newenvironment{radio}%
{\begin{adjustwidth}{}{\glosswidth}
 \begin{description}}%
{\end{description}
 \end{adjustwidth}}


\NewDocumentCommand {\setspeaker} { mo } {%
  \IfNoValueTF{#2}
  {\expandafter\newcommand\csname#1\endcsname{\item[#1:]}}%
  {\expandafter\newcommand\csname#1\endcsname{\item[#2:]}}%
  \IfNoValueTF{#2}
  {\settowidth{\transcriptlen}{#1}}%
  {\settowidth{\transcriptlen}{#2}}%
}


% Easiest to put the longest name last...
\setspeaker{mike}[MIKE]
\setspeaker{thresa}[THRESA]
\setspeaker{andrew}[ANDREW]

% How much of a gap between speakers and text?
\addtolength{\transcriptlen}{1em}%


% glossing command
\newcommand{\gloss}[2]{%
  \glmaintext{#1}%
  \glmark
  \marginpar{\hspace*{-\glosswidth}%
    \RaggedRight\glmargintext{#2}}}
\newcommand*{\glmark}{}
\newcommand*{\glmaintext}[1]{\emph{#1}}
\newcommand*{\glmargintext}{\footnotesize\sffamily\itshape}

\begin{document}
\noindent
I wan't to typeset a radio script, which will look like this example.

Basically, a column with the name of the role and another column with
the text.

Because I'm using this script for non-native speakers also, I'd like
to implement a third column where annotations for vocabulary can be
made. The third column should be roughly 20\%--25\% of the total width
of the page.

This is how I would imagine it to look like:

\begin{radio}

  \mike Hello, how are you \gloss{doing}{to do: etwas Machen}, I'm
  wondering whether any of the issues with other answers will still
  \gloss{apply}{to apply: anwenden}.

  \andrew This is just one line.

  \thresa This is a multiple line text without annotations on the
  right side.

  \andrew This is just one line.

  \thresa This is a multiple line text without annotations on the
  right side.


  \thresa This is a multiple line text without annotations on the
  right side.

  \andrew This is just one line.
\end{radio}
%
Because I'm using this script for non-native speakers also, I'd like
to implement a third column where annotations for vocabulary can be
made. The third column should be roughly 20\%--25\% of the total width
of the page.

\end{document}

由于您的问题没有 MWE,我不得不做出一些假设(例如\documentclass)....

radio.png

相关内容