# concrete-vec

Concrete text and mathematics as vector outlines, with a synthetic bold weight,
for `pdflatex`.

## What it does

Knuth's Concrete fonts are lovely, but the existing packages leave two gaps:

* **Bitmap mathematics.** The Concrete text fonts have free Type 1 outlines
  only in T1/TS1 (the `ecc` metrics, via `cm-super`); the Concrete *math* fonts
  ship as METAFONT source only. So `concmath` / `ccfonts` embed bitmap (Type 3)
  math fonts even when the text is vector.
* **No bold.** There is no bold Concrete font, and `t1ccr.fd` silently
  substitutes Computer Modern bold, so `\textbf` quietly changes typeface (and
  on current LaTeX may give no weight at all).

`concrete-vec` addresses both:

* sets T1 and makes Concrete the roman family, so text is vector;
* uses `mathastext` to reuse the Concrete text font in math mode, so math
  letters, digits and operators are vector Concrete too;
* synthesises a bold weight by stroking outlines (PDF text rendering mode 2),
  patching `\bfseries` so bold works in headings, tables and list labels, and
  providing `\bd{...}` — one command that bolds in **both** modes: ordinary
  bold in text, and in mathematics an *in-place* stroke that bolds any single
  symbol (Latin or Greek) while keeping its shape, so `\bd{x}` is the italic
  *x* made heavy and `\bd{\pi}` a bold π. Genuine bold designs (sans,
  typewriter) are left untouched.

Everything in the output is a vector outline.

## Usage

```latex
\usepackage{amsmath}       % if wanted, load first
\usepackage{concrete-vec}  % load last
```

Load it *after* `amsmath` and any other math package (`mathastext` must be the
last math package read). See `concrete-vec.pdf` for options and examples.

## Requirements

`ccfonts`, the `ecc` metrics, `cm-super`, `mathastext`, `pdfrender`, and — for
the default `greek=lgr` — the CB Greek fonts (`cbfonts`, `cbfonts-fd`). All are
in a full TeX Live / MiKTeX. A PDF-producing engine (`pdflatex` or `lualatex`)
is required for the synthetic bold.

## Files

| File | Role |
|---|---|
| `concrete-vec.sty` | the package |
| `concrete-vec.tex` | documentation source (typeset in Concrete itself) |
| `concrete-vec.pdf` | typeset documentation |
| `README.md` | this file |

## License

Copyright © 2026 Matthew Lorig. Released under the LaTeX Project Public License
(LPPL) v1.3c or later. Maintenance status: maintained.

## Author

Matthew Lorig — mlorig@uw.edu
