Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

LaTeX question about sizing

  1. Apr 25, 2010 #1
    When I write something in LaTeX, I always try to create shortcuts for things I use a lot, so my code looks has semantically meaningful constructions like \[\CountableUnion{U_n}{n}\] instead of complicated strings of symbols like \[\bigcup_{n=1}^{\infty}U_n\], for example. I have run into a difficulty in trying to create something to express sets with constraints such as the set B_N in the image below:

    [PLAIN]http://img401.imageshack.us/img401/6616/screenshot1rg.png [Broken]

    The code I used for that B_N is

    Code (Text):

    Let us define the countable collection of sets $\CountableCollection{B_N}$ by
    \[
       \Defined
          {B_N}
          {\SetWithConstraint
             {
                \SetMember
                   {
                      \FiniteSum{a_i x^{n-i}}{i}{0}{n}
                   }
                   {
                      \Polynomials{\Integers}{x}
                   }
             }
             {
                 \FiniteSum{\AbsoluteValue{a_i}}{i}{0}{n} \neq 0
                 \quad\text{and}\quad n +
                 \FiniteSum{\AbsoluteValue{a_i}}{i}{0}{n} = N
            }
         }
    \]
     
    where \Defined{a}{b} is translated to a := b and \SetWithContraint{The_set}{The_constraint} is translated to { The_set | The_constraint }. The command \SetWithConstraint is defined in my preamble as:

    Code (Text):

    \newcommand{\SetWithConstraint}[2]{\left\{\,#1\ \left|\ #2\,\right.\right\}}
     
    My main problem is sizing that center bar | between the set to draw elements from and the constraint the elements must satisfy. As I have it set up right now, its size is determined by the height of the expression in the constraint area (e.g., the expression on the rhs). However, this looks very bad on something like the set K' in the image below, where the expression on the lhs is taller:

    [PLAIN]http://img199.imageshack.us/img199/445/screenshottc.png [Broken]

    The relevant code there is

    Code (Text):

    Hence, we have now shown that $x$ is a limit point of $K$ if and only if
    $x = 0$ or there is an integer $m > 0$ with $x = 1/m$. In other words,
    \[
       \LimitPoints{K} =
       \Union
          {\Singleton{0}}
          {\SetWithConstraint{\frac{1}{m}}{\SetMember{m}{\PositiveIntegers}}}
    \]
     
    where \LimitPoints{K} displays K'. Does anyone know how to size this middle bar | in the \SetWithConstraint command I defined so that it will match the maximum of the height of the expression on the lhs and height of the expression on the rhs? Thanks!
     
    Last edited by a moderator: May 4, 2017
  2. jcsd
  3. Apr 25, 2010 #2
    Change:
    Code (Text):
    \newcommand{\SetWithConstraint}[2]{\left\{\,#1\ \left|\ #2\,\right.\right\}}
    To:
    Code (Text):
    \newcommand{\SetWithConstraint}[2]{\left\{\,#1\ \middle|\ #2\,\right\}}
     
  4. Apr 25, 2010 #3
    Thanks NeoDevin; that's exactly what I was looking for. I can't believe that's not included in The Not So Short Introduction to LaTeX2e.
     
  5. Apr 27, 2010 #4
    Very nice NeoDevin!

    also a less beautiful result might be, to relate the bar character with lhs by
    Code (Text):
    \newcommand{\SetWithConstraint}[2]{\left\{\left.\,#1\ \right|\ #2\,\right\}}
    Did not try but should work...
     
  6. Apr 27, 2010 #5
    That would work to scale it with the lhs, but my understanding was that the OP wanted it to scale with whichever side what taller.
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook