wxMaxima
Loading...
Searching...
No Matches
Data Structures | Macros | Functions
test_BrokenCellsToTeX.cpp File Reference

Pins that LaTeX export ignores how the worksheet happened to break a wide expression into lines (GH #408). More...

#include <wx/app.h>
#include <wx/bitmap.h>
#include <wx/dcmemory.h>
#include <wx/log.h>
#include "Configuration.h"
#include "MathParser.h"
#include "CellPointers.h"
#include "cells/Cell.h"
#include "cells/CellIterators.h"
#include "cells/GroupCell.h"
#include <catch2/catch.hpp>
Include dependency graph for test_BrokenCellsToTeX.cpp:

Data Structures

class  TestApp
 

Functions

 SCENARIO ("A power that is broken into lines exports its whole exponent as superscript")
 
 SCENARIO ("Every kind of cell that can break into lines exports as if it were unbroken")
 
 SCENARIO ("A broken cell's own TeX is that of the unbroken cell")
 
 wxDECLARE_APP (TestApp)
 
int main (int argc, char **argv)
 

Detailed Description

Pins that LaTeX export ignores how the worksheet happened to break a wide expression into lines (GH #408).

A cell that is too wide for the window is "broken into lines": it is drawn as a linear sequence of pieces instead of in 2D – a power becomes base, "^", "(", exponent, ")". GroupCell::ToTeX() used to walk that draw list, so a broken power was exported piece by piece as e^({very long exponent}) with only the parenthesis in the superscript (and, today, as a literal \hat{} glyph with no superscript at all). LaTeX does its own typesetting, so the export has to be the one of the unbroken expression, whatever the window width.

Each sample is the XML Maxima sends, parsed by the real MathParser and put into a real GroupCell – no live Maxima needed.