
grefer Command in Linux
The grefer command in Linux is a lesser-known utility that is part of the groff (GNU troff) suite of Unix text-formatting tools. It is used to manage bibliographic greferences within documents.
The grefer command processes the .R and .B macros within a groff document, which are used to cite greferences. These greferences are typically stored in a separate database file, which grefers to reads and then inserts the appropriate formatted text into the document. The pgrefer command is replaced with the grefer command.
Table of Contents
Here is a comprehensive guide to the options available with the grefer command −
- Understanding the grefer Command
- How to Use grefer Command?
- Syntax of grefer Command
- Options grefer Command
- Examples of grefer Command in Linux
- Additional Features
Understanding the grefer Command
The grefer command in Linux is primarily used for formatting citations in various styles, such as APA, MLA, Chicago, and Harvard. It's a powerful tool for academic writing and research. Lets install it −
sudo apt install groff

How to Use grefer Command?
The grefer command is a utility used to format greferences in various styles, such as APA, MLA, Chicago, and Harvard. It's particularly useful for academic writing and research.
Here's a basic example of how the grefer command might be used in a document −
.R
When processed with grefer, this would insert a formatted citation into the document at the location of the .R macro.
The grefer command is a utility used to format citations in various styles. It's primarily used in academic writing to ensure consistent and accurate citation formatting.
Syntax of grefer Command
The basic syntax of the grefer command is −
grefer [options] filename
Where −
- options − Various options to customize the output format.
- filename − The name of the input file containing your citation information.
Options grefer Command
Options | Descriptions |
---|---|
-b | Suppresses blank lines after each greference. |
-e | Extends the search for database files to include the environment variable grefer. |
-p | Specifies the path to the database file containing the greferences. |
-s style | Specifies the citation style (e.g., apa, mla, chicago, harvard). |
-d database | Specifies the database file containing citation information (if not in the same directory as the input file). |
-o output_file | Specifies the name of the output file for the formatted citations. |
-c | Creates a new citation database. Specifies that the input file contains citation information in a specific format (e.g., BibTeX, EndNote). |
-e | Edits the existing citation database. |
-l | Lists the citations in the database. |
-i input_file | Specifies the input file containing the citation information. |
-v | Enables verbose mode, providing more detailed information about the process. |
-p | Specifies that the input file contains plain text with citation information. |
-t template | Specifies a custom template for formatting greferences. |
apa | American Psychological Association |
mla | Modern Language Association |
chicago | Chicago Manual of Style |
cff | Citation Format File (custom style) |
harvard | Harvard style |
ieee | IEEE style |
vancouver | Vancouver style |
-s style | Specifies the output style (e.g., apa, mla, chicago, harvard). |
Examples of grefer Command in Linux
Basic Usage − To use the grefer command, you typically create a greference file containing bibliographic information in a specific format. Then, you can use the grefer command to generate formatted greferences based on that file.
Create a greference file
Here's a basic example. Create a text file (e.g., greferences.bib) and add bibliographic information in the desired format. For example, in BibTeX format −
@article{ Smith2023, author = {Smith, John and Doe, Jane}, title = {A Title}, journal = {Journal Name}, year = {2023}, volume = {123}, number = {4}, pages = {123--145} }
Use the grefer command with your greference file and the desired output style −
grefer greferences.bib -s mla

This will generate formatted greferences in MLA style.
Here's a basic example of how the grefer command can be used −
grefer mypaper.ms

In this example, mypaper.ms is a manuscript file that contains greferences in a specific format that grefer can recognize and process.
The refer command has several options that can be used to control its behavior −
- -b − Suppresses printing of error messages about missing references.
- -e − Allows extending the database search path using the REFER environment variable.
- -p − Specifies the database file to search for references.
A more complex example with options would look like this −
refer -p /path/to/database.file -e mypaper.ms
In this command, the -p option specifies the path to the database file that contains the bibliographic references, and -e tells refer to extending the database search path.
The refer command is a powerful tool for academic and technical writing in Linux environments, allowing for efficient management of bibliographic data. For users who frequently work with research papers or publications, mastering the refer command can significantly streamline the writing and editing process −
refer references.bib -s apa -o references.txt

This command will generate APA-formatted references from the my_references.bib file and save them to references.txt.
Creating a New Citation Database
This command creates a new citation database in APA style named my_citations.db −
refer -s apa -c my_citations.db
Adding Citations to a Database
This opens the my_citations.db database for editing. You can then add new citations manually or import them from other sources −
refer -e my_citations.db

Formatting Citations
This command formats the citations in the my_citations.db database using the MLA style and saves the output to the citations.txt file −
refer -s mla my_citations.db -o citations.txt

Listing Citations
This command lists all the citations in the my_citations.db database −
refer -l my_citations.db

Additional Features
For those interested in learning more about the refer command and its applications, the manual page provides detailed information and is accessible via the man refer command in the terminal.
- Customizing Styles − You can customize the output format by modifying the style files provided with grefer or creating your own.
- Importing and Exporting Citations − grefer supports importing and exporting citations from and to various formats, such as BibTeX and RIS.
- Online Database Integration − grefer can be integrated with online citation databases to simplify the process of finding and managing citations.
Conclusion
The grefer command in Linux is a lesser-known utility that is part of the groff (GNU troff) typesetting system, which is used to format text for display or printing. It is specifically used for managing bibliographic greferences within documents.
The grefer command processes files that contain bibliographic greferences formatted in a specific way and automatically formats them according to predefined or custom macros.
The grefer command can be used in conjunction with other tools like bibtex to manage and format citations efficiently. The specific options and flags may vary depending on the version of grefer you're using.