Direct and Reverse Synchronization with Synctex

Total Page:16

File Type:pdf, Size:1020Kb

Direct and Reverse Synchronization with Synctex Direct and reverse synchronization with SyncTEX Jérôme Laurens Département de mathématiques Université de Bourgogne 21078 Dijon Cedex FRANCE jerome (dot) laurens (at) u-bourgogne (dot) fr http://itexmac.sourceforge.net/SyncTeX.html Abstract We present a new technology named SyncTEX used to synchronize between the TEX input and the output. 1 What is synchronization? Creating documents with the TEX typesetting system often requires two windows, one for entering the text, the other one for viewing the resulting output. In general, documents are too long to fit in the visible frame of a window on screen, and what is really visible is only some part of either the input or the output. We say that the input view and the output view are synchronized if they are displaying the “same” portion of the document. Forwards or direct synchronization is the ability, for an output viewer, to scroll the window to a part corresponding to a given location in the input file. Backwards or reverse synchronization is the ability, for a text Figure 1: Synchronization in iT XMac2 based on editor, to scroll the text view to a part corresponding E SyncTEX technology with text analysis. to a given location in the output file. Figure1 is a screenshot illustrating SyncT EX supported in iTEXMac2, the TEX front end devel- oped by the author on Mac OS X. The top window is a text editor where an extract of the “Not so (or --synctex=1) and the same for xetex. With this short introduction to LATEX 2ε” is displayed. The option, a new informational line is printed at the end word “lscommand” has been selected and the viewer of the command output and reads SyncTeX written window at the bottom automatically scrolled to the on foo.synctex.gz. The new (compressed) auxil- position of this word in the output, highlighting it iary file named foo.synctex.gz is used by appli- with a small red arrow. The grey background was cations for the synchronization process; this is the added afterwards in the bottom window for the sake SyncTEX output file. of visibility on printed media. Setting the synctex option to -1 creates an uncompressed foo.synctex auxiliary file, more suit- 2 What is SyncTEX? able for certain operations. Setting it to 0 definitively This is a new technology embedded in both pdfTEX prevents SyncTEX activation. and X TE EX, available in the 2008 TEX Live and cor- There is also an eponymous new TEX primitive responding MiKTEX distributions. When activated, that you can set to 1 for SyncTEX activation from the it gives both text editors and output viewers the nec- source file: \synctex=1. It can be used, for example, essary information to complete the synchronization to temporarily disable SyncTEX operations for some process. It will be available in LuaTEX soon. input file by properly using \synctex=0. This prim- In order to activate SyncTEX, there is a new itive has no effect if the -synctex=0 command line command line option: option was given, or if the first page has already been pdftex -synctex=1 foo.tex shipped out (it is then too late to activate SyncTEX). TUGboat, Volume 29 (2008), No. 3 — Proceedings of the 2008 Annual Meeting 365 Jérôme Laurens 3 Other synchronization technologies expansion only (in its head), and it does not know the corresponding output record until ship out time The commercial software Visual TEX available on Windows has had the PDF synchronization capabil- which occurs later (in its stomach). The problem is to force T X to remember the input record information ity embedded in its TEX engine since 1999. The E until ship out time. commercial software TEXtures available on Mac OS X has had embedded synchronization since 2000, but 4.2 Partial solutions using macros between the text source and the DVI output. Neither implementation is freely available to the public and The first idea, developed in the srcltx package, will not be considered in the remainder of this article. is to use the \special macro to keep track of the input record information until ship out time. By this Turning to the TEX macro level, Aleksander Si- method, it inserts in the text flow invisible material monic, the author of the WinEdt TEX shell on Win- dows, wrote before 1998 the srcltx macro package that dedicated DVI viewers can understand. The to enable synchronization between the text source main problem is that this invisible material is not and the DVI output. It is based on the powerful expected to be there and can alter significantly the \special command and was later integrated into line breaking mechanism or cause other packages to malfunction, which is extremely troublesome. the TEX engine as “source specials”. Heiko Oberdiek wrote vpe in 1999 where PDF technologies are used The second idea, developed in the pdfsync pack- for reverse synchronization from the PDF output age, is also to use macros, but in a different way to the text input. In 2003, the author wrote the because it is more difficult to manage PDF contents pdfsync package discussed in [5], [6] and [7], to al- than DVI contents. This package automatically adds low synchronization between the PDF output and in the input source some macros that act in two the text input, following ideas from Piero d’Ancona. steps. At macro expansion time, they write to an auxiliary file the input record information with a This was based on the use of pdfTEX commands sim- ilar to \special, with the same limitations, namely unique identifying tag. They also insert in the text an incompatibility with very useful packages and flow invisible material to prepare TEX to write the unwanted changes in the layout. output record information at ship out time, with None of these solutions is satisfying, being either exactly the same identifying tag. In this design, incomplete or unsafe, as we shall see. the problems concerning line breaking and package incompatibility remain. Moreover, the mapping be- 4 Solving the synchronization problem tween input and output records is not one to one, 4.1 Stating the problem which renders synchronization support very hard to implement for developers. The problem is to define a mapping between an input In these two different solutions, we see the in- record given by an input file name and a line number herent limits of synchronization using macros. More in that file, and an output record given by a page generally, we can say that those macros are active number and a location in that page of the output observers of the input records. In fact, by inserting file. The input record describes a certain part of the invisible material in the text flow they interact with input text whereas the output record describes the the typesetting process. On the contrary, SyncTEX corresponding location where this text appears in the is a neutral observer that never interacts with the output. The original TEX engine does not provide typesetting process. any facility for such a correspondence, except the debugging information used to report syntax errors 4.3 How SyncTEX works (we call it the current input record). More precisely, In fact, the only object that ever knows both the T X does not know at the same time both the input E input and output records is the TEX engine itself, records and their corresponding output records. In so it seems natural to embed some synchronization short, TEX parses each different line of the input technology into it. text file and expands the macros with its “eyes” and We first have to determine what kind of infor- “mouth” (according to [2], page 38), then it sends a mation is needed to achieve synchronization. For list of tokens into its “stomach”. In turn, the stomach that purpose, we follow [2] at page 63: “TEX makes creates lines of text, stacks them into paragraphs, complicated pages by starting with simple individ- and stacks the paragraphs into pages. Once a page ual characters and putting them together in larger is complete with the objects properly positioned, it units, and putting these together in still larger units, is shipped out to the output file. During this process, and so on. Conceptually, it’s a big paste-up job. TEX keeps the input record information until macro 366 TUGboat, Volume 29 (2008), No. 3 — Proceedings of the 2008 Annual Meeting Direct and reverse synchronization with SyncTEX The TEXnical terms used to describe such page con- process reaches in general a precision of ±1 line. struction are boxes and glue.” The key words are With additional technologies such as implemented in “characters”, “boxes” and “glue”. But since an in- iTEXMac2, we can even synchronize by words (see dividual character requires a considerable amount figure1), essentially always finding an exact word of extra memory, only horizontal boxes and vertical correspondence between input and output. boxes are taken into account at first. For these boxes, The next improvements are a consequence of we ask TEX to store in memory, at creation time and the overall design of SyncTEX. Since synchronization during their entire lifetime, the current input record. is deeply embedded into the TEX engines, there is At ship out time, we ask TEX to report for each box no TEX macro involved in the process. As a straight- the stored file name, the stored line number, the forward consequence, there cannot be any incom- horizontal and vertical positions, and the dimensions patibility with macro packages. Moreover, no extra as computed during typesetting. This information invisible material is added to the text flow, thus en- will be available for synchronization: for example suring that the layout of the documents is exactly the when the user clicks on some location of the PDF same whether SyncTEX is activated or not.
Recommended publications
  • Latex on Windows
    LaTeX on Windows Installing MikTeX and using TeXworks, as described on the main LaTeX page, is enough to get you started using LaTeX on Windows. This page provides further information for experienced users. Tips for using TeXworks Forward and Inverse Search If you are working on a long document, forward and inverse searching make editing much easier. • Forward search means jumping from a point in your LaTeX source file to the corresponding line in the pdf output file. • Inverse search means jumping from a line in the pdf file back to the corresponding point in the source file. In TeXworks, forward and inverse search are easy. To do a forward search, right-click on text in the source window and choose the option "Jump to PDF". Similarly, to do an inverse search, right-click in the output window and choose "Jump to Source". Other Front End Programs Among front ends, TeXworks has several advantages, principally, it is bundled with MikTeX and it works without any configuration. However, you may want to try other front end programs. The most common ones are listed below. • Texmaker. Installation notes: 1. After you have installed Texmaker, go to the QuickBuild section of the Configuration menu and choose pdflatex+pdfview. 2. Before you use spell-check in Texmaker, you may need to install a dictionary; see section 1.3 of the Texmaker user manual. • Winshell. Installation notes: 1. Install Winshell after installing MiKTeX. 2. When running the Winshell Setup program, choose the pdflatex-optimized toolbar. 3. Winshell uses an external pdf viewer to display output files.
    [Show full text]
  • Vulnerability Report Attacks Bypassing Confidentiality in Encrypted PDF
    Vulnerability Report Attacks bypassing confidentiality in encrypted PDF Jens M¨uller1, Fabian Ising2, Vladislav Mladenov1, Christian Mainka1, Sebastian Schinzel2, J¨orgSchwenk1 May 16, 2019 1Chair for Network and Data Security 2FH M¨unsterUniversity of Applied Sciences Abstract In this report, we analyze PDF encryption and show two novel techniques for breaking the confidentiality of encrypted documents. Firstly, we abuse the PDF feature of partially encrypted documents to wrap the encrypted part of the document within attacker-controlled content and therefore, exfiltrate the plaintext once the document is opened by a legitimate user. Secondly, we abuse a flaw in the PDF encryption specification allowing an attacker to arbitrarily manipulate encrypted content without knowing the cor- responding key/password. The only requirement is one single block of known plaintext, which we show is fulfilled by design. By using exfiltration channels our attacks allow the recovery of the entire plaintext or parts of it within an encrypted document. The attacks rely only on standard compliant PDF features. We evaluated our attacks on 27 widely used PDF viewers and found all of them vulnerable. 1 Contents 1 Background4 1.1 Portable Document Format (PDF) . .4 1.2 PDF Encryption . .6 1.3 PDF Interactive Features . .7 2 Attacker Model8 3 PDF Encryption: Security Analysis9 3.1 Partial Encryption . .9 3.2 CBC Malleability . 10 3.3 PDF Interactive Features . 12 4 How To Break PDF Encryption 14 4.1 Direct Exfiltration (Attack A) . 14 4.1.1 Requirements . 15 4.1.2 Direct Exfiltration through PDF Forms (A1) . 15 4.1.3 Direct Exfiltration via Hyperlinks (A2) .
    [Show full text]
  • LATEX for Beginners
    LATEX for Beginners Workbook Edition 5, March 2014 Document Reference: 3722-2014 Preface This is an absolute beginners guide to writing documents in LATEX using TeXworks. It assumes no prior knowledge of LATEX, or any other computing language. This workbook is designed to be used at the `LATEX for Beginners' student iSkills seminar, and also for self-paced study. Its aim is to introduce an absolute beginner to LATEX and teach the basic commands, so that they can create a simple document and find out whether LATEX will be useful to them. If you require this document in an alternative format, such as large print, please email [email protected]. Copyright c IS 2014 Permission is granted to any individual or institution to use, copy or redis- tribute this document whole or in part, so long as it is not sold for profit and provided that the above copyright notice and this permission notice appear in all copies. Where any part of this document is included in another document, due ac- knowledgement is required. i ii Contents 1 Introduction 1 1.1 What is LATEX?..........................1 1.2 Before You Start . .2 2 Document Structure 3 2.1 Essentials . .3 2.2 Troubleshooting . .5 2.3 Creating a Title . .5 2.4 Sections . .6 2.5 Labelling . .7 2.6 Table of Contents . .8 3 Typesetting Text 11 3.1 Font Effects . 11 3.2 Coloured Text . 11 3.3 Font Sizes . 12 3.4 Lists . 13 3.5 Comments & Spacing . 14 3.6 Special Characters . 15 4 Tables 17 4.1 Practical .
    [Show full text]
  • How Is Video Game Development Different from Software Development in Open Source?
    Delft University of Technology How Is Video Game Development Different from Software Development in Open Source? Pascarella, Luca; Palomba, Fabio; Di Penta, Massimiliano; Bacchelli, Alberto DOI 10.1145/3196398.3196418 Publication date 2018 Document Version Accepted author manuscript Published in Proceedings of the 15th International Conference on Mining Software Repositories, MSR. ACM, New York, NY Citation (APA) Pascarella, L., Palomba, F., Di Penta, M., & Bacchelli, A. (2018). How Is Video Game Development Different from Software Development in Open Source? In Proceedings of the 15th International Conference on Mining Software Repositories, MSR. ACM, New York, NY (pp. 392-402) https://doi.org/10.1145/3196398.3196418 Important note To cite this publication, please use the final published version (if applicable). Please check the document version above. Copyright Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim. This work is downloaded from Delft University of Technology. For technical reasons the number of authors shown on this cover page is limited to a maximum of 10. How Is Video Game Development Different from Software Development in Open Source? Luca Pascarella1,
    [Show full text]
  • Texworks: Lowering the Barrier to Entry
    TEXworks: Lowering the barrier to entry Jonathan Kew 21 Ireton Court Thame OX9 3EB England [email protected] 1 Introduction The standard TEXworks workflow will also be PDF-centric, using pdfT X and X T X as typeset- One of the most successful TEX interfaces in recent E E E years has been Dick Koch's award-winning TeXShop ting engines and generating PDF documents as the on Mac OS X. I believe a large part of its success has default formatted output. Although it will still be been due to its relative simplicity, which has invited possible to configure a processing path based on new users to begin working with the system with- DVI, newcomers to the TEX world need not be con- out baffling them with options or cluttering their cerned with DVI at all, but can generally treat TEX screen with controls and buttons they don't under- as a system that goes directly from marked-up text stand. Experienced users may prefer environments files to ready-to-use PDF documents. T Xworks includes an integrated PDF viewer, such as iTEXMac, AUCTEX (or on other platforms, E based on the Poppler library, so there is no need WinEDT, Kile, TEXmaker, or many others), with more advanced editing features and project man- to switch to an external program such as Acrobat, agement, but the simplicity of the TeXShop model xpdf, etc., to view the typeset output. The inte- has much to recommend it for the new or occasional grated viewer also allows it to support source $ user.
    [Show full text]
  • Apple Has Built a Solution Into Every Mac
    Overview Mac OS X iPhone iPod + iTunes Resources Vision Mac OS X solutions VoiceOver from third parties. Browse the wide variety of To make it easier for the blind and those with low-vision to use a accessibility solutions supported computer, Apple has built a solution into every Mac. Called VoiceOver, by Mac OS X. Learn more it’s reliable, simple to learn, and enjoyable to use. In Depth Device Support Application Support Downloads VoiceOver Application Support VoiceOver. A unique solution for the vision-impaired. Every new Mac comes with Mac OS X and VoiceOver installed and includes a variety of accessible More than 50 reasons to use applications. You can also purchase additional Apple and third-party applications to use with VoiceOver. VoiceOver. Learn more While this page lists a few of the most popular applications, many more are available. If you use an application with VoiceOver that’s not on this list, and you would like to have it added, send email to [email protected]. Unlike traditional screen readers, VoiceOver is integrated into the operating system, so you can start using new accessible applications right away. You don’t need to buy an update to VoiceOver, install a new copy, or add the application to a “white list.” Moreover, VoiceOver commands work the same way in every application, so once you learn how to use them, you’ll be able to apply what you know to any accessible application. Apple provides developers with a Cocoa framework that contains common, reusable application components (such as menus, text fields, buttons, and sliders), so developers don’t have to re-create these elements each time they write a new application.
    [Show full text]
  • R Course for the Nsos in the Arab Countries Part I: Introduction
    R Course for the NSOs in the Arab countries Part I: Introduction Valentin Todorov1 1United Nations Industrial Development Organization, Vienna 18-20 May 2015 Todorov (UNIDO) R Course for the NSOs in the Arab countriesPart I: Introduction18-20 May 2015 1 / 1 Outline Todorov (UNIDO) R Course for the NSOs in the Arab countriesPart I: Introduction18-20 May 2015 2 / 1 About R Outline Todorov (UNIDO) R Course for the NSOs in the Arab countriesPart I: Introduction18-20 May 2015 3 / 1 About R What is R • R is a language and environment for statistical computing and graphics • R is based on the S language originally developed by John Chambers and colleagues at AT&T Bell Labs in the late 1970s and early 1980s • R (sometimes called "GNU S\ ) is free open source software licensed under the GNU general public license (GPL 2) • R was created by Robert Gentleman and Ross Ihaka at the University of Auckland as a test bed for trying out some ideas in statistical computing • R is formally known as The R Project for Statistical Computing: http://www.r-project.org Todorov (UNIDO) R Course for the NSOs in the Arab countriesPart I: Introduction18-20 May 2015 4 / 1 About R The R project • The R Project is an international collaboration of researchers in statistical computing. • There are roughly 20 members of the "R Core Team\ who maintain and enhance R. • Releases of the R environment are made through the CRAN (comprehensive R archive network) twice per year. • The software is released under a "free software\ license, which makes it possible for anyone to download and use it.
    [Show full text]
  • Breaking PDF Encryption
    Practical Decryption exFiltration: Breaking PDF Encryption Jens Müller Fabian Ising Vladislav Mladenov [email protected] [email protected] [email protected] Ruhr University Bochum, Chair for Münster University of Applied Ruhr University Bochum, Chair for Network and Data Security Sciences Network and Data Security Christian Mainka Sebastian Schinzel Jörg Schwenk [email protected] [email protected] [email protected] Ruhr University Bochum, Chair for Münster University of Applied Ruhr University Bochum, Chair for Network and Data Security Sciences Network and Data Security ABSTRACT Home/Trusted Environment The Portable Document Format, better known as PDF, is one of the Decrypted Document 1. Victim opens 2. Exfiltrating Tax Declaration decrypted content most widely used document formats worldwide, and in order to en- an encrypted PDF file Scrooge McDuck with their password via the Internet sure information confidentiality, this file format supports document TOP SECRET Victim encryption. In this paper, we analyze PDF encryption and show Attacker two novel techniques for breaking the confidentiality of encrypted Victim’s PC documents. First, we abuse the PDF feature of partially encrypted documents to wrap the encrypted part of the document within Figure 1: An overview of the attack scenario: The victim attacker-controlled content and therefore, exfiltrate the plaintext opens an encrypted PDF document and unintentionally once the document is opened by a legitimate user. Second, we abuse leaks the decrypted content to an attacker-controlled server. a flaw in the PDF encryption specification to arbitrarily manipulate The encrypted PDF file was manipulated by the attacker be- encrypted content.
    [Show full text]
  • Travels in TEX Land: Choosing a TEX Environment for Windows
    The PracTEX Journal TPJ 2005 No 02, 2005-04-15 Rev. 2005-04-17 Travels in TEX Land: Choosing a TEX Environment for Windows David Walden The author of this column wanders through world of TEX, as a non-expert, reporting what he observes and learns, which hopefully will be interesting to other non-expert users of TEX. 1 Introduction This column recounts my experiences looking at and thinking about different ways TEX is set up for users to go through the document-composition to type- setting cycle (input and edit, compile, and view or print). First, I’ll describe my own experience randomly trying various TEX environments. I suspect that some other users have had a similar introduction to TEX; and perhaps other users have just used the environment that was available at their workplace or school. Then I’ll consider some categories for thinking about options in TEX setups. Last, I’ll suggest some follow-on steps. Since I use Microsoft Windows as my computer operating system, this note focuses on environments that are available for Windows.1 2 My random path to choosing a TEX environment 2 I started using TEX in the late 1990s. 1But see my offer in Section 4. 2 While I started using TEX, I switched from TEX to using LATEX as soon as I discovered LATEX existed. Since both TEX and LATEX are operated in the same way, I’ll mostly refer to TEX in this note, since that is the more basic system. c 2005 David C. Walden I don’t quite remember my first setup for trying TEX.
    [Show full text]
  • How to Write a Paper and Format It Using LATEX
    How To Write a Paper and Format it Using LATEX Jennifer E. Hoffman1, 2, ∗ 1Department of Physics, Harvard University, Cambridge, Massachusetts 02138, USA 2School of Engineering & Applied Sciences, Harvard University, Cambridge, Massachusetts 02138, USA (Dated: July 30, 2020) The goal of this document is to demonstrate how to write a paper. We walk through the process of outlining, writing, formatting in LATEX, making figures, referencing, and checking style and content. Source files are available at: http://hoffman.physics.harvard.edu/example-paper/. I. GETTING STARTED 8. Rewrite your abstract, taking into account what you have learned from the process of writing the paper. As You should start writing your paper while you are you fine-tune your abstract, you may find it helpful to working on your experiment. Prof. George Whitesides refer to Nature's instructions for writing an abstract says: \A paper is not just an archival device for stor- [2] and for clear communication more generally [3]. ing a completed research program; it is also a structure for planning your research in progress. If you clearly As you contemplate the paper you have just writ- understand the purpose and form of a paper, it can be ten, put yourself in the shoes of the reviewers (includ- immensely useful to you in organizing and conducting ing your collaborators). You already work many, many your research. A good outline for the paper is also a hours/week, and you don't really want to spend more good plan for the research program. You should write time reading this paper. So you're going to be very happy and rewrite these plans/outlines throughout the course if the figures are pretty, the text flows logically, the ref- of the research.
    [Show full text]
  • Miktex Manual Revision 2.0 (Miktex 2.0) December 2000
    MiKTEX Manual Revision 2.0 (MiKTEX 2.0) December 2000 Christian Schenk <[email protected]> Copyright c 2000 Christian Schenk Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Chapter 1: What is MiKTEX? 1 1 What is MiKTEX? 1.1 MiKTEX Features MiKTEX is a TEX distribution for Windows (95/98/NT/2000). Its main features include: • Native Windows implementation with support for long file names. • On-the-fly generation of missing fonts. • TDS (TEX directory structure) compliant. • Open Source. • Advanced TEX compiler features: -TEX can insert source file information (aka source specials) into the DVI file. This feature improves Editor/Previewer interaction. -TEX is able to read compressed (gzipped) input files. - The input encoding can be changed via TCX tables. • Previewer features: - Supports graphics (PostScript, BMP, WMF, TPIC, . .) - Supports colored text (through color specials) - Supports PostScript fonts - Supports TrueType fonts - Understands HyperTEX(html:) specials - Understands source (src:) specials - Customizable magnifying glasses • MiKTEX is network friendly: - integrates into a heterogeneous TEX environment - supports UNC file names - supports multiple TEXMF directory trees - uses a file name database for efficient file access - Setup Wizard can be run unattended The MiKTEX distribution consists of the following components: • TEX: The traditional TEX compiler.
    [Show full text]
  • Complete Issue 40:3 As One
    TUGBOAT Volume 40, Number 3 / 2019 General Delivery 211 From the president / Boris Veytsman 212 Editorial comments / Barbara Beeton TEX Users Group 2019 sponsors; Kerning between lowercase+uppercase; Differential “d”; Bibliographic archives in BibTEX form 213 Ukraine at BachoTEX 2019: Thoughts and impressions / Yevhen Strakhov Publishing 215 An experience of trying to submit a paper in LATEX in an XML-first world / David Walden 217 Studying the histories of computerizing publishing and desktop publishing, 2017–19 / David Walden Resources 229 TEX services at texlive.info / Norbert Preining 231 Providing Docker images for TEX Live and ConTEXt / Island of TEX 232 TEX on the Raspberry Pi / Hans Hagen Software & Tools 234 MuPDF tools / Taco Hoekwater 236 LATEX on the road / Piet van Oostrum Graphics 247 A Brazilian Portuguese work on MetaPost, and how mathematics is embedded in it / Estev˜aoVin´ıcius Candia LATEX 251 LATEX news, issue 30, October 2019 / LATEX Project Team Methods 255 Understanding scientific documents with synthetic analysis on mathematical expressions and natural language / Takuto Asakura Fonts 257 Modern Type 3 fonts / Hans Hagen Multilingual 263 Typesetting the Bangla script in Unicode TEX engines—experiences and insights Document Processing / Md Qutub Uddin Sajib Typography 270 Typographers’ Inn / Peter Flynn Book Reviews 272 Book review: Hermann Zapf and the World He Designed: A Biography by Jerry Kelly / Barbara Beeton 274 Book review: Carol Twombly: Her brief but brilliant career in type design by Nancy Stock-Allen / Karl
    [Show full text]