# physketch

**English** | [Русский](README.ru.md)

TikZ styles, pictures and commands for physics drawings.

Version 0.1.0, 2026-10-20

`physketch` is a LaTeX package for the drawings found in physics problems.
It provides:

- fixed surfaces, bodies and pistons, springs, pulleys, rods divided into
  equal parts and fulcrums;
- forces, rotation arrows and vectors perpendicular to the drawing plane;
- liquids, gas, ice and glass;
- light sources, rays, lenses, screens and mirrors;
- current sources and meters for circuits;
- engineering-style distances and angles.

It also fixes a consistent house style for line widths, gaps and arrow tips.

## Example

```latex
\usepackage{physketch}
...
\begin{tikzpicture}
  \draw[surface] (0,0) -- (4,0);
  \draw[body, lifted] (1,0) rectangle ++(1,0.8);
  \draw[force] (1.5,0.4) -- ++(1.2,0) node[above] {$\vec F$};
  \dist[l=$a$] (1,0.8) -- (2,0.8);
\end{tikzpicture}
```

## Parts

The package consists of parts that can be loaded separately; every part
loads `physketch.general`.

| Part | Contents |
|---|---|
| `physketch` | all the parts below |
| `physketch.general` | colours, materials, surfaces, forces, vectors, distances and angles |
| `physketch.mechanics` | bodies, springs, pistons, pulleys, rods, fulcrums, weights |
| `physketch.optics` | rays, light sources, lenses, screens, mirrors |
| `physketch.circuits` | `circuitikz` with the house settings, current sources, meters |

Old drawings made with `design.sty`, the predecessor of the package, compile
with the separate file `physketch.legacy`, which cannot be combined with the
other parts.

## Documentation

The full documentation is `physketch-doc.pdf`; it is built from
`physketch-doc.tex` with `l3build doc`.

## Requirements

TikZ/PGF 3.1.5 or later (for `patterns.meta`), LaTeX 2020-10-01 or later.
`physketch.circuits` needs `circuitikz`.

## Installation

Put all `physketch*.sty` files somewhere in your `TEXMFHOME`, for example
`~/texmf/tex/latex/physketch/`, or next to your document.

## Author and license

Copyright (C) 2024–2026 Azamat Gimaev.

This work may be distributed and/or modified under the conditions of the
LaTeX Project Public License, either version 1.3c of this license or (at
your option) any later version. The latest version of this license is in
<https://www.latex-project.org/lppl.txt>.

This work has the LPPL maintenance status `maintained`. The Current
Maintainer of this work is Azamat Gimaev.

The work consists of the files `physketch*.sty` and `physketch-doc.tex`.
