我正在开发一个制作会议记录的课程。我希望我的页面在左栏包含发言人的姓名,在右栏包含发言人的实际演讲。发言人的姓名和演讲应该顶部对齐。
目标是获得一个类,如果演讲者的名字在左列的一行中放不下,则应该在下一行继续。如果演讲稿在当前页面上完全放不下,则应该在下一页继续。并且演讲者名字的第一行和演讲稿的第一行应该垂直对齐
如果首先有这个,但是这会中断页面分隔符和太长的演讲,无法放在一页上
\newcommand{\opmerking}[2]{
\begin{minipage}[t]{\leftcolumnwidth}
#1 % name of speaker
\end{minipage}%
\hspace{\columngapwidth}%
\begin{minipage}[t]{\rightcolumnwidth}
#2 % speech
\end{minipage}\medskip
}
然后我尝试了这个,但是由于名称在左列中一行也放不下,所以这个操作会中断:
\newcommand{\opmerking}[2]{
\parbox[\leftcolumnwidth][t]{#1}
\begin{adjustwidth}{\leftcolumnwidth+\columngapwidth}{}
\vspace*{-\baselineskip}% Align name of speaker and environment
#2
\end{adjustwidth}\medskip
}
最后我尝试使用 tcolorbox 包,这似乎有效。但是我无法垂直对齐标题和框,而对齐演讲者的名字和演讲。
谁知道如何使用 LaTeX 实现这一点?
图片澄清:
答案1
一个解决方案可能是使用帕拉科尔包。下面的 MWE 并不是很详细,只是为了演示一般的想法。
\documentclass{article}
\usepackage{paracol}
\usepackage{lipsum}
\newcommand{\speech}[2]{\switchcolumn[0]*{\noindent\raggedright #1}\switchcolumn[1]#2}
\columnratio{0.2}
\begin{document}
\begin{paracol}{2}
\speech{First speaker}{\lipsum[1]}
\speech{Second\\speaker}{\lipsum[2]\par\lipsum[3]}
\end{paracol}
\end{document}
它给出了以下结果。