\documentclass[25pt, a0paper, portrait, margin=0mm, innermargin=15mm, blockverticalspace=15mm, colspace=15mm, subcolspace=8mm]{tikzposter}

% a0paper can be a1paper or a2paper, and portrait can be landscape.

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usetikzlibrary{arrows.meta}

\usetheme{Default}  % Rays, Basic, Simple, Envelope, Wave, Board, Autumn, Desert
\usebackgroundstyle{Empty}  % white sheet; drop this line for the theme's own gray
\tikzposterlatexaffectionproofoff  % no class credit in the bottom corner

\title{Title of the Poster}  % keep it short: the box does not wrap
\author{Your Name, Second Author, Third Author}
\institute{Department of Something, University of Somewhere}

\begin{document}

\maketitle

\begin{columns}

% ------------------------------------------------------------- left column
\column{0.5}

\block{Introduction}{
  Long technical documents are written by small teams over several years, and
  their parts drift apart: a symbol changes meaning between chapters, a figure
  is updated in one place and not in another, a number in the summary stops
  matching the table it came from. Teams catch this by reading everything again
  before every deadline, which costs a full day of a senior person per draft,
  and that day is paid again at every revision. The weeks before a submission
  are also the weeks in which the reading is skipped, so the errors that reach a
  reviewer are the ones the authors had no time to look for. This poster asks
  whether the check can be done from the source instead, cheaply enough to run
  on every save rather than once before a deadline.
  \begin{itemize}
    \item Twenty pages an hour is what a careful reviewer manages.
    \item The errors that survive are the ones that span chapters.
    \item One rewritten section puts every section that refers to it in doubt.
    \item A number in an abstract is copied by hand, and copies are where the
          errors live.
    \item Nothing about how the authors write should have to change.
  \end{itemize}
}

\block{Data}{
  Three collections of documents were used, split by author so that no author
  appears in more than one of them. Each document arrives with its revision
  history attached, so an error can be traced to the edit that introduced it and
  to the edit that removed it. Errors are seeded by a rewriter that imitates the
  edits the authors made themselves, which keeps the seeded population close to
  the one we observe in the wild. Nothing in the three collections is synthetic
  apart from the seeded errors themselves.
  \begin{itemize}
    \item Pilot study: 120 documents, read line by line to build the taxonomy.
    \item Main corpus: 8\,400 documents, used to fit thresholds and for nothing
          else.
    \item Held out set: 2\,100 documents, compiled once, at the very end.
    \item Median length 84 pages, longest 611, median 9 authors per document.
  \end{itemize}
}

\block{Methods}{
  The source of a document is parsed once, turned into a graph whose nodes are
  symbols, figures, tables and numbers, and queried for the patterns that
  indicate an inconsistency. A report is scored by the share of seeded errors
  it recovers,
  \[
    r = \frac{\text{errors found}}{\text{errors seeded}},
  \]
  measured on drafts that were not read while the method was being built.
  Queries are written against the graph and not against the file, so a rule
  keeps working when sections are reordered or a macro is renamed. A first pass
  resolves macros, so a symbol carries the same node however it is spelled in
  the text.
  \begin{center}
    \begin{tikzpicture}[x=1cm, y=1cm,
      stage/.style={draw, thick, rounded corners=0.4cm, fill=blue!10,
                    minimum width=15cm, minimum height=2.2cm, align=center},
      flow/.style={-{Stealth[length=6mm]}, thick}]
      \node[stage] (src)   at (0,14.4) {LaTeX source};
      \node[stage] (parse) at (0,10.8) {Parser};
      \node[stage] (graph) at (0,7.2)  {Document graph};
      \node[stage] (rules) at (0,3.6)  {Pattern queries};
      \node[stage] (rep)   at (0,0)    {Ranked report};
      \draw[flow] (src)   -- (parse);
      \draw[flow] (parse) -- (graph);
      \draw[flow] (graph) -- (rules);
      \draw[flow] (rules) -- (rep);
    \end{tikzpicture}
  \end{center}
  The pipeline. Nothing after the parser reads the source text again, so a
  document is rechecked for the price of one parse and one pass of queries.
}

% ------------------------------------------------------------ right column
\column{0.5}

\block{Results}{
  The method recovers 96 percent of the seeded errors on the held out set,
  against 41 percent for the manual check the teams run today.
  \begin{center}
    \begin{tikzpicture}[x=1cm, y=1cm]
      \draw[thick] (0,0) -- (0,11.2);
      \draw[thick] (0,0) -- (23,0);
      \foreach \y/\lab in {0/0, 2.5/25, 5/50, 7.5/75, 10/100}{
        \draw[thick] (-0.35,\y) -- (0,\y);
        \node[left] at (-0.45,\y) {\lab};
      }
      \fill[blue!55] (2,0) rectangle (6,4.1);
      \fill[blue!55] (8.5,0) rectangle (12.5,7.3);
      \fill[blue!55] (15,0) rectangle (19,9.6);
      \node[above] at (4,4.2) {41};
      \node[above] at (10.5,7.4) {73};
      \node[above] at (17,9.7) {96};
      \node[below] at (4,-0.4) {Manual};
      \node[below] at (10.5,-0.4) {Rule set};
      \node[below] at (17,-0.4) {This work};
    \end{tikzpicture}
  \end{center}
  Errors recovered, in percent, on the held out set. The rule set is the
  strongest published baseline we could run on the same drafts. The gain is
  largest on the errors that cross a chapter boundary, which are the ones a
  reader is least able to catch: 89 percent recovered against 12 percent by
  hand. Precision is 0.91, so about one report in ten is a false one, and a
  full document is checked in 40 seconds on a laptop.
}

\block{Conclusions}{
  The result holds on documents the method never saw while it was being built,
  which is the only claim a poster of this kind should make.
  \begin{itemize}
    \item Consistency can be checked from the source, with no restriction on
          how the authors write.
    \item The method reads structure and not meaning, so a reader still decides
          which of two definitions is the correct one.
    \item Checking a draft costs about what compiling it costs, so it can be
          left running while the authors write.
    \item Seeded errors are easier to find than real ones, so the next step is
          a live project over a full writing cycle.
  \end{itemize}
}

\block{Limitations and Next Steps}{
  Every number here comes from seeded errors, and a seeded error is an error
  that somebody already knew how to describe. The rewriter cannot invent the
  mistake nobody has thought of yet, so the recall above is an upper bound for
  the errors of a known kind and says nothing about the rest.
  \begin{itemize}
    \item Only LaTeX sources are read today, so a word processor file has to be
          converted first and loses its structure on the way.
    \item Tables that are generated at build time are invisible to the parser.
    \item Two teams are running the tool over a live project for a full writing
          cycle, and their reports are read by hand every week.
    \item Short documents gain little, since a reader holds one in mind at once.
    \item The next release ranks the report by confidence, so a reader can stop
          after the first ten entries.
  \end{itemize}
}

\block{References}{
  \small
  Knuth, D. E. (1984). \textit{The \TeX book}. Addison-Wesley.\\[0.4em]
  Lamport, L. (1994). \textit{\LaTeX: A Document Preparation System}, second
  edition. Addison-Wesley.\\[0.4em]
  Someone, A. and Else, B. (2024). A paper you cite on the poster.
  \textit{Journal of Somewhere}, 12(3), 45 to 67.\\[0.4em]
  Third, C. and Fourth, D. (2023). Another paper you cite on the poster.
  \textit{Proceedings of Somewhere Else}, 88 to 101.
}

\end{columns}

% A block written after the columns runs the full width of the poster.
\block{Acknowledgments and Contact}{
  This work was supported by a grant you should name here, and by the authors
  who let us seed errors in their own drafts and then told us what the reports
  got wrong. The code, the seeded corpora and the scripts that produce every
  number on this poster are released with the paper, and the pilot documents
  are available on request. Write to your.name@example.edu, or leave a card in
  the tray on this board and we will send you a build that runs on your own
  documents.
}

\end{document}
