0

We can use \fontdimenX to modify the font parameters, where X can be 1 to 22. But how to modify the extra font parameters such as default rule thickness? Which is listed in Appendix G in TeXBook, Page 447.

David Carlisle
  • 757,742
Ben
  • 103

1 Answers1

3

The list is also

What do different \fontdimen<num> mean

The syntax is the same for all of them, just need to use the suitable font (\textfont2 or \textfont3). I give a plain TeX example below, in latex it is the same but the timing needs to be synchronsied with the latex font setup (for example every size change changes the font assigned to \textfont3)

so rule thickness would be

enter image description here

\fontdimen8 \textfont3  =5cm

$ a \over b$

\bye

As Barbara comments below, this fontdimen affects the space above and below the rule as well as the rule itself, which is mostly unfortunate and usually constrains the amount of variation it makes sense to have here.

David Carlisle
  • 757,742
  • you would have to choose the one that has the worst side effects. (of course, this is what is requested.) maybe you could provide a brief explanation of why this one is an example of unfortunate design. (one of the few really terrible flaws in the design.) – barbara beeton Jun 02 '16 at 15:14
  • @barbarabeeton are you saying the AMS would not publish my document in this form? Shame. – David Carlisle Jun 02 '16 at 18:22
  • I'm a bit confused. In my mind \fontdimen8 refers to s8(num1), and I want to access x8(default-rule-thickness). Are these two parameter joint or they have some relation? – Ben Jun 02 '16 at 19:10
  • BTW, my real goal is to shorten the minimal space limitation between superscript and subscript. Reading appendix G of the TeXBook, I think modify x8 is the only way to do this. (I've verified that the space in my document is limited by >=4{x8}, not any other parameters.) I'd appreciate it if there's other ways to achieve my goal without side effects. – Ben Jun 02 '16 at 19:18
  • 1
    @Ben fontdimen isn't a global value it is a per font parameter \fontdimen8 isn't usable as a length it parses for a font first. so \fontdimen8 \textfont2 is s8 \fontdimen8 \textfont3 is x8 – David Carlisle Jun 02 '16 at 19:23
  • @DavidCarlisle \textfont2 and \textfont3 should refer to different fonts, aren't they? – Ben Jun 03 '16 at 04:30
  • @DavidCarlisle Do you mean that font family 3 has only x* parameters while font family 2 has only s* parameters? – Ben Jun 03 '16 at 05:07
  • @Ben a font can have any number of parameters (maximum value a power of 2, I forget how many exactly) but TeX requires that the fonts specified for textfont 2 and 3 have at least 22 parameters each. the xi_8/sigma_8 (or s8/x8) notation is just shorthand for saying "fontdimen 8 of textfont 2" or "fontdimen 8 of textfont 3" every time. there are not different types of s and x parameters in any sense in the code. – David Carlisle Jun 03 '16 at 08:17
  • @DavidCarlisle Thanks, now I'm clear with it. – Ben Jun 03 '16 at 10:38