5

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: Example of radio script text

What is the most efficient way to do this?

It would be great if you could provide a MWE of your solution.

Narusan
  • 403
  • Maybe a starting point to look further: https://tex.stackexchange.com/questions/44956/best-packages-for-writing-a-script-for-a-comedy-sketch https://tex.stackexchange.com/questions/3399/what-are-good-packages-for-laying-out-a-play – samcarter_is_at_topanswers.xyz May 09 '17 at 20:12
  • 2
    http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/help/Catalogue/bytopic.html#literature – samcarter_is_at_topanswers.xyz May 09 '17 at 20:14
  • 1
    My approach would probably be to use one of the existing packages to set plays (why reinvent the wheel?), use a pagelayout with a wide margin and then put the annotation in margin notes. – samcarter_is_at_topanswers.xyz May 09 '17 at 20:20
  • 1
    Perhaps this answer (of mine) could be adapted to this: https://tex.stackexchange.com/a/357587. What isn't clear is how you want to implement the 'third' column. What happens, e.g., when there is no third column? What happens when there is a third column, but the 'second' column is longer than one line? (Though marginal notes is definitely one solution to this problem!) – jon May 09 '17 at 20:20
  • You want the line? Doesn't seem typographically sound (to me).... – jon May 09 '17 at 20:37
  • @jon Yes, I want the line for readability so that it's clear what belongs to the original script (not written, just typesetted by me) and what's my annotation. But if you feel like there is a better way with achieving the same effect, go ahead and try, I'm open towards anything. – Narusan May 09 '17 at 20:41

1 Answers1

2

If you don't actually want the glosses to appear in the margin, but rather within the bounds of the textblock, you can fake it in the following way. (If you do want them in the margins, it is even easier to do it.)

\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}

Since your question does not have an MWE, I have had to make a number of assumptions (such as \documentclass)....

radio.png

jon
  • 22,325