J'ai une équation qui n'est qu'un tout petit peu trop large pour une ligne. J'aimerais vraiment éviter d'avoir le numéro d'équation sur la ligne suivante. Comment y parvenez-vous? J'utilise actuellement \small
, mais c'est exagéré.
Veuillez noter. J'ai essayé scalebox
et fittowidth
mais j'obtiens des erreurs de manque \endgroup
. J'ai également utilisé \!
dans toute son étendue. J'espère une solution qui me permettra de mettre à l'échelle l'équation d'une ligne appropriée à la largeur de la page.
\begin{equation}
\resizebox{.9\hsize}{!}{$A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z$}
\end{equation}
ou
\begin{equation}
\resizebox{.8\hsize}{!}{$A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z$}
\end{equation}
Le graphicx
package fournit la commande \resizebox{width}{height}{object}
:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\hrule
%%%
\makeatletter%
\setlength{\@tempdima}{\the\columnwidth}% the, well columnwidth
\settowidth{\@tempdimb}{(\ref{Equ:TooLong})}% the width of the "(1)"
\addtolength{\@tempdima}{-\the\@tempdimb}% which cannot be used for the math
\addtolength{\@tempdima}{-1em}%
% There is probably some variable giving the required minimal distance
% between math and label, but because I do not know it I used 1em instead.
\addtolength{\@tempdima}{-1pt}% distance must be greater than "1em"
\xdef\Equ@width{\the\@tempdima}% space remaining for math
\begin{equation}%
\resizebox{\Equ@width}{!}{$\displaystyle{% to get everything inside "big"
A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z}$}%
\label{Equ:TooLong}%
\end{equation}%
\makeatother%
%%%
\hrule
\end{document}
Je viens d'avoir la situation que je voulais cela uniquement pour les lignes dépassant \linewidth
, c'est-à-dire: en serrant légèrement les longues lignes. Puisqu'il m'a fallu des heures pour comprendre cela, je voudrais l'ajouter ici.
Je tiens à souligner que la mise à l'échelle des polices dans LaTeX est un péché mortel! Dans presque toutes les situations, il existe un meilleur moyen (par exemple
multline
du packagemathtools
). Alors utilisez-le consciemment.
Dans ce cas particulier, je n'ai eu aucune influence sur la base de code à part le préambule et certaines lignes dépassant légèrement la bordure de la page lorsque je l'ai compilé en format PDF à l'échelle d'un livre électronique.
\usepackage{environ} % provides \BODY
\usepackage{etoolbox} % provides \ifdimcomp
\usepackage{graphicx} % provides \resizebox
\newlength{\myl}
\let\origequation=\equation
\let\origendequation=\endequation
\RenewEnviron{equation}{
\settowidth{\myl}{$\BODY$} % calculate width and save as \myl
\origequation
\ifdimcomp{\the\linewidth}{>}{\the\myl}
{\ensuremath{\BODY}} % True
{\resizebox{\linewidth}{!}{\ensuremath{\BODY}}} % False
\origendequation
}