Hur man använder Troff för att formatera PDF-dokument i Linux

Troff är en enkel men kraftfull dokumentordbehandlare för Linux-system. Det låter dig enkelt skapa utskriftsklara dokument genom att kompilera källfiler från kommandoraden. till skillnad från Latex Troff är otroligt lätt och kommer förinstallerat på de flesta Linux-system. Den här handledningen visar hur du använder Troff för att formatera PDF-dokument i Ubuntu.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Vad är Troff och varför använder du det?

i den mest grundläggande bemärkelsen, Troph Det är ett ordbehandlingsprogram som konverterar skript som ser ut som kod till utskrivbara dokument. Till skillnad från ordbehandlare förlitar sig Troff inte på "WYSIWYG"-modellen. Istället kräver det att du använder vissa typer av kod för att hantera din formatering.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Enkelhet är en av de största fördelarna med denna stil. Troffs grundinstallation kommer att innehålla allt du behöver för att skapa ett dokument. Dessutom innebär bristen på ett grafiskt användargränssnitt att du kan skapa ett dokument även över SSH.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Tips: Lär dig att vidarebefordra GUI-applikationer över SSH i Linux.

Troff installera

Troff är ofta paketerat som standard i de flesta Linux-distributioner. Du kan kontrollera om du har den i ditt system genom att köra dess -h-flagga. Detta kommer att visa en kort lista över alla taggar som Troffs installation accepterar.

troff -h

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Det finns fall då distributioner inte kompilerar Troff som standard. I det här fallet kan du installera det genom att söka efter paketet "groff".

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Detta är en omimplementering av Troff- och Nroff-programmen av GNU-projektet, som inkluderar ett antal nya och uppdaterade funktioner.

Du kan installera groff i Ubuntu med följande kommando:

sudo apt installera groff

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Skapa det första Troff-dokumentet

I likhet med källkoden är varje Troff-dokument en textfil som innehåller instruktioner om hur man skapar ett dokument. Detta inkluderar sidbredd och marginal samt tecken och sidavstånd.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Denna kontrollnivå låter dig manipulera programmet för att skapa vilken typ av dokument som helst. För att göra det enkelt har Troffs utvecklare skapat "makron" som kondenserar dessa kommandon till en enklare syntax.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier
Ett av de vanligaste makron du kommer att använda i Troff är Milliseconds. Ett dokument i essästil skapas. Du kan skapa ms-dokument med pekkommandot:

tryck på mitt-första-dokument.ms

Eftersom alla Troff-dokument är text kan du öppna dokumentet med en textredigerare. I mitt fall använder jag vim. Alternativt kan du använda någon av dessa textredigerare för Linux.

vim my-first-document.ms

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Förstå Troff-formatet

Alla Troffs dokument följer en liknande struktur. Varje formateringskommando du gör måste finnas på en separat rad i innehållet som det försöker formatera. Som sådant skulle ett typiskt Troff-dokument se ut så här:

.COMMAND1 Detta är en del av innehållet i ett Troff-dokument. .COMMAND2 Detta är ett annat innehåll i ett Troff-dokument.

Två av de mest grundläggande kommandona du kommer att använda på millisekunder är TL och .PP. Den förra konverterar din text till en rubrik och centrerar den i ditt dokument, medan den senare formaterar din text så att den följer en styckeliknande stil.

Läs också:  Hur man importerar och exporterar OVA-filer i VirtualBox

Till exempel använder följande kodavsnitt både TL- och .PP-kommandona:

.TL Mitt första Troff-dokument .PP Detta är innehåll som jag vill ska se ut som ett stycke i mitt slutdokument. Det är inte ett särskilt långt innehåll men det är mitt första Troff-dokument och det är något som jag är stolt över. Det är ungefär tre meningar långt och det ska lindas runt dokumentet ordentligt.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Härifrån skapar du ditt dokument genom att skicka din fil till Troffs programvara.

groff -ms -Tpdf ./my-first-document.ms > output.pdf

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Tips: Om du föredrar något enklare, lär dig hur Skriver i MLA-format i Google Docs.

Skapa fet, kursiv och understruken text

Precis som en vanlig ordbehandlare ger de flesta Troff-makron ett antal stilkommandon för dokumentanpassning. För ms är dessa .B och . Jag och. UL och .BX.

  • Kommandot B ändrar texten till fetstil.
  • Kommandot .I ändrar texten till kursiv stil.
  • UL och. BX är två kommandon som ritar en understrykning respektive en ruta runt text.

I likhet med kommandona ovan kräver användning av dessa kommandon i ditt dokument att varje stil separeras på sin egen rad:

.TL Mitt första Troff-dokument .PP Det här är .B-innehåll .R som jag vill ska se ut som ett stycke i mitt slutdokument. [...]

I det här exemplet skapade jag en ny rad före ett ord "innehåll" Och jag la till .B-kommandot för att ändra det till fetstil, sedan skapade jag en ny rad och lade till .R-kommandot. Detta gör att Troff kan återgå till sin tidigare teknik.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Det är viktigt att notera att du alltid måste lägga till kommandot .R när du ändrar stilen. Till exempel kommer följande kodavsnitt inte att avsluta .I-kommandot eftersom Troff inte har sett .R-filen efter den:

.TL Mitt första Troff-dokument .PP Det här är innehållet som jag vill ska se ut som ett stycke i mitt slutdokument. [...]

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Skapa nya dokumentsektioner

I likhet med LaTeX stöder Troff även partitionsdetektering och hierarki, så du behöver inte beställa och matcha nivån på varje rubrik när du redigerar.

Läs också:  Hur du skyddar din server med Fail2Ban i Linux

För att skapa ett nytt avsnitt i ditt dokument, använd kommandot .NH följt av ditt rubriknamn.

.TL Mitt första Troff-dokument .NH Min första rubrik .PP Detta är innehåll som jag vill ska se ut som ett stycke i mitt slutdokument.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Som standard innehåller varje Troff-huvud ett nivåvärde som bestämmer hur programmet är byggt och dess innehåll visas i det slutliga dokumentet. Att veta att du kan ändra detta värde för att justera rubriknivån.

Till exempel skapar följande en nivå 2-adress precis under den överordnade:

.TL Mitt första Troff-dokument .NH Min första rubrik .NH 2 Min första underrubrik .PP Detta är innehåll som jag vill se ut som ett stycke i mitt slutdokument.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Förutom de vanliga numrerade rubrikerna kan Troff också skapa tomma rubriker som fortfarande följer dokumentnivåhierarkin.

För att göra detta, ersätt .NH med kommandot SH:

.TL Mitt första Troff-dokument .SH Min första rubrik .SH 2 Min första underrubrik .PP Detta är innehåll som jag vill ska se ut som ett stycke i mitt slutdokument.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Tips: Lär dig hur Ändra marginaler i Google Dokument.

Skapa listor i Troff

Troffs enkelhet låter dig också förvandla hennes beteende till vad du än önskar. Till exempel kommer listor inte som standard på Troff- eller ms-makron. Trots detta kan du fortfarande skapa en lista genom att kombinera några ms-kommandon.

Varje lista i Troff består av tre delar: indrag, punkt och innehåll. För att skapa ett indrag, använd kommandona .rs och .rs. RE. Detta kommer att dra in den aktuella indragsnivån för all text i den med fyra blanksteg.

.RS Detta är mitt första föremål. .RE

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorierSkapa sedan punkten för ditt menyalternativ med .IP. Detta är ett styckeindragningskommando som fixar textens vänstra marginal till en specifik bredd.

IP-kommandot låter dig också ställa in en anpassad punktpunkt och utrymmet mellan den och din text. I det här fallet skulle jag ställa min kula på "[1]" och skulle ge den fyra blanksteg.

.RS .IP [1] 4 Detta är mitt första föremål. .RE

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorierKopiera och klistra in ditt IP-kommando för att skapa ytterligare menyalternativ.

.RS .IP [1] 4 Detta är mitt första föremål. .IP [2] 4 Detta är mitt andra objekt. .IP [3] 4 Detta är mitt tredje objekt. .RE

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Slutligen, automatisera denna process genom att skapa ett anpassat makro. Till exempel associerar följande utdrag mitt IP-kommando med QW.

.de QW .IP [-] 4 .. .RS .QW Detta är mitt första föremål. .QW Detta är mitt andra föremål. .QW Detta är mitt tredje objekt. .RE

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Skapa tabeller med förprocessorer i Troff

En av de udda sakerna med Troff är att de flesta av dess funktioner finns där "Primära behandlingar". För det mesta är dessa binärfiler utanför programmet som fungerar genom att skapa "Preprocessor Container Scripts" och konvertera den till Troff-kod på låg nivå.

Läs också:  Hur man får Ubuntu att se ut som macOS Big Sur

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Tbl är ett bra exempel på en Troff-förprocessor. Det är ett program som hanterar tabeller i ett dokument. Den grundläggande Tbl-behållaren ser ut så här:

.TS allbox ; cc c. artikel 1 artikel 2 artikel 3 artikel 4 artikel 5 punkt6.TE
  • .TS- och .TE-kommandona säger till Tbl att detta är en miljö som den kan läsa.
  • Den andra raden talar om för programmet hur den här tabellen ska formateras.
  • Den tredje raden är ett mellanslagsseparerat fält som definierar antalet kolumner och justeringen av din tabell.
  • Den fjärde och femte raden är tabbseparerade fält som innehåller innehållet i din tabell.

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Att kompilera ett dokument med Tbl är lite annorlunda än en vanlig Troff-fil. Ladda först upp din fil:

tbl my-first-document.ms > preprocessed.ms

Mata sedan programmets utdata till Troff:

groff -ms -Tpdf ./preprocessed.ms > output.pdf

Slutligen, automatisera denna process med UNIX-rör:

tbl my-first-document.ms | groff -ms -Tpdf > output.pdf

Hur man använder Troff för att formatera PDF-dokument i Linux - %kategorier

Vanliga frågor:

F1: Är det möjligt att använda Troff i Windows?

svar. Som standard är Troff och Groff inte officiellt porterade till Windows. Trots detta kan du fortfarande använda Groff med andra GNU-verktyg genom att Installera Windows Subsystem för Linux.

F2: Har Troff en funktion för bibliografispårning?

svar. Ja. Referens är en enkel förbehandlare som använder en extern bibliografifil för att automatiskt spåra referenser i ett Troff-dokument. Du kan lära dig mer om hur det fungerar genom att besöka dess man-sida genom att köra man referrer.

F3: Hur kan jag fixa felet "saknad DESC" när jag kompilerar Troff?

svar. Det här problemet beror troligen på ett saknat beroende i ditt system eller en felaktig versionsfil. För att fixa detta, installera lämpligt groff-paket från din distributions arkiv.

Du kanske också gillar