THANKS ADITYA! I got Wolfgang's solution first and it works great. But I think there are some things in your solution that I should try to learn about. :)
> -----Original Message----- > From: ntg-context [mailto:[email protected]] On Behalf Of Aditya > Mahajan > Sent: Wednesday, July 29, 2020 11:12 AM > To: mailing list for ConTeXt users > Subject: Re: [NTG-context] tabulate inside itemize > > On Wed, 29 Jul 2020, Mike Cooper wrote: > > > I would normally use tab stops and line breaks to achieve the following in a > numbered list: > > > > 1. DC = 3.20 bbl = 420 ft > > HWDP = 3.90 bbl = 450 ft > > DP = 34.63 bbl = 2,037 ft > > Totals = 41.73 bbl = 2,907 ft > > > > 2. [next step …] > > > > > > This is what I tried, but the output has a blank line at the number. I > > can’t find > anything about tabulate inside itemize. > > > > \starttext > > > > \startitemize[n] > > \startitem \starttabulate[|l|l|r|l|r|] > > \NC DC \NC = \NC 3.20 bbl \NC = \NC 420 > > ft \NC \NR > > \NC HWDP \NC = \NC 3.90 bbl \NC = \NC > > 450 ft \NC \NR > > \NC DP \NC = \NC 34.63 bbl \NC = \NC > > 2,037 ft \NC \NR > > \NC DC \NC = \NC 41.73 bbl \NC = \NC > > 2,907 ft \NC \NR > > \stoptabulate \stopitem > > \startitem Convert 2,907 to TVD: \\TVD = 2,907 × cosine 45° = > > 2,907 × > 0.707 = 2,056 ft \stopitem > > \startitem ΔP = 2,056 ft × 0.052 × (15 - 7.2) = 834 psi > > \stopitemize > > > > \stoptext > > Naive solution: Add a \hbox around tabulate: > > > \defineframed[tabulateframed][location=top,frame=off] > > \starttext > > \startitemize[n] > \startitem \dontleavehmode > \tabulateframed{\starttabulate[|l|l|r|l|r|] > \NC DC \NC = \NC 3.20 bbl \NC = \NC 420 > ft \NC \NR > \NC HWDP \NC = \NC 3.90 bbl \NC = \NC > 450 ft \NC \NR > \NC DP \NC = \NC 34.63 bbl \NC = \NC > 2,037 ft \NC \NR > \NC DC \NC = \NC 41.73 bbl \NC = \NC > 2,907 ft \NC \NR > \stoptabulate} \stopitem > \startitem Convert 2,907 to TVD: \\TVD = 2,907 × cosine 45° = > 2,907 × > 0.707 = 2,056 ft \stopitem > \startitem ΔP = 2,056 ft × 0.052 × (15 - 7.2) = 834 psi > \stopitemize > > \stoptext > > Normally, you can fix such issues by appending a \dontleavehmode in front of > the > command but that doesn't work here. The offending code is line 1300 of tabl- > tbl.mkxl: > > \unexpanded\def\tabl_tabulate_outside_before > {\ifhmode\par\fi > \ifhmode > \vbox\bgroup > \let\tabl_tabulate_outside_after \egroup > \let\tabl_tabulate_outside_inbetween\relax > \orelse\ifinner > \let\tabl_tabulate_outside_after \relax > \let\tabl_tabulate_outside_inbetween\relax > \else > \whitespace > \tabulationparameter\c!before > \relax > \let\tabl_tabulate_outside_after \tabl_tabulate_outside_after_indeed > > \let\tabl_tabulate_outside_inbetween\tabl_tabulate_outside_inbetween_indeed > \fi} > \protect > > When you use \dontleavehmode\starttabulate, \starttabulate starts in > horizontal > mode but the first \par in the above command takes it back to vertical mode. > The > next \ifhmode then evaluates to false, \ifinner also evaluates to false, so > we enter > the \else loop which inserts a \whitespace. > > The reason why adding a \hbox{...} (which is what \framed without an align key > does) works is because inside an \hbox{...} \par doesn't take TeX back to > vertical > mode. So, we enter the first branch. > > Aditya ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
