我想要排版一个广播脚本,看起来像这个例子。
基本上,一列包含角色名称,另一列包含文本。
由于我也将此脚本用于非母语人士,因此我想实现第三列,以便对词汇进行注释。第三列应占页面总宽度的大约 20%-25%。
实现此目的最有效的方法是什么?
如果您能提供解决方案的 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
)....