Directory macros/latex/contrib/user-persona
user-persona
A LaTeX package for typesetting structured user persona sheets in UX and HCI documentation.
What Is a User Persona?
A user persona is a fictitious but research-grounded representation of a target user group, synthesising observed behaviours, goals, and frustrations into a named, humanised archetype Cooper 1999. Personas are widely used in user-centred design to keep real user needs visible throughout product development — from early requirements gathering through to final evaluation Pruitt & Adlin 2006. They serve as a shared vocabulary between designers, developers, and stakeholders, anchoring design decisions in empirical user research rather than internal assumptions Nielsen 2019.
Cooper 1999 A. Cooper, The Inmates Are Running the Asylum. Sams Publishing, 1999.
>
Pruitt & Adlin 2006 J. Pruitt and T. Adlin, The Persona Lifecycle: Keeping People in
Mind Throughout Product Design. Morgan Kaufmann, 2006. ISBN: 978-0-12-566251-2
>
Nielsen 2019 L. Nielsen, Personas — User Focused Design. Springer, 2019.
doi:10.1007/978-1-4471-7427-1
About This Package
The user-persona package provides a structured persona environment and a set of commands for composing professional persona sheets directly in LaTeX. It is intended for UX researchers, Human-Computer Interaction (HCI) practitioners, and product designers who maintain documentation within a LaTeX workflow.
Unlike the persona_landscape document class from Holzinger et al. (2022) — which targets AI-specific personas in medical contexts and requires a directory of external PDF image assets — user-persona is:
- A composable package (
\usepackage), not a document class: integrates into any existing document (thesis, report, CHI paper, design brief) without replacing its root class. - Domain-neutral: suitable for any UX, product, or service design context.
- Self-contained: no external PDF theme assets required.
- Released under LPPL-1.3c for full CTAN distribution.
Quick Start
\documentclass{article} \usepackage{user-persona} \begin{document} \begin{persona}{Zhang Wei} \personaphoto{photo.jpg} \personaquote{``If the robot crashes, I reboot it and send a WeChat voice note.''} \personafact{Age}{30} \personafact{Location}{Mainland China} \personasection{Goals}{PersonaGreen}{ \item Complete the shift with zero system failures. \item Find content to combat boredom during monitoring. } \personasection[right]{Pain Points}{PersonaRed}{ \item Physical strain from 10 hours of screen glare. \item Frustration with text-heavy Western software interfaces. } \end{persona} \end{document}
See user-persona-example.tex for a minimal example and user-persona-detailed.tex for a full demonstration.
Commands
Environment
\begin{persona}{Name} ... \end{persona}
Identity
| Command | Description |
|---|---|
\personaphoto{path} |
Portrait image |
\personaquote{text} |
Pull-quote |
\personafact{Key}{Value} |
Identity table row |
Content Cards
| Command | Description |
|---|---|
\personasection[pos]{Title}{Color}{Items} |
Bulleted list card |
\personacard[pos]{Title}{Color}{Content} |
Free-content card |
\personacontext[pos]{Title}{Content} |
Shorthand grey context card |
pos accepts left, right (default), or span.
Inline Elements
| Command | Description |
|---|---|
\personapill{text} |
Rounded pill label |
\personabrand[img]{path} |
Image icon badge |
\personabrand[fa]{\faCommand} |
FontAwesome icon badge |
Predefined Colours
| Name | Suggested Use |
|---|---|
PersonaDark |
Header, dark cards |
PersonaGreen |
Goals, Core Needs |
PersonaBlue |
Behaviours |
PersonaRed |
Pain Points |
PersonaGrey |
Context, supplementary info |
Related Work
Holzinger et al. (2022) provide a LaTeX document class (persona_landscape) for AI-specific persona sheets, released under CC BY-NC 4.0 as a GitHub repository. The user-persona package addresses a complementary but distinct need: a general-purpose, composable, CTAN-distributed package for UX and HCI documentation workflows.
A. Holzinger, M. Kargl, B. Kipperer, P. Regitnig, M. Plass, and H. Müller,
"Personas for Artificial Intelligence (AI): an Open Source Toolbox,"
IEEE Access, vol. 10, pp. 23732–23747, 2022.
doi:10.1109/ACCESS.2022.3154776
License
Released under the LaTeX Project Public License, version 1.3c (LPPL-1.3c).
Contributing
Github: uses a Nix flake to provide a fully reproducible development environment.
Enter the development shell:
nix develop
This provides tectonic, chktex, ctanify, and reuse on your PATH.
Build the CTAN bundle:
build-ctan
This will:
- Compile all documentation PDFs via
tectonic - Lint
user-persona.styviachktex - Produce
user-persona.tar.gzviactanify --no-tds
Check SPDX licence headers:
reuse lint
Download the contents of this package in one zip archive (118.8k).
user-persona – Typesetting User Persona sheets for UX and HCI (Human-Computer Interaction)
This package provides a structured environment and command set for typesetting professional user persona sheets in LaTeX. A user persona is a research-grounded representation of a target user group, synthesizing observed behaviours, goals, and frustrations into a humanized archetype (Cooper, 1999).
The package is intended for User Experience (UX) researchers, Human-Computer Interaction (HCI) practitioners, and product designers who maintain documentation within a LaTeX workflow.
The central persona environment produces a two-column layout comprising a portrait image, an identity table, a pull-quote, and a set of colour-coded content cards. Cards may be placed in the left column, right column, or as a full-width span below both columns. Predefined semantic colours are supplied for common persona sections (Goals, Behaviours, Pain Points, Context). Inline pill labels and icon badges are supported via \personapill and \personabrand (using fontawesome5).
| Package | user-persona |
| Bug tracker | https://github.com/fractuscontext/user-persona/issues/ |
| Repository | https://github.com/fractuscontext/user-persona/ |
| Version | 1.0.0 |
| Licenses | The LaTeX Project Public License 1.3c |
| Copyright | 2026 fractuscontext 2026 Claire Tam |
| Maintainer | Claire Tam |
| Contained in | TeX Live as user-persona |
| Topics | Document template Layout Graphics use Project management |