longtable mit Zeilennummern für Videotranskript Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


lukasen
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Fr 11. Dez 2015, 19:20

longtable mit Zeilennummern für Videotranskript

Beitrag von lukasen »

Hallo,

ich versuche gerade eine Videotranskript in LateX zu erstellen. Das Transkript besteht im Prinzip aus 3 Spalten:
1. Spalte Zeit im Video MM:SS
2. Spalte Sprecher
3. Text

Alle Spalten sollen in Monospace gesetzt sein und bei dem Text kommen auch zusätzlich unterstrichene und italic Phrasen vor. Ich wollte das Ganze mit einer longtable realisieren, da das Transkript über mehrere Seiten geht.

Mein Problem ist, dass ich zum Referenzieren jede Zeile (des Textes) numerieren möchte. Mit der Option \internallinenumbers (Idee von hier: https://tex.stackexchange.com/questions/394472/showing-line-numbers-for-text-in-tables) bezieht sich die Numerierung aber nur auf die erste Spalte. Wie kann ich jede Zeile nummerieren? Oder gibt es sogar eine günstigere Lösung für das Problem. Ich hatte überlegt ob lstlisting vlt. besser geeignet wäre.
Screenshot from 2022-12-16 22-13-48.png
\documentclass[paper=a4]{scrartcl}
\usepackage{txfonts}
\usepackage{array}
\usepackage{longtable}
\usepackage{lineno}

\begin{document}
\begin{longtable}{>{\raggedright\internallinenumbers\ttfamily}p{0.05\textwidth}%
>{\ttfamily}p{0.1\textwidth}%
>{\ttfamily}p{0.75\textwidth}}
0:00\par & Bob: & Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\\
0:12\par & Allice: & Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\
\end{longtable}
\end{document}
Viele Grüße

gast.

Re: longtable mit Zeilennummern für Videotranskript

Beitrag von gast. »

Das schreit eigentlich nach einer Liste oder nicht? Auf der anderen Seite ist mir aber auch nicht klar, was dein Problem bei der Nummerierung ist. Die Tabellenzeilen werden doch einwandfrei nummeriert.

gast.

Re: longtable mit Zeilennummern für Videotranskript

Beitrag von gast. »

Ach, ich glaube, jetzt habe ich dein Problem verstanden. Du möchtest nicht Tabellenzeilen, sondern Textzeilen nummerieren. Wie gesagt, das schreit nach einer Liste. Man kann dafür beispielsweise labeling verwenden. Die Umgebung ist in den KOMA-Script-Anleitungen und im KOMA-Script-Buch dokumentiert. Am besten definiert man sich darauf basierend direkt eine neue Umgebung:
\documentclass[paper=a4]{scrartcl}
\usepackage{txfonts}
\usepackage{array}
\usepackage{longtable}
\usepackage{lineno}
\newcommand*{\timeplusname}[2]{%
  \makebox[2.2em][r]{#1}\enskip#2:%
}
\newcommand*{\ditem}[2]{\item[\timeplusname{#1}{#2}]}
\newenvironment{trans}[1]{%
  \par
  \setkomafont{labelinglabel}{\ttfamily}%
  \ttfamily\linenumbers
  \labeling{\timeplusname{00:00}{#1}}%
}{%
  \endlabeling
}
\begin{document}
\begin{trans}{Allice}
\ditem{0:00}{Bob} Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
\ditem{0:12}{Allice} Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{trans}
\end{document}

gast.

Re: longtable mit Zeilennummern für Videotranskript

Beitrag von gast. »

Oder noch besser:
\documentclass[paper=a4]{scrartcl}
\usepackage{txfonts}
\usepackage{ragged2e}
\usepackage{lineno}
%\usepackage{showframe}
\newcommand*{\timeplusname}[2]{%
  \makebox[2.2em][r]{#1}\enskip#2:%
}
\newcommand*{\ditem}[2]{\item[\timeplusname{#1}{#2}]}
\newenvironment{trans}[1]{%
  \par
  \RaggedRight
  \setkomafont{labelinglabel}{\ttfamily}%
  \ttfamily\linenumbers
  \labeling{\timeplusname{00:00}{#1}}%
}{%
  \endlabeling
}
\begin{document}
\begin{trans}{Allice}
\ditem{0:00}{Bob} Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
\ditem{0:12}{Allice} Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{trans}
\end{document}
Dann hat man keine Probleme mit overfull \hboxes.

lukasen
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Fr 11. Dez 2015, 19:20

Re: longtable mit Zeilennummern für Videotranskript

Beitrag von lukasen »

Super. Vielen Dank. Ja Liste hatte ich gar nicht auf dem Schirm für den Zweck. Und der Trick mit der Box, um Zeit und Name in das Label des items zu bekommen, ist super.

Antworten