Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

When I write $$\sum_{i=1}^{n} x_{i}$$ I obtain indices which are below and above the symbol. I want to write the existential quantifier with this same formatting, but when I try to do so, it appears as $$\exists_{i=1}^{n} x_{i}$$ with the indices written to the right of the symbol on the bottom and top, respectively. Is there any way to change this so that I have a big $\exists$ symbol where the $\Sigma$ is?

share|improve this question
9  
You can use \mathop{\exists}\limits_{i=1}^{n} x_{i}. Also see Why is \[ … \] preferable to $$?. –  Peter Grill Feb 3 '13 at 21:19
add comment

2 Answers

up vote 7 down vote accepted

Here is a solution which is similar in spirit to Mico's earlier answer, condensed into a few lines of code. This requires amsmath.sty and scalefnt.sty. (Thanks to egreg for remarking on multiple improvements to the original answer; I've condensed it further based on his remarks.)

\newcommand\ScaleExists[1]{\vcenter{\hbox{\scalefont{#1}$\exists$}}}

\DeclareMathOperator*\bigexists{%
  \vphantom\sum
  \mathchoice{\ScaleExists{2}}{\ScaleExists{1.4}}{\ScaleExists{1}}{\ScaleExists{0.75}}}

The choices of font size were achieved by experimentation, and should be adequate for normalsized Computer Modern at 10pt to 12pt. Minor tweaking may be necessary for other typefaces. Because other font sizes (such as \Large and \footnotesize) are achieved by scaling up the size of normal characters, this should also work in other font sizes up to the limits of \scalefont to change the character size (up to about \LARGE at 11pt).

The parameters were chosen to achieve as similar an appearance as possible to the size and alignment of \sum in each context (displaystyle, textstyle, scriptstyle, and scriptscritstyle), with the same default behaviour of \limits and \nolimits in each context. In particular, the \vphantom\sum at the beginning of \bigexists is used to achieve precisely the same vertical spacing of the limits from the \exists symbol, as the limits would otherwise be closer to the symbol than they should be. Here is how it looks at 10pt:

Example presentation of <code>\bigexists</code> macro

This same code should be similarly generalized to any symbol of a similar height and depth (e.g. \forall).

It should be easy to tweak the results to obtain better tuning for other fonts or point sizes; additional refinements (or defining a custom character with \METAFONT) may be necessary to obtain a more robust solution.

share|improve this answer
    
Instead of computing the amount of vertical shift, you could use \vcenter{\hbox{\scalefont{x}$\exists$}}; also \mathop{\mathchoice{...}{...}{...}{...}} seems more economic. Finally, use just \newcommand instead of \DeclareMathOperator*: you're declaring a \mathop in the macro, aren't you? –  egreg Feb 4 '13 at 11:19
    
@egreg: I think I'm starting to get the idea of when I should expect \vcenter tobe the secret behind vertical spacing of pieces of (La)TeX -- absent actually looking at the definitions, of course. Good point about the redundancy of \mathop, I think it persisted due to two different approaches I was taking to prototyping the macro. –  Niel de Beaudrap Feb 4 '13 at 11:56
1  
If you also add \vphantom{\sum} just before \mathchoice you get similar placements of the limits as for \sum –  egreg Feb 4 '13 at 12:23
add comment

Whereas the symbols for \sum, \prod, and \int (and a few more select symbols) are designed to scale automatically depending on whether they're used in "textstyle" or "displaystyle" math mode, that's not the case for symbols such as \exists.

I can think of two workarounds. The first is to load the relsize package and use its \mathlarger command to enlarge the size of the \exists symbol. I don't know just how large you intend the \exists symbol to be; in the following example, I use a four-step enlargement of the symbol's size. Note also the use of the \lower directive (a TeX "primitive" command) to shift the position of the newly created symbol down by 0.75ex.

\documentclass{article}
\usepackage{relsize,amsfonts}
\newcommand\bigexists{%
  \mathop{\lower0.75ex\hbox{\ensuremath{%
    \mathlarger{\mathlarger{\mathlarger{\mathlarger{\exists}}}}}}}%
  \limits}
\begin{document}
$\bigexists_{i\in\mathcal{I}} x_i$ 
\end{document}

enter image description here

A second workaround involves loading the graphicx package and using its \scalebox command. In the following MWE, a scaling factor of 1.7 is chosen to make the resulting large symbol roughly comparable to what's produced by the four-fold use of the \mathlarger command.

\documentclass{article}
\usepackage{amsfonts,graphicx}
\newcommand{\bigex}{%
\mathop{\lower0.75ex\hbox{%
   \scalebox{1.7}{\ensuremath{\exists}}}}\limits}
\begin{document}\pagestyle{empty}
$\bigex_{i\in\mathcal{I}} x_i$ 
\end{document}

Addendum - By default, the "limits" of the \bigexists and \bigex symbols will be set below and above the symbol. If you wanted to side-set the limits, you could type

\bigexists\nolimits
\bigex\nolimits

whenever necesssary. The \nolimits directive will override the \limits instruction contained in the definition of \bigexists and \bigex.


The result probably isn't entirely satisfactory from a typographic point of view, because the stroke widths of the newly created \bigexists and \bigex symbols appear to be quite thick and heavy (to me at least...). A full solution would entail creating a new symbol entirely from scratch.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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