tbl(1)
NAMN
tbl – förbered tabeller för groff-dokument
SYNOPSIS
tbl [-C] [fil ...] tbl --help tbl -v tbl --version
BESKRIVNING
GNU-implementationen av tbl är en del av dokumentformateringssystemet groff(1).
tbl är en förprocessor för troff(1). Den översätter tabellbeskrivningar inbäddade i roff(7)-indata till ett språk som förstås av troff.
Programmet kopierar varje fils innehåll till standardutdata och omvandlar varje tabellregion mellan rader som börjar med:
.TS .TE
till instruktioner för GNU troff.
GNU tbl har en indatasyntax som är mycket kompatibel med AT&T tbl, men den utdata som GNU tbl producerar kan inte behandlas av AT&T troff. GNU troff, eller en troff som implementerar de GNU-utökningar som används, måste användas.
Normalt körs tbl inte direkt av användaren. I stället anropas den via groff(1) med optionen:
-t
Om inga filoperander anges, eller om fil är:
-
läser tbl från standardindata.
ÖVERSIKT
tbl förväntar sig tabellbeskrivningar mellan indatarader som börjar med:
.TS .TE
Varje sådan tabellregion omsluter en eller flera tabellbeskrivningar.
Inom en tabellregion måste tabellbeskrivningar efter den första föregås av en rad som börjar med:
.T&
Detta startar inte en ny tabellregion. Alla tabellbeskrivningar betraktas som del av samma .TS/.TE-omslutning, även om de är inramade eller har kolumnrubriker som upprepas på efterföljande sidor.
Erfarna roff-användare bör observera att tbl inte är en roff-tolk.
Det förvalda styrtecknet måste användas, och inga mellanslag eller tabbar får finnas mellan styrtecknet och makronamnet.
Token som .TS, .T& och .TE blir kvar i utdata, där de fungerar som vanliga makroanrop.
Makropaket definierar ofta makrona:
TS T& TE
för att hantera tabellers placering på sidan.
Om de inte är definierade när formateraren möter en tabellregion skapar tbl troff-begäranden som definierar dem som tomma makron.
Varje tabellregion kan börja med regionoptioner och måste innehålla en eller flera tabelldefinitioner.
Varje tabelldefinition innehåller:
- en formatbeskrivning
- en eller flera indatarader med tabellposter
Dessa poster utgör tabellens data.
REGIONOPTIONER
Raden direkt efter .TS kan ange regionoptioner.
Dessa är nyckelord som påverkar tolkningen eller renderingen av hela regionen, eller alla tabellposter i den.
Flera regionoptioner separeras med:
- kommatecken
- mellanslag
- tabbar
Optioner som tar argument inom parentes tillåter mellanslag och tabbar mellan optionsnamnet och den öppnande parentesen.
Optioner ackumuleras och kan inte stängas av inom regionen när de väl deklarerats.
Om en option med parameter upprepas gäller den sista förekomsten.
Om regionoptioner finns måste listan avslutas med semikolon:
;
Följande optioner gör tabellen “inramad”:
- allbox
- box
- doublebox
- frame
- doubleframe
allbox
Rama in varje tabellpost i en box.
Innebär även box.
box
Rama in hela tabellregionen.
GNU tbl känner igen frame som synonym.
center
Centrera tabellregionen relativt radlängden.
Indraget minskas vid behov, med varning vid formatering, för att tabellen ska få plats.
Standard är vänsterjustering.
GNU tbl känner igen centre som synonym.
decimalpoint(c)
Använd tecknet c som decimaltecken i kolumner med klassificeraren N.
Detta är en GNU-utökning.
delim(xy)
Använd tecknen x och y som start- och slutavgränsare för eqn(1)-indata och ignorera indata mellan dem.
x och y behöver inte vara olika.
doublebox
Rama in hela tabellregionen med dubbel ram.
Innebär box.
GNU tbl känner igen doubleframe som synonym.
expand
Bred ut tabellen horisontellt så att den fyller tillgängligt utrymme, alltså radlängd minus indrag, genom att öka kolumnavstånd.
Normalt görs tabellen bara så bred som behövs för poster och kolumnavstånd.
Om expand används på en tabell som överskrider tillgängligt utrymme minskar tbl kolumnavståndet så mycket som behövs, till och med till noll.
tbl skapar troff-indata som ger en diagnostik om sådan komprimering sker.
Kolumnmodifieraren x åsidosätter denna option.
linesize(n)
Rita linjer eller regler, exempelvis från box, med tjockleken n punkter.
Standard är aktuell textstorlek när regionen börjar.
Optionen har ingen effekt på terminalenheter.
nokeep
Använd inte roff-diversioner för att hantera sidbrytningar.
Normalt använder tbl sådana för att undvika sidbrytning mitt i en tabellrad.
Detta kan ibland fungera dåligt med makropakets egna diversioner, exempelvis fotnoter.
Detta är en GNU-utökning.
nospaces
Ignorera inledande och avslutande mellanslag i tabellposter.
Detta är en GNU-utökning.
nowarn
Undertryck diagnostiska meddelanden vid dokumentformatering när radlängd, indrag eller sidlängd inte räcker för en tabellrad.
Detta är en GNU-utökning.
tab(c)
Använd tecknet c i stället för tabb för att separera poster i en rad tabellindata.
TABELLFORMATBESKRIVNING
Tabellformatbeskrivningen är obligatorisk.
Den anger antalet kolumner och hur posterna ska sättas.
Formatbeskrivningen består av en serie kolumndeskriptorer.
Varje deskriptor består av:
- en klassificerare
- noll eller flera modifierare
Klassificerare är bokstäver eller skiljetecken och känns igen oberoende av skiftläge.
Modifierare består av, eller börjar med, bokstäver eller siffror.
Mellanslag, tabbar, radslut och kommatecken separerar deskriptorer.
Radslut och kommatecken gör att efterföljande deskriptorer gäller en senare rad i tabellen.
Denna grupp av kolumndeskriptorer kallas en raddefinition.
Formatbeskrivningen kan uppta flera indatarader, men måste avslutas med en punkt följd av radslut:
.
Varje raddefinition gäller i tur och ordning för en rad i tabellen.
Om det finns fler datarader än raddefinitioner används den sista raddefinitionen för återstående datarader.
För tydlighet skrivs klassificerare ofta med stora bokstäver och modifierare med små.
Exempel:
CbCb,LR.
definierar två rader med två kolumner.
Första radens poster centreras och skrivs i fet stil.
Andra och följande rader får vänster- respektive högerjusterad kolumn.
Den raddefinition som har flest kolumndeskriptorer bestämmer tabellens antal kolumner.
Raddefinitioner med färre kolumner utökas implicit med L-deskriptorer till höger tills tabellen blir rektangulär.
KOLUMNKLASSIFICERARE
Klassificerarna L, R och C är enklast att förstå och använda.
A eller a
Centrera den längsta posten i kolumnen.
Övriga poster i kolumnen vänsterjusteras i förhållande till den centrerade posten och dras därefter in en enhet, en en.
Sådana alfabetiska poster kan användas i samma kolumn som L-klassificerade poster.
Exempel:
LL,AR.
A-poster kallas ofta underkolumner.
C eller c
Centrera posten inom kolumnen.
L eller l
Vänsterjustera posten inom kolumnen.
N eller n
Numerisk justering.
tbl justerar kolumner med decimaltal vertikalt vid entalspositionen.
Om flera decimalavgränsare finns intill en siffra används den högra.
Om ingen decimalavgränsare finns används den högra siffran för vertikal justering.
Om inga siffror finns centreras posten i kolumnen.
Roffs dummytecken:
\&
kan användas i en post för att markera föregående tecken som entalsposition.
Om flera sådana markörer förekommer används den vänstra.
Om N-poster delar kolumn med L- eller R-poster centreras den bredaste N-posten i förhållande till den bredaste L- eller R-posten, samtidigt som N-posternas inbördes justering bevaras.
Decimaltecken i eqn-formler i N-kolumner kan störa justeringen.
Använd regionoptionen delim för att få tbl att ignorera data inom eqn-avgränsare.
R eller r
Högerjustera posten inom kolumnen.
S eller s
Spänn föregående post till vänster in i denna kolumn.
^
Spänn posten i samma kolumn från föregående rad in i denna rad.
_ eller -
Ersätt tabellposten med en horisontell enkel linje.
tbl förväntar sig en tom tabellpost för denna klassificerare.
Om data finns där ges ett diagnostiskt meddelande.
Om hela raddefinitionen består av sådana klassificerare behandlas den som en linjerad och ingen motsvarande data förväntas.
=
Ersätt tabellposten med en dubbel horisontell linje.
Reglerna är samma som för _.
|
Placera en vertikal linje på motsvarande rad i tabellen.
Två intilliggande | ger dubbel vertikal linje.
Denna klassificerare bidrar inte till kolumnantalet och har ingen motsvarande tabellpost.
En | till vänster om första kolumnen eller till höger om sista kolumnen ger en vertikal linje vid tabellkanten.
Detta är överflödigt och ignoreras i inramade tabeller.
ÄNDRA TABELLFORMAT INOM EN REGION
För att ändra tabellformat inom en tbl-region används token:
.T&
i början av en rad.
Följ med en formatbeskrivning och tabellindata, men inte regionoptioner.
Antalet kolumner i det nya formatet får inte öka jämfört med det föregående.
Om fler kolumner behövs måste tabellregionen avslutas och en ny startas.
Om detta inte fungerar på grund av ramar eller kolumnjusteringar bör den första formatbeskrivningen utformas med maximalt antal kolumner, och S användas för horisontell spanning där det behövs.
Horisontell spanning i första kolumnen eller vertikal spanning på första raden är fel.
tbl stöder inte icke-rektangulära spanning-områden.
KOLUMNMODIFIERARE
Valfritt antal modifierare kan följa en kolumnklassificerare.
Modifierarargument är skiftlägeskänsliga.
Om samma modifierare används flera gånger, eller om motstridiga modifierare anges, gäller endast den sista.
Modifieraren x är ömsesidigt uteslutande med e och w, men e och w kan användas tillsammans.
Om x kombineras med dem stänger x av både e och w. Om e eller w följer efter x åsidosätter de x.
b eller B
Sätt posten i fetstil.
Förkortning för:
f(B)
d eller D
Justera en vertikalt spänd tabellpost mot nederkanten av sitt område i stället för mitten.
Detta är en GNU-utökning.
e eller E
Gör kolumner med denna modifierare lika breda som den bredaste av dem.
Modifieraren sätter även standardradlängden som används i textblock.
f eller F
Välj teckensnitt för tabellposten.
Efter följer ett font- eller stilnamn, fontposition eller ett namn/position inom parentes.
Parentesformen med godtycklig längd är en GNU-utökning.
Parametern motsvarar den som accepteras av troff-begäran:
ft
Ett en-teckensargument utan parentes måste avsluta radbeskrivningen eller separeras från det som följer med minst ett mellanslag eller tabb.
i eller I
Sätt posten i kursiv eller lutande stil.
Förkortning för:
f(I)
m eller M
Anropa ett groff-makro före sättning av ett textblock.
Detta är en GNU-utökning.
Makronamnet kan ha en eller två tecken, eller valfri längd inom parentes.
Makrot måste vara definierat innan tabellregionen läses.
Makrot bör endast innehålla enkla groff-begäranden som ändrar textformatering, exempelvis justering eller avstavning.
Makrot anropas efter att modifierarna b, f, i, p och v har fått effekt och kan därför åsidosätta dem.
p eller P
Sätt textstorlek.
Ett heltal n med valfritt inledande tecken följer.
Utan tecken sätts textstorleken till n punkter.
Med plus eller minus ökas eller minskas textstorleken med n punkter.
Signerade flersiffriga tal är en GNU-utökning.
Parametern motsvarar troff-begäran:
ps
Om en textstorleksmodifierare följs av kolumnavståndsmodifierare måste de separeras med minst ett mellanslag eller en tabb.
t eller T
Justera en vertikalt spänd tabellpost mot överkanten av sitt område i stället för mitten.
u eller U
Flytta kolumnen upp en halv rad och skapa förskjutna rader.
Detta är en utökning från Documenter's Workbench 1.0 och Research Tenth Edition Unix.
v eller V
Sätt vertikalt radavstånd för ett textblock.
Ett heltal n med valfritt inledande tecken följer.
Utan tecken sätts radavståndet till n punkter.
Med tecken ökas eller minskas radavståndet med n punkter.
Signerade flersiffriga tal är en GNU-utökning.
Parametern motsvarar troff-begäran:
vs
Om modifieraren följs av kolumnavståndsmodifierare måste de separeras med minst ett mellanslag eller tabb.
w eller W
Sätt kolumnens minsta bredd.
Efter följer ett tal, antingen ett heltal utan enhet eller ett roff-horisontellt mått inom parentes.
Parentes krävs om bredden följs direkt av explicit kolumnavstånd.
Om ingen enhet anges antas en.
Modifieraren sätter standardradlängden för textblock.
x eller X
Expandera kolumnen.
Efter att kolumnbredderna beräknats fördelas återstående radlängd jämnt över alla kolumner med denna modifierare.
Detta är en DWB 3.3-utökning.
Att använda x på mer än en kolumn är en GNU-utökning.
Modifieraren sätter standardradlängden för textblock.
z eller Z
Ignorera motsvarande tabellposter vid beräkning av kolumnbredd.
Kolumnens bredd beräknas då endast från informationen i deskriptorn.
Detta är en DWB 1.0- och Research Tenth Edition Unix-utökning.
n
Ett numeriskt suffix på en kolumndeskriptor anger avståndet till nästa kolumn, i en.
Standardavstånd är:
3n
Avståndet multipliceras proportionellt om regionoptionen expand används.
I tabeller som är bredare än utmatningens radlängd kan avståndet bli noll.
Negativt avstånd kan inte anges.
Ett avstånd efter sista kolumnen är meningslöst och ger diagnostik.
TABELLDATA
Tabelldata placeras på rader efter formatbeskrivningen.
Varje textrad motsvarar en tabellrad, utom när omvänt snedstreck i slutet av en rad fortsätter en post på nästa indatarad.
Textblock kan också sprida tabellposter över flera indatarader.
Tabellposter i en rad separeras normalt med tabb.
Se regionoptionen tab för att byta separator.
Överflödiga poster, som saknar motsvarande kolumndeskriptor, kastas med diagnostiskt meddelande.
Roff-kontrollrader skickas igenom oförändrade.
För att markera en tom tabellpost synligt i källan kan roffs dummytecken användas:
\&
Tabellindata avbryts av en rad som består av:
.T&
och avslutas med:
.TE
Vanliga tabellposter sätts stelt.
De fylls inte, radbryts inte, avstavas inte, justeras inte och får inte extra meningsmellanrum.
tbl mäter varje tabellpost som den förekommer i indatan och uppdaterar motsvarande kolumnbredd.
Om modifieraren z gäller ignoreras mätningen.
Om w gäller och dess argument är bredare används detta i stället.
Till skillnad från vanlig roff-indata består formateringsändringar som fontval eller radavstånd inte mellan tabellposter.
SÄRSKILDA TABELLPOSTER
tbl tolkar flera former särskilt.
En tabellrad som bara innehåller:
_
eller:
=
ritar en enkel respektive dubbel horisontell linje över tabellen.
En tabellpost som endast innehåller _ eller = i en annars fylld rad fyller cellen med en enkel respektive dubbel horisontell linje som ansluter till granncellerna.
En tabellpost som innehåller:
\_ \=
fyller cellen med enkel eller dubbel horisontell linje som inte riktigt ansluter till grannarna.
En tabellpost som endast innehåller:
\Rx
där x är ett roff-tecken, fyller cellen med tillräckligt många upprepningar av tecknet för att fylla kolumnen utan att ansluta till grannarna.
På alla rader utom den första gör:
\^
att posten ovanför spänner ned i den aktuella raden.
För att använda _ eller = bokstavligt och ensamt i en post, lägg till dummytecknet \& före eller efter.
För att skriva \_, \= eller \R bokstavligt bör ett roff-escape användas för omvänt snedstreck:
\e \[rs]
Ett robust sätt att skriva glyphsekvensen \^ i en tabellpost är:
\[rs]\[ha]
Rader med tabellposter kan blandas med groff-kontrollrader. Dessa räknas inte som tabelldata.
På sådana rader måste standardstyrtecknet punkt användas.
No-break-styrtecknet känns inte igen.
För att börja den första tabellposten på en rad med punkt, föregå punkten med:
\&
TEXTBLOCK
En vanlig tabellpost kan göra en kolumn och därmed tabellen för bred.
När en post behöver normal textsättning, inklusive radbrytning över flera utmatningsrader, kan den placeras i ett textblock.
En tabellpost:
T{
i slutet av en indatarad startar ett textblock.
En post:
T}
i början av en indatarad avslutar det.
Textblockstoken kan dela indatarad med annan tabelldata före T{ och efter T}.
Indataraderna mellan token formateras i en diversion av troff.
Textblock kan inte nästlas.
Flera textblock kan förekomma i samma tabellrad.
Textblock formateras som texten före tabellen, modifierad av tillämpliga kolumndeskriptorer.
Klassificerarna A, C, L, N, R och S bestämmer textblockets justering inom cellen, men inte dess textjustering.
Använd na eller ad i början av textblocket för att ändra textjustering.
När ett textblock avslutas kastas formateringsändringar bort och påverkar inte senare tabellposter.
Om w eller x inte anges för alla kolumner som textblocket spänner över beräknas standardlängden som:
L × C / (N + 1)
där:
- L är aktuell radlängd
- C är antal kolumner textblocket spänner över
- N är antal kolumner i tabellen
Textblockets bredd kan också styras med en ll-begäran i textblocket före den text som ska formateras.
Eftersom tbl använder en diversion finns textblockets höjd och bredd efteråt i troff-registren:
dn dl
ROFF-GRÄNSSNITT
Registret TW lagrar tabellregionens bredd i grundenheter.
Det kan inte användas inom regionen själv, men definieras innan .TE skickas ut så att ett TE-makro kan använda det.
Registret T. är booleskt och anger om tabellens nederdel behandlas.
Registret #T används internt.
Använd inte dessa namn för andra ändamål.
tbl definierar även makrot T# för att skapa botten- och sidlinjer för en inramad tabell.
Det kan användas av makropaket för flersidiga tabeller, genom att anropas från ett sidfotsmakro via en trap nära sidans slut.
GNU tbl använder internt register-, sträng-, makro- och diversionsnamn som börjar med siffran:
3
Dokument som ska behandlas av GNU tbl bör inte använda sådana identifierare.
INTERAKTION MED EQN
Behandla dokument med tbl före eqn(1).
groff(1) ordnar automatiskt förprocessorerna i rätt ordning.
Anropa inte makrona:
EQ EN
inne i tabeller.
Sätt i stället upp avgränsare i eqn-indatan och använd regionoptionen delim så att tbl känner igen dem.
GNU TBL-FÖRBÄTTRINGAR
GNU tbl tar bort flera begränsningar från AT&T tbl.
- Regionoptioner kan skrivas med valfri kombination av stora och små bokstäver.
- Det finns ingen gräns för antalet kolumner i en tabell.
- Det finns ingen gräns för antalet textblock.
- GNU tbl tar hänsyn till alla rader vid beräkning av kolumnbredder, inte bara de första 200 indataraderna.
- .T& känns igen även efter de första 200 indataraderna i en region.
- Numeriska och alfabetiska poster får förekomma i samma kolumn.
- Numeriska och alfabetiska poster får spänna horisontellt.
GNU TBL INUTI MAKRON
En tabellregion kan bäddas in i en makrodefinition.
Eftersom tbl skriver sina egna makrodefinitioner i början av varje tabellregion måste man dock anropa avslutningsmakron i stället för att avsluta makrodefinitioner med:
..
Dessutom måste escape-tecknet inaktiveras.
Alla tbl-funktioner kan inte användas från sådana makron eftersom tbl är en roff-förprocessor och ser indatan före troff.
Exempelvis fungerar inte vertikal justering av decimaltecken om talen finns som makro- eller strängparametrar. tbl ser då bara:
\$1 \$2
och kan därför inte se decimaltecken som skapas först när troff expanderar makrot eller strängen.
Att använda tbl-makron inom villkorlig indata, exempelvis via if, ie, el eller while, kan ge missvisande radnummer i senare diagnostik.
tbl injicerar sin utdata ovillkorligt i källdokumentet, men den villkorliga grenen kanske inte körs. Då får de lf-begäranden som tbl skapar för att återställa källradnummer ingen effekt.
Överväg att kopiera registervärdet för indataradsräknaren:
c.
och återställa det vid lämplig plats efter beräkningar.
OPTIONER
--help
- Visa användningsmeddelande och avsluta.
-v
- Visa versionsinformation och avsluta.
--version
- Visa versionsinformation och avsluta.
-C
- Aktivera AT&T-kompatibilitetsläge.
- Känn igen .TS och .TE även när de följs av ett annat tecken än mellanslag eller radslut.
- Tolka copy-mode-leadersekvensen \a som ett leader-tecken.
AVSLUTNINGSSTATUS
tbl avslutas med status:
0
- Körningen lyckades.
2
- Programmet kunde inte tolka kommandoradsargumenten.
1
- Ett fel uppstod under körningen.
BEGRÄNSNINGAR
Inom en tbl-region, utom i textblock och på roff-kontrollrader, bör escape-sekvenser som läser resten av indataraden undvikas.
Exempel:
\" \!
Flersidiga tabeller som är inramade eller har kolumnrubriker som ska upprepas efter sidbrytningar kräver stöd vid formatering.
En konvention för detta finns i makropaket som:
- ms
- mm
- me
För att använda den följs .TS av ett mellanslag och därefter:
H
Detta tolkas som ett TS-makroanrop med argumentet H.
Inne i tabellindatan anropas sedan makrot:
TH
Det anger var rubrikerna slutar.
Om tabellen saknar rubrikrader, eller om de inte ska upprepas, anropas TH direkt efter formatbeskrivningen.
Om en flersidig tabell är inramad eller har upprepade rubriker ska den inte omslutas med keep/release-makron eller dirigeras på annat sätt.
Begäran bp orsakar inte sidbrytning i en TS H-tabell.
Definiera i stället ett makro som omsluter bp. Anropa det normalt om ingen aktuell diversion finns. Annars skickas makroanropet till den omgivande diversionen via den transparenta escape-sekvensen:
\!
så att sidbrytningen kan bubbla upp till utdataenheten.
grotty(1) stöder inte dubbla horisontella linjer och använder enkla linjer i stället.
Den ignorerar också halvradsrörelser, så kolumnmodifieraren u har ingen effekt.
På terminalenheter, alltså i nroff-läge, tar horisontella linjer och ramar en hel vertikal enhet plats.
doublebox fördubblar detta för ramar.
Tabeller med sådana funktioner kräver därför mer vertikalt utrymme i nroff-läge än i troff-läge.
Skriv ne-begäranden därefter.
Vertikala linjer mellan kolumner ritas i utrymmet mellan kolumner i nroff-läge.
Dubbla vertikala linjer eller minskat kolumnavstånd kan därför ge fult resultat eller skriva över tabelldata.
Ett textblock i en tabell måste kunna rymmas på en sida.
Att använda \a för leaders i tabellposter fungerar inte i GNU tbl, utom i kompatibilitetsläge.
Detta är korrekt beteende, eftersom \a är en otolkad leader.
Man kan fortfarande använda roffs leader-tecken, Control+A, eller definiera en sträng för att använda \a som den var avsedd: endast tolkad i copy mode.
Exempel:
.ds a \a .TS box center tab(;); Lw(2i)0 L. Population\*a;6,327,119 .TE
En inledande eller avslutande | i formatbeskrivningen, till exempel:
|LCR|.
skapar ett en-mellanrum mellan linjerna och innehållet i intilliggande kolumner.
Om sådant utrymme inte önskas kan dummy-kolumner med noll avstånd och tomma tabellposter införas före eller efter.
Exempel:
.TS center tab(#); R0|L C R0|L. _ #levulose#glucose#dextrose# _ .TE
Dummy-kolumnerna har noll bredd och är därför osynliga, men fungerar ofta inte som avsett på terminalenheter.
EXEMPEL
Det är ofta lättare att lära sig tbl genom exempel än genom formell beskrivning.
Enkel inramad tabell
.TS box center tab(#); Cb Cb L L. Ability#Application Strength#crushes a tomato Dexterity#dodges a thrown tomato Constitution#eats a month-old tomato without becoming ill Intelligence#knows that a tomato is a fruit Wisdom#chooses \f[I]not\f[] to put tomato in a fruit salad Charisma#sells tomato-based fruit salads to hypercarnivores .TE
Resultatet blir en centrerad, inramad tabell med fetställda kolumnrubriker.
Numeriska och alfabetiska kolumner
.TS center tab(;); CbS,LN,AN. Daily energy intake (in MJ) Macronutrients .\" assume 3 significant figures of precision Carbohydrates;4.5 Fats;2.25 Protein;3 .T& LN,AN. Mineral Pu-239;14.6 _ .T& LN. Total;\[ti]24.4 .TE
Detta visar hur A- och N-klassificerarna justerar text respektive tal.
Spanning och vertikal justering
.TS box center tab(:); Lz S | Rt Ld| Cb| ^ ^ | Rz S. left:r l:center: :right .TE
Detta demonstrerar horisontell och vertikal spanning samt nollbreddskolumner.
Förskjutna rader
.TS center tab(|); Cf(BI) Cf(BI) Cf(B), C C Cu. n|n\f[B]\[tmu]\f[]n|difference 1|1 2|4|3 3|9|5 4|16|7 5|25|9 6|36|11 .TE
Radförskjutning visas inte visuellt på terminalenheter, men tabellen kan fortfarande vara begriplig.
Sidbrytning i flersidig inramad tabell
Ett makro kan definieras utanför en tbl-region för att orsaka sidbrytning i en flersidig inramad tabell.
.de BP . ie '\\n(.z'' .bp \\$1 . el \!.BP \\$1 ..
SE ÄVEN
Klassisk dokumentation:
Tbl—A Program to Format Tables M. E. Lesk, 1976, reviderad 16 januari 1979 AT&T Bell Laboratories Computing Science Technical Report No. 49
Exemplet med spanning ovan hämtades från mandocs manualsida för dess tbl-implementation:
https://man.openbsd.org/tbl.7
Manualsidor:
KOLOFON
Denna sida är en del av projektet groff, GNU troff.
Information om projektet finns på:
http://www.gnu.org/software/groff/
Felrapporter för manualsidan hänvisas till:
http://www.gnu.org/software/groff/
Sidan hämtades från arkivet:
groff-1.24.1.tar.gz
Arkivet hämtades från:
https://ftp.gnu.org/gnu/groff/
den 24 maj 2026.
Om du upptäcker renderingsproblem i HTML-versionen av sidan, eller anser att det finns en bättre eller mer aktuell källa, kan du skicka e-post till:
man-pages@man7.org
HÄNVISAD FRÅN
KORT SAMMANFATTNING
tbl används för att skriva tabeller i roff/groff-dokument.
En tabell omges av:
.TS ... .TE
Vanlig körning via groff:
groff -t -Tpdf dokument.roff > dokument.pdf
Kör tbl direkt:
tbl dokument.roff > dokument-med-tabeller.roff
Exempel på enkel tabell:
.TS box center tab(;); C C. Namn;Värde CPU;Ryzen RAM;32 GB .TE
Byt format inom samma tabellregion:
.T& L R.
Använd -C för AT&T-kompatibilitetsläge:
tbl -C fil.roff > ut.roff
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/tbl.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp Huddinge som har sponsrat Linux.se med webbhotell.