系統中的行距

系統中的行距

我正在處理一個文檔,需要增加文字行之間的間距,但我想保持數組或系統中的行間距不變。我嘗試過使用baselinestretch值大於的命令1,例如4,但這也會影響數組中的間距。為了解決這個問題,我設定arraystretch0.25,這會恢復數組中的標準間距。然而,我在使用該套件時遇到了一個問題systeme——行距仍然升高,我希望將其設定回正常值(類似於陣列)。

我怎樣才能實現這個目標?

\documentclass{article}
\usepackage{systeme}
\renewcommand{\baselinestretch}{4}
\renewcommand{\arraystretch}{0.25}

\begin{document}

\systeme{x+y=0,2x-y=1}

\end{document}

在此輸入影像描述

答案1

\systeme指令使用依賴 的低階 TeX 結構\baselineskip,但不考慮arraystretch

包中沒有實作任何方法,但一個簡單的補丁就可以了。這裡我使用了一個不太顯著的擴散因子。

\documentclass{article}
\usepackage{amsmath}
\usepackage{systeme}
\usepackage[nodisplayskipstretch]{setspace}
\usepackage{xpatch}

\usepackage{lipsum}

\setstretch{2}
\renewcommand{\arraystretch}{0.5}% actually, the reciprocal of the spread factor

\catcode`_=11
\xpatchcmd{\SYS_systeme_i}
 {\begingroup}
 {\begingroup\linespread{1}\selectfont}
 {}{}
\catcode`_=8

\begin{document}

\lipsum[1][1-2]
\[
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
\]
\lipsum[2][1-2]
\[
\systeme{x+y=0,2x-y=1}
\]

\end{document}

在此輸入影像描述

相關內容