Я работаю над документом, в котором мне нужно увеличить интервал между строками текста, но я хочу сохранить неизменным интервал в массивах или системах. Я пробовал использовать команду baselinestretch
со значением больше, чем 1
, скажем 4
, но это влияет и на интервал в массивах. Чтобы решить эту проблему, я установил arraystretch
значение 0.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}