我用它~
来在 tabularx 表中创建缩进。当 space 运行时,LaTeX 会取两行,这很好,但可以更漂亮。
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{0.3\textwidth}{@{}Xccc}
\hline
City & Number\\
\hline
\textbf{Group 1}\\
~~~ Delhi& 2 \\
~~~ Khatmandu & 2\\ % I'm aware of the typo but already pasted the screenshots
\textbf{Group 2}\\
~~~ Beijing & 14 \\
\hline
\end{tabularx}
\end{document}
结果是
但我更愿意选择以下任一方式
编辑:表格是由外部脚本生成的,因此最好的解决方案是完全自动化的。
任何想法都值得赞赏。
答案1
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{0.3\textwidth}{@{}>{\leftskip1em\hspace*{0pt}}Xccc}
\hline
\hspace*{-1em}City & Number\\
\hline
\hspace*{-1em}\textbf{Group 1}\\
Delhi& 2 \\
Khatmandu & 2\\ % I'm aware of the typo but already pasted the screenshots
\hspace*{-1em}\textbf{Group 2}\\
Beijing & 14 \\
\hline
\end{tabularx}
\end{document}
答案2
我确信需要一些手动干预。在这种情况下,我使用左对齐\Longunderstack
来完成拆分。
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,stackengine}
\begin{document}
\begin{tabularx}{0.3\textwidth}{@{}Xccc}
\hline
City & Number\\
\hline
\textbf{Group 1}\\
~~~ Delhi& 2 \\
~~~ \Longunderstack[l]{Kath- ~~mandu\strut} & 2\\
\textbf{Group 2}\\
~~~ Beijing & 14 \\
\hline
\end{tabularx}
\end{document}
答案3
示例列表第 1 表中所需的内容无法自动实现,除非您手动拆分单词并根据需要添加字距或跳过,或者编写复杂的宏。这不是好的排版。您的第二个排版稍好一些,但仍然不美观。
您可以让文本处于不同的状态:a) 对齐 b) 居中 c) 左对齐 d) 右对齐 e) 逐字对齐 以及其他可能的状态。
A\fbox{\parbox{1cm}{\raggedleft Khatm\-andu}}B
\fbox{\parbox{1cm}{\raggedleft Kat\-man\-du}}C
\fbox{\parbox{1cm}{\raggedright Kat\-man\-du}}D
\fbox{\parbox{1cm}{\centering Kat\-man\-du}}E
\fbox{\parbox{1cm}{\justify Kat\-man\-du and}}F
\fbox{\parbox{1cm}{\language-1 Katmandu}}G
\fbox{\parbox{2cm}{%
Kat-\\
\hphantom{ZZ}man-\\
\hphantom{ZZZZZZ}du}}E
TeX/LaTeX 是一位老师,它首先告诉你它的想法,不先调整任何参数,然后尝试改进或满足一些约束。
p{} 说明符表示 parbox。这就是我使用 parbox 来演示 glue 说明差异的原因。
\documentclass{article}
\usepackage{ragged2e}
\usepackage{microtype}
\begin{document}
\begin{tabular}{p{1.45cm}|c}
\hline
City & Number\\
\hline
\textbf{Group 1}\\
\raggedleft Delhi& 2 \\
\raggedleft photo\-gra\-phy in Khatmandu& 2\\
\textbf{Group 2}\\
\raggedleft Beijing & 14 \\
\hline
\end{tabular}
\end{document}
如果您坚持使用您的某个设计,您可以修改框 H 中的代码以适合并插入到您的表格中。
尝试使用和不使用包装微类型来观察一些细微的差别。
答案4
使用tabularray
三列并手动插入连字符点加德满都:
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{width=0.3\linewidth,
colspec={@{} l X[1,l] X[1,c] @{}},
hline{1,2,Z}=solid
}
\SetCell[c=2]{l} City
& & Number\\
\SetCell[c=2]{l} \textbf{Group 1}
& & \\
& Delhi & 2 \\
& Khat\-mandu & 2 \\
\SetCell[c=2]{l} \textbf{Group 2}
& & \\
& Benjing & 14 \\
\end{tblr}
\end{document}