我在 MS Word 中创建了以下示例,但无法在 Overleaf(在线 LaTeX 编辑器)中重新创建它:
下面是我最接近创建我需要的代码:
\documentclass{book}
\usepackage{lipsum}
\begin{document}
Text before quotations. \lipsum[3]
\begin{quote}
\begin{center}
\begin{tabular}{lc|c}
\multicolumn{1}{c}{Quotation 1} && \multicolumn{1}{c}{Quotation 2} \\
\hline
Multi-line text for column 1 & Multi-line text for column 2 that'd go outside of the page.
\end{tabular}
\end{center}
\end{quote}
Text after quotations. \lipsum[4]
\end{document}
但它并不正确:列不居中,行不在中心分割列,文本不在两列之间划分,当前行空间用尽时文本不会放在新行上,并且文本在粘贴到多行上后可能不会对齐。参见下图:
我也不确定我使用的工具是否合适。你能帮我吗?
答案1
像这样:
代码:
\documentclass{book}
\usepackage{tabularray,showframe}
\begin{document}
Text before quotations.
\begin{quote}
\begin{center}
\begin{tblr}{colspec={Q[.48\linewidth,l]Q[.48\linewidth,l]},hlines,vlines}
Quotation 1&Quotation 2 \\
\hline
Multi-line text for column 1 & Multi-line text for column 2 that'd go outside of the page.
\end{tblr}
\end{center}
\end{quote}
Text after quotations.
\end{document}
编辑:为了回答您的评论,请将表格的第一行更改为以下方式:
\begin{tblr}{colspec={Q[.45\linewidth]|Q[.45\linewidth]},hlines}
输出变成:
还改变 0.45% 以适应您的需要。
答案2
这是一个简单的解决方案,它采用双列tabularx
环境,将总宽度设置为1\linewidth
,嵌入到quote
环境中。每个单元格内的文本排版为右侧不规则,标题单元格中的文本位于其各自列的中央,并以斜体排版。
\documentclass{book}
\usepackage{lipsum} % filler text
\usepackage{tabularx,ragged2e} % <-- new
\newcolumntype{L}{>{\RaggedRight}X} % <-- new
\begin{document}
\lipsum[3]
\begin{quote}
\setlength\extrarowheight{2pt}
\begin{tabularx}{1\linewidth}{L|L}
\multicolumn{1}{c|}{\itshape Quotation 1} &
\multicolumn{1}{c }{\itshape Quotation 2} \\
\hline
Multi-line text for column 1. Multi-line text for column 1. &
Multi-line text for column 2 that'd go outside of the page. Multi-line text for column 2 that'd go outside of the page.
\end{tabularx}
\end{quote}
\lipsum[4]
\end{document}