我不知道这是否是该特定字体的问题,但我想知道如何纠正表格中冲突的下降部(有时是上升部)。谢谢,A
\usepackage[norule,flushmargin]{footmisc}
\setlength{\parskip}{0pt}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text,Ligatures={Common}, Numbers={OldStyle}]{Garamond Premier Pro} \newfontfamily\greekfont[Script=Greek, Ligatures={Common}]{Garamond Premier Pro}
\newfontfamily\devanagarifont[Script=Devanagari]{Sanskrit 2003}
\begin{document}
\begin{tabular}{ | c | c |}
\hline
Q & Quota \\
\hline
p & g \\
\hline
T & l \\
\hline
\end{tabular}
\end{document}
*************************************编辑,有更多问题************* @Bernard
我的简短示例很长:但您可以在第一个表的末尾看到第二列中的碰撞 Q(没有错误)。
当我为第一列设置 \linewidth 时,第二个表会出现错误,无论我在 longtable 定义中选择了 Sm 或 Sl 的任何组合。
\documentclass[a4paper, 10pt, twoside, showtrims]{memoir}
\settrimmedsize{277mm}{170.9877mm}{*}
\settrims{0mm}{17mm}
\setlrmarginsandblock{18.999mm}{37.997mm}{*}
\setulmarginsandblock{18.999mm}{44.837mm}{*}
\setmarginnotes{1.4mm}{18.999mm}{1em}
\renewcommand{\sideparfont}{\normalfont\itshape\footnotesize}
\sideparmargin{outer}
\checkandfixthelayout[nearest]
\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\usepackage{longtable,tabularx,ltxtable}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text,Ligatures={Common}, Numbers={OldStyle}]{Garamond Premier Pro} \newfontfamily\greekfont[Script=Greek, Ligatures={Common}]{Garamond Premier Pro}
\newfontfamily\devanagarifont[Script=Devanagari]{Sanskrit 2003}
\begin{document}
\begin{longtable}{ | S{l} S{m{\linewidth*4/8}} | }
\hline
\multicolumn {2} {|Sc|}{DELL'VNISONO } \\
\hline
Se'l Soprano sarà & Vnisono col Tenore, \\
Et il Basso sarà & Terza sotto il Tenore; \\
l'Alto si porrà & Quinta, o Sesta sopra'l Basso. \\
\hline
Ma se'l Basso sarà la & Quinta sotto'l Tenore, \\
L'Alto farà la & Terza, ouer Decima sopra'l Basso. \\
\hline
Similmente se'l Basso fusse & Sesta sotto'l Tenore, \\
L'alto potrà esser & Terza, ouer Decima sopra'l Basso. \\
\hline
Et se'l Basso sarà vna & Ottaua sotto'l Tenore, \\
L'altre parti si porranno & Terza, 5. 6. 10. 12. sopra il Basso. \\
\hline
Essendo poi & Decima sotto'l Tenore \\
L'alto si farà per vna & Quinta, ouer Duodecima distante dal Basso. \\
\hline
Ma se'l fusse & Duodecima, allora \\
L'Alto si potrà porre & Terza, ouero Decima sopra il Basso. \\
\hline
Così essendo il Basso & Quintadecima sotto'l Tenore, \\
L'Altre parti si porranno & Terza, 5. 6. 10. 12. 13. sopra'l Basso. \\
\hline
\multicolumn {2} {|Sc|}{DELLA TERZA } \\
\hline
Se'l Soprano sarà & Terza col Tenore, \\
\& il Basso sarà & Terza sotto di lui, \\
L'Alto si potrà fare & Vnisono, ouero Ottaua con le parti. \\
\hline
Essendo poi il Basso & Sesta sotto'l Tenore, \\
l'alto si porrà & Terza, o Decima sopra'l Basso. \\
\hline
Ma se'l Basso fusse & Ottaua sotto'l Tenore, \\
Allora l'Alto sarà & Quinta, o Sesta, sopra il Basso. \\
\hline
\end{longtable}
\begin{longtable}{ | S{l{\linewidth*3/8}} S{m{\linewidth*4/8}} | }
\hline
\multicolumn {2} {|Sc|}{DELL'VNISONO } \\
\hline
Se'l Soprano sarà & Vnisono col Tenore, \\
Et il Basso sarà & Terza sotto il Tenore; \\
l'Alto si porrà & Quinta, o Sesta sopra'l Basso. \\
\hline
\end{longtable}
\end{document}
答案1
在排版中,“支柱”是一种具有深度和/或高度但没有宽度的对象,因此是不可见的。通过在表格的第一行插入适当大小的“底部支柱”,您可以增加下降部底部与后续 之间的间隔\hline
。同样,“顶部支柱”可用于增加上升部与前一个 之间的距离\hline
。可以在给定行上插入顶部和底部支柱。
下面的示例在左侧显示了您的原始表格(没有 struts),并在左侧显示了版本带支柱在右侧。您可以随意调整顶部支柱的高度和底部支柱的深度(分别为2.6ex
和1.3ex
),以适合您使用的字体的特征。
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures = {Common,TeX},
Numbers = OldStyle,
Contextuals = Alternate
]{Garamond Premier Pro}
\newcommand\Tstrut{\rule{0pt}{2.6ex}} % "top" strut
\newcommand\Bstrut{\rule[-1.3ex]{0pt}{1.3ex}} % "bottom" strut
\newcommand{\TBstrut}{\Tstrut\Bstrut} % top&bottom struts
\begin{document}
\begin{tabular}{ | c | c |}
\hline
Q & Quota \\
\hline
p & g \\
\hline
T & l \\
\hline
\end{tabular}
\qquad
\begin{tabular}{ | c | c |}
\hline
Q & Quota \TBstrut \\ %% top and bottom strut
\hline
p & g \Bstrut \\ %% bottom strut only
\hline
T & l \Tstrut \\ %% top strut only
\hline
\end{tabular}
\end{document}
答案2
您可以使用cellspace
包,它就是为此而做的——确保单元格顶部与上方单元格底部之间以及单元格底部与下方单元格顶部之间的垂直间距最小。您所要做的就是在相关列说明符前加上字母S
,除非您使用siunitx
及其S
说明符;在后一种情况下,siunitx 会将前缀更改为字母C
。
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures = {Common,TeX},
Numbers = OldStyle,
Contextuals = Alternate
]{Garamond Premier Pro}
\usepackage{cellspace}
\setlength\cellspacetoplimit{3pt}
\setlength\cellspacebottomlimit{3pt}
\begin{document}
\begin{tabular}{ | c | c |}
\hline
Q & Quota \\
\hline
p & g \\
\hline
T & l \\
\hline
\end{tabular}
\qquad
\begin{tabular}{ | Sc | Sc |}
\hline
Q & Quota \\
\hline
p & g \\
\hline
T & l \\
\hline
\end{tabular}
\end{document}