Towards An Operational (La)TEX Package Supporting Optical Scaling of Dynamic Mathematical Symbols

Similar documents
Font Switching Optimizations

SOFTWARE ARCHITECTURE 4. TEXT FORMATTING SYSTEM

OpenType Math Illuminated

Everything You Wanted to Know About Adobe Acrobat Annotation Handlers But Were Afraid to Ask

Multilingual mathematical e-document processing

How a Font Can Respect Basic Rules of Arabic Calligraphy

Detailed Contents for TEX Unbound: Strategies for Font, Graphics, and More

What s new since TEX?

transformation: alters the equation and any combination of the location, shape, and orientation of the graph

New Font Offerings: Cochineal, Nimbus15, LibertinusT1Math

Section a) f(x-3)+4 = (x 3) the (-3) in the parenthesis moves right 3, the +4 moves up 4

ISO/IEC JTC 1/SC 2/WG 2 N3086 PROPOSAL SUMMARY FORM TO ACCOMPANY SUBMISSIONS 1

Scientific Graphing in Excel 2013

Graphs and transformations 4G

Why learning L A TEX is worth the effort

Understanding the æsthetics of math typesetting

Experiences typesetting OpenType math

Scientific Graphing in Excel 2007

L A TEX Class Holiday Inn Fisherman s Wharf San Francisco, CA July Cheryl Ponchin Sue DeMerritt

Began as TeX, in 1982 (Knuth). Purely a typesetting tool. LaTeX added macros, maintaining TeX as it s typesetting engine (Lamport).

Arabic document composition with T E X

Hello world. 2. Stack-based Programming. Oscar Nierstrasz

anatomy cap height x-height baseline descender ligature finial terminal ascender spine small capital uppercase counter cross bar lowercase

Bond Place Hotel Toronto, Canada

CHAPTER 2: More on Functions

Excel Functions & Tables

EXP FOR WINDOWS, VERSION 5.1

TEX to HTML Translation via Tagged DVI Files

Emmanuel Beffara Version 2.0 March 17, 2017

Math Typesetting and Authoring

My favorite LaTex distribution is TexLive. You can download TexLive free TUG, the Tex Users Group, at

Electronic Production Guidelines

L A TEX Gotchas - Common Pitfalls and Debugging

Using MathType. The MathType Window. The Bars

Evaluation of postfix

How to use text. Adding a text frame

Exercise 4a: Creating and Editing XY Plots

Gnuplot. in Action. Understanding Data with Graphs MANNING. (74 w. long.) PHILIPP K. JANERT. Greenwich

Core Mathematics 1 Transformations of Graphs

Using Excel and HTML Files to Supplement Mathematics & Statistics

Mathematical formula recognition using virtual link network

Preparing Z specifications using LaTeX markup

Latex Tutorial. CIS400 Senior Design 9/5/2013

Advanced L A TEX course; first session

THIS IS AN INTRODUCTION TO. LaTeX. Introduction to Latex. University of Minnesota, November 7, 2016

An Online Repository of Mathematical Samples

Polarization Handedness Convention

WordTeX. Tom Wildenhain

Select the Points You ll Use. Tech Assignment: Find a Quadratic Function for College Costs

LABORATORY 1 Data Analysis & Graphing in Excel

Acrobat PDF from TEX

Excel Tips and FAQs - MS 2010

My LaTeX Document. July 7, Introduction 2

Contents. Foreword. Examples of GeoGebra Applet Construction 1 A Straight Line Graph... 1 A Quadratic Graph... 6 The Scalar Product...

Excel Functions & Tables

Package pst-barcode. v May 22, 2007

WYSIWYG Systems. CSCM10 Research Methodology Lecture 4 (11/2/16): A Taster of L A TEX WYSIWYM. Advantages/Disadvantages of WYSIWYG Systems

M. R. C. van Dongen. ucc. LaTEX and Friends. Commands and Environments. Marc van Dongen

55:148 Digital Image Processing Chapter 11 3D Vision, Geometry

Getting Started with Excel

LAB 2: DATA FILTERING AND NOISE REDUCTION

Example Paper in the ICROMA Format

Formatting with LaTeX

Easy-to-use Chinese MTEX Suite Hongbin Ma School of Automation Beijing Instititue of Technology March 14, 2012 Beijing, China

CSCM10 Research Methodology A Taster of L A TEX

Understand and plan a chart Create a chart Move and resize charts and chart objects Apply chart layouts and styles

Exercises. Computer Tech Tom Browder Northwest Florida Linux User Group [nwflug.org]

CS 189 L A TEX and Linux: Document Layout and Organization

Y8 IT in Science Using Forces

Guidelines for ETNA manuscripts 1

George Grätzer. Practical L A TEX

Emulation of the execform Operator

SAMLab Tip Sheet #5 Creating Graphs

BBN ANG 183 Typography Text colour: vertical and horizontal spacing

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: ####

Spreadsheets Microsoft Office Button Ribbon

Scientific Python: matplotlib

CHAPTER 4: MICROSOFT OFFICE: EXCEL 2010

My humble additions to (La)TEX mathematics

Note di Matematica instructions for authors

An Introduction to. Rado Ivanov CIS400 Senior Design Tutorial September 18, 2014

Microsoft Excel 2016

Emulation of the makepattern and setpattern Operators

CSI33 Data Structures

Line Spacing and Double Spacing...24 Finding and Replacing Text...24 Inserting or Linking Graphics...25 Wrapping Text Around Graphics...

Text and Graphics. Postcript is a Page Description Language! Paths

WORD Creating Objects: Tables, Charts and More

L A TEX: Online module 2

Typesetting spectral sequences in L A TEX with luasseq.sty

How to use character and paragraph styles

Math typesetting in TEX: The good, the bad, the ugly

Math 235: Introduction to LaTeX

Properties of Quadratic functions

Notice that the height of each rectangle is and the width of each rectangle is.

L A TEX Primer. Randall R. Holmes. August 17, 2018

Algebra 2 Graphing Project. 1. You must create a picture or artistic design using the graphs of at least 10 different functions and relations.

Written & Oral Presentation: Computer Tools

The StemSnap Hint Operator for Type 1 Font Programs

What is T E X? T E X and L A T E X Document preparation tools. Setting and casting type. What Knuth was setting. Setting and casting type

Using MathType. The MathType Window. The Bars

Transcription:

Towards An Operational (La)TEX Package Supporting Optical Scaling of Dynamic Mathematical Symbols Abdelouahad BAYAR a.bayar@uca.ma Cadi Ayyad University École Supérieure de Technologie de Safi (High College of Technology) July 27, 2016 A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 1

Introduction Handling of dynamic mathematical symbols is still a hard problem (Some)TEX and PostScript Type 3 to supply a solution A TEX (luatex) package supporting optical scaling and supplying the habitual way to format scientific documents A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 2

Outline 1 Mathematical formula: State and Problems 2 The Requirements to handle dynamic mathematical symbols taking care of optical scaling 3 4 Implementation A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 3

Mathematical formula: State and Problems Class of mathematical Symbols Static mathematical symbols Variable sized symbols (Dynamic mathematical symbols) A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 4

Mathematical formula: State and Problems Variable Mathematical Symbols and Variations-scaling Linear scaling a 11x 1 + a 21 x 1 + a 11x 1 + a 21 x 1 + a 31 x 1 + a11x1 + a 21 x 1 + a 31 x 1 + a 41 x 1 + A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 5

Mathematical formula: State and Problems Variable Mathematical Symbols and Variations-scaling Linear scaling a 11x 1 + a 21 x 1 + a 11x 1 + a 21 x 1 + a 31 x 1 + a11x1 + a 21 x 1 + a 31 x 1 + a 41 x 1 + Optical scaling a 11x 1 + a 21 x 1 + a 11x 1 + a 21 x 1 + a 31 x 1 a11x1 + + a 21 x 1 + a 31 x 1 + a 41 x 1 + A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 5

Mathematical formula: State and Problems Metal/Digital Typesetting and Optical Scaling Metal typesetting Digital typesetting A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 6

Mathematical formula: State and Problems Existing Works math-fly/grif Curext TEX/L A TEX Support of mathematical formulas witultiple variable-sized symbols ( ) ( ) a b e f c d g h ( ) i j 0 k l A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 7

Mathematical formula: State and Problems Existing Works TEX/L A TEX The thickness remains constant after some level Some symbols differ from corresponding ones in metal typesetting with regard to the shape after a level of size ( ) ( ) ( ) A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 8

Mathematical formula: State and Problems Existing Works TEX/L A TEX Some symbols differ from their corresponding in metal typesetting with regard to the shape at all sizes. { { { A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 9

The Requirements to handle dynamic mathematical symbols taking care of optical scaling Font requirements Document processing system requirements use Requirements by end-users Required Font for (La)\TEX: PostScript Type 3 A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 10

General package layout dynmath.tex. \special{!. some useful PostScript procedures /w 0 def /h 0 def /fs 0 def /dynmathfont 8 dict def dynmathfont begin /FontType 3 def /FontMatrix [0.001 0 0 0.001 0 0] def /FontBBox [ 0 0 1000 1000] def /Encoding 256 array def 0 1 255 {Encoding exch /.notdef put} for A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 11

General package layout dynmath.tex Encoding 0 /leftpar put % Left parenthesis = 0 Encoding 1 /rightpar put % Right parenthesis = 1 Encoding 8 /leftbrace put % Left brace = 8 Encoding 9 /rightbrace put % Right brace = 9../Charprocs - individual glyph descriptions../buildglyph definition../buildchar defintion. A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 12

General package layout dynmath.tex currentdict end % End of font dictionary /dynmath exch definefont pop% }.. Some useful TEX defintions. % #1:left delimiter, #2:formula, #3:right delimiter \def\meleft#1#2\meright#3{. macro defintion } A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 13

General package layout \meleft macro The macro \meleft has to : 1 Compute the dimensions of the formula (in the correct math style): \hf, \df and \wf 2 Determine vertical and horizontal stretching amounts: \h and \w 3 Calculate the size of the font \fs in which dynmath will be used 4 Determine the dimensions of the left symbol: \symheight, \symwidth and \symdepth A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 14

General package layout \meleft macro 5 Build an horizontal box \efbdel: \setbox\efbdel\hbox { \special{... /fs... store /h... store /w... store /dynmath findfont fs scalefont setfont <code of The left symbol> show } } 6 Set the dimensions of \efbdel to \symheight, \symwidth and \symdepth 7 Write the content of \efbdel A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 15

General package layout \meleft macro 8 Write the mathematical formula 9 Apply steps from the second to the seventh to deal with the right delimiter A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 16

Design of dynmath font Symbol parametrizing stretching - Concepts A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 17

Design of dynmath font Symbol parametrizing stretching - Concepts A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 18

Optical scaling support Mathematical formula characteristics Higathematical formula math axis y 1 f h Baseline h 32 y 2 f d A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 19

Optical scaling support Mathematical formula characteristics Deep mathematical formula math axis h 32 y 1 f h Baseline y 2 f d A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 20

Optical scaling support Scaling - h 32 fs = 1003.75 hm h 1000 h 32 y 1 y 2 hm f h f d math axis Baseline A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 21

Optical scaling support Scaling - h 32 fs = 1003.75 hm h 1000 h 32 y 1 y 2 hm f h f d math axis Baseline A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 21

Optical scaling support Scaling - > h 32 h 32 y 1 f h math axis Baseline y 2 f d A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 22

Optical scaling support Scaling - > h 32 h 32 y 1 y 2 f h f d math axis Baseline h32 hfs h y 1 y 2 f h f d math axis Baseline A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 22

Optical scaling support Scaling - > h 32 h p max = 32700 32 1000 = 1190.4 A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 23

Optical scaling support Scaling - > h 32 ax = 1.00375 h p maxpt h p max = 32700 32 1000 = 1190.4 A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 23

Optical scaling support Scaling - > h 32 ax = 1.00375 h p maxpt h p max = 32700 32 1000 = 1190.4 ax = 1194.864pt A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 23

Optical scaling support Scaling - > h 32 y 1 f h such that: e ( ) = c 1 + c 0 e (h 32 ) = e 32 h 32 math axis Baseline e (ax ) = λe 32 e 32 : thickness of the dynamic symbol in body 32 y 2 f d λ: a scaling factor (3.236) A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 24

Optical scaling support Scaling - > h 32 fs = 1003.75 e 1000 e A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 25

Optical scaling support Scaling - > h 32 fs = 1003.75 e 1000 e h 32 y 1 y 2 f h f d math axis Baseline A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 25

Optical scaling support Scaling - > h 32 fs = 1003.75 e 1000 e h y 1 h fs = h 1000 1003.75 fs h 32 h fs f h math axis Baseline y 2 f d A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 26

Optical scaling support Scaling - > h 32 fs = 1003.75 e 1000 e h fs = h 1000 1003.75 fs h 32 h fs h y 1 f h math axis Baseline y 2 f d h = h fs A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 26

Optical scaling support Scaling - > h 32 fs = 1003.75 e 1000 e h fs = h 1000 1003.75 fs h 32 h fs h y 1 f h math axis Baseline y 2 f d h = h fs w =function(h) A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 26

Optical scaling support Scaling - > h 32 h 32 h fs h y 1 y 2 f h f d math axis Baseline A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 27

Optical scaling support Scaling - > h 32 h 32 h fs h y 1 y 2 f h f d math axis Baseline A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 28

Optical scaling support Scaling - > h 32 h 32 h fs h y 1 f h math axis Baseline y 2 f d A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 29

Implementation dynmath: Simple TEX source File dynmath: Mini-package dynmath for all(tex): limited and slow dynmath for LuaTEX (dviluatex and dvilual A TEX): good A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 30

Conclusions and Perspectives Conclusions: Support of dynamic mathematical symbols with respect to Optical Scaling is feasible. The feasibility is proved with Parentheses and Braces which are adequate representing samples. Perspectives: Support of all dynamic mathematical symbols Improvement of quality of symbols (Study of optical scaling considering the artistic viewpoint) A. BAYAR - EST-Safi/CAU TUG 2016: July 25-27, 2016 / The 37th Annual Meeting / Toronto, Canada 31