[Tex/LaTex] How to provide a transcript of a conversation

packages

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.

Best Answer

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