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
next prev 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).