View on GitHub

tms-dms-cms-usage-guide

Structured guide for Falcon BMS and other F-16 flight simulators covering TMS, DMS and CMS HOTAS switch functionality

Falcon BMS 4.38.1 — TMS, DMS and CMS Usage Guide: Project Brief

Brief Version: v0.2.0.1-2026-02-22


Repository Identification


0. Context and Working Assumptions

This brief describes how the TMS/DMS/CMS Usage Guide is being built, including:

All instructions to the assistant are given in Portuguese. All content that goes into the LaTeX document (text, tables, captions, macros) is in English.

The guide is currently in pre-publication regime (0.x.x.x) and under active development.


1. Scope and Goals

1.1 Main Goals


2. Sources to Align With (But Never Limited To)

When generating or refining content, conceptually align with (but do not copy):

2.1 Falcon BMS Dash-34 (TO BMS 1F-16CMAM-34-1-1)

Especially, but never limited to:

2.2 Falcon BMS Dash-1 (TO BMS 1F-16CMAM-1)

Where relevant (overall aircraft systems, master modes, etc.).

2.3 Falcon BMS Training Manual 4.38.1

Especially, but never limited to:

Critical rule: Never reproduce copyrighted text; always paraphrase in original words.


3. Document Structure (LaTeX Already Prepared)

Assume there is already a LaTeX template with this structure. Do not change the overall structure or helper macros unless explicitly requested, but suggestions may be made when technically justified. Always generate complete LaTeX files when ordered to generate one.

3.1 Chapter Breakdown

1. Introduction

2. HOTAS Fundamentals

3. DMS — Display Management Switch

4. TMS — Target Management Switch

5. CMS — Countermeasures Management Switch

6. Training References and Practical Flows

7. HOTAS Visual Reference

3.2 Appendices


4. Layout Parameters

4.1 Geometry Configuration (Guide Standard)

4.2 Table Formatting Standard (hotastable v2.1)

Updated: 2026-02-11 (Guide v0.4.1.0)

Column Layout:

Rationale for v2.1 changes:


5. Style and Content Rules

5.1 General Style

5.2 Focus

Focus is always TMS, DMS and CMS. Mention other controls only when strictly needed.

5.3 Style guide - mandatory adherence

Consult and always adhere to to misc/STYLE-GUIDE.md for all prose style, voice, formatting, and prohibited pattern rules.


6. Column Filling Guidelines for hotastable

6.1 Column 1: Mode (1.00 cm)

Describe the master mode or state where this action applies. Use structured format:

6.2 Column 2: Dir. (0.90 cm)

Use physical directions: Up, Down, Left, Right.

6.3 Column 3: Act. (0.90 cm)

Describe press type:

6.4 Column 4: Function (3.30 cm)

Provide a short name for what the switch does:

6.5 Column 5: Effect / Nuance (6.40 cm)

Brief explanation (1–3 sentences) of what happens:

6.6 Column 6: Dash34 (1.40 cm)

Reference relevant Dash-34 sections as plain text (no macros inside tables):

Note: Macros like \dashref{...} are used in narrative text, not inside table cells.

6.7 Column 7: Train. (1.60 cm) — SIMPLIFIED FORMAT

NEW (v2.1): Training mission numbers only, separated by commas:

OLD (v1.0): Used \trnref{18 (BARCAP)} with full mission names — this format is deprecated as of v0.4.1.0.

Rationale: Mission numbers are more compact, eliminate overflow, and maintain traceability. Full mission descriptions are documented in BMS Training Manual 4.38.1, not duplicated in this guide.


7. Rules for the HOTAS Visual Reference Chapter



9. Version and Contribution Attribution

9.1 Document Version Display

9.2 Authorship Attribution


10. GitHub and Publication Workflow

10.1 Canonical File

10.2 Snapshot Workflow

  1. Create snapshot: wip/guide/guide-vMAJOR.MINOR.PATCH.SUBPATCH-YYYYMMDD.tex
  2. Test compilation (multiple passes for indices)
  3. Validate PDF output
  4. Copy snapshot → guide.tex (byte-identical)
  5. Archive previous snapshot → archive/GUIDE/
  6. Commit and tag (vMAJOR.MINOR.PATCH.SUBPATCH)
  7. Create GitHub Release with compiled PDF

10.3 Version Tags


11. File Organization

11.1 Directory Structure

/
├── guide.tex                   # Canonical guide (byte-identical to latest snapshot)
├── wip/
│   ├── guide/
│   │   └── guide-vX.X.X.X-YYYYMMDD.tex  # Active snapshot
│   ├── chapter-C#-...tex       # Chapter WIP files
│   └── section-C#-S#-...tex    # Section WIP files
├── archive/
│   ├── GUIDE/
│   │   └── guide-vX.X.X.X-YYYYMMDD.tex  # Historical snapshots
│   └── WIP/
│       └── [approved/deprecated WIP files]
├── TEMPLATES/
│   ├── template-wip-V1.0.tex  # WIP file template (preamble reference)
│   └── guide-structure-only-v0.4.0.0.tex  # Skeleton template
├── docs/
│   ├── BRIEFING-v0.2.0.1.md   # This document
│   ├── VERSION-SYSTEM-v4.2.1.md
│   ├── PROJECT-TRACKING-v5.0.0.md
│   └── WIP-FILE-NAMING-v1.4.md
└── fig/                        # Graphics and diagrams

11.2 Archive Policy


12. WIP File Template and LaTeX Preamble Architecture

12.1 Purpose and Location

All work-in-progress files MUST be created by copying and adapting:

TEMPLATES/template-wip-V1.0.tex

This ensures:

Status: Template V1.0 updated (11 February 2026) with enhanced preamble architecture (hotastable v2.1, List of HOTAS Tables, cross-reference macros, PDF metadata, enumitem).

12.2 What the Template Provides

  1. Standard preamble (packages, geometry, macros) identical to guide.tex
  2. Metadata block (non-rendered comments for tracking)
  3. Section/subsection skeleton with proper hierarchy
  4. Configured hotastable environment v2.1 with 7-column HOTAS layout

12.3 Preamble Architecture (Updated V2.1)

The preamble in TEMPLATES/template-wip-V1.0.tex and guide.tex is now organized into the following sections:

12.3.1 Document Class

\documentclass[11pt, a4paper, twoside]{report}

12.3.2 Basic Encoding and Language

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}

12.3.3 Fonts and Microtypography

\usepackage{lmodern}
\usepackage{microtype}

12.3.4 Page Geometry and Layout

\usepackage{geometry}
\geometry{a4paper, left=2.0cm, right=2.0cm, top=2.5cm, bottom=2.5cm}
\usepackage{setspace}
\onehalfspacing
\usepackage[table]{xcolor}
\definecolor{linkblue}{HTML}{004488}
\definecolor{linkred}{HTML}{882222}
\definecolor{headerblue}{HTML}{003366}
\definecolor{rowgray}{HTML}{F5F5F5}
\definecolor{subheadgray}{HTML}{E0E0E0}

\usepackage{soul}
\usepackage[pdfencoding=auto, psdextra, colorlinks=true, linkcolor=linkblue, 
            citecolor=linkred, urlcolor=linkblue, breaklinks=true]{hyperref}
\usepackage{bookmark}

12.3.6 PDF Metadata (NEW in v2.1)

\hypersetup{
    pdftitle={TMS, DMS and CMS Usage Guide for Falcon BMS},
    pdfauthor={Carlos "Metal" Nader},
    pdfsubject={Flight Simulation - Falcon BMS HOTAS Reference},
    pdfkeywords={Falcon BMS, F-16, HOTAS, TMS, DMS, CMS, Flight Simulation},
    pdfcreator={pdfLaTeX (MiKTeX)},
    pdfproducer={MiKTeX},
    pdflang={en-US},
}

Purpose: Embeds metadata in generated PDF for proper indexing, citation, and document properties.

Fields:

12.3.7 Captions

\usepackage{caption}

% GLOBAL PATTERN
\captionsetup{font=small, labelfont=bf, justification=centering, singlelinecheck=true}

% FIGURES
\captionsetup[figure]{font=footnotesize, labelfont=bf, justification=centering, singlelinecheck=true}

% TABLES/LONGTABLE/hotastable
\captionsetup[table]{font=small, labelfont=bf, justification=centering, singlelinecheck=true}

12.3.8 Headers and Footers (Improved for Two-Sided Layout)

\usepackage{fancyhdr}
\setlength{\headheight}{25pt} % Increased from 15pt for long chapter names
\pagestyle{fancy}
\fancyhf{} % Clear all
\fancyhead[LO,RE]{\small\textit{\leftmark}} % Outer edge: chapter name
\fancyhead[RO,LE]{\small\thepage}           % Inner edge: page number
\fancyfoot{}                                % No footer
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0pt}

12.3.9 Title Hierarchy (titlesec Full Configuration)

Comprehensive 5-level hierarchy with optical adjustments:

Chapter:

\titleformat{\chapter}[display]
  {\normalfont\huge\bfseries}
  {\chaptertitlename\ \thechapter}
  {20pt}
  {\Huge}
\titlespacing*{\chapter}{0pt}{50pt}{40pt}

Section, Subsection, Subsubsection:

Paragraph (Level 4):

\titleformat{\paragraph}[runin]
  {\normalfont\small\bfseries} % SMALL + bold (optical compensation)
  {}
  {0em}
  {}
\titlespacing{\paragraph}{0pt}{8pt}{1em}[0pt]

Subparagraph (Level 5):

12.3.10 Tables and Macros

\usepackage{booktabs}
\usepackage{array}
\usepackage{longtable}
\usepackage{tabularx}

% Custom Columns
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

% Macro for Visual Reference Links
\newcommand{\imglink}[1]{\hspace{2pt}\hyperref[#1]{\scriptsize\textbf{[Fig]}}}

12.3.11 List of HOTAS Tables (NEW in v2.1)

\makeatletter
\newcommand{\listofhotastables}{%
    \section*{List of HOTAS Tables}%
    \addcontentsline{toc}{section}{List of HOTAS Tables}%
    \@starttoc{hotas}%
}
\makeatother

Purpose: Generates an automated index of all HOTAS tables in the guide, similar to List of Figures or List of Tables.

Usage in front matter:

\newpage
\tableofcontents
\newpage

% --------------------------------------------------------------------------
% LIST OF HOTAS TABLES
% --------------------------------------------------------------------------
\phantomsection    % CRITICAL: Creates anchor for PDF bookmark
\listofhotastables
\newpage

\pagenumbering{arabic}

CRITICAL: Always use \phantomsection immediately before \listofhotastables to ensure PDF bookmarks point to the correct page. Without it, the bookmark will incorrectly point to the Table of Contents page instead of the List of HOTAS Tables page.

Automatic registration: Each hotastable environment automatically registers itself in the .hotas auxiliary file via:

\addtocontents{hotas}{\protect\contentsline{table}{\protect\numberline{\thetable}#1}{\thepage}{table.\thetable}}

Compilation requirement: Run pdflatex twice to generate and populate the List of HOTAS Tables:

  1. First pass: Creates .hotas file with table entries
  2. Second pass: Reads .hotas file and typesets the index

12.3.12 HOTAS Table Environment (hotastable v2.1)

Updated: 2026-02-11 (Guide v0.4.1.0)

% --------------------------------------------------------------------------
% HOTAS table environment
% Version: 2.1 (2026-02-10)
% --------------------------------------------------------------------------

\newenvironment{hotastable}[1]{%
	\footnotesize
	\setlength{\tabcolsep}{3pt}
	\renewcommand{\arraystretch}{1.35}
	\begin{longtable}{L{1.00cm} L{0.90cm} L{0.90cm} L{3.30cm} L{6.40cm} L{1.40cm} L{1.60cm}}
		\caption{#1}\label{table.\thetable}\\
		\noalign{\addtocontents{hotas}{\protect\contentsline{table}{\protect\numberline{\thetable}#1}{\thepage}{table.\thetable}}}%
		\rowcolor{headerblue}
		\multicolumn{1}{>{\centering\arraybackslash}p{1.00cm}}{\textbf{\color{white}Mode}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{0.90cm}}{\textbf{\color{white}Dir.}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{0.90cm}}{\textbf{\color{white}Act.}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{3.30cm}}{\textbf{\color{white}Function}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{6.40cm}}{\textbf{\color{white}Effect / Nuance}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{1.40cm}}{\textbf{\color{white}Dash34}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{1.60cm}}{\textbf{\color{white}Train.}} \\
		\endfirsthead
		\rowcolor{headerblue}
		\multicolumn{1}{>{\centering\arraybackslash}p{1.00cm}}{\textbf{\color{white}Mode}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{0.90cm}}{\textbf{\color{white}Dir.}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{0.90cm}}{\textbf{\color{white}Act.}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{3.30cm}}{\textbf{\color{white}Function}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{6.40cm}}{\textbf{\color{white}Effect / Nuance}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{1.40cm}}{\textbf{\color{white}Dash34}} &
		\multicolumn{1}{>{\centering\arraybackslash}p{1.60cm}}{\textbf{\color{white}Train.}} \\
		\endhead
		\multicolumn{7}{r}{\small\emph{Continued on next page}}\\
		\endfoot
		\endlastfoot
	}{%
	\end{longtable}
}

Changes from v1.0 to v2.1:

Key features:

12.3.13 Simple Reference Macros for BMS Docs

\newcommand{\dashref}[1]{Dash-34~\S~#1}
\newcommand{\dashone}[1]{Dash-1~\S~#1}
\newcommand{\trnref}[1]{TRN~#1}
\newcommand{\trnman}{BMS Training Manual 4.38.1}
\newcommand{\bmsver}{Falcon BMS~4.38.1}
\newcommand{\dashrefs}[1]{\textit{TO 1F-16CMAM-34-1-1}, Dash-34, sections \texttt{#1}}

Usage:

Note: In hotastable cells, use plain text (e.g., “3-48”) instead of macros to avoid formatting issues.

Deprecation notice: The previous practice of using \trnref{18 (BARCAP)} with full mission names in table cells is deprecated as of v0.4.1.0. Use mission numbers only in tables; full descriptions are in the BMS Training Manual.

12.3.14 Cross-Reference Macros (NEW in v2.1)

\newcommand{\secref}[1]{\hyperref[#1]{Section~\ref*{#1}}}
\newcommand{\chapref}[1]{\hyperref[#1]{Chapter~\ref*{#1}}}
\newcommand{\tabref}[1]{\hyperref[#1]{Table~\ref*{#1}}}
\newcommand{\figref}[1]{\hyperref[#1]{Figure~\ref*{#1}}}

Purpose: Standardized, fully-clickable cross-references to internal guide elements.

Usage in narrative text:

% OLD (inconsistent, partial clickability):
See Section \ref{sec:C2-S1} for details.
As shown in Table \ref{tab:dms-soi}.

% NEW (consistent, fully clickable):
See \secref{sec:C2-S1} for details.
As shown in \tabref{tab:dms-soi}.

Advantages:

Available macros:

12.3.15 Version Control Macros

\newcommand{\docversion}{0.4.1.0}
\newcommand{\docbuild}{20260211}
\newcommand{\docstartdate}{05 January 2026}
\newcommand{\docenddate}{11 February 2026}
\newcommand{\chapterscompletedof}{4/7}
\newcommand{\tablesfilledpct}{Chapter 3 (DMS) and Chapter 5 (CMS)}
\newcommand{\fulldocversion}{\docversion+\docbuild}

Update rule: These macros MUST be updated in sync when creating new snapshots.

12.3.16 Graphics

\usepackage{graphicx}
\graphicspath{{fig/}}
\usepackage{float}

12.3.17 List Customization (NEW in v2.1)

\usepackage{enumitem}

Purpose: Provides enhanced control over itemize, enumerate, and description lists.

Example usage:

% Compact list (no vertical spacing between items)
\begin{itemize}[nosep]
    \item First item
    \item Second item
\end{itemize}

% Custom spacing
\begin{enumerate}[itemsep=2pt]
    \item Step one
    \item Step two
\end{enumerate}

Features:

12.3.18 Title and TOC Configuration

\title{TMS, DMS and CMS Usage Guide for \bmsver}
\author{Carlos ``Metal'' Nader}
\date{Version \fulldocversion{} | Progress: Chapters \chapterscompletedof{} | 
      Tables \tablesfilledpct{} | February 2026}

\begin{document}
\maketitle
\pagenumbering{roman}

% --------------------------------------------------------------------------
% TOC DEPTH CONFIGURATION
% --------------------------------------------------------------------------
\setcounter{tocdepth}{3}       % Show up to \subsubsection in TOC
\setcounter{secnumdepth}{3}    % Number up to \subsubsection

\newpage
\tableofcontents
\newpage

% --------------------------------------------------------------------------
% LIST OF HOTAS TABLES
% --------------------------------------------------------------------------
\phantomsection    % CRITICAL: Anchor for PDF bookmark
\listofhotastables
\newpage

\pagenumbering{arabic}

12.4 Metadata Block Format

% ============================================================================
% METADATA BLOCK (non-rendered, for tracking)
% ============================================================================
% Target: Chapter C, Section S, Subsection S
% Status: dev
% Date: YYYY-MM-DD
% Author: AI / Human Name
% Notes: TBD: Table population. Known issues: None.
% Cross-ref: Guide v0.4.1.0, related-section-*.tex
% ============================================================================

Mandatory fields:


13. How to Create and Integrate WIP Files

Step 1: Create from Template

cp TEMPLATES/template-wip-V1.0.tex wip/section-C5-S2-cms-new-dev-2026-02-11.tex

Step 2: Update Metadata Block

Step 3: Develop Content

Step 4: Test Compilation

pdflatex section-C5-S2-cms-new-dev-2026-02-11.tex

For files with HOTAS tables: Compile twice to generate List of HOTAS Tables.

Step 5: Workflow


14. Quick Reference: File Naming Convention

Pattern: prefix-C#-S#-title-STATUS-YYYYMMDD.ext

Examples:

Status codes:


15. Checklist for Contributors


16. Changelog — BRIEFING Updates

v0.2.0.1 (2026-02-11)

Major updates:

Related guide version: v0.4.1.0 (2026-02-11)

v0.2.0.1 (2026-01-29)

Updates:

Related guide version: v0.3.2.1


Last Updated: 2026-02-22
Status: Ready for use and contribution
License: CC BY-NC 4.0
Next Update: After significant preamble or structure changes