4

I use !{=} in array to make compact equation, but on the last line I'd like to have \approx instead of =.

Is it possible ?

\documentclass{standalone}

\usepackage{array,tabularx}

\begin{document}

$\begin{array}{r!{=}l}
    TS  &TU \times\cos\hat{T} \\
        &7.5\times\cos\,41.5\\
        &5.6\\ % \approx here instead of =
\end{array}$

\end{document}
  • Note that \cos\,41.5 is wrong. – egreg Dec 15 '15 at 14:32
3

I'm not sure this is really time-saving.

\documentclass[border=2]{standalone}

\usepackage{array}

\newcommand{\noeq}[1]{\multicolumn{1}{r!{#1}}{}}

\begin{document}

$\begin{array}{r!{=}l}
TS             &TU \times\cos\hat{T} \\
               &7.5\times\cos 41.5 \\
\noeq{\approx} &5.6
\end{array}$

\end{document}

enter image description here

I'd do it like this; note that the spacings are the normal ones around the relation symbols.

\documentclass[border=2]{standalone}

\usepackage{array}

\begin{document}

$\begin{array}{r@{}>{{}}l}
TS &= TU \times\cos\hat{T} \\
   &= 7.5\times\cos 41.5 \\
   &\approx 5.6
\end{array}$

\end{document}

enter image description here

This might be even more appealing, as it automatically takes care of the space at either side.

\documentclass[border=2]{standalone}

\usepackage{amsmath}

\begin{document}

$\begin{aligned}
TS &= TU \times\cos\hat{T} \\
   &= 7.5\times\cos 41.5 \\
   &\approx 5.6
\end{aligned}$

\end{document}
2

For extra flexibility, do consider creating a 3-column array, with the middle column containing the relational operator -- either = or \approx.

enter image description here

\documentclass{article}
\usepackage{array} % for "\newcolumntype" macro
\newcolumntype{C}{>{{}}c<{{}}}
\begin{document}

$\setlength\arraycolsep{0pt}
  \begin{array}{rCl}
     TS &=&TU \times\cos\hat{T} \\
        &=&7.5\times\cos\,41.5\\
        &\approx&5.6 
  \end{array}$
\end{document}
2
\documentclass{standalone}

\usepackage{array}

\newif\ifUseApprox
\protected\def\Equal{\ifUseApprox\approx\else=\fi}
\def\EqualUseApprox{\global\UseApproxtrue}
\def\EqualUseEqual {\global\UseApproxfalse}

\begin{document}

$\begin{array}{r!{\Equal}l}
    TS  &TU \times\cos\hat{T} \\
        &7.5\times\cos\,41.5\\
   \EqualUseApprox     &5.6\\ % \approx here instead of =
\end{array}$

\end{document}

enter image description here

\documentclass[varwidth, border=10pt]{standalone}

\usepackage{array, shortvrb}

\newif\ifUseApprox
\protected\def\Equal{\ifUseApprox\approx\else=\fi}
\def\EqualUseApprox{\global\UseApproxtrue}
\def\EqualUseEqual {\global\UseApproxfalse}

\begin{document}
\hsize 6cm

$\begin{array}{r!{\Equal}l}
    TS  &TU \times\cos\hat{T} \\
        &7.5\times\cos\,41.5\\
   \EqualUseApprox     &5.6\\ % \approx here instead of =
\end{array}$

I now want to have a line \verb|\approx 7.5\times 0.75| 
followed by a line with \verb|= 5.63| !

\EqualUseEqual % reset

$\begin{array}{r!{\Equal}l}
    TS  &TU \times\cos\hat{T} \\
        &7.5\times\cos\,41.5\\
   \EqualUseApprox     &5.6\\ % \approx here instead of =
        &7.5\times 0.75\\
   \EqualUseEqual      &5.63\\ % again using =
\end{array}$

\end{document}

egreg's request

  • What if you want to have a line with \approx 7.5\times 0.75 followed by a line with = 5.63? – egreg Dec 15 '15 at 14:38
  • @egreg not sure I understand your comment. See addition to my answer. – user4686 Dec 15 '15 at 16:55
  • Oh, yes, you have to use \EqualUseEqual. It's better to have an example anyway. – egreg Dec 15 '15 at 17:04
  • @egreg \EqualUseEqual was defined in my answer, but yes, not illustrated with an example ;-). – user4686 Dec 15 '15 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.