Huh? This:
\starttext \newdimen\scale \scale\1mm \def\rule#1{\hrule width #1\scale} \rule{10} but you made this \def\scale{1mm} \def\rule#1{\hrule width #1\scale} \rule{10} \stoptext Got me this error: ! Undefined control sequence. l.4 \newdimen\scale \scale\1 mm What am I missing? On Jun 7, 2007, at 3:16 AM, Wolfgang Schuster wrote: > On Wed, 06 Jun 2007 19:42:26 -0400 > Aditya Mahajan <[EMAIL PROTECTED]> wrote: > >> Hi, >> >> How can I make \framed ignore the width of the rule? I am trying to >> typeset internet protocol headers, but I cannot fully get what I >> want. >> Here is my attempt: >> >> \unprotect >> >> \makecounter{v!protocolheaderlength} >> >> \defineframed[protocolfieldheader] >> [location=lohi,height=3 >> \lineheight,offset=none,strut=yes] >> >> >> \def\startprotocolheader >> {\dodoubleempty\dostartprotocolheader} >> >> \def\dostartprotocolheader[#1][#2]% >> {\getparameters[c!protocol][#1]% >> \let\field\protocolheaderfield >> \resetcounter{v!protocolheaderlength}% >> \vbox\bgroup >> % \ruledvbox\bgroup >> \removeunwantedspaces >> \dontleavehmode >> \protocolfieldheader[frame=on,width=\c!protocolbits\c! >> protocolunitsize]% > > \protocolfieldheader[frame=on,width=\dimexpr\c!protocolunitsize* > \c!protocolbits\relax]% > >> {\let\\\crlf\bold #2}\crlf} >> >> \def\stopprotocoloheader >> {\egroup} >> >> \def\protocolheaderfield#1#2% >> {\doif{\countervalue{v!protocolheaderlength}}{\c!protocolbits} >> {\resetcounter{v!protocolheaderlength}\crlf}% >> \removeunwantedspaces >> \dontleavehmode >> \protocolfieldheader[width=#1\c!protocolunitsize]{\let\\\crlf #2 >> \\(#1)}% > > \protocolfieldheader[width=\dimexpr\c!protocolunitsize*#1\relax] > {\let\\\crlf #2\\(#1)}% > >> \incrementcounter{v!protocolheaderlength}{#1}} >> >> >> \protect >> >> % \showstruts >> % \showboxes >> >> \starttext >> >> >> % Why should unitsize=1mm. Are things being scaled by another factor? >> \startprotocolheader[bits=16,unitsize=1mm][General MAC Headers] > > \startprotocolheader[bits=16,unitsize=1cm][General MAC Headers] > >> \field {1} {HT} >> \field {1} {EC} >> \field {6} {Type} >> \field {1} {ESF} >> \field {1} {CI} >> \field {2} {EKS} >> \field {1} {Rsv} >> \field {3} {LEN MSB} >> \field {8} {LEN LSB} >> \field {8} {CID MSB} >> \field {8} {CID LSB} >> \field {8} {HCS} >> \stopprotocoloheader >> >> >> \stoptext >> >> >> Notice that all the lines are not of the same size. It seems that the >> rules of framed are causing the frame to be of a larger width. >> >> Also am I missing a scaling factor in width= expressions above. >> Everything looks fine with unitsize=1mm, but the final figure is >> clearly larger than 16mm. I am confused as to what is happening. >> >> Is there any better way to do this? >> >> Thanks, >> Aditya > > Hi Aditya, > > you wanted something like this > > \newdimen\scale \scale\1mm > \def\rule#1{\hrule width #1\scale} > \rule{10} > > but you made this > > \def\scale{1mm} > \def\rule#1{\hrule width #1\scale} > \rule{10} > > The length of the \hrule in the first example is 10pt (10 \times > 1pt = 10pt), > while in the second example it is 101pt width (10 & 1pt = 101pt). > > 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 : https://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 : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________