官术网_书友最值得收藏!

  • LaTeX Cookbook
  • Stefan Kottwitz
  • 410字
  • 2021-07-09 21:25:01

Visualizing boxes of letters and symbols

LaTeX puts text and symbols in boxes and arranges them. There are boxes of whole paragraphs, but also of single letters and symbols. In this recipe, we will closely examine the dimensions of those boxes. We will also take a look at the spacing in between and the resulting dimensions of dynamically adjusted space. This will give us a better understanding of the typesetting.

How to do it...

We will additionally load the package lua-visual-debug. Then, we will compile the document with LuaLaTeX, as follows:

  1. Open your document or any sample file. Again, we will use the document from our first recipe in Chapter 1, The Variety of Document Types.
  2. Add the following line at the end of your preamble:
    \usepackage{lua-visual-debug}
  3. Switch to LuaLaTeX in your editor for typesetting and compile the document. Take a look at these cutouts of the output. The text has some annotations, as follows:
    How to do it...

    Formulae consist of many small boxes:

    How to do it...

Examining the boxes may give you ideas about possibly tweaking formulas. In Chapter 10, Advanced Mathematics, you can read about fine-tuning math formulas. If you don't need the box visualization lines any more, you can disable the package by commenting out or deleting the line \usepackage{lua-visual-debug}.

How it works...

We simply loaded the lua-visual-debug package, which requires LuaLaTeX because of its dependency on LuaTeX. It did all the work for us, and now we just need to understand the output:

  • LaTeX's boxes are drawn with thin borders. A zero-width box would be a red rule.
  • A filled rectangle means a kern. This is a fixed vertical or horizontal space. A positive kern is colored yellow. A negative kern is colored red.
  • Tick lines stand for glue. This means vertical or horizontal space. In contrast to kern, it can be stretched or shrunken. The lines start and end with a tick. So you can recognize places where glues are touching.
  • The blue rectangle below the base line marks a point where hyphenation is allowed.
  • A square means a penalty. This is an internal value, which TeX tries to minimize in its line-breaking algorithm. A blank square means a maximum penalty; otherwise, it's filled gray.

This visualization is intended to help you with debugging the document's typesetting.

Even if you are using pdfLaTeX, it's often possible to compile by LuaLaTeX for this purpose. Otherwise, you could debug with a simplified copy of the document part you need to debug with LuaLaTeX.

主站蜘蛛池模板: 汕尾市| 南充市| 亳州市| 邵东县| 聂荣县| 仙游县| 滨海县| 原平市| 卫辉市| 桑日县| 丹江口市| 无极县| 永城市| 伊宁市| 虹口区| 高密市| 修文县| 丹凤县| 万全县| 咸宁市| 九龙坡区| 乌鲁木齐县| 湖南省| 古丈县| 志丹县| 波密县| 孟村| 唐海县| 麦盖提县| 黑龙江省| 民权县| 涟源市| 合川市| 姚安县| 易门县| 玉溪市| 科技| 明星| 壤塘县| 平江县| 辉县市|