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.

I searched a lot but I wasn't able to find a package that can really fit my needs. I want to achieve something like the “Page Table” in this image:

http://i.stack.imgur.com/wBTQm.gif

A regular table but with some “curly breaks” that gave the idea of a continuation and possibly a table under the first one whit a specular break line that continue to extend my list.

I'm also looking for two other techniques: I want to describe the content of some cells (maybe with arrows or some other references) and I want to highlight an entire block of the table (maybe with colors or some background texture like a plant or a house) giving me the ability of writing some legenda.

share|improve this question
    
Welcome to TeX.SE. It is always best to compose a MWE that illustrates the problem including the \documentclass and the appropriate packages so that those trying to help don't have to recreate it. Since your question seems to be only about the "curly breaks" you should post what you tried so far. –  Peter Grill Nov 5 '11 at 0:07
    
I'm sorry for not posting any kind of code but i simply don't have any idea about what i have to do to achieve this result, next time i try to put something extra in my messages. –  Micro Nov 5 '11 at 13:24
add comment

2 Answers

up vote 4 down vote accepted

Take a look at bytefield package, http://www.ctan.org/tex-archive/macros/latex/contrib/bytefield. It has a lot of stuff for diagrams like yours. In particular, I'd use its \skippedwords macro instead of your curly bottom: it seems to be a more usual way to show indefinite amount of data

share|improve this answer
    
I really appreciate this method because i think is the only one that i found until now that really act on table, it's strange that a package like the one i'm looking for doesn't exist. Anyway thanks for your tip, I'm going to use this technique to solve my problem, thanks. –  Micro Nov 5 '11 at 13:05
add comment

Here's an attempt using PGF/TikZ:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,positioning,shapes.multipart}

% Command to draw a colored square
\newcommand\Cbox[1]{\color{#1}\rule{6pt}{6pt}}

\begin{document}

\begin{tikzpicture}[
  drect/.style={rectangle split, rectangle split parts=#1, draw},
  ndrect/.style={rectangle split, rectangle split parts=#1}
]

% the nodes
\node[draw] (a) {02FE};
\node[drect=2, rectangle split horizontal,right=of a] (b) {02\nodepart{two}FE};
\node[drect=2, rectangle split horizontal,right=of b] (c) {01A0\nodepart{two}FE};
\node[drect=4,rectangle split part fill={red!60,blue!60,olive!60,magenta!60},below right=of a] (d)
  {0020\nodepart{two}001A\nodepart{three}01A0\nodepart{four}0320};
\node[ndrect=4,left=0 of d] (e)
  {0\nodepart{two}1\nodepart{three}2\nodepart{four}3};

% the curly part
\draw (d.south west) -- ++(0,-0.2) -- ($(d.south west)+(0,-0.2)$) .. controls ($(d.south)+(-0.3,-0.05)$) .. ($(d.south)+(0,-0.2)$) .. controls ($(d.south)+(0.3,-0.4)$) .. ($(d.south east)+(0,-0.3)$) -- (d.south east);

% the arrows
\draw[->] (a) -- (b);
\draw[->] (b.two north) -- ++(0,0.3) -|  (c.two north);
\draw[->] (b.one south) -- ++(0,-0.5) -- ++(-1.5,0) |- ($(d.three)+(-0.6,0.1)$);
\draw[->] (d.three east) -| (c.one south);

% text nodes
\node[align=center,above= 0.5pt of a, font=\footnotesize] {logical \\address};
\node[align=center,below= 3pt of c.two,xshift=6pt, font=\footnotesize] {physical \\address};
\node[align=center,below= 13pt of d, font=\footnotesize] {Page Table};

% the legend
\node[right=of c,yshift=-1cm] {
  \fbox{\begin{tabular}{cp{2.7cm}}
    \Cbox{red!60} & Some description \\
    \Cbox{blue!60} & Some description \\
    \Cbox{olive!60} & Some description \\
    \Cbox{magenta!60} & Some description \\
  \end{tabular}}
};

\end{tikzpicture}

\end{document}

enter image description here

The curly line was drawn using the .. controls .. feature (see Section 14.3 The Curve-To Operation of the pgfmanual). Nodes were built with the shapes.multipart library (see Section 48.6 Shapes with Multiple Text Parts of the pgfmanual).

share|improve this answer
    
I already know that this package exist, but i found it really strange, seems like it proposes a new way to create vector images rather than offer some tex/latex controls; for my personal point of view it's better using some software like inkscape or something like that instead of using this package. I'm not saying that is useless, and I really appreciate your example because it exactly reproduced my demo, but it's not in the "spirit" of typography I think. Look at the lines of table and look down at the break part, the margins seems really false; but thanks for answering my question. –  Micro Nov 5 '11 at 13:22
    
Because of the lack of words for my previous post, i'd like to explain myself better: i'm looking for a package that can solve my problem in a really small amount of commands and words, if i have to write a half page or an entire page, i prefer to create and import a vector image; also, with this package i have to do the math like with a bezier curve and this fact only give more complexity to my documents. It's only a matter of time and simplicity. –  Micro Nov 5 '11 at 13:32
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.