27

I'm looking for a package to help with the layout of an interview transcript are there any good packages to do such a task. If possible could you provide a minimum working example?

Perhaps something that aligns the names to the text, and uses a columnar layout for the people vs what they said.

27

I think you really just need the description environment, which you can easily tweak to your liking. What about:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{xparse}
\usepackage{enumitem}
\setlist[description]{
  font={\sffamily\bfseries},
  labelsep=0pt,
  labelwidth=\transcriptlen,
  leftmargin=\transcriptlen,
}

\newlength{\transcriptlen}

\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{Bob}
\setspeaker{Billy}[Billy Bob]
\setspeaker{xxx}[Xavier Xanadu III]

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

\begin{document}
\begin{description}

  \Bob I'm looking for a package to help with the layout of an
  interview transcript are there any good packages to do such a
  task. If possible could you provide a minimum working example?

  \Billy I'm looking for a package to help with the layout of an
  interview transcript are there any good packages to do such a
  task. If possible could you provide a minimum working example?

  \xxx Perhaps something that aligns the names to the text, and uses a
  columnar layout for the people vs what they said.

\end{description}
\end{document}

example-image

  • Hi, great answer! Can I set the speaker from a command like \newcommand\myself{myname} \setspeaker{\myself}? I get an error Missing \endcsname inserted. – Ben Oct 5 '17 at 19:30
  • The \setspeaker command is mostly just a way to create commands of the form \<name> that expand to \item[<Name>:], so defining a command that would be used in a command-defining command seems odd. Why not simply do \newcommand\myself{\item[myname:]}? Or, if you want to have your name string separate: \newcommand\myself{myname} and then \newcommand\me{\item[\myself:]}; then you can use the command \myself elsewhere. – jon Oct 6 '17 at 4:44
21

Package dramatist is intended to write plays, but I guess an interview is a mini-play too.

\documentclass{minimal}
\usepackage{dramatist}
\begin{document}
\begin{drama}
  \Character{John Dow}{dow}
  \Character{Jane Roe}{roe}

  \dowspeaks: I am John Dow.  

  \roespeaks: I am Jane Roe.  \direct{\roe{} leaves}
\end{drama}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.