InternalMemoToCedarInterestDateSeptember15,1982FromBillPaxtonLocationPARC/ISLSubjectFancytabsFileTiogaTabs.tiogaXEROXReleaseas[Indigo]Documentation>TiogaTabs.tiogaLasteditedbyPaxton,September15,19827:33amAbstractThisisaspecificationforfancytabsinTioga.IntroductionTabsarenotasubstituteforgeneralalignmentfacilites,buttheyarerelativelyeasytoimplementandcanhandleasubstantialsetofformattingproblems.Thegeneralfacilitiestosupporttablesandotherstructuredobjectswon'tbeavailableuntil'83,soIproposetoimplement"fancytabs"nowratherthanwaiting.Thesewillallowbothachoiceofalignmentandafillpatternforeachtabsetting.Thealignmentswillincludeflushleft,flushright,centered,andcharacteraligned.Thefillchoiceswillprovideforleadersandrulesinthetabgap.ThisfunctionalityisessentiallythatofBravoXwithafewgeneralizations.SpecificationFollowingtheusualTiogaconvention,theformattinginformationforthetabwillbecontainedinthestyle.Thetabcharactersinthedocumentwillnothaveanyspeciallooks;theysimplyservetoseparatesectionsoftext.Thestyledetermineswherethetabstopsarelocatedandthepropertiesofeachstop.Thelocationsaregiveninthestyleasadistancewhichisrelativetoeithertheleftmarginortheleftofthepageorviewer.Thepropertiesgovernalignmentandfill.LocationsfortabstopsThefirsttabinalineoftextwillbeinterpretedaccordingtothestyleforthefirsttabstop,thesecondtabaccordingtothesecondtabstop,etc.Thismaysoundobvious,butitisn't.Itisunlikethecommoninterpretationwhich,likeatypewriter,findsthenexttabstopafterthecurrentlocation.Ourinterpretationissuperiorbecauseitallowstheusertoknowthemappingfromtabcharactertotabstopindependentofthewidthofthetexttotheleftofthetab.Theminimumwidthforatabisonespaceinthecurrentfont.Youaregivencontrolinthestyleoverwhattodoifthereisnotenoughroomavailableforthetab(i.e.,thelocationonthelinewherethetabisencountereddoesn'tleaveroomforaspacebeforethedesiredtabstop).Thedefaultistotreatthetablikea(fixedwidth)space.However,thereisalsoanoptiontotreatit1p aq ^r^ q+^r6^s<^=^r>L^?)^q Z3rZ3q+Z3r6Z3s:Z3;Z3q VOrVOq+VOr6VOt{Nq MDUr D,q MC r Cs%CC!%$k'zq M@s @' "&)v+$p M<^ r 9 G #*E /2D5g7 =@B 7]XQn 1 A! (/o2;7 hBF 4"3 $(%)o-/699:Z<ACG/ 2g L#'&)_,0s6W9 >DGh 0[ #s&(+2-1c4 <>C DG /p M* r '=[K $'3 . 57:\<?AG % R  n");+.\14D8<?DXG $C' !  "j%(.,/1 8_:=;AC d"&)',t."24o6;=Z?B/CFH qq !'*u  >rK;& j#% ,52~4669< >AkCG/H $'=*. 1I4q8>J@BjFH#4 "&)* 1y47$: CG/ "$'*,/13g58;9CIEH9v)TVm$> !$v)TVm$)l,J/27B8<> DGv)TVm$279 AnCG/v)TVm$likeacarriagereturntocausealinebreak.Thelinebreakoptionisusefulinsituationssuchasformatsfordescriptionsinwhichthewordorphrasebeingdescribedappearsatthestartofanode,followedbyatabandthedefiningtext.Thetabstopislocatedatthesamedistancerelativetotheleftmarginasthehangingindentfortheotherlinesoftheparagraph.Forshortitems,thetextafterthetabwillstartonthefirstlinewiththesameindentasthefollowinglines.Forlongitemsinwhichtheinitialwordorphraseextendsbeyondtheamountofhangingindent,thetabwillcausealinebreaksothatthedescriptionwillstartonthenextline.AlignmentfortabsTabstopscanhaveeitherflushleft,flushright,centered,orcharacteralignment.Foraflushlefttab,lineformattingcontinuesfromthelocationofthestop.Fortheothercases,thesystemfirstfindstheblockoftextuptothenexttab,carriagereturn,orendofnode.Thisblockisthenshiftedleftfromthestopuntilthedesiredalignmentisachieved.Iftheblockoftextistoobigtobealignedwhilestillleavingagapofatleasttheminimumsize,thetabistreatedlikeafixedwidthspaceoracarriagereturnasdescribedabove.Forflushright,thedesiredalignmentistohavetherightofthetextatthestoplocation.Forcentered,itistohavethecenterofthetextatthestop.Forcharacteralignment,thepartoftheblockuptobutnotincludingthespecifiedcharacterissetflushrighttothestopwiththerestoftheblockimmediatelyfollowing.Atypicaluseofcharacteralignmentistoprovidedecimallyalignednumbers.FillfortabsYoumayspecifyinthestylewhatfill,ifany,istoappearinthegapleftforthetab.Thechoicesforfillareasfollows:blankputnothinginthegap.leadersrepeataspecifiedcharactertofillthegap.rulesdrawoneormorehorizontallinesinthegap.Forleaders,youmayspecifyboththecharactertorepeatandthespacingbetweenrepetitions.Youmayalsochooseeithercenteredorcongruentplacementofthecharacters.Theformermeansthatthesequenceofcharacterswillbecenteredinthetabgap.Thelattermeansthatthesequencewillbebeginatalocationonthepageorviewerwithahorizontalcoordinateequaltozeromodulothespacingsothatdifferentlinesofleaderswillbealignedindependentoftheirstartorendpositions.Forrules,youmayspecifyboththethicknessofthelineanditsverticaloffsetfromthebaseline(positiveornegative).Therulesaredrawnthefullwidthofthegapcreatedforthetab.LooksassociatedwithtabstopsTablesoftenusespecialformattingsuchasputtingthefirstcolumninavariablepitchtextfont,othersinafixedpitchfontfornumbers,andperhapsthefinalcolumninboldfacetohighlightvarioustotals.Bydefiningdefaultlooksforthevarioustabstops,wecangetthiseffectwithouthavingtoaddanyexplicitlookstotheentries.Thedefaultlooksforagiventabstopareautomaticallyappliedtothetextfollowingthetabuptothenexttabortheendoftheline.Forexample,ifatabstophaddefaultlook"b",thenthetextinthecolumndefinedbythatstopwouldautomaticallyappearinboldface.Defaulttabstops2rb)> !$o_C"$A *\-/24-6f =?CFo^K%&)7,^.//p3S9;"AD!o\[=2N")#&\)/a4\6(8;6@ADMoZW. #D *-I047$9=?rADzGoY 0 % &)Q/u36l9=S?C2EoWe?J#>%*,16}8;P>ABEoU3a s #.%4'*u RiDvrOT!e$*'+7128 ?BCGM} A k#&2+i-!/K{![$3'*-/}244F58S;b>CDGIjk!&e(,-.1r47;B%CH,\x :!#(,U.347p9&:=@9FFn9 )$ ')*/45;oD7 `&(7)-,/2469;F=@oAYs"&='*U- .1o?  b!$&n(,.0e25f;=Co=_fd #&2(*,0 8| ?g@EbGo;X/#*.u 8c8jr5 C#%&)+-,1N25G7:I<|>AD3Lsto1uE*o o.*T!&(*--o,v# & &)+-) #&u,z.E25e7<Bs (O$o&,346 > @EK& #n%H*,Y.04:6:y>A^C% 1!$c').g13 9 @DF#Y&s8$').P027 ?AqDG! 2t.5"$v*a,.1935:>vADBa $"Y$(+E-13k58k=5?rAu 6 quroz #'(-0279:@CFH<'80!w'*K/15%:$;?BC k#'O)+03'79.;> @Dy#q%]'-059<=wAhDG; fo"$(4*,.0368p:1<?C@CVF*Lf>$'A*f-0-347Ttellshowtofillthegapleftforthetab.Thedefaultforisblank.Alignments=flushLeft|flushRight|centered|aligned=asinglecharacterstringsuchas"."Fill=blank||rule|{}rules=[][centered|congruent]leadersTheisthecharactertoberepeatedinthetabgap.The'senclosenamesofdefineditems,and|'sseparatealternatives.SettingatabstopTocreateatabstopaspartofastylerule,includeastatementoftheform=tabStopwhere=anumbersuchas2.5inor32pt,and=[][][][]Thetellshowthetextfollowingthetabistobealignedrelativetothetablocation.ThedefaultforisflushLeft.Thetellshowtofillthegapleftforthetab.Thedefaultforisblank.Thetellswhattodoifyouarealreadybeyondthetabstopintheline.Thedefaultistotreatthetablikeafixedwidthspace.=looksThecontainsthe(lowercase)lettersforthedefaultlooks.Alignments=flushLeft|flushRight|centered|aligned=asinglecharacterstringsuchas"."Fill=blank||rule|{}rules=[][centered|congruent]leadersTheisthecharactertoberepeatedinthetabgap.Theisthedistancebetweenthecharacters.Ifisomitted,thesystemwillpicksomethingpleasingsuchastwicethecharacterwidth.Congruentleadersarethedefault.=Theisthethicknessofthehorizontalline.Theistheverticaldistancefromthebaselinetothebottomoftheruleandmaybeeitherpositiveornegative.Whattodoifpastthetabstop=breakIfPast|spaceIfPastTheformermeanstreatthetablikeacarriagereturnandthelattermeanstreatitlikeaspace.Miscellaneouscommands3rb)j 4$&5(/;0w3L468AD`Y1!2#%9)/`16A:x<BG^s!&d'+-r.49:=?BF]3k!$(*.15=79>c?A D [J) !p MWfvr T3{ '),G2,36 9c;0?CG/ Rm """$)z.235:>@E Pev u MsurJ58biM!"/%`(-o.468oH1  &EoC6 B!s#!%^' (*,o@q $V ,/ >;n{ #),'.0138=x?0AD<PU :!]#%(*-7/25:R<BD7  !#]%' ),^1U6c8;j>@YBF5x# #.$W'+o3s <!W0B '+.0~5&w.1 ro+7 #$**/_o)5 $')xw&pro#tI&".# 'C**,-02o!tw\ &'e .@d!#:% *,S.04c70;(<>D O% Z!,&(-W/29>BCG/v"Q&)K+o*_zG#/$'H -1^46899<@F(/|+!S# %l(D*-/38:wAv[,ro g   EA^!#&',03y59E=u@ADlEu v)jTVm$upsToreadthecurrentspecificationfordefaulttabstops,usethefollowingstatementtopushafulldescriptionontheJaMstack=thedefaultTabStopsClearingstopsThecommandclearTabStopswillremovealltabstops.Thisshouldbeusedbeforeyoustartmakingnewsettings.FixedorrelativetabstopsTocontroltheinterpretationoftablocations,useeitherofthesestatements:=relativetabStops|fixedtabStopsRelativemeansthattablocationsaremeasuredfromthelSettingdefaulttabstopsTosetthedefaulttabstops,useastatementoftheform=defaultTabStopsToreadthecurrentspecificationfordefaulttabstops,usethefollowingstatementtopushafulldescriptionontheJaMstack=thedefaultTabStopsClearingstopsThecommandclearTabStopswillremovealltabstops.Thisshouldbeusedbeforeyoustartmakingnewsettings.FixedorrelativetabstopsTocontroltheinterpretationoftablocations,useeitherofthesestatements:=relativetabStops|fixedtabStopsRelativemeansthattablocationsaremeasuredfromtheleftmargin.Fixedmeansthattheyaremeasuredfromtheleftedgeofthepageorviewer.ReadingtabstopsfordebuggingpurposesYoucanreadthecurrenttabsettingsbyusingthefollowingstatement.=forEachTabStopForeachtabstop,thispushesafulldescriptionontheJaMstackandthenexecutes.4wb&;ro_ #e$*,~.]0 fKN$oZW9 $4&+I-14;6<C*DHeoY  r V fKwSroQVW !$u)n+n-2W5: < ?YCFoOXFwL]roJrI !H#%` +s-137 G fK*$%) oE|?!$d&-035;D?DCFoC_ 3#z%3'*,wA^9!ro>~ $M!&(,;.4 < fK o9K"%#O% ,.1R4l7:=C7v)*TVm$g TIMESROMAN HELVETICA TIMESROMANLOGOLAUREL TIMESROMAN TIMESROMAN TIMESROMANY TiogaTabs.press 7-Sep-82 10:21:56j/!NTiogaTabs.press15-Sep-82 8:02:43