如何在表格环境中结束行以使其保持在自己的行列中?我做了一个即兴创作,但我希望它能够自动化。
\documentclass[12pt,a4paper,titlepage]{report}
\usepackage{xeCJK}
\setCJKmainfont{NotoSerifHK-Regular}
\usepackage{fontspec}
\usepackage[vietnamese]{babel}
\setmainfont{NotoSerif-Regular}
\usepackage[margin=1in]{geometry}
\usepackage{titletoc}
\usepackage{indentfirst}
\begin{document}
\begin{tabbing}
\hspace{3em}\= {\large 三}\quad\= \emph{tam} \quad\= (nét trên chỉ Trời, nét dưới chỉ Đất, vậy Trời, Đất với Người \\* {\hspace{8.3em}cộng lại là ba}) \\[3pt]
\> {\large 人} \> \emph{nhân} \> (vẽ hình người đi) \\[3pt]
\> {\large 日} \> \emph{nhật} \> (vẽ hình mặt trời tròn)
\end{tabbing}
\end{document}
答案1
我会用tabularx
环境中的环境,如果你愿意的话,quote
也许可以调整一下定义:\arraystretch
\documentclass[12pt,a4paper,titlepage]{report}
\usepackage{xeCJK}
\setCJKmainfont{Noto Serif CJK HK}
\usepackage{fontspec}
\usepackage[vietnamese]{babel}
\setmainfont{Noto Serif}
\usepackage[margin=1in]{geometry}
\usepackage{tabularx}
% I adjust \arraystretch to increase row spacing in tables a little.
\renewcommand*{\arraystretch}{1.4}
\usepackage{lipsum}
\begin{document}
\lipsum[4]
% Use a quote environment to provide left and right indent and some
% vertical spacing
\begin{quote}
% insert a table which has a width of \linewidth
% The column specification is {>{\large}l>{\em}lX}
% The first column (l) is left alighned and \large is inserted at
% the beginning of each cell.
% The second column (l) is left aligned and \em is inserted at the
% beginning of each cell
% The third column (X) takes up the remaining horizontal space and
% is justified
\begin{tabularx}{\linewidth}{>{\large}l>{\em}lX}
三 & tam & (nét trên chỉ Trời, nét dưới chỉ Đất, vậy Trời, Đất với Người
cộng lại là ba) \\
人 & nhân & (vẽ hình người đi) \\
日 & nhật & (vẽ hình mặt trời tròn) \\
\end{tabularx}
\end{quote}
\lipsum[4]
\section*{Your \texttt{tabbing} environment for comparison}
\lipsum[4]
\begin{tabbing}
\hspace{3em}\= {\large 三}\quad\= \emph{tam} \quad\= (nét trên chỉ Trời, nét dưới chỉ Đất, vậy Trời, Đất với Người \\* {\hspace{8.3em}cộng lại là ba}) \\[3pt]
\> {\large 人} \> \emph{nhân} \> (vẽ hình người đi) \\[3pt]
\> {\large 日} \> \emph{nhật} \> (vẽ hình mặt trời tròn)
\end{tabbing}
\lipsum[4]
\end{document}
答案2
我建议测量文本并使用悬挂缩进。
\documentclass[12pt,a4paper,titlepage]{report}
\usepackage[vietnamese]{babel}
\usepackage{xeCJK}
\setmainfont{Noto Serif}
\setCJKmainfont{IPAMincho}[ItalicFont=*]
\ExplSyntaxOn
\NewDocumentEnvironment{hanilatn}{+b}
{
\par\addvspace{\topsep}
\setlength{\parindent}{0pt}
\adrik_hanilatn:n { #1 }
\par\addvspace{\topsep}
}{}
\seq_new:N \l__adrik_hanilatn_hani_seq
\seq_new:N \l__adrik_hanilatn_latn_seq
\dim_new:N \l__adrik_hanilatn_hani_dim
\dim_new:N \l__adrik_hanilatn_latn_dim
\cs_new_protected:Nn \adrik_hanilatn:n
{
\cs_set_eq:NN \word \__adrik_hanilatn_measure:nnn
#1
\cs_set_eq:NN \word \__adrik_hanilatn_typeset:nnn
#1
}
\cs_new_protected:Nn \__adrik_hanilatn_measure:nnn
{
% measure
\seq_put_right:Nn \l__adrik_hanilatn_hani_seq { #1 }
\seq_put_right:Nn \l__adrik_hanilatn_latn_seq { #2 }
\seq_map_inline:Nn \l__adrik_hanilatn_hani_seq
{
\hbox_set:Nn \l_tmpa_box { ##1 }
\dim_set:Nn \l__adrik_hanilatn_hani_dim
{
\dim_max:nn { \l__adrik_hanilatn_hani_dim } { \box_wd:N \l_tmpa_box }
}
}
\seq_map_inline:Nn \l__adrik_hanilatn_latn_seq
{
\hbox_set:Nn \l_tmpa_box { ##1 }
\dim_set:Nn \l__adrik_hanilatn_latn_dim
{
\dim_max:nn { \l__adrik_hanilatn_latn_dim } { \box_wd:N \l_tmpa_box }
}
}
}
\cs_new_protected:Nn \__adrik_hanilatn_typeset:nnn
{
\par\addvspace{0.5ex}
\hangindent=\dim_eval:n { 5em + \l__adrik_hanilatn_hani_dim + \l__adrik_hanilatn_latn_dim }
\hangafter=1~
\hspace*{3em}
\makebox[\l__adrik_hanilatn_hani_dim][c]{#1} % Han characters centered
\hspace*{1em}
\makebox[\l__adrik_hanilatn_latn_dim][l]{\itshape #2}
\hspace*{1em}
(#3)
\par\addvspace{0.3ex}
}
\ExplSyntaxOff
\begin{document}
% some text just to see the environment in context
Ngày Xuân (日) con én đưa thoi, Thiều quang chín chục đã ngoài sáu mươi.
Cỏ non xanh tận chân trời, Cành lê trắng điểm một vài bông hoa.
Thanh minh trong tiết tháng ba, Lễ là tảo mộ, hội là đạp Thanh.
Gần xa nô nức yến anh, Chị em (三人) sắm sửa bộ hành chơi xuân.
\begin{hanilatn}
\word{三}{tam}{nét trên chỉ Trời, nét dưới chỉ Đất, vậy Trời, Đất với Người cộng lại là ba}
\word{人}{nhân}{vẽ hình người đi}
\word{日}{nhật}{vẽ hình mặt trời tròn}
\end{hanilatn}
Ngày Xuân (日) con én đưa thoi, Thiều quang chín chục đã ngoài sáu mươi.
Cỏ non xanh tận chân trời, Cành lê trắng điểm một vài bông hoa.
Thanh minh trong tiết tháng ba, Lễ là tảo mộ, hội là đạp Thanh.
Gần xa nô nức yến anh, Chị em (三人) sắm sửa bộ hành chơi xuân.
\end{document}
环境的内容经过两次处理。第一次填充两个序列,以便我们测量汉语和拉丁语部分(Hani 是汉语的 ISO 代码,Latn 是拉丁语脚本的 ISO 代码)。
之后我们可以重新处理内容进行排版,因为我们知道所需的悬挂缩进量。
生产说明。我使用 IPAMincho 字体,因为我没有您使用的 Noto 字体。顺便说一句,我发现 Noto Serif 相当丑陋。周围的文字取自您的另一个问题。