Skip to main content

LaTeX for Engineers: Technical Engineering Documents

Published: March 7, 2026 Updated: May 8, 2026 Larry Qu 3 min read

Introduction

Engineering documents require precise technical notation, diagrams, and specialized formatting. LaTeX provides comprehensive tools for engineering publications.

This guide covers engineering document creation in LaTeX.

Circuit Diagrams

TikZ Circuits

\usepackage{tikz}
\usetikzlibrary{circuits.ee.IEC}

\begin{tikzpicture}[circuit ee IEC]
  \draw (0,0) to [resistor={info=$R_1$}] (2,0)
             to [capacitor={info=$C_1$}] (4,0);
  \draw (2,0) to [voltage source={info=$V_{in}$}] (2,-2);
\end{tikzpicture}

Circuitikz

\usepackage{circuitikz}

\begin{circuitikz}
  \draw (0,0) to[R=$R_1$, o-] (2,0)
             to[C=$C_1$, -o] (4,0);
\end{circuitikz}

Technical Drawings

Dimension Lines

\usepackage{tikz}
\usetikzlibrary{calc}

\draw (0,0) -- (5,0);
\draw (0,-0.2) -- (0,0.2);
\draw (5,-0.2) -- (5,0.2);
\node at (2.5,0.5) {$L = \SI{5}{\meter}$};

Engineering Reports

Report Template

\documentclass[12pt]{report}

\title{Engineering Design Report}
\subtitle{Project Title}
\author{Engineer Name}

\begin{document}

\chapter{Introduction}
\chapter{Design Analysis}
\chapter{Results}
\chapter{Conclusion}

\end{document}

SI Units and Engineering Notation

Engineering documents require consistent units. The siunitx package provides comprehensive SI unit formatting:

\usepackage{siunitx}
\sisetup{
  separate-uncertainty=true,
  per-mode=symbol,
  exponent-product=\cdot,
  output-decimal-marker={.}
}

% Usage examples
\SI{5}{\kilo\gram}           % 5 kg
\SI{9.81}{\meter\per\second\squared}  % 9.81 m/s²
\SI{100}{\mega\hertz}        % 100 MHz
\SI{2.5e3}{\newton}          % 2500 N
\SI{1.23(5)}{\milli\meter}   % 1.23 ± 0.05 mm

For tables with repeated units, use \si in the column header and \num for numeric values to avoid repetition. The range-phrase option formats ranges like \SIrange{10}{100}{\ohm} for resistance specifications.

Equations and Technical Notation

Engineers frequently need multi-line equations with numbered references. LaTeX’s amsmath package handles these cleanly:

\usepackage{amsmath}

\begin{align}
  \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \label{eq:faraday} \\
  \nabla \times \mathbf{H} &= \mathbf{J} + \frac{\partial \mathbf{D}}{\partial t} \label{eq:ampere} \\
  \nabla \cdot \mathbf{D}   &= \rho \label{eq:gauss} \\
  \nabla \cdot \mathbf{B}   &= 0 \label{eq:gauss-mag}
\end{align}

Maxwell’s equations in \eqref{eq:faraday} through \eqref{eq:gauss-mag} form the foundation of electromagnetic analysis.

For transfer functions and control systems, use \frac with \mathrm for textual subscripts:

\[
H(s) = \frac{K \cdot \omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}
\]

Cross-Referencing for Technical Specs

Engineering reports reference figures, tables, and sections extensively. LaTeX’s \ref and \autoref provide context-aware references:

\usepackage{hyperref}

% Referencing
Figure~\ref{fig:stress-strain} shows the material behavior.
\autoref{tab:material-properties} lists yield strengths.

Combine with the cleveref package for plural and ranged references like \cref{fig:a,fig:b,fig:c} producing “Figures 1a to 1c” automatically.

Code Listings for Embedded Systems

Engineering documents often include firmware or Verilog code. The minted package provides syntax highlighting:

\usepackage{minted}

\begin{listing}[htbp]
\begin{minted}[frame=single,linenos,fontsize=\small]{c}
void pwm_init(uint32_t frequency) {
    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    TIM_TimeBaseStructure.TIM_Prescaler = 72;
    TIM_TimeBaseStructure.TIM_Period = 1000;
    TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
}
\end{minted}
\caption{PWM initialization routine for STM32 microcontrollers}
\label{lst:pwm-init}
\end{listing}

Use \ref{lst:pwm-init} to reference the listing from the report body.

Engineering Data Tables

Present test results and material properties in structured tables:

\usepackage{booktabs,siunitx}

\begin{table}[htbp]
\centering
\caption{Tensile Test Results for A36 Steel}
\label{tab:tensile}
\begin{tabular}{lSSS}
\toprule
Specimen & {Yield Strength (MPa)} & {Ultimate (MPa)} & {Elongation (\%)} \\
\midrule
A1 & 262 & 415 & 23 \\
A2 & 258 & 408 & 25 \\
B1 & 271 & 422 & 22 \\
B2 & 265 & 418 & 24 \\
\bottomrule
\end{tabular}
\end{table}

The S column type (from siunitx) aligns numbers on the decimal point and applies unit formatting automatically.

Conclusion

LaTeX creates professional engineering documents with circuit diagrams, technical drawings, and precise notation. Its cross-referencing system, unit formatting, and code listing capabilities make it the standard for engineering publications.

Resources

Comments

👍 Was this article helpful?