Estou trabalhando em um documento onde preciso aumentar o espaçamento entre linhas de texto, mas quero manter inalterado o espaçamento entre linhas em matrizes ou sistemas. Tentei usar o baselinestretch
comando com um valor maior que 1
, digamos 4
, mas isso também afeta o espaçamento nas matrizes. Para resolver isso, defini arraystretch
como 0.25
, que restaura o espaçamento padrão nas matrizes. No entanto, estou enfrentando um problema ao usar o systeme
pacote – o espaçamento entre linhas permanece elevado e quero que ele volte ao normal (semelhante aos arrays).
Como posso conseguir isso?
\documentclass{article}
\usepackage{systeme}
\renewcommand{\baselinestretch}{4}
\renewcommand{\arraystretch}{0.25}
\begin{document}
\systeme{x+y=0,2x-y=1}
\end{document}
Responder1
O \systeme
comando usa construções TeX de baixo nível que dependem \baselineskip
, mas não levam em consideração arraystretch
.
Não há nenhum método implementado no pacote, mas um patch simples funciona. Aqui eu uso um fator de spread menos dramático.
\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}