1. Introduction

LaTeX is a free software package created in 1985 by the American computer scientist Leslie Lamport as a new version of the TeX typesetting system. It provides a set of powerful tools for creating professional-looking documents.

One feature that makes LaTeX stand out is the use of macros. Macros are predefined commands that allow us to automate repetitive tasks, add custom functionality, and enhance the overall efficiency of our document creation process.

In this tutorial, we’ll discuss how to work with macros in LaTeX.

2. What Are Macros?

In LaTeX, macros are a set of commands that allow us to perform a specific task or set of tasks.

Furthermore, they are defined using the \newcommand command, followed by the name of the macro, its arguments, and its definition. For example, let’s say we want to create a macro to print the square of a given number. We can define the macro as follows:


In this example, \square is the name of the macro, [1] specifies that the macro takes only one argument, and #1^2 is the definition of the macro, which calculates the square of the input number.

3. Using Macros in LaTeX

Once we have defined a macro, we can use it in our LaTeX documents by calling it by its name and providing the necessary arguments. For example, to use the \square macro we defined earlier, we can write the following code:

The square of 3 is \square{3}.

The output in our document will be as follows:

LaTeX output

Additionally, we can use macros to define more complex functionality. For instance, we can create a macro that automatically generates a table of contents for our document:


In this example, \mytoc is the name of the macro, and its definition includes the \tableofcontents command, which generates the table of contents for our document, and the \newpage command, which starts a new page.

The output in our document should be as follows:

new page

4. Commonly Used Macros in LaTeX

This section provides some examples of commonly used macros in LaTeX that can help users save time and improve the visual appeal of their documents. Some possible examples could include:

  • \textbf{text}: Makes the specified text bold
  • \textit{text}: Makes the specified text italic
  • \underline{text}: Underlines the specified text
  • \cite{reference}: Creates a citation for the specified reference
  • \footnote{text}: Inserts a footnote with the specified text
  • \begin{enumerate} and \end{enumerate}: Starts and ends an enumerated list
  • \begin{itemize} and \end{itemize}: Starts and ends a bullet-point list
  • \includegraphics{image-file}: Inserts the specified image file into the document
  • \begin{table} and \end{table}: Starts and ends a table environment

5. Tips for Working with Macros

Here are some tips to help us work with macros effectively:

  • Use descriptive names: When defining macros, use names that are easy to remember and describe the function of the macro
  • Define macros in a separate file: To keep our document organized, consider defining macros in a separate file and then importing them into our main document using the \input command
  • Avoid redefining built-in commands: Be careful not to redefine built-in commands or macros that are already defined in LaTeX, as this can cause errors and unexpected behavior
  • Use packages: Many LaTeX packages provide predefined macros for specific tasks, so check if a package already exists before creating our macros
  • Test our macros: Before using macros in our document, test them thoroughly to ensure they work as expected

6. Conclusion

Macros are a powerful tool for creating custom functionality and automating repetitive tasks in LaTeX. By following the tips we discussed in this article, we can create efficient and well-organized LaTeX documents that make use of macros.

Whether we’re creating a simple report or a complex document, learning how to work with macros can help us streamline our document creation process and improve our productivity.

Comments are open for 30 days after publishing a post. For any issues past this date, use the Contact form on the site.