Hi. I'm trying to figure out the limitation of \start/stophangaround commands. 1. Is it correct that currently the figure could be placed only on left? If so is it easy to extend the command to allow placing figure at right side? 2. Is there way to increase/decrease the space between the text and image? 3. Is it correct that hangaround command is tricky hack that change normal flow? I prepare simple example (it is attached). 1) is obvious from the example (default behavior I assume). 3): I got the '2.' not on left side as 1) and 3) but on left side of text block right after image. Another example if 3): if I put empty line between \starthangaround and \input (see the file) then there would be mess. P.S. I tried the example with MkIV only. --- WBR, Vladimir Lomov
Hi.
I'm trying to figure out the limitation of \start/stophangaround commands.
1. Is it correct that currently the figure could be placed only on left? If so is it easy to extend the command to allow placing figure at right side? 2. Is there way to increase/decrease the space between the text and image? 3. Is it correct that hangaround command is tricky hack that change normal flow?
Hi.
Some answers I found myself :)
2010/10/26 Vladimir Lomov
Am 03.11.2010 um 05:47 schrieb Vladimir Lomov:
Hi.
Some answers I found myself :)
P.S. I have feeling that feature like 'hangaround' doesn't fit well with tex (page layout ...?) model.
Hangaround is a very robust command and works in more cases than \placefigure[left] but you have a conflict with the \item command which place the itemize symbol before the following text which is indented in your case. \unprotect \def\stophangaround {\endgraf \egroup} \def\starthangaround {\dosingleempty\dostarthangaround} \def\dostarthangaround[#1]% {\doifelse{#1}{\v!right} {\dostartrighthangaround} {\dostartlefthangaround }} \def\dostartlefthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent\nextboxwd \hangafter-\noflines \llap{\flushnextbox}\ignorespaces} \hbox} \def\dostartrighthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\hskip\@@hadistance\flushnextbox}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent-\nextboxwd \hangafter-\noflines \rlap{\hskip\hsize\llap{\flushnextbox}}\ignorespaces} \hbox} \protect \starttext \starthangaround{\externalfigure[cow][scale=500]} \input tufte \stophangaround \blank \starthangaround[right]{\externalfigure[cow][scale=500]} \input tufte \stophangaround \stoptext Wolfgang
Hello Wolfgang.
2010/11/3 Wolfgang Schuster
Am 03.11.2010 um 05:47 schrieb Vladimir Lomov:
Hi.
Some answers I found myself :)
P.S. I have feeling that feature like 'hangaround' doesn't fit well with tex (page layout ...?) model.
\unprotect
\def\stophangaround {\endgraf \egroup}
\def\starthangaround {\dosingleempty\dostarthangaround}
\def\dostarthangaround[#1]% {\doifelse{#1}{\v!right} {\dostartrighthangaround} {\dostartlefthangaround }}
\def\dostartlefthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent\nextboxwd \hangafter-\noflines \llap{\flushnextbox}\ignorespaces} \hbox}
\def\dostartrighthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\hskip\@@hadistance\flushnextbox}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent-\nextboxwd \hangafter-\noflines \rlap{\hskip\hsize\llap{\flushnextbox}}\ignorespaces} \hbox}
\protect
\starttext
\starthangaround{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\blank
\starthangaround[right]{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\stoptext Thank you Wolfgang, nice example, ... of code and output, of course.
Hangaround is a very robust command and works in more cases than \placefigure[left] but you have a conflict with the \item command which place the itemize symbol before the following text which is indented in your case. And even if I use <code> \startitemize[n,inmargin] </code> I got 2 not in margin. Something similar I know about wrapfig package for LaTeX. It could 'wrap' text around figure or table while it couldn't work within list environment (start/stop).
Ok, that only means that I don't understand how lists and this 'environment' work. --- WBR, Vladimir Lomov
On Wed, Nov 3, 2010 at 7:51 AM, Wolfgang Schuster < schuster.wolfgang@googlemail.com> wrote:
Am 03.11.2010 um 05:47 schrieb Vladimir Lomov:
Hi.
Some answers I found myself :)
P.S. I have feeling that feature like 'hangaround' doesn't fit well with tex (page layout ...?) model.
Hangaround is a very robust command and works in more cases than \placefigure[left] but you have a conflict with the \item command which place the itemize symbol before the following text which is indented in your case.
\unprotect
\def\stophangaround {\endgraf \egroup}
\def\starthangaround {\dosingleempty\dostarthangaround}
\def\dostarthangaround[#1]% {\doifelse{#1}{\v!right} {\dostartrighthangaround} {\dostartlefthangaround }}
\def\dostartlefthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent\nextboxwd \hangafter-\noflines \llap{\flushnextbox}\ignorespaces} \hbox}
\def\dostartrighthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\hskip\@@hadistance\flushnextbox}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent-\nextboxwd \hangafter-\noflines \rlap{\hskip\hsize\llap{\flushnextbox}}\ignorespaces} \hbox}
\protect
\starttext
\starthangaround{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\blank
\starthangaround[right]{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\stoptext
Wolfgang
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
Dear ConTeXt list, I apologize for digging up an old thread. I was searching for \starthangaround[right] and found this thread. I tried the code that Wolfgang gave in this thread but I guess something has changed since then, because it does not work with latest minimals. Would it be possible to get (a working) version of \starthangaround[right]? I think it even would be nice to have it in the core. As a minimal nonworking example, see the email from Wolgang in this thread. With best regards, Mikael
Hi Mikael,
The example given by Wolfgang works fine for me with mkii, but not in mkiv: probably something has changed in mkiv, for example the way [scale=500] must be used in mkiv.
Best regards: OK
On 6 déc. 2012, at 10:58, "Mikael P. Sundqvist"
On Wed, Nov 3, 2010 at 7:51 AM, Wolfgang Schuster
wrote: Am 03.11.2010 um 05:47 schrieb Vladimir Lomov:
Hi.
Some answers I found myself :)
P.S. I have feeling that feature like 'hangaround' doesn't fit well with tex (page layout ...?) model.
Hangaround is a very robust command and works in more cases than \placefigure[left] but you have a conflict with the \item command which place the itemize symbol before the following text which is indented in your case.
\unprotect
\def\stophangaround {\endgraf \egroup}
\def\starthangaround {\dosingleempty\dostarthangaround}
\def\dostarthangaround[#1]% {\doifelse{#1}{\v!right} {\dostartrighthangaround} {\dostartlefthangaround }}
\def\dostartlefthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent\nextboxwd \hangafter-\noflines \llap{\flushnextbox}\ignorespaces} \hbox}
\def\dostartrighthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\hskip\@@hadistance\flushnextbox}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent-\nextboxwd \hangafter-\noflines \rlap{\hskip\hsize\llap{\flushnextbox}}\ignorespaces} \hbox}
\protect
\starttext
\starthangaround{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\blank
\starthangaround[right]{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\stoptext
Wolfgang
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
Dear ConTeXt list,
I apologize for digging up an old thread. I was searching for \starthangaround[right] and found this thread. I tried the code that Wolfgang gave in this thread but I guess something has changed since then, because it does not work with latest minimals. Would it be possible to get (a working) version of \starthangaround[right]? I think it even would be nice to have it in the core.
As a minimal nonworking example, see the email from Wolgang in this thread.
With best regards, Mikael ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
On Thu, Dec 6, 2012 at 11:44 AM, Otared Kavian
Hi Mikael,
The example given by Wolfgang works fine for me with mkii, but not in mkiv: probably something has changed in mkiv, for example the way [scale=500] must be used in mkiv.
Best regards: OK
On 6 déc. 2012, at 10:58, "Mikael P. Sundqvist"
wrote: On Wed, Nov 3, 2010 at 7:51 AM, Wolfgang Schuster < schuster.wolfgang@googlemail.com> wrote:
Am 03.11.2010 um 05:47 schrieb Vladimir Lomov:
Hi.
Some answers I found myself :)
P.S. I have feeling that feature like 'hangaround' doesn't fit well with tex (page layout ...?) model.
Hangaround is a very robust command and works in more cases than \placefigure[left] but you have a conflict with the \item command which place the itemize symbol before the following text which is indented in your case.
\unprotect
\def\stophangaround {\endgraf \egroup}
\def\starthangaround {\dosingleempty\dostarthangaround}
\def\dostarthangaround[#1]% {\doifelse{#1}{\v!right} {\dostartrighthangaround} {\dostartlefthangaround }}
\def\dostartlefthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent\nextboxwd \hangafter-\noflines \llap{\flushnextbox}\ignorespaces} \hbox}
\def\dostartrighthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\hskip\@@hadistance\flushnextbox}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent-\nextboxwd \hangafter-\noflines \rlap{\hskip\hsize\llap{\flushnextbox}}\ignorespaces} \hbox}
\protect
\starttext
\starthangaround{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\blank
\starthangaround[right]{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\stoptext
Wolfgang
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
Dear ConTeXt list,
I apologize for digging up an old thread. I was searching for \starthangaround[right] and found this thread. I tried the code that Wolfgang gave in this thread but I guess something has changed since then, because it does not work with latest minimals. Would it be possible to get (a working) version of \starthangaround[right]? I think it even would be nice to have it in the core.
As a minimal nonworking example, see the email from Wolgang in this thread.
With best regards, Mikael
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
Hi Otared, thank you for your answer. I work in mkiv, so I have to wait for a fix if there will be one. (I work in a two-column document, so \placefigure[right]... does not work, it seems, otherwise I could have used that) Best regards, Mikael
Am 06.12.2012 um 11:44 schrieb Otared Kavian
Hi Mikael,
The example given by Wolfgang works fine for me with mkii, but not in mkiv: probably something has changed in mkiv, for example the way [scale=500] must be used in mkiv.
The definitions of commands/environments have changed in MkIV, as you can see in the following example there are differences between the MkII and MkIV version of the same command. \starttexcode \def\mkiiemphasized {\dosingleempty\domkiiemphasized} \def\domkiiemphasized[#1]#2% {\getrawparameters[mkiiemphasized][style=,color=,#1] \doattributes{mkiiemphasized}{style}{color}{#2}} \def\mkivemphasized {\dosingleempty\mkivemphasized_direct} \def\mkivemphasized_direct[#1]#2% {\begingroup \getdummyparameters[#1]% \usedummystyleandcolor\c!style\c!color #2% \endgroup} \stoptexcode \starttext \mkiiemphasized[style=bold,color=green]{\MKII} \mkivemphasized[style=italic,color=red]{\MKIV} \stoptext Wolfgang
On 12/6/2012 10:58 AM, Mikael P. Sundqvist wrote:
On Wed, Nov 3, 2010 at 7:51 AM, Wolfgang Schuster
mailto:schuster.wolfgang@googlemail.com> wrote: Am 03.11.2010 um 05:47 schrieb Vladimir Lomov:
> Hi. > > Some answers I found myself :) > > P.S. I have feeling that feature like 'hangaround' doesn't fit well > with tex (page layout ...?) model.
Hangaround is a very robust command and works in more cases than \placefigure[left] but you have a conflict with the \item command which place the itemize symbol before the following text which is indented in your case.
\unprotect
\def\stophangaround {\endgraf \egroup}
\def\starthangaround {\dosingleempty\dostarthangaround}
\def\dostarthangaround[#1]% {\doifelse{#1}{\v!right} {\dostartrighthangaround} {\dostartlefthangaround }}
\def\dostartlefthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\flushnextbox\hskip\@@hadistance}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent\nextboxwd \hangafter-\noflines \llap{\flushnextbox}\ignorespaces} \hbox}
\def\dostartrighthangaround {\noindent\bgroup \dowithnextbox {\ifdim\nextboxht>\strutht\setbox\nextbox\tbox{\flushnextbox}\fi \setbox\nextbox\hbox{\hskip\@@hadistance\flushnextbox}% \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \nextboxht\strutht \nextboxdp\strutdp \hangindent-\nextboxwd \hangafter-\noflines \rlap{\hskip\hsize\llap{\flushnextbox}}\ignorespaces} \hbox}
\protect
\starttext
\starthangaround{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\blank
\starthangaround[right]{\externalfigure[cow][scale=500]} \input tufte \stophangaround
\stoptext
as mkiv has a starthangaround but uses a different parameter handler, this works: \unexpanded\def\starthangaround {\dontleavehmode\bgroup \dosingleempty\spac_hanging_around_start} \def\spac_hanging_around_start[#1]% {\edef\m_spac_hanging_location{#1}% \dowithnextboxcs\spac_hanging_around_finish\hbox} \def\spac_hanging_around_finish {\scratchdistance\directhangingparameter\c!distance\relax \ifdim\ht\nextbox>\strutht \setbox\nextbox\tbox{\box\nextbox}% \fi \getboxheight\scratchdimen\of\box\nextbox \getnoflines\scratchdimen \ht\nextbox\strutht \dp\nextbox\strutdp \hangafter-\noflines \scratchwidth\dimexpr\wd\nextbox+\scratchdistance\relax \ifx\m_spac_hanging_location\v!right \hangindent-\scratchwidth \rlap{\hskip\dimexpr\hsize-\wd\nextbox\relax\box\nextbox}% \else \hangindent\scratchwidth \llap{\box\nextbox\hskip\scratchdistance}% \fi \ignorespaces} i adapted the core code
Wolfgang
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl mailto:ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
Dear ConTeXt list,
I apologize for digging up an old thread. I was searching for \starthangaround[right] and found this thread. I tried the code that Wolfgang gave in this thread but I guess something has changed since then, because it does not work with latest minimals. Would it be possible to get (a working) version of \starthangaround[right]? I think it even would be nice to have it in the core.
As a minimal nonworking example, see the email from Wolgang in this thread.
With best regards, Mikael
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hi, I combined some functionality into: \showframe \starttext \starthanging{\externalfigure[cow][scale=500]} \input tufte \stophanging \blank \starthanging[right]{\externalfigure[cow][scale=500]} \input tufte \stophanging \blank \starthanging[location=right,n=2,distance=1cm]{\externalfigure[cow][scale=500]} \input tufte \stophanging \stoptext after all, these were yet unofficial commands Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (6)
-
Hans Hagen
-
Mikael P. Sundqvist
-
Otared Kavian
-
Vladimir Lomov
-
Wolfgang Schuster
-
Wolfgang Schuster