单词拆分时的对齐

单词拆分时的对齐

我用它~来在 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}

在此处输入图片描述

相关内容