3

I want to increase only the text size of equation environments. I found this on another post:

\NewEnviron{myalign}{%
    \begin{align*}
    \scalebox{1.5}{$\BODY$}
    \end{align*}
}

It seems to work, but I when I include any & at all, it fails to compile e.g.

\begin{align}
    x &= 3
\end{align}

works, but not

\begin{myalign}
   x &= 3
\end{myalign}
1
  • What is the intent here? Do you have surrounding content before/after the align?
    – Werner
    Commented Jan 5, 2023 at 6:37

2 Answers 2

6

You'll also see that

\begin{align*}
  \scalebox{1.5}{$x &= 3$}
\end{align*}

fails, which is exactly what your myalign is producing. It's not the problem with really with your \NewEnviron, but your interpretation of how you want to scale things. Specifically, that you can't let a group opening and closing straddle a &.

From your definition it seems like you want to enlarge the display of the align by 50%. Rather use a definition like this:

\NewEnviron{myalign}{%
  \Large\begin{align*}
    \BODY
  \end{align*}}

or (without environ and an up-to-date LaTeX)

\NewDocumentEnvironment{myalign}{ b }{%
  \Large\begin{align*}
    #1
  \end{align*}
}{}

enter image description here

\documentclass{article}

\usepackage{amsmath,graphicx}

\NewDocumentEnvironment{myalign}{ b }{%
  \Large\begin{align*}
    #1
  \end{align*}
}{}

\begin{document}

\begin{align*}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^3 + bx^2 + cx + d
\end{align*}

{\Large
\begin{align*}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^3 + bx^2 + cx + d
\end{align*}
}

\begin{myalign}
  f(x) &= ax^2 + bx + c \\
  g(x) &= ax^3 + bx^2 + cx + d
\end{myalign}

\end{document}
0
3

As a general rule, you shouldn't use align for single equations, but just for multiple line alignments. It's possible that the author of that code liked to use align as a substitute for equation.

But that code cannot work with multiple lines: you need to apply the scaling to the whole align (but in the aligned form).

The following solution doesn't mean that I find the idea of scaling display particularly attractive (understatement for “I find it really ugly”).

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\usepackage{lipsum}

\ExplSyntaxOn

\NewDocumentEnvironment{scaledisplay}{O{1.5}mb}
 {
  \begin{equation*}
  \scalebox{#1}{$\antintin_scaledisplay:nn { #2 } { #3 }$}
  \end{equation*}
 }
 {\ignorespacesafterend}

\cs_new_protected:Nn \antintin_scaledisplay:nn
 {
  \__antintin_scaledisplay_begin:n { #1 }
  #2
  \__antintin_scaledisplay_end:n { #1 }
 }

\cs_new:Nn \__antintin_scaledisplay_begin:n
 {
  \str_case:nnF { #1 }
   {
    {equation}{\displaystyle}
    {alignat}{\begin{alignedat}{-1}}
    {flalign}{\begin{aligned}}
   }
   {\begin{#1ed}}
 }
\cs_new:Nn \__antintin_scaledisplay_end:n
 {
  \str_case:nnF { #1 }
   {
    {equation}{}
    {alignat}{\end{alignedat}}
    {flalign}{\end{aligned}}
   }
   {\end{#1ed}}
 }

\ExplSyntaxOff

\begin{document}

\lipsum[1][1-4]
\begin{scaledisplay}[2]{equation}
A=B
\end{scaledisplay}
\lipsum[2][1-4]
\begin{scaledisplay}{align}
a&=b \\
cc&=ddd
\end{scaledisplay}
\lipsum[3][1-4]
\begin{scaledisplay}{alignat}
a&=b    &\quad uuu&=v \\
cc&=ddd &\quad u&=v
\end{scaledisplay}
\lipsum[4][1-4]
\begin{scaledisplay}{gather}
a=b \\
cc=dd
\end{scaledisplay}
\lipsum[5][1-4]

\end{document}

enter image description here

Using font size changes rather than scaling (this also respects fleqn).

\documentclass[fleqn]{article}
\usepackage{amsmath}
\usepackage{graphicx}

\usepackage{lipsum}

\ExplSyntaxOn

\NewDocumentEnvironment{scaledisplay}{O{\Large}m}
 {
  \begin{equation*}
  \begin{minipage}{\displaywidth}
  #1
  \legacy_if:nTF { @fleqn } { \setlength{\leftskip}{\mathindent} } { \centering }
  $
  \__antintin_scaledisplay_begin:n { #2 }
 }
 {
  \__antintin_scaledisplay_end:n { #2 }
  $
  \end{minipage}
  \end{equation*}
  \ignorespacesafterend
 }

\cs_new_protected:Nn \antintin_scaledisplay:nn
 {
  \__antintin_scaledisplay_begin:n { #1 }
  #2
  \__antintin_scaledisplay_end:n { #1 }
 }

\cs_new:Nn \__antintin_scaledisplay_begin:n
 {
  \str_case:nnF { #1 }
   {
    {equation}{\displaystyle}
    {alignat}{\begin{alignedat}{-1}}
    {flalign}{\begin{aligned}}
   }
   {\begin{#1ed}}
 }
\cs_new:Nn \__antintin_scaledisplay_end:n
 {
  \str_case:nnF { #1 }
   {
    {equation}{}
    {alignat}{\end{alignedat}}
    {flalign}{\end{aligned}}
   }
   {\end{#1ed}}
 }

\ExplSyntaxOff

\begin{document}

\lipsum[1][1-4]
\begin{scaledisplay}[\LARGE]{equation}
A=B
\end{scaledisplay}
\lipsum[2][1-4]
\begin{scaledisplay}{align}
a&=b \\
cc&=ddd
\end{scaledisplay}
\lipsum[3][1-4]
\begin{scaledisplay}{alignat}
a&=b    &\quad uuu&=v \\
cc&=ddd &\quad u&=v
\end{scaledisplay}
\lipsum[4][1-4]
\begin{scaledisplay}{gather}
a=b \\
cc=dd
\end{scaledisplay}
\lipsum[5][1-4]

\end{document}

enter image description here

Without the fleqn option

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .