[OS X TeX] Figures & Tables - Miscellaneous Issues

Ross Moore ross.moore at mq.edu.au
Wed Jan 26 16:42:34 EST 2011

Hello Khalid,

On 27/01/2011, at 7:39 AM, KHALID NADIRI wrote:

> Hi All,
> I'm having a few issues with the figure and table contained in the minimum working example below.  Three questions:
> 1. How do I reduce the vertical distance between the figure and its caption? 

The largest contributor to this amount of space is your use
        \coordinate (beg_2) at (1.5,2.7);

to set a control point for a Bezier curve.
That height of 2.7  is *much* larger than any y-coordinate
used to position anything that actually shows; viz.

 \draw[axis] (0,0) -- (0,1.7) node(yline)[above] {\emph{Dependent Variable}};

The height (and width) of the whole picture is evidently 
determined by all the coordinates that are used in its 
specification, not just by those that result in ink
being placed. 

Not being an experienced user of Tikz, I don't know whether 
there is a way to specify such a control-point coordinate, 
without it contributing to the diagram's size.  
(Xy-pic has such a feature, by the way.)
Maybe someone else on this list can provide the answer
to this.

Otherwise, you could simply put a vertical skip of
a negative amount between the caption and the diagram.

>>> \begin{figure}
>>> \caption{Blah Blah Blah Blah Blah Blah Blah Blah}%
>>> \usetikzlibrary{calc,arrows}%
>>> %\begin{center}
>>> \vspace{-2cm}
>>> \centering
>>> \begin{tikzpicture}[

Also, use of \centering rather than  
  \begin{center} ... \end{center}
is recommended within figures and tables.

Otherwise the {center} environment adds extra vertical 
space at top and bottom, which is usually not appropriate
within something that "floats", as there are other
parameters for controlling the positioning of the float 
away from the surrounding material on the page.

> 2. Is there a way to have the label wording stacked, one word over the other (e.g., "Independent" centered directly over "Variable")?

Try this:

    \draw[axis] (0,0)  -- (3.2,0) node(xline)[below right] {\parbox{2cm}{\centering\itshape Independent\\Variable}};

It's a pity to have to *guess* the amount of 2cm.
Alternatively you could measure the width of the
longest word, then set the parbox width to this amount.
Automating this is certainly possible, but perhaps
more trouble than it is worth.

> 3. How does one adjust the table so that every row has the same height?  In this case, that would mean that every row would have the same height as the tallest row (i.e., the third and last rows).

Someone else has offered a solution to this.
Build an invisible "strut" that is of the height and
depth that you require, and insert it somewhere in every
table row.
Again, you could determine the size for this strut manually,
or do some tricky programming to automate it.

Maybe there is a package that already does this?

> Thanks so much in advance,
> Khalid

Hope this helps,


Ross Moore                                       ross.moore at mq.edu.au 
Mathematics Department                           office: E7A-419      
Macquarie University                             tel: +61 (0)2 9850 8955
Sydney, Australia  2109                          fax: +61 (0)2 9850 8114

More information about the MacOSX-TeX mailing list