Εγχειρίδια για τη γραμμή εντολών

Man » Διαδικτυακό εγχειρίδιο groff - λεπτομερής διαδικτυακή τεκμηρίωση για τη σελίδα man groff

🌍
groff - διεπαφή για το σύστημα μορφοποίησης εγγράφων GNU roff

Σύνοψη

groff [-abcCeEgGijklNpRsStUVXzZ] [-d ctext] [-d string=text] [-D fallback-encoding] [-f fontfamily] [-F font-directory] [-I inclusion-directory] [-K input-encoding] [-L spoolerargument] [-m macro-package] [-M macro-directory] [-n page-number] [-o page-list]
[-P postprocessor-argument] [-r cnumeric-expression] [-r register=numeric-expression]
[-T output-device] [-w warning-category] [-W warning-category] [file ...]

groff -h
groff --help

groff -v [option ...] [file ...]
groff --version [option ...] [file ...]

Περιγραφή

Το groff είναι η κύρια διεπαφή για το σύστημα μορφοποίησης εγγράφων GNU roff. Το GNU roff είναι ένα σύστημα τυπογραφίας που διαβάζει αρχεία απλού κειμένου που περιέχουν εντολές μορφοποίησης για την παραγωγή εξόδου σε μορφή PostScript, PDF, HTML, DVI ή άλλες μορφές, ή για εμφάνιση σε τερματικό. Οι εντολές μορφοποίησης μπορούν να είναι στοιχειώδεις εντολές τυπογραφίας, μακροεντολές από ένα παρεχόμενο πακέτο ή μακροεντολές που ορίζονται από τον χρήστη. Όλες οι τρεις προσεγγίσεις μπορούν να συνδυαστούν. Εάν δεν καθοριστούν αρχεία, ή εάν το αρχείο είναι "-", το groff διαβάζει από την τυπική είσοδο.

Το groff είναι μια αναδημιουργία και επέκταση του τυπογράφου από το AT&T Unix, και είναι διαθέσιμο στα περισσότερα συστήματα POSIX λόγω της μακράς του σχέσης με τα εγχειρίδια Unix (συμπεριλαμβανομένων των σελίδων man). Αυτό και ο προκάτοχός του είναι αξιοσημείωτα για την παραγωγή αρκετών από τα πιο δημοφιλή βιβλία μηχανικής λογισμικού. Το groff είναι ικανό να παράγει τυπογραφικά εξελιγμένα έγγραφα, ενώ καταναλώνει ελάχιστους πόρους συστήματος.

Η εντολή groff συντονίζει την εκτέλεση προεπεξεργαστών, τη μετατροπή των εισερχόμενων εγγράφων σε μια ανεξάρτητη από τη συσκευή γλώσσα περιγραφής σελίδας και την παραγωγή εξόδου από αυτή τη γλώσσα.

Επιλογές

-h και --help εμφανίζουν ένα μήνυμα χρήσης και εξέρχονται.

Επειδή το groff προορίζεται να αντικαταστήσει τις περισσότερες άμεσες κλήσεις του μορφοποιητή troff(1) από τους χρήστες, τα δύο προγράμματα μοιράζονται ένα σύνολο επιλογών. Ωστόσο, το groff έχει ορισμένες επιλογές που δεν υπάρχουν στο GNU troff, ή που το groff τις ερμηνεύει διαφορετικά. Ταυτόχρονα, δεν είναι όλες οι έγκυρες επιλογές του troff διαθέσιμες στο groff.

Επιλογές ειδικές για το groff

Οι ακόλουθες επιλογές είτε δεν υπάρχουν στο GNU troff είτε ερμηνεύονται διαφορετικά από το groff.

-D enc Ορίζει την εναλλακτική κωδικοποίηση εισόδου που χρησιμοποιείται από το preconv(1) στην τιμή enc. Εφαρμόζει την επιλογή -k.

-e Εκτελεί τον προεπεξεργαστή eqn(1).

-g Εκτελεί τον προεπεξεργαστή grn(1).

-G Εκτελεί τον προεπεξεργαστή grap(1). Εφαρμόζει την επιλογή -p.

-I dir Λειτουργεί όπως η επιλογή του troff (δείτε παρακάτω), αλλά εφαρμόζει επίσης τις επιλογές -g και -s. Μεταβιβάζεται στο soelim(1) και στον οδηγό εξόδου, και στο grn μεταβιβάζεται μια επιλογή -M με το dir ως όρισμά του.

-j     Εκτελέστε τον προεπεξεργαστή chem(1); συνεπάγεται το -p.

-k     Εκτελέστε τον προεπεξεργαστή preconv(1). Ανατρέξτε στη σελίδα man για τη συμπεριφορά του εάν δεν καθοριστούν επίσης οι επιλογές -K ή -D του groff.

-K enc Ορίστε την είσοδο κωδικοποίησης που χρησιμοποιείται από το preconv(1) σε enc; συνεπάγεται το -k.

-l     Στείλτε την έξοδο σε ένα πρόγραμμα διαλογής για εκτύπωση. Η οδηγία "print" στο αρχείο περιγραφής της συσκευής καθορίζει την προεπιλεγμένη εντολή που θα χρησιμοποιηθεί. ανατρέξτε στο groff_font(5). Εάν δεν υπάρχει τέτοια οδηγία για τη συσκευή εξόδου, η έξοδος διοχετεύεται στο lpr(1). Δείτε τις επιλογές -L και -X.

-L arg Μεταβιβάστε το arg στο πρόγραμμα διαλογής εκτύπωσης. Εάν απαιτούνται πολλαπλά ορίσματα, περάστε το καθένα με μια ξεχωριστή επιλογή -L. Το groff δεν προσθέτει πρόθεμα με μια παύλα στην επιλογή arg πριν τη μεταβιβάσει στο πρόγραμμα διαλογής.

-M     Λειτουργεί όπως η επιλογή του troff (δείτε παρακάτω), αλλά μεταβιβάζεται επίσης στα eqn(1), grap(1) και grn(1).

-N     Αποτρέψτε τις νέες γραμμές μεταξύ των οριοθετών eqn: μεταβιβάστε την επιλογή -N στο eqn(1).

-p     Εκτελέστε τον προεπεξεργαστή pic(1).

-P arg Μεταβιβάστε το arg στον μεταεπεξεργαστή. Εάν απαιτούνται πολλαπλά ορίσματα, περάστε το καθένα με μια ξεχωριστή επιλογή -P. Το groff δεν προσθέτει πρόθεμα με μια παύλα στην επιλογή arg πριν τη μεταβιβάσει στον μεταεπεξεργαστή.

-R     Εκτελέστε τον προεπεξεργαστή refer(1). Δεν παρέχεται μηχανισμός για τη μεταβίβαση ορισμάτων στο refer, επειδή οι περισσότερες επιλογές refer έχουν ισοδύναμα στοιχεία γλώσσας που μπορούν να καθοριστούν μέσα στο έγγραφο.

-s     Εκτελέστε τον προεπεξεργαστή soelim(1).

-S     Λειτουργήστε σε "ασφαλέστερη" λειτουργία. δείτε το -U παρακάτω για την αντίθετή του. Για λόγους ασφαλείας, η ασφαλέστερη λειτουργία είναι ενεργοποιημένη από προεπιλογή.

-t     Εκτελέστε τον προεπεξεργαστή tbl(1).

-T dev Οδηγήστε το troff να μορφοποιήσει την είσοδο για τη συσκευή εξόδου dev. Το groff στη συνέχεια καλεί ένα πρόγραμμα προγράμματος οδήγησης εξόδου για να μετατρέψει την έξοδο του troff σε μια μορφή κατάλληλη για το dev. δείτε την υποενότητα "Συσκευές εξόδου" παρακάτω.

-U     Λειτουργήστε σε μη ασφαλή λειτουργία: μεταβιβάστε την επιλογή -U στα pic και troff.

-v
--version
Εμφανίστε πληροφορίες έκδοσης για το groff και όλα τα προγράμματα που εκτελούνται από αυτό στην τυπική έξοδο. δηλαδή, η δεδομένη γραμμή εντολών υποβάλλεται σε επεξεργασία με τον συνηθισμένο τρόπο, μεταβιβάζοντας το -v στο πρόγραμμα μορφοποίησης και οποιουσδήποτε προεπεξεργαστές που καλούνται.

-V     Εμφανίστε τη σειρά ενεργειών που θα εκτελούσε το groff στην τυπική έξοδο, αλλά μην την εκτελέσετε. Εάν δοθεί περισσότερες από μία φορές, το groff εμφανίζει και εκτελεί τη σειρά ενεργειών.

-X     Χρησιμοποιήστε το gxditview(1) αντί για τον συνήθη μεταεπεξεργαστή για να (προ)εμφανίσετε ένα έγγραφο σε μια οθόνη X11. Συνδυάζοντας αυτήν την επιλογή με το -Tps, χρησιμοποιούνται οι μετρικές γραμματοσειρών της συσκευής PostScript, ενώ οι επιλογές -TX75 και -TX100 χρησιμοποιούν τις μετρικές γραμματοσειρών X11.

-Z     Απενεργοποιήστε τη μεταεπεξεργασία. Η έξοδος του troff θα εμφανιστεί στη τυπική ροή εξόδου (εκτός εάν κατασταλεί με το -z). δείτε το groff_out(5) για μια περιγραφή αυτής της μορφής.

Διαφανείς επιλογές

Οι ακόλουθες επιλογές μεταβιβάζονται όπως έχουν στο πρόγραμμα μορφοποίησης troff(1) και περιγράφονται με περισσότερες λεπτομέρειες στη σελίδα man του.


-a     Δημιουργεί μια απλή, αναγνώσιμη προσέγγιση της μορφοποιημένης εξόδου.

-b     Εξάγει ένα ίχνος στο τυπικό ρεύμα σφαλμάτων για κάθε σφάλμα ή προειδοποίηση.

-c     Ξεκινά με απενεργοποιημένη την έγχρωμη έξοδο.

-C     Ενεργοποιεί τη λειτουργία συμβατότητας AT&T troff· συνεπάγεται το -c.

-d cs
-d όνομα=συμβολοσειρά

Ορίζει μια συμβολοσειρά.

-E     Αποτρέπει τα μηνύματα σφαλμάτων του troff· συνεπάγεται το -Ww.

-f fam Ορίζει την προεπιλεγμένη οικογένεια γραμματοσειρών.

-F dir Αναζητά στον κατάλογο dir τον κατάλογο της επιλεγμένης συσκευής εξόδου, ο οποίος περιέχει αρχεία περιγραφής συσκευών και γραμματοσειρών.

-i     Επεξεργάζεται την τυπική είσοδο μετά από τα καθορισμένα αρχεία εισόδου.

-I dir Αναζητά στον κατάλογο dir τα αρχεία εισόδου.

-m όνομα

Επεξεργάζεται το όνομα.tmac πριν από τα αρχεία εισόδου.

-M dir Αναζητά στον κατάλογο dir τα αρχεία μακροεντολών.

-n αριθμός Αριθμεί την πρώτη σελίδα με τον αριθμό.

-o λίστα

Εξάγει μόνο τις σελίδες στη λίστα.

-r αριθμητική_έκφραση
-r μεταβλητή=αριθμητική_έκφραση

Ορίζει μια μεταβλητή.

-w όνομα
-W όνομα

Ενεργοποιεί (-w) ή απενεργοποιεί (-W) την εμφάνιση προειδοποιήσεων στην κατηγορία όνομα.

-z     Καταστέλλει την μορφοποιημένη, ανεξάρτητη από τη συσκευή έξοδο του troff.

Χρήση

Η αρχιτεκτονική του συστήματος GNU roff ακολουθεί αυτή των άλλων υλοποιήσεων roff που είναι ανεξάρτητες από τη συσκευή, αποτελούμενες από προεπεξεργαστές, πακέτα μακροεντολών, προγράμματα οδήγησης εξόδου (ή "μετα-επεξεργαστές"), μια σουίτα βοηθητικών προγραμμάτων και τον μορφοποιητή troff στην καρδιά του. Δείτε το roff(7) για μια επισκόπηση του τρόπου λειτουργίας ενός συστήματος roff.

Τα προγράμματα διεπαφής που διατίθενται στο σύστημα GNU roff διευκολύνουν τη χρήση σε σύγκριση με τα παραδοσιακά συστήματα roff, τα οποία απαιτούσαν την κατασκευή αλληλουχιών ή τη χρήση προσωρινών αρχείων για τη μεταφορά ενός αρχείου πηγής από μια διατηρήσιμη μορφή σε μια μορφή έτοιμη για συσκευή. Η παρακάτω συζήτηση συνοψίζει τα συστατικά μέρη του συστήματος GNU roff. Συμπληρώνει το roff(7) με πληροφορίες ειδικά για το groff.

Ξεκινώντας

Όσοι προτιμούν να μαθαίνουν πειραματιζόμενοι ή επιθυμούν γρήγορη ανατροφοδότηση από το σύστημα, ίσως θελήσουν να ξεκινήσουν με ένα έγγραφο "Hello, world!".

$ echo "Hello, world!" | groff -Tascii | sed '/^$/d'

Hello, world!

Χρησιμοποιήσαμε μια εντολή sed μόνο για να εξαλείψουμε τις 65 κενές γραμμές που διαφορετικά θα πλημμύριζαν την οθόνη του τερματικού. (Τα συστήματα roff αναπτύχθηκαν στην εποχή των τερματικών που βασίζονταν σε χαρτί με 66 γραμμές ανά σελίδα.)

Οι σημερινοί χρήστες ίσως προτιμούν την έξοδο σε ένα τερματικό συμβατό με UTF-8.

$ echo "Hello, world!" | groff -Tutf8 | sed '/^$/d'

Η δημιουργία PDF, HTML ή του DVI του TeX είναι επίσης απλή. Το δύσκολο μέρος μπορεί να είναι η επιλογή ενός προγράμματος προβολής για την έξοδο.

$ echo "Hello, world!" | groff -Tpdf > hello.pdf
$ evince hello.pdf
$ echo "Hello, world!" | groff -Thtml > hello.html
$ firefox hello.html
$ echo "Hello, world!" | groff -Tdvi > hello.dvi
$ xdvi hello.html

Χρήση του groff ως REPL

Όσοι έχουν μια τάση προγραμματιστή, ίσως ευχαριστηθούν που μπορούν να χρησιμοποιήσουν το groff σε έναν βρόχο ανάγνωσης-αξιολόγησης-εκτύπωσης (REPL). Αυτό μπορεί να είναι χρήσιμο για να επαληθευθεί η κατανόηση της συμπεριφοράς του μορφοποιητή και/ή της σύνταξης που δέχεται. Η ενεργοποίηση όλων των προειδοποιήσεων με το -ww μπορεί να βοηθήσει σε αυτόν τον στόχο.

$ groff -ww -Tutf8
# Αυτό είναι ένα σχόλιο. Ας ορίσουμε μια μεταβλητή.
.nr a 1
# Κάνουμε ακέραιες αριθμητικές πράξεις με τελεστές που αξιολογούνται από αριστερά προς τα δεξιά.
.nr b \n[a]+5/2
# Ας εμφανίσουμε το αποτέλεσμα στην τυπική έξοδο σφαλμάτων.
.tm \n[b]
3   # Τώρα θα ορίσουμε μια συμβολοσειρά.
.ds name Leslie" Αυτό είναι μια άλλη μορφή σχολίου.
.nr b (\n[a] + (7/2))
# Κεντράρουμε τις επόμενες δύο γραμμές κειμένου.
.ce 2
Γεια, \\*[name].
Ο μυστικός σου αριθμός είναι \n[b].
# Θα δούμε ότι η διαίρεση στρογγυλοποιείται προς το μηδέν.

Είναι # Εδώ είναι μια δομή ελέγχου if-else. .ie (\n[b] % 2) odd. .el even. # Αυτή η τεχνική ορίζει το μήκος της σελίδας στην τρέχουσα κάθετη # θέση, έτσι ώστε οι κενές γραμμές να μην εμφανίζονται όταν τελειώσουμε. .pl \n[nl]u Γεια, Leslie. Ο μυστικός σου αριθμός είναι 4. Είναι άρτιος.


Μορφή εγγράφου

Στο GNU roff, οι διαστάσεις της σελίδας για τον μορφοποιητή troff και για τις συσκευές εξόδου διαχειρίζονται ξεχωριστά. Στον μορφοποιητή, χρησιμοποιούνται αιτήματα για να οριστεί το μήκος της σελίδας (.pl), η απόσταση της σελίδας (ή το αριστερό περιθώριο, .po) και το μήκος της γραμμής (.ll). Το δεξιό περιθώριο δεν διαμορφώνεται ρητά· ο συνδυασμός της απόστασης της σελίδας και του μήκους της γραμμής παρέχει τις πληροφορίες που είναι απαραίτητες για να εξαχθεί. Το πακέτο μακροεντολών papersize, το οποίο φορτώνεται αυτόματα από το troff, παρέχει μια διεπαφή για τη διαμόρφωση των διαστάσεων της σελίδας με βολικές ονομασίες, όπως "letter" ή "A4"; δείτε groff_tmac(5). Η προεπιλεγμένη ρύθμιση του μορφοποιητή σε αυτήν την εγκατάσταση είναι "A4".

Εναπόκειται σε κάθε πακέτο μακροεντολών να σέβεται τις διαστάσεις της σελίδας που έχουν διαμορφωθεί με αυτόν τον τρόπο. Ορισμένα προσφέρουν εναλλακτικούς μηχανισμούς.

Για κάθε συσκευή εξόδου, το μέγεθος του μέσου εξόδου μπορεί να οριστεί στο αρχείο DESC. Οι περισσότεροι οδηγοί εξόδου αναγνωρίζουν επίσης μια επιλογή γραμμής εντολών -p για να αντικαταστήσουν τις προεπιλεγμένες διαστάσεις και μια επιλογή -l για να χρησιμοποιήσουν οριζόντια διάταξη. Δείτε groff_font(5) για μια περιγραφή της οδηγίας papersize, η οποία παίρνει ένα όρισμα της ίδιας μορφής με την -p. Η σελίδα man του οδηγού εξόδου, όπως η grops(1), μπορεί επίσης να είναι χρήσιμη. Το groff χρησιμοποιεί την επιλογή γραμμής εντολών -P για να περάσει επιλογές στις συσκευές εξόδου· για παράδειγμα, χρησιμοποιήστε το ακόλουθο για έξοδο PostScript σε χαρτί A4 σε οριζόντια διάταξη.

groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps

Εμπρόσθιο τμήμα

Το πρόγραμμα groff είναι ένα περιτύλιγμα γύρω από το πρόγραμμα troff(1). Επιτρέπει στον χρήστη να καθορίσει προεπεξεργαστές μέσω επιλογών γραμμής εντολών και εκτελεί αυτόματα τον κατάλληλο μεταεπεξεργαστή για την επιλεγμένη συσκευή εξόδου. Με αυτόν τον τρόπο, η χειροκίνητη δημιουργία διαδρομών ή η διαχείριση προσωρινών αρχείων που απαιτούνται από τους χρήστες των παραδοσιακών συστημάτων roff(7) μπορεί να αποφευχθεί. Χρησιμοποιήστε το πρόγραμμα grog(1) για να συμπεράνετε μια κατάλληλη γραμμή εντολών groff για να μορφοποιήσετε ένα έγγραφο.

Γλώσσα

Η είσοδος σε ένα σύστημα roff είναι σε απλό κείμενο διασυνδεδεμένο με γραμμές ελέγχου και ακολουθίες διαφυγής. Ο συνδυασμός αποτελεί ένα έγγραφο σε μια από τις οικογένειες γλωσσών που ονομάζουμε επίσης roff· δείτε το roff(7) για περισσότερες πληροφορίες. Μια επισκόπηση της σύνταξης και των χαρακτηριστικών της γλώσσας GNU roff, συμπεριλαμβανομένων καταλόγων όλων των υποστηριζόμενων ακολουθιών διαφυγής, αιτημάτων και προκαθορισμένων καταχωρητών, μπορεί να βρεθεί στο groff(7). Οι επεκτάσεις GNU roff στην γλώσσα AT&T troff, ένα κοινό υποσύνολο των διαλέκτων roff που υπάρχουν σήμερα, περιγράφονται λεπτομερώς στο groff_diff(7).


Προεπεξεργαστές

Ένας προεπεξεργαστής ερμηνεύει μια γλώσσα ειδική για έναν συγκεκριμένο τομέα, η οποία παράγει έξοδο στη γλώσσα roff. Συχνά, αυτή η είσοδος περιορίζεται σε ενότητες ή περιοχές ενός αρχείου εισόδου roff (περικλειόμενες σε κλήσεις μακροεντολών ειδικές για κάθε προεπεξεργαστή), τις οποίες αντικαθιστά. Επομένως, οι προεπεξεργαστές ερμηνεύουν συχνά ένα υποσύνολο της σύνταξης roff μαζί με τη δική τους γλώσσα. Το GNU roff παρέχει ανανεωμένες εκδόσεις των περισσότερων προεπεξεργαστών που είναι οικείοι στους χρήστες του AT&T troff. Αυτοί συνήθως έχουν εκτεταμένες δυνατότητες και/ή απαιτούν το GNU troff για να μορφοποιήσουν την έξοδό τους.

tbl: διατάσσει πίνακες.
eqn: τυπογραφεί μαθηματικά.
pic: σχεδιάζει διαγράμματα.
refer: επεξεργάζεται βιβλιογραφικές αναφορές.
soelim: προεπεξεργάζεται αρχεία εισόδου που έχουν "αναφερθεί".
grn: αποδίδει διαγράμματα gremlin(1).
chem: σχεδιάζει χημικές δομικές φόρμουλες χρησιμοποιώντας το pic.
gperl: συμπληρώνει καταχωρητές και συμβολοσειρές groff χρησιμοποιώντας το perl(1).
glilypond: ενσωματώνει παρτιτούρες LilyPond. και
gpinyin: διευκολύνει την εισαγωγή μανδαρινικής κινεζικής χρησιμοποιώντας το Hanyu Pinyin.

Ένας προεπεξεργαστής που είναι μοναδικός για το GNU roff είναι το preconv(1), το οποίο μετατρέπει διάφορες εισαγόμενες κωδικοποιήσεις σε κάτι που μπορεί να κατανοήσει το GNU troff. Όταν χρησιμοποιείται, εκτελείται πριν από οποιονδήποτε άλλο προεπεξεργαστή.

Οι περισσότεροι προεπεξεργαστές περικλείουν περιεχόμενο μεταξύ ενός ζεύγους χαρακτηριστικών δεικτών. Ένας τέτοιος δείκτης πρέπει να εμφανίζεται στην αρχή μιας γραμμής εισόδου και να χρησιμοποιεί τον χαρακτήρα ελέγχου τελείας. Δεν πρέπει να υπάρχουν κενά ή καρτέλες μετά τον χαρακτήρα ελέγχου ή πριν από το τέλος της γραμμής εισόδου. Η απόκλιση από αυτούς τους κανόνες ακυρώνει την αναγνώριση ενός δείκτη από τον προεπεξεργαστή. Οι δείκτες συνήθως διατηρούνται στην έξοδο του προεπεξεργαστή και ερμηνεύονται ως κλήσεις μακροεντολών από το troff. Ο ιδανικός προεπεξεργαστής δεν είναι ακόμη διαθέσιμος στο groff.

┌──────────────┬─────────────────┬────────────────┐
│ προεπεξεργαστής │ αρχικός δείκτης  │  τελικός δείκτης  │
├──────────────┼─────────────────┼────────────────┤
│     chem     │     .cstart     │     .cend      │
│     eqn      │       .EQ       │      .EN       │
│     grap     │       .G1       │      .G2       │
│     grn      │       .GS       │      .GE       │
│    ideal     │       .IS       │      .IE       │
│              │                 │      .IF       │
│     pic      │       .PS       │      .PE       │
│              │                 │      .PF       │
│              │                 │      .PY       │
│    refer     │       .R1       │      .R2       │
│     tbl      │       .TS       │      .TE       │
├──────────────┼─────────────────┼────────────────┤
│  glilypond   │ .lilypond start │ .lilypond stop │
│    gperl     │   .Perl start   │   .Perl stop   │
│   gpinyin    │  .pinyin start  │  .pinyin stop  │
└──────────────┴─────────────────┴────────────────┘

Πακέτα μακροεντολών

Τα αρχεία μακροεντολών είναι αρχεία εισόδου roff, τα οποία έχουν σχεδιαστεί για να μην παράγουν καμία έξοδο, αλλά για να διευκολύνουν την προετοιμασία άλλων εγγράφων roff. Όταν ένα αρχείο μακροεντολών είναι εγκατεστημένο σε μια τυπική θέση και είναι κατάλληλο για χρήση από ένα ευρύ κοινό, ονομάζεται πακέτο μακροεντολών.

Τα πακέτα μακροεντολών μπορούν να φορτωθούν πριν από οποιαδήποτε έγγραφα εισόδου roff χρησιμοποιώντας την επιλογή -m. Το σύστημα GNU roff υλοποιεί τις περισσότερες γνωστές μακροεντολές για το AT&T troff με τρόπο συμβατό και τις επεκτείνει. Αυτές έχουν ονόματα ενός ή δύο γραμμάτων, τα οποία προέρχονται από την εντατική πρακτική της οικονομίας στην ονοματολογία στην πρώιμη κουλτούρα του Unix, μια λακωνική προσέγγιση που οδήγησε στο να ταυτίζονται πολλά από τα πακέτα στη γενική χρήση με το γράμμα της επιλογής nroff και troff που χρησιμοποιείται για την ενεργοποίησή τους, μερικές φορές με παιχνιδιάρικο τρόπο, όπως με το «man» (συντομογραφία για το «manual») και ακόμη και με την επιλογή παύλας, όπως στην περίπτωση του πακέτου s, το οποίο είναι πολύ καλύτερα γνωστό ως ms ή ακόμα και -ms.

Τα πακέτα μακροεντολών εξυπηρετούν διάφορους σκοπούς. Ορισμένα είναι «πακέτα πλήρους υπηρεσίας», τα οποία αναλαμβάνουν την ευθύνη για τη διάταξη σελίδας, μεταξύ άλλων θεμελιωδών εργασιών, και ορίζουν το δικό τους λεξιλόγιο μακροεντολών για τη σύνθεση εγγράφων. Κάθε ένα από αυτά τα πακέτα λειτουργεί αυτόνομα και ένα δεδομένο έγγραφο μπορεί να χρησιμοποιεί το πολύ ένα.

an χρησιμοποιείται για τη σύνθεση σελίδων man στη μορφή που προέκυψε στην έκδοση 7 του Unix (1979). Δείτε το groff_man(7). Μπορεί να καθοριστεί στη γραμμή εντολών ως -man.

doc χρησιμοποιείται για τη σύνθεση σελίδων man στη μορφή που προέκυψε στο 4.3BSD-Reno (1990). Δείτε το groff_mdoc(7). Μπορεί να καθοριστεί στη γραμμή εντολών ως -mdoc.

e είναι η γενική σουίτα μακροεντολών του Berkeley, η οποία αναπτύχθηκε ως εναλλακτική λύση στην s της AT&T. Δείτε το groff_me(7). Μπορεί να καθοριστεί στη γραμμή εντολών ως -me.

m υλοποιεί τη μορφή που χρησιμοποιείται από τη σουίτα μακροεντολών δεύτερης γενιάς της AT&T για γενικά έγγραφα, μια διάδοχος της s. Δείτε το groff_mm(7). Μπορεί να καθοριστεί στη γραμμή εντολών ως -mm.

om (αναφέρεται αναγκαστικά ως «mom») είναι ένα σύγχρονο πακέτο που γράφτηκε από τον Peter Schaffter ειδικά για το GNU roff. Ανατρέξτε στο HTML εγχειρίδιο του mom για εκτενή τεκμηρίωση. Αυτή—γιατί το mom παίρνει το θηλυκό άρθρο—μπορεί να καθοριστεί στη γραμμή εντολών ως -mom.

s είναι η αρχική μορφή εγγράφων γενικής χρήσης της AT&T. Δείτε το groff_ms(7). Μπορεί να καθοριστεί στη γραμμή εντολών ως -ms.

Άλλα είναι συμπληρωματικά. Για παράδειγμα, το andoc είναι ένα πακέτο περιτύλιξης που είναι ειδικό για το GNU roff και αναγνωρίζει εάν ένα έγγραφο χρησιμοποιεί τη μορφή man ή mdoc και φορτώνει το αντίστοιχο πακέτο μακροεντολών. Μπορεί να καθοριστεί στη γραμμή εντολών ως -mandoc. Ένα πρόγραμμα βιβλιοθηκάριου man(1) μπορεί να χρησιμοποιήσει αυτό το αρχείο μακροεντολών για να αναθέσει τη φόρτωση του σωστού πακέτου μακροεντολών. Έτσι, δεν είναι απαραίτητο το ίδιο το man να σαρώσει το περιεχόμενο ενός εγγράφου για να αποφασίσει το θέμα.


Πολλά αρχεία μακροεντολών συμπληρώνουν τη λειτουργία των ολοκληρωμένων πακέτων ή των εγγράφων roff που δεν χρησιμοποιούν ένα τέτοιο πακέτο—τα τελευταία χαρακτηρίζονται μερικές φορές ως «ακατέργαστα». Αυτά τα βοηθητικά πακέτα περιγράφονται, μαζί με λεπτομέρειες σχετικά με την ονοματολογία και την τοποθέτηση των αρχείων μακροεντολών, στο groff_tmac(5).

Μορφοποιητές

Ο μορφοποιητής, το πρόγραμμα που ερμηνεύει την είσοδο της γλώσσας roff, είναι το troff(1). Παρέχει τις δυνατότητες των προγραμμάτων AT&T troff και nroff, καθώς και πολλές επεκτάσεις. Η επιλογή γραμμής εντολών -C μεταθέτει το troff σε λειτουργία συμβατότητας, η οποία προσπαθεί να μιμηθεί όσο το δυνατόν ακριβέστερα το AT&T troff, ώστε να καταστεί δυνατή η μορφοποίηση εγγράφων που έχουν γραφτεί για το παλαιότερο σύστημα.

Ένα σενάριο shell, το nroff(1), μιμείται τη συμπεριφορά του AT&T nroff. Προσπαθεί να κωδικοποιήσει σωστά την έξοδο με βάση την τοπική ρύθμιση, απαλλάσσοντας τον χρήστη από την ανάγκη να καθορίσει μια συσκευή εξόδου με την επιλογή -T και, επομένως, είναι βολικό για χρήση με συσκευές εξόδου τερματικού, που περιγράφονται στην επόμενη υποενότητα.

Το GNU troff δημιουργεί έξοδο σε μια ανεξάρτητη από τη συσκευή, αλλά όχι αδιάφορη για τη συσκευή, γλώσσα περιγραφής σελίδας, η οποία περιγράφεται λεπτομερώς στο groff_out(5).

Συσκευές εξόδου

Η έξοδος του troff μορφοποιείται για μια συγκεκριμένη συσκευή εξόδου, η οποία συνήθως καθορίζεται με την επιλογή -T στον μορφοποιητή ή ένα πρόγραμμα επεξεργασίας εισόδου. Εάν καμία από αυτές τις επιλογές ή η μεταβλητή περιβάλλοντος GROFF_TYPESETTER δεν χρησιμοποιηθεί, η προεπιλεγμένη συσκευή εξόδου είναι η ps. Μια συσκευή εξόδου μπορεί να είναι οποιαδήποτε από τις ακόλουθες.

ascii για τερματικά που χρησιμοποιούν το σύνολο χαρακτήρων και την κωδικοποίηση ISO 646 1991:IRV, γνωστό και ως USASCII.

cp1047 για τερματικά που χρησιμοποιούν το σύνολο χαρακτήρων και την κωδικοποίηση IBM code page 1047.

dvi για μορφή TeX DVI.

html
xhtml για έξοδο HTML και XHTML, αντίστοιχα.

latin1 για τερματικά που χρησιμοποιούν το σύνολο χαρακτήρων και την κωδικοποίηση ISO Latin-1 (ISO 8859-1).

lbp για εκτυπωτές Canon CaPSL (σειρές εκτυπωτών laser LBP-4 και LBP-8).

lj4 για εκτυπωτές συμβατούς με HP LaserJet4 (ή άλλους συμβατούς με PCL5).

pdf για έξοδο PDF.

ps για έξοδο PostScript.

utf8 για τερματικά που χρησιμοποιούν το σύνολο χαρακτήρων ISO 10646 («Unicode») στην κωδικοποίηση UTF-8.

X75 για προεπισκόπηση με το gxditview χρησιμοποιώντας ανάλυση 75 dpi και μέγεθος βασικού τύπου 10 σημείων.

X75-12 για προεπισκόπηση με το gxditview χρησιμοποιώντας ανάλυση 75 dpi και μέγεθος βασικού τύπου 12 σημείων.

X100 για προεπισκόπηση με το gxditview χρησιμοποιώντας ανάλυση 100 dpi και μέγεθος βασικού τύπου 10 σημείων.

X100-12 για προεπισκόπηση με το gxditview χρησιμοποιώντας ανάλυση 100 dpi και μέγεθος βασικού τύπου 12 σημείων.

Μεταεπεξεργαστές

Οποιοδήποτε πρόγραμμα που ερμηνεύει την έξοδο του GNU troff είναι ένας μεταεπεξεργαστής. Οι μεταεπεξεργαστές που παρέχονται από το GNU roff είναι οδηγοί εξόδου, οι οποίοι προετοιμάζουν ένα έγγραφο για προβολή ή εκτύπωση. Είναι εφικτοί μεταεπεξεργαστές για άλλους σκοπούς, όπως η επαναδιάταξη σελίδων ή η στατιστική μέτρηση ενός εγγράφου.


Ένας οδηγός εξόδου υποστηρίζει μία ή περισσότερες συσκευές εξόδου, καθεμία από τις οποίες έχει το δικό της αρχείο περιγραφής συσκευής. Μια συσκευή καθορίζει τον μεταεπεξεργαστή της με την οδηγία postpro στο αρχείο περιγραφής της συσκευής· δείτε groff_font(5). Η επιλογή -X παρακάμπτει αυτήν την επιλογή, προκαλώντας την χρήση του gxditview ως οδηγός εξόδου.

grodvi(1)
παρέχει dvi.

grohtml(1)
παρέχει html και xhtml.

grolbp(1)
παρέχει lbp.

grolj4(1)
παρέχει lj4.

gropdf(1)
παρέχει pdf.

grops(1)
παρέχει ps.

grotty(1)
παρέχει ascii, cp1047, latin1 και utf8.

gxditview(1)
παρέχει X75, X75-12, X100 και X100-12, και επιπλέον μπορεί να προεπισκοπήσει ps.

Εργαλεία

Το GNU roff περιλαμβάνει μια σουίτα εργαλείων.

gdiffmk(1)
σημαίνει τις διαφορές μεταξύ ενός ζεύγους αρχείων εισόδου roff.

grog(1)
συμπεραίνει την εντολή groff που απαιτεί ένα έγγραφο.

Αρκετά εργαλεία προετοιμάζουν περιγραφές γραμματοσειρών, επιτρέποντας στον μεταγλωττιστή να τις χρησιμοποιεί κατά την παραγωγή εξόδου για μια δεδομένη συσκευή.

addftinfo(1)
προσθέτει πληροφορίες σε αρχεία περιγραφής γραμματοσειρών AT&T troff για να ενεργοποιήσει τη χρήση τους με το GNU troff.

afmtodit(1)
δημιουργεί αρχεία περιγραφής γραμματοσειρών για γραμματοσειρές PostScript Type 1.

pfbtops(1)
μεταφράζει μια γραμματοσειρά PostScript Type 1 σε μορφή PFB (Printer Font Binary) σε PFA (Printer Font ASCII), η οποία στη συνέχεια μπορεί να ερμηνευτεί από το afmtodit.

hpftodit(1)
δημιουργεί αρχεία περιγραφής γραμματοσειρών για την οικογένεια εκτυπωτών HP LaserJet 4.

tfmtodit(1)
δημιουργεί αρχεία περιγραφής γραμματοσειρών για τη συσκευή DVI του TeX.

xtotroff(1)
δημιουργεί αρχεία περιγραφής γραμματοσειρών για γραμματοσειρές του συστήματος X Window System.

Μια τριάδα εργαλείων μετασχηματίζει υλικό που έχει κατασκευαστεί χρησιμοποιώντας γλώσσες προεπεξεργασίας roff σε αρχεία γραφικών εικόνων.

eqn2graph(1)
μετατρέπει μια εξίσωση eqn σε περικομμένη εικόνα.

grap2graph(1)
μετατρέπει ένα διάγραμμα grap σε περικομμένη εικόνα.

pic2graph(1)
μετατρέπει ένα διάγραμμα pic σε περικομμένη εικόνα.

Ένα άλλο σύνολο προγραμμάτων λειτουργεί με τα αρχεία βιβλιογραφικών δεδομένων που χρησιμοποιούνται από την προεπεξεργασία αναφοράς (refer(1)).

indxbib(1)
δημιουργεί ανεστραμμένους δείκτες για βιβλιογραφικές βάσεις δεδομένων, επιταχύνοντας τις λειτουργίες αναζήτησης σε αυτές.

lkbib(1)
αναζητά στις βάσεις δεδομένων.

lookbib(1)
αναζητά στις βάσεις δεδομένων με διαδραστικό τρόπο.

Κατάσταση εξόδου

Το groff εξέρχεται με κατάσταση αποτυχίας εάν υπήρχε πρόβλημα κατά την ανάλυση των ορισμάτων του και με κατάσταση επιτυχίας εάν έχει καθοριστεί μία από τις επιλογές -h ή --help. Διαφορετικά, το groff εκτελεί μια αλυσίδα εντολών για να επεξεργαστεί την είσοδό του· εάν όλες οι εντολές στην αλυσίδα εξέλθουν με επιτυχία, το groff κάνει επίσης το ίδιο.
Εάν όχι, η κατάσταση εξόδου του groff κωδικοποιεί μια σύνοψη των προβλημάτων που προέκυψαν, θέτοντας το bit 0 εάν μια εντολή εξήλθε με κατάσταση αποτυχίας, το bit 1 εάν μια εντολή τερματίστηκε με ένα σήμα και το bit 2 εάν μια εντολή δεν μπορούσε να εκτελεστεί. (Έτσι, εάν και οι τρεις ατυχίες συνέβησαν στην αλυσίδα εντολών, το groff θα εξέλθει με κατάσταση 2^0 + 2^1 + 2^2 = 1+2+4 = 7.) Για να αντιμετωπίσετε προβλήματα στην αλυσίδα εντολών, μπορείτε να εκτελέσετε ξανά την εντολή groff με την επιλογή -V και να χωρίσετε την αναφερόμενη αλυσίδα εντολών σε ξεχωριστά στάδια, ελέγχοντας την κατάσταση εξόδου και τα διαγνωστικά μηνύματα που εκπέμπει κάθε εντολή.

Περιβάλλον

Κανονικά, ο διαχωριστής διαδρομής στις μεταβλητές περιβάλλοντος που λήγουν με PATH είναι η άνω τελεία· αυτό μπορεί να διαφέρει ανάλογα με το λειτουργικό σύστημα. Για παράδειγμα, τα Windows χρησιμοποιούν άνω τελεία.

GROFF_BIN_PATH

Αυτή η διαδρομή αναζήτησης, ακολουθούμενη από το PATH, χρησιμοποιείται για την εύρεση εντολών που εκτελούνται από το groff. Εάν δεν έχει οριστεί, ο κατάλογος εγκατάστασης των εκτελέσιμων αρχείων GNU roff, /usr/bin, αναζητείται πριν από το PATH.

GROFF_COMMAND_PREFIX

Το GNU roff μπορεί να διαμορφωθεί κατά τη διάρκεια της μεταγλώττισης ώστε να εφαρμόζει ένα πρόθεμα στα ονόματα των προγραμμάτων που παρέχει και τα οποία είχαν αντίστοιχο στο AT&T troff, έτσι ώστε να αποφεύγονται οι συγκρούσεις ονομάτων κατά την εκτέλεση. Το προεπιλεγμένο πρόθεμα είναι κενό.

Όταν χρησιμοποιείται, αυτό το πρόθεμα είναι κατά παράδοση το γράμμα «g». Για παράδειγμα, το GNU troff θα εγκατασταθεί ως gtroff. Εκτός από το troff, το πρόθεμα εφαρμόζεται στους μεταγλωττιστές nroff, eqn, grn, pic, refer, tbl και soelim· και στις βοηθητικές εφαρμογές indxbib και lookbib.

GROFF_ENCODING

Η τιμή αυτής της μεταβλητής μεταβιβάζεται στην επιλογή -e του προεπεξεργαστή preconv(1) για να επιλέξει την κωδικοποίηση χαρακτήρων των αρχείων εισόδου. Η ύπαρξη αυτής της μεταβλητής υποδηλώνει την επιλογή groff -k. Εάν έχει οριστεί αλλά είναι κενή, το groff καλεί το preconv χωρίς την επιλογή -e. Η επιλογή -K του groff αντικαθιστά το GROFF_ENCODING.

GROFF_FONT_PATH

Αναζητήστε τον κατάλογο των αρχείων περιγραφής συσκευής και γραμματοσειρών της επιλεγμένης συσκευής εξόδου σε αυτήν τη λίστα καταλόγων. Δείτε troff(1) και groff_font(5).

GROFF_TMAC_PATH

Αναζητήστε αρχεία μακροεντολών σε αυτήν τη λίστα καταλόγων. Δείτε troff(1) και groff_tmac(5).

GROFF_TMPDIR

Δημιουργήστε προσωρινά αρχεία σε αυτόν τον κατάλογο. Εάν δεν έχει οριστεί, αλλά η μεταβλητή περιβάλλοντος TMPDIR έχει οριστεί, τα προσωρινά αρχεία δημιουργούνται εκεί. Στα συστήματα Windows, εάν καμία από τις παραπάνω δεν έχει οριστεί, ελέγχονται επίσης οι μεταβλητές περιβάλλοντος TMP και TEMP (με αυτή τη σειρά). Διαφορετικά, τα προσωρινά αρχεία δημιουργούνται στο /tmp. Οι εντολές refer(1), grohtml(1) και gropes(1) χρησιμοποιούν προσωρινά αρχεία.

GROFF_TYPESETTER

Ορίστε την προεπιλεγμένη συσκευή εξόδου. Εάν είναι κενή ή δεν έχει οριστεί, χρησιμοποιείται η ps. Η επιλογή -T αντικαθιστά το GROFF_TYPESETTER.

SOURCE_DATE_EPOCH

Μια χρονική σήμανση (που εκφράζεται σε δευτερόλεπτα από την εποχή Unix) που θα χρησιμοποιηθεί ως χρονική σήμανση δημιουργίας εξόδου, αντί για την τρέχουσα ώρα. Η ώρα μετατρέπεται σε μορφή αναγνώσιμη από τον άνθρωπο χρησιμοποιώντας τις συναρτήσεις gmtime(3) και asctime(3) κατά την εκκίνηση του μορφοποιητή και αποθηκεύεται σε καταχωρητές που μπορούν να χρησιμοποιηθούν από έγγραφα και πακέτα μακροεντολών.

TZ Η χρονική ζώνη που θα χρησιμοποιηθεί κατά τη μετατροπή της τρέχουσας ώρας σε μορφή αναγνώσιμη από τον άνθρωπο· δείτε την συνάρτηση tzset(3). Εάν χρησιμοποιείται το SOURCE_DATE_EPOCH, μετατρέπεται πάντα σε μορφή αναγνώσιμη από τον άνθρωπο χρησιμοποιώντας το UTC.

Παραδείγματα

Τα συστήματα roff είναι πιο γνωστά για τη μορφοποίηση των σελίδων man. Μόλις ένα πρόγραμμα βιβλιοθηκονόμου man(1) εντοπίσει μια σελίδα man, μπορεί να εκτελέσει μια εντολή groff παρόμοια με την ακόλουθη. groff -t -man -Tutf8 /usr/share/man/man1/groff.1 Ο βιβλιοθηκονόμος θα διοχετεύσει επίσης την έξοδο μέσω ενός προγράμματος ανάγνωσης, το οποίο ενδέχεται να μην ερμηνεύει τις ακολουθίες διαφυγής τερματικού SGR που εκπέμπει το groff για έντονη γραφή, υπογράμμιση ή πλάγια γραφή· δείτε την ενότητα «Περιορισμοί» παρακάτω.


Για να επεξεργαστείτε ένα αρχείο εισόδου roff χρησιμοποιώντας τους προεπεξεργαστές tbl και pic και το πακέτο μακροεντολών me με τον τρόπο που ήταν συνηθισμένοι οι χρήστες του AT&T troff, θα πληκτρολογούσατε (ή θα δημιουργούσατε ένα σενάριο) μια σειρά εντολών.

pic foo.me | tbl | troff -me -Tutf8 | grotty

Χρησιμοποιώντας το groff, αυτή η σειρά εντολών μπορεί να συντομευτεί σε μια ισοδύναμη εντολή.

groff -p -t -me -T utf8 foo.me

Ένας ακόμα πιο εύκολος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε το grog(1) για να μαντέψει τις επιλογές του προεπεξεργαστή και των μακροεντολών και να εκτελέσει το αποτέλεσμα χρησιμοποιώντας τη δυνατότητα αντικατάστασης εντολών του κελύφους.

$(grog -Tutf8 foo.me)

Κάθε επιλογή γραμμής εντολών σε έναν μεταεπεξεργαστή πρέπει να καθορίζεται με οποιεσδήποτε απαιτούμενες αρχικές παύλες “-” επειδή το groff περνάει τα ορίσματα όπως έχουν στον μεταεπεξεργαστή. αυτό επιτρέπει τη μετάδοση αυθαίρετων ορισμάτων. Για παράδειγμα, για να περάσετε έναν τίτλο στον μεταεπεξεργαστή gxditview, οι εντολές του κελύφους groff -X -P -title -P 'δοκιμαστική εκτέλεση' mydoc.t και groff -X -Z mydoc.t | gxditview -title 'δοκιμαστική εκτέλεση' είναι ισοδύναμες.

Περιορισμοί

Όταν γίνεται σελιδοποίηση της εξόδου για τις συσκευές ascii, cp1047, latin1 και utf8, προγράμματα όπως τα more(1) και less(1) ενδέχεται να απαιτούν επιλογές γραμμής εντολών για να χειριστούν σωστά ορισμένες ακολουθίες διαφυγής τερματικού. δείτε το grotty(1).

Σε συστήματα EBCDIC, όπως τα OS/390 Unix, οι συσκευές εξόδου ascii και latin1 δεν είναι διαθέσιμες. Αντίθετα, η συσκευή εξόδου cp1047 δεν είναι διαθέσιμη σε συστήματα που βασίζονται στα πρότυπα κωδικοποίησης χαρακτήρων ISO 646 ή ISO 8859.

Κατάλογοι εγκατάστασης

Το GNU roff εγκαθιστά αρχεία σε διάφορες τοποθεσίες ανάλογα με τη διαμόρφωση χρόνου μεταγλώττισης. Σε αυτήν την εγκατάσταση, χρησιμοποιούνται οι ακόλουθες τοποθεσίες.

/etc/X11/app-defaults

Κατάλογος προεπιλογών εφαρμογής για το gxditview(1).

/usr/bin

Κατάλογος που περιέχει τις εκτελέσιμες εντολές του groff.

/usr/share/groff/1.23.0/eign

Λίστα κοινών λέξεων για το indxbib(1).

/usr/share/groff/1.23.0

Κατάλογος για αρχεία δεδομένων.

/usr/dict/papers/Ind

Προεπιλεγμένος δείκτης για τα lkbib(1) και refer(1).

/usr/share/doc/groff-base

Κατάλογος τεκμηρίωσης.

/usr/share/doc/groff-base/examples

Κατάλογος παραδειγμάτων.

/usr/share/groff/1.23.0/font

Κατάλογος γραμματοσειρών.

/usr/share/doc/groff-base/html

Κατάλογος τεκμηρίωσης HTML.

/usr/lib/font

Κατάλογος γραμματοσειρών παλαιού τύπου.

/usr/share/groff/site-font

Τοπικός κατάλογος γραμματοσειρών.

/usr/share/groff/site-tmac

Τοπικός κατάλογος πακέτων μακροεντολών (αρχείο tmac).

/usr/share/groff/1.23.0/tmac

Κατάλογος πακέτων μακροεντολών (αρχείο tmac).

/usr/share/groff/1.23.0/oldfont

Κατάλογος γραμματοσειρών για συμβατότητα με παλαιότερες εκδόσεις του groff. δείτε το grops(1).

/usr/share/doc/groff-base/pdf

Κατάλογος τεκμηρίωσης PDF.

Κατάλογος μακροεντολών groff

Τα περισσότερα αρχεία μακροεντολών που παρέχονται με το GNU roff αποθηκεύονται στο /usr/share/groff/1.23.0/tmac για την εγκατάσταση που αντιστοιχεί σε αυτό το έγγραφο. Ως γενικός κανόνας, αναζητούνται πολλοί κατάλογοι για αρχεία μακροεντολών. δείτε το troff(1). Για έναν κατάλογο αρχείων μακροεντολών που παρέχει το GNU roff, δείτε το groff_tmac(5).


κατάλογος περιγραφών συσκευών και γραμματοσειρών groff
Τα αρχεία περιγραφής συσκευών και γραμματοσειρών που παρέχονται με το GNU roff αποθηκεύονται στο /usr/share/groff/1.23.0/
γραμματοσειρά για την εγκατάσταση που αντιστοιχεί σε αυτό το έγγραφο. Ως κανόνας, αναζητούνται πολλοί κατάλογοι για αρχεία περιγραφής συσκευών και γραμματοσειρών. δείτε το troff(1). Για τις μορφές αυτών των αρχείων, δείτε το groff_font(5).

Διαθεσιμότητα

Αποκτήστε συνδέσμους προς τις εκδόσεις groff για λήψη, το αποθετήριο πηγών του, λίστες συζήτησης μέσω email, ένα σύστημα παρακολούθησης αιτημάτων υποστήριξης και περισσότερες πληροφορίες από τη σελίδα groff στον ιστότοπο του GNU.

Μια δωρεάν υλοποίηση του προεπεξεργαστή grap, γραμμένη από τον Ted Faber, μπορεί να βρεθεί στον ιστότοπο grap. Το groff υποστηρίζει μόνο αυτό το grap.

Συγγραφείς

Το groff (τόσο η εντολή διεπαφής όσο και το συνολικό σύστημα) γράφτηκε κυρίως από τον James Clark. Οι συνεισφέροντες σε αυτό το έγγραφο περιλαμβάνουν τους Clark, Trent A. Fisher, Werner Lemberg, Bernd Warken και G. Branden Robinson.

Δείτε επίσης

Το Groff: The GNU Implementation of troff, από τους Trent A. Fisher και Werner Lemberg, είναι το κύριο εγχειρίδιο groff. Μπορείτε να το περιηγηθείτε διαδραστικά με το "info groff".

Εισαγωγή, ιστορία και περαιτέρω ανάγνωση: roff(7)

Προβολέας για έγγραφα groff (και AT&T device-independent troff): gxditview(1)

Προεπεξεργαστές:
chem(1), eqn(1), neqn(1), glilypond(1), grn(1), preconv(1), gperl(1), pic(1), gpinyin(1), refer(1), soelim(1), tbl(1)

Πακέτα μακροεντολών και βοηθητικά προγράμματα συγκεκριμένα για το πακέτο: groff_hdtbl(7), groff_man(7), groff_man_style(7), groff_mdoc(7), groff_me(7), groff_mm(7), groff_mmse(7) (μόνο σε τοπικές ρυθμίσεις Σουηδίας), mmroff(1), groff_mom(7), pdfmom(1), groff_ms(7), groff_rfc1345(7), groff_trace(7), groff_www(7)

Εργαλεία διαχείρισης βιβλιογραφικής βάσης δεδομένων: indxbib(1), lkbib(1), lookbib(1)

Γλώσσα, συμβάσεις και επεκτάσεις GNU: groff(7), groff_char(7), groff_diff(7), groff_font(5), groff_tmac(5)

Ενδιάμεση γλώσσα εξόδου: groff_out(5)

Πρόγραμμα μορφοποίησης: troff(1)

Περιτυλίγματα μορφοποιητή: nroff(1), pdfroff(1)

Μετα-επεξεργαστές για συσκευές εξόδου: grodvi(1), grohtml(1), grolbp(1), grolj4(1), gropdf(1), grops(1), grotty(1)

Βοηθητικά προγράμματα υποστήριξης γραμματοσειρών: addftinfo(1), afmtodit(1), hpftodit(1), pfbtops(1), tfmtodit(1), xtotroff(1)

Βοηθητικά προγράμματα μετατροπής γραφικών: eqn2graph(1), grap2graph(1), pic2graph(1)

Βοηθητικό πρόγραμμα σήμανσης διαφορών: gdiffmk(1)

Βοηθητικό πρόγραμμα "groff guess":
grog(1)