ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: pgf user <pgf-users@lists.sourceforge.net>
Subject: Re: [NTG-context] no line breaks between figures
Date: Wed, 22 Jul 2009 14:05:37 +0200	[thread overview]
Message-ID: <6faad9f00907220505q85d8090id6b05fa358771b1@mail.gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.0907212040510.22956@ybpnyubfg.ybpnyqbznva>

On Wed, Jul 22, 2009 at 03:08, Aditya Mahajan wrote:
> CCed to ConTeXt mailing list.

(And removed the pgf mailing list? :)

> On Tue, 21 Jul 2009, Mojca Miklavec wrote to pgf.user list:
>
>> Hello,
>>
>> I noticed that a large number of
>>   \begin{tikzpicture} \draw (0,0) -- (5,1); \end{tikzpicture}
>> breaks at line end while
>>   \starttikzpicture \draw (0,0) -- (5,1); \stoptikzpicture
>> just generates an infinitely long line.
>>
>> Is there any simple way to fix the behaviour in ConTeXt?
>
> Don't know.

I have just noticed that (independent of the second issue) when
placing several items of:

1.) \tikz \draw (0,0)--(4,2);
    works OK in both LaTeX and ConTeXt
2.) \begin{tikzpicture} \draw (0,0)--(4,2); \end{tikzpicture}
    works OK in LaTeX
3.) \starttikzpicture \draw (0,0)--(4,2); \stoptikzpicture{}
    works OK in ConTeXt
4.) \starttikzpicture \draw (0,0)--(4,2); \stoptikzpicture
    creates an infinitely long line in ConTeXt

Does that ring a bell to anyone? (It must be something trivial like
eating any spaces after \commandsequence, but I don't know what
exactly.)

>> I also don't like the behaviour in
>>   \placefigure{title}{\starttikzpicture ... \stoptikzpicture}
>> that has to be surrounded with
>>   \hbox{\starttikzpicture ... \stoptikzpicture}
>> else the figure gets placed at the beginning of line instead of being
>> centered.
>
> This is what is happening. The pgf code basically boils down to this.
>
> \starttext
> \newbox\pgfpic
>
> \setbox\pgfpic\hbox to 10pt\bgroup abc \egroup
>
> \placefigure
>  {testing box placement}
>  {\leavevmode\raise-2pt\box\pgfpic}
>
> \stoptext
>
> Now since \placefigure internally places its contents in a \vbox, this boils
> down to a differnce beween
>
> \hbox to \textwidth {\hss \vbox{\hbox{abc}} \hss}
>
> \hbox to \textwidth {\hss \vbox{\leavevmode\raise-2pt \hbox{abc}} \hss}
>
> So, the solution is to either patch \placefigure so that
>
> \def\setlocalfloatdimensions#1%
>  {...
>  \global\setbox\floatbox\hbox% was \vbox
>  ....}
>
> or redefine \pgfsys@typesetpicturebox to
>
> \def\pgfsys@typesetpicturebox#1{%
>  ....
>  \hbox{\leavevmode\raise-\pgf@x\box#1}%\hbox added
> }
>
>
> The redefinition at ConTeXt will break some existing documents (i.e., the
> authors will have to manually add a \vbox where there was none earlier). The
> redefinition at tikz end will make all pgf code run slightly slower (an
> extra hbox for each typeset pgfpicture)
>
> If neither of these is acceptable, then we can have a simple wrapper around
> \start-stop tikzpicture:
>
> \def\startTIKZcode{\hbox\bgroup\starttikzpicture}
> \def\stopTIKZcode {\stoptikzpicture\egroup}
>
> which will only affect ConTeXt code.

Would it affect anyone if TikZ would generate an hbox instead of vbox
(at least in ConTeXt)?

That means ... instead of
    \let\starttikzpicture=\tikzpicture
    \let\stoptikzpicture=\endtikzpicture
having
    \def\starttikzpicture{\hbox\bgroup\tikzpicture}
    \def\stoptikzpicture{\endtikzpicture\egroup}

(I admit that I don't understand all the tiny bits, for example when
one would prefer to have vbox, so I might be missing the whole
picture.)

Mojca

------------------------------------------------------------------------------
_______________________________________________
pgf-users mailing list
pgf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pgf-users

  parent reply	other threads:[~2009-07-22 12:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6faad9f00907211140j11ce2c4xa41d1b443abcf3c7@mail.gmail.com>
2009-07-22  1:08 ` Aditya Mahajan
2009-07-22 11:16   ` Hans Hagen
2009-07-22 12:05   ` Mojca Miklavec [this message]
2009-07-22 17:46     ` [NTG-context] " Aditya Mahajan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6faad9f00907220505q85d8090id6b05fa358771b1@mail.gmail.com \
    --to=mojca.miklavec.lists@gmail.com \
    --cc=ntg-context@ntg.nl \
    --cc=pgf-users@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).