##### TeXShop Changes 3.95

In High Sierra when previewing in "multipage mode", each typesetting job caused a flash in the Preview window before new material appeared. I found this behavior so disturbing that I didn't update to High Sierra until this week. TeXShop 3.94 completely fixed the problem. This fix was particularly significant because Apple revised the way they render pdf files and reported that the flash could not be repaired at their end. Without a TeXShop fix, we'd be stuck with the flash for years to come.

The fix worked by placing a picture of the old preview pdf over the Preview window just before switching to the new version of this pdf. The flash still occurred, but was hidden by the picture. One second later, the picture was removed, revealing the new pdf. The steps of placing a picture and later removing it were totally invisible to the user.

The fix had one small downside which I found barely noticeable: it caused a one second delay after typesetting before the new material appeared. This lost second caused several users to complain to me. A few of them used the preview in "single page mode," which does not have the flash bug. They complained of losing a second for no reason. Other users told me that they barely noticed the flash, but were annoyed every time they had to wait that additional second. Huh? Didn't notice the flash??!!

The only change in TeXShop 3.95 is additional preference settings to mollify these users. The program now has two hidden Preference settings. One turns the fix off. Note that the fix is only applied in High Sierra and above, so this setting only applies to those versions of macOS. To apply the fix, quit TeXShop, open Terminal in /Applications/Utilities, and type the following line:

         defaults write TeXShop FlashFix NO

However, I strongly recommend not applying this fix. Instead, experiment with the second fix, which reduces the delay before removing the picture of the old pdf. To apply the fix, quit TeXShop and type the following in Terminal:

         defaults write TeXShop FlashDelay 0.25

The value of the delay is measured in seconds and can be anything between 0.0 and 2.0. Other values are constrained to these values. If the delay is too short, the flash may still be visible, but on my High Sierra machine, a Mac Pro, the value 0.25 completely eliminates the flash and yet produces a delay of only 1/4 of a second, which is not noticeable to me. If this value works for most others, it may become the default in future versions of TeXShop.

If you still see the flash with this value, try 0.5. If you don't see a flash, but are still annoyed by the delay, try 0.01. If you complain of losing 1/100 of a second from your life every time you typeset, I will sympathize silently.

##### TeXShop Changes 3.93 and 3.94

Version 3.93 was never released. The main purpose of release 3.94 is to fix crucial bugs in TeXShop running on High Sierra. Here are the bugs:

- After each typesetting job, there is a momentary flash in the preview window before the new version appears. This flash is caused because Mac OS draws the background of the page before the actual page is ready to draw. I tend to typeset after every few sentences, and this bug was so distracting that I avoided switching to High Sierra until now.

- Scrolling with a gesture or the mouse in the preview window while in multi-page or double-multi-page modes does not update the Page Number in the preview toolbar.

- If a tabbed source or preview window is split, the split bar is much lower than usual and cannot be moved.

- In previous versions of Mac OS, the TeXShop Save Panel has two accessories at the bottom, one to select encoding and one to select file type. But in High Sierra, these are missing in expanded mode. Moreover, the main display in this mode is "flaky"; sometimes it covers the panel and sometimes it is restricted to only three or four lines.

- The preview window drawer shows a document outline in the top portion, and a search box and search results in the lower portion. The outline only appears when the hyperref package is used; otherwise the area is blank. When the outline exists, the lower portion shows search results in two columns. The first lists the word or phrase being searched, and the second lists the outline section where the word or phrase was found. But in High Sierra, all second column entries are equal. The program gets "stuck" on one, and continues to list it for all entries.

After High Sierra was released, I dutifully noted these bugs and reported many of them to Apple developer support. Then I sat back and waited for fixes. The third entry was indeed fixed in High Sierra 10.13.2, but the other entries are still outstanding. However, unexpected behavior in a new version of Mac OS can have several causes. In some cases, TeXShop might have "shady code" which happened to work in earlier systems but was never really correct. In other cases, the problem could be an Apple bug. The most interesting situations occur when Apple rewrites code to improve the experience of most users, but that code breaks features of TeXShop and cannot be repaired.

All of the bugs above are fixed in TeXShop 3.94. Some of these fixes require new program logic. In these cases, the fix only runs on High Sierra and above, while the old code is still used on earlier systems to avoid problems on these systems.

Because these fixes solve almost all High Sierra problems, I intend to move over to that system immediately after TeXShop 3.94 is released.

There is one additional feature in 3.94. John Collins updated latexmk to version 4.54c, which fixes a problem with the previous version of latexmk. That version required a recent version of Perl and failed for users with an older version of OS X. The new version should work on all versions of OS X supported by TeXShop 3.94.

The rest of this report explains the fixes of the five bugs for those who are interested. Rather than taking them in order, I'll leave the most interesting case until last. The third item was indeed an Apple bug, and was recently fixed. The fourth item was fixed in TeXShop 3.91. I do not know if the cause was an Apple bug, so the workaround might eventually be removed or improved.

I found a workaround for the fifth bug. There are two useful pieces of information which could be placed in the second column of the search list. This column could display some of the surrounding text, or it could list the corresponding outline section. In High Sierra, TeXShop 3.94 shows surrounding text, and therefore avoids the bug. On earlier systems, TeXShop 3.94 shows the corresponding outline section if an outline is present, because those systems don't have this bug. But if no outline is present, TeXShop 3.94 shows surrounding text, rather than leaving the second column blank.

This brings us to the second bug, which was not an Apple bug at all but instead "shady code" in earlier versions of TeXShop. The Save Panel is mostly handled by Cocoa automatically. But programmers are allowed to provide an "accessory view" which will appear just above the buttons at the bottom, and extend features of the panel. If the programmer does not provide this accessory view, Apple provides one, showing a Popup Menu allowing the user to select the File Format of the saved file, which is essentially its extension.

TeXShop wants two Popup Menus in this view, one to choose the encoding of the file, and the other to choose its extension. Most users rightly ignore these popups, but they are useful in special cases. Creating an accessory view, and adding an "Encoding Popup Menu" are straightforward tasks. But Apple has already created the "File Format Popup Menu" and it is just a matter of grabbing their popup and adding it to our accessory view. Earlier versions of TeXShop contain ingenious code to do just that. Another word for "ingenious" is "shady." Unfortunately, the first reaction on rereading that code is "would that even work?" The answer is that it works in Sierra but not in High Sierra. It has been replaced with much more straightforward code. A Google search shows that other programmers faced the same problem and selected the straightforward approach rather than the shady one.

Finally, we come to the "flash after typesetting" bug, which was for me the most important problem. This problem turns out to be caused by a reworking of the Mac OS code to render pdf files. The new Apple code will render large documents with greater speed, but a consequence is an unavoidable flash if a pdf file is opened and immediately repositioned to the center of the document. Let's face it, that is an unusual operation unless you are editing and typesetting a TeX document. Unfortunately, the flash is a problem that Apple cannot solve.

However, TeXShop can solve the flash problem. Here's how that works. In Cocoa, "NSView" objects correspond to rectangular portions of the screen; these view objects know how to draw themselves. NSView objects can be layered, and in that case the top layer obscures lower layers unless the top layer is transparent.

After typesetting is complete and just before switching to the new version of the pdf file, TeXShop 3.94 takes a snapshot of the screen. It then creates a NSView exactly the size of the old pdf view in the Preview window, and places this view on top of the old view. The new view draws by showing the appropriate portion of the screen snapshot. Then the preview window is loaded with the new pdf view, which draws, flash and all. But we see nothing because the drawing is obscured by the NSView on top. Exactly one second later, the top NSView is removed, showing the new pdf underneath.

You might think that adding and removing this View would provide additional flashes, but such view manipulations have been a part of Cocoa since the beginning and the system is optimized to make such manipulations invisible.

This method depends strongly on the technique to get a snapshot of the screen. Many such techniques are available, but do not work well. For instance, I first tried a technique which obtained the pdf data to draw a portion of the screen. When this data was redrawn, font weights changed, and the screen became blurred for that one second interval. Google led me to the code now used to get that snapshot, and that open source code works like a charm. See the source for details.

There are a couple of possible problems with this fix, which users ought to know about. If you have several monitors, I do not know if the screen snapshot will provide the correct image. My High Sierra machine has only one monitor. I also don't know if one second is enough time to avoid the flash. It is for me, but my machine is quite fast. So in case of problems, please write.

##### TeXShop Changes 3.92

- High Sierra has a bug which breaks updating the pageNumber field when scrolling in the Preview Window. TeXShop 3.91 has a workaround for this bug, but the workaround broke the ability to enter a new page number and go there. This is fixed. After going to a new page, click once in the pdf content region to activate page updates during scrolling.

- TeXShop has two magic lines to activate tabs. The first, "useTabs", automatically adds "include" files as tabs, while the second, "useTabsWithFiles", gives the author much tighter control over which source files to use as tabs.

  Tommaso Pecorella wrote asking that the first command also automatically add "input" files as tabs. The reason I didn't do this at first is that the syntax for "input" allows situations that aren't really appropriate for tabs. For example, a source that is "input" can itself "input" other files. Some authors break the source into hundreds of pieces, inputting these pieces as necessary.

  So whether the request is appropriate or not depends on the writing style of the user. In TeXShop 3.92, the "useTabs" command will also create tabs for "input" files, but only if the user activates this feature with a hidden preference:

           defaults write TeXShop TabsAlsoForInputFiles YES

##### TeXShop Changes 3.90 and 3.91

Version 3.90 was never released. Version 3.91 has the following changes:

- In version 3.89, the Changes document was added to the TeXShop Help Menu, but it only listed changes in the latest version. From now on, the full document listing all changes in series 3 will be in the Help Menu. The latest changes are at the top.

- In Version 3.89, the user can double click on the words "begin" or "end" in a begin-end pair (while holding down the option key) to select the matching termination word and all words in between. I'm not a fan of intricate string programming, and it took me many days to get this feature working, so I expected applause. Instead I got bug reports about edge cases I knowingly ignored. The first such message, from Jean-Pierre Olivier, contained the following example. Guess what TeXShop did with a double click on the initial "begin."

           \begin{enumerate}
                \item la liste
                \begin{enumerate}
                     \item a
                     \item b
                \end{enumerate}
                \item another
           \end{enumerate}

  I told Jean-Pierre that I was aware of the special case and didn't intend to fix it. Then I went to bed, but my conscience kept me awake.

  TeXShop 3.91 fixes this problem. Thus "\begin{key}" will match the appropriate "\end{key}" even when the selection between them contains one or several "\begin-\end" pairs with the same "key".

  TeXShop 3.91 also fixes a second special case: it now ignores comments, so "begin" will never match an "end" that has been commented out.

- Updated latexmk to version 4.54. Thanks to John Collins and Herbert Schulz.

- TeXShop depends on PDFKit for the preview display, and Apple has been rewriting PDFKit for the last three years and introducing bugs in the process. High Sierra was described by Apple as a release concentrating on polish and speed rather than on new features. So there were high hopes that High Sierra would fix the bugs. And indeed, it did, but it compensated by adding new bugs.

  The bug most often reported to me is that the page number box on the preview toolbar does not update when scrolling the pdf display with a gesture or mouse. This bug only affects multi-page and double-multi-page modes, and does not occur when the keyboard arrows or the spacebar are used to scroll.

  TeXShop 3.91 has a workaround for this bug. The workaround code is only activated when running High Sierra; otherwise the original code runs. When Apple fixes the bug, the workaround will be removed. The workaround is applied automatically, so you may wish to skip the remaining text in this item. Indeed, there are no other version 3.91 changes, so the rest of the text about 3.91 can be skipped.

  What caused this bug? TeXShop is written with Apple's Cocoa application framework. In this style of programming, duties are shared between the programmer and the API. In particular, one object, named "PDFView" in the API, displays and scrolls pdf documents automatically without programmer intervention. Handling scrolling this way is important since there are mice, and smart mice, and portable track pads, and stand alone track pads, and gestures, and so forth. If the duty of responding to them fell to the programmer, who doesn't even own many of these devices, nothing would work.

  TeXShop interacts with the PDFView object by sending it "messages." For instance, one message says to switch from single page mode to continuous page mode.

  But what if the PDFView has to interact with TeXShop? Apple programmers don't know the messages understood by TeXShop, so they cannot send messages to TeXShop. The answer is that Cocoa objects can post "Notifications". These notifications are fixed by the API; a programmer cannot extend them. One crucial notification posted by PDFView is called "PDFViewPageChanged".

  These notifications go to a "Notification Center" in Cocoa. Programs can ask this center to be called whenever a particular kind of notification arrives. TeXShop asks the notification center to be notified when PDFViewPageChanged is sent, and it then updates the Page TextField.

  The primary cause of the bug is that High Sierra does not send the notification when scrolled by a trackpad or mouse.

  However, there is a further problem. Listed below is the code which TeXShop runs when it gets a PDFViewPageChanged notification.

           aPage = [self currentPage];
           theNumber = [[self document] indexForPage: aPage];
           [self.pageNumber setIntegerValue:theNumber];
           [self.pageNumber display];

  This is objective C code, but almost self explanatory. TeXShop asks PDFView for the current Page, a data structure that has lots of information about the visible page. It asks this data structure for the page number of the page. It sets this page number as the number to be displayed by the page box. Then it redisplays this box.

  Unfortunately, the first line also fails. When you scroll in High Sierra, either by trackpad or by mouse and scrollbar, Cocoa does not update the “currentPage” variable. So after scrolling, this variable still has the old value. Hence the page number would not change even if the notification were sent.

  To work around the bug, I first had to find a replacement for [self currentPage]. Ultimately I found two replacements; one worked a little better than the other, but both worked in High Sierra. The "method that works a little better" is used by the "click once" action described below, but it does not work for the "timer" action below, which must use the second method.

  After working around [self currentPage], I had to find a replacement for the notification PDFViewPageChanged. Sadly, I never found a notification which worked. Several replacements are described in the documentation, but PDFView "behaves like an NSView in many cases" but "is not a formal subclass of NSView" and none of these notifications were actually posted by PDFView.

  Since the notification route fails, the workaround has to use a different approach. TeXShop 3.91 contains two approaches. The first requires user action to update the pageNumber box: click anywhere in the active pdf area. Thus users should scroll with a tracking action or mouse, and then click once to update the box. However, this procedure is turned off when you start TeXShop 3.91 because a second procedure is used instead. Cocoa allows programs to contain NSTimer objects which fire periodically. When running on High Sierra, the PDF display object sets up a timer to update the pageNumber box once a second. This allows automatic updating during scrolling.

  Since the timer has to do extra work to discover the current page, care has been taken to only do the work when necessary. The timer only updates if the corresponding PDF window is the front window. So it does no work when users are editing source. If several projects are open, at most one pdf timer is actually updating.

  I still have some fear that the timer will make TeXShop less responsive. This could only happen on High Sierra, and then only until Apple fixes the bug. So I've provided a way for users to turn the timer off. Quit TeXShop and then issue the following command in Terminal:

           defaults write TeXShop ContinuousHighSierraFix NO

  Then restart TeXShop. No timers will be created, so the pageNumber box will not update during scrolling. Click the mouse once in the pdf content area after scrolling to update the pageNumber.

- There are no other new features in TeXShop 3.91. But perhaps a list of remaining High Sierra bugs will be useful. They are cosmetic bugs rather than bugs changing the operation of TeXShop.

  - When TeXShop typesets and then displays the revised pdf, there is a momentary gray flash before the new page appears. This only occurs on High Sierra and has been reported to Apple.

  - If a window which has been converted to a tab is split, the bar separating the split portions cannot be moved, and other things go haywire. This problem is fixed in the latest developer betas, so it should be fixed in the next High Sierra minor release.

  - I continue to get reports of fuzzy displays on some monitors. This problem has been with us through several iterations of OS X. It was extensively discussed in the changes document for version 3.55, where several TeXShop additions to deal with the problem are summarized in one spot.

    Fuzzy displays have never been a problem on machines with Retina displays. This includes almost all of Apple's current machines. It includes the 5K LG Display, made possible by Thunderbolt 3. Older displays also work fine; I have the original Thunderbolt display which was not a Retina display and yet shows very clear text. I am no longer able to obtain fuzzy output on any of my equipment.

    I suspect that Apple has stopped work on this problem because it will disappear as people upgrade their equipment. Let's recall an analogous situation. When color was first introduced on the Mac, it was 8-bit color which could only display 256 colors. This was not enough for high quality photographs, but the engineers had a work-around. Graphic display hardware contained a color table chip which could be programmed in real time. Thus the particular 256 colors available could be adjusted, depending on the requirements in the front-most window.

    So Apple introduced very elaborate color management software. A program could request, say, 40 colors that it "absolutely, positively had to have", and then 25 colors that it needed only approximately, listing how much variation was permissible for these colors. Apple also reserved a small number of colors for the system. The rules for this color management software seemed to change from system to system. One critic said "I dislike the Macintosh because when I request a color, I can never be sure of the color I'll get back.''

    And then memory prices went down, and 8-bit color became 32-bit color and the color management software vanished. If you lived through those days, as I did, you probably feel that all the time spent on color management was time wasted. I recently discovered that new hires in the mathematics department who know much more than I do about computers have never heard of programmable color tables.

    With apologies to those dealing with the problem, I think the fuzzy display problem is a repeat of the 8-bit color situation. The problem has gone away for the majority of users, it will slowly go away for the rest of users, and it no longer makes sense to expect Apple engineers to deal with it. Sorry.

##### TeXShop Changes 3.89

Version 3.89 has the following changes:

- When new versions of TeXShop are released, two documents are created explaining features of the release. The first, titled "About This Release", is available as the first item in the TeXShop Help Menu, and describes those features that cannot be delivered automatically. For example, if new macros are available, they cannot be provided to users because users may have edited their macros. "About This Release" explains these features and how to obtain them. For most releases, there are no such items.

  The second document, titled "Changes", describes all new features in the release. In version 3.89 and future versions, it will be the second item in the TeXShop Help Menu. This document is essential reading because new features are often not visible in the interface, so the changes document is the only way to discover that they are available.

  The "Changes" document has always been available, but not in handy places. It is the information shown when a Sparkle "Check for Updates" command announces an update, it is available on the TeXShop web page just below the download link, and it is available in the TeXShop Help Panel under the heading "What's new". All these versions will still exist. We hope many more users will find the document in the Help menu.

- If the user double clicks on {, }, [, ], or (, ), the corresponding brace will be found and the text between these delimiters will be highlighted. This feature has existed for years and is an essential debugging tool. Occasionally, users just want to select a brace, say {, rather than selecting all this text. Many users may not know that they can do this by holding down the option key while double clicking. Now they know.

  In version 3.89, this feature is extended to begin-end pairs, like

           \begin{theorem}
                There are infinitely many primes.
           \end{theorem}

  To select all text in the begin-end pair, hold down the option key and double click anywhere in the word "begin" or the word "end". In the above example, the computer will automatically find "{theorem}" and match with the corresponding begin-end pair for "{theorem}".

  Notice that there are differences in the selection of {, } pairs and the selection of begin-end pairs. For brace pairs, you must double click on a brace, while for begin-end pairs you must double click on an easier-to-hit word.

  Moreover, the option key is not needed for brace pairs, but is needed for begin-end pairs. Why? Most users are familiar with the following Mac convention: clicking on a spot pulls the cursor to that spot, double clicking on a spot selects a word there, triple clicking on a spot selects an entire sentence or paragraph there. It would be confusing if this behavior failed for the words "begin" and "end", but worked for all other words. To avoid this confusion, users must press the option key if they want to match pairs.

  I'd like to thank Claudio Beccari, who called my attention to the importance of begin-end pairs and asked for this feature in TeXShop. His request was so reasonable that I dropped everything else and implemented it. In turn, Beccari called my attention to an article in the latest Tugboat (Journal of the TeX User Group, volume 38, number 2), on debugging TeX files by Barbara Beeton. Beeton is the resident TeX expert at the American Mathematical Society. Her suggestions are given modestly, but ignoring them is the mark of a fool.

  There remains the $ and $$ problem; the trouble with these delimiters is that there is no difference between the opening and closing symbol, making similar code difficult to program. Recall that $-$ is equivalent to \begin{math}-\end{math} or to \( - \) and $$-$$ is equivalent to \begin{displaymath}-\end{displaymath} or to \[ - \]. Perhaps \( - \) and \[ - \] will be handled in the future, but begin-end selection already handles one equivalent of $-$ and one of $$-$$. One possible useful habit to develop might be to use $ for very short expressions like $\alpha$, but use \begin{math}-\end{math} for all longer expressions. In that case, I recommend inventing a keyboard shortcut to enter this pair and the equivalent display pair.

- One of the most important features of modern TeX distributions is SyncTeX, a creation of Jérôme Laurens. This software modifies TeX engines to output "synctex" files containing the information needed to sync between spots in the source and corresponding spots in the pdf output. Laurens also includes "synctex_parser", a C source file for front end developers allowing them to easily obtain information from the "synctex file."

  In 2017, Laurens substantially rewrote both engine synctex support and the synctex_parser. His new parser has been in the last several iterations of TeXShop. I strongly recommend that users updating TeXShop also update TeX Live, probably via MacTeX, so these two pieces of software will match.

  About two months ago, a couple of ConTeXt users complained to me that synctex doesn't work in the latest beta versions of ConTeXt. They also told me that it continues to work in other front ends. Further investigation showed that those front ends had not updated their copy of the synctex_parser, and then showed that the author of ConTeXt, Hans Hagen, wrote his own synctex code for ConTeXt, based unfortunately on the 2016 version of synctex.

  TeXShop 3.89 now contains both the new 2017 version of the synctex_parser, and the old 2016 version of this parser. This was not easy because Laurens used many of the same function names in both versions and the linker complained; eventually I had to change 2016 names by hand. A new magic line has been introduced for ConTeXt users:

          % !TEX useOldSyncParser

  This will work for all TeX users, but is only recommended for ConTeXt users. The magic line is read when a file is first opened, so the first time this line is added, the file should immediately be closed and then reopened to make it active.

- For the last several releases, a special version of TeXShop was provided for users running High Sierra. The Sierra version of the code ran on High Sierra, but one feature was missing. When High Sierra was released, Apple also released XCode 9, making it possible to compile one copy of TeXShop which runs completely on all recent systems, and in particular on both Sierra and High Sierra.

- An earlier version of TeXShop introduced the magic line

          % !TEX parameter =

  which sends a second piece of information to engines. Most engines just ignore this information, so it does no harm. But using the magic line, one or more flags can be passed to engines without rewriting the engines.

  Herbert Schulz rewrote many of the latexmk engines to use this magic line. For instance, it can be used to add a --shell-escape flag when pdflatex needs to call an external program during typesetting. The old engine files still work, but Schulz recommends that users visit ~/Library/TeXShop/Engines/Inactive/latexmk and replace any active latexmk engines with their new versions. New documentation in this folder gives more details.

- An ".xml" file is an Extensible Markup Language file. For reasons that will be explained in a moment, TeXShop can now create xml files, and such files are marked as typesettable files, so typesetting engines can be called when one is active.

  XML files look a lot like HTMN files. They consist of tag pairs like

           <titlepage>
           .....
           </titlepage>

  One difference is that each opening tag must have a corresponding closing tag; in html this requirement is often not enforced and <p> may not be followed by </p>. Comment tags are written as follows

           <!-- this is a comment, which contains many characters -->

- TeXShop's new \begin-end selection code also works for xml tags. As with begin-end, the option key must be pressed and then the word defining the tag must be double clicked. For instance with the tag <titlepage> the double click should be on the word "titlepage" and not on the inequality signs at the beginning or end. For comments, the double click should be on the "--" symbol.

  In xml, the beginning tag may contain other elements, but the pairwise selection is a double click on the first word, not other symbols in the tag. Thus when facing the following tag, double click on "frontmatter."

           <frontmatter xml:id="index">

  In rare cases, the comment tag's start contains only one dash. See the second line of the following example. TeXShop cannot select such a comment.

           <!-- Various third-party add-ons need some sort of token     -->
           <!-ƒ Using an element here serves two purposes               -->

- And now the point of all this. From time to time, I like to introduce TeXShop users to TeX-related developments that are not strictly about TeX. The development du jour is PreTeXt, with the motto "Write Once, Read Anywhere." It is the work of Bob Beezer from the University of Puget Sound, and it is supported by a crystal-clear series of web pages, http://mathbook.pugetsound.edu/index.html. (MathBook is the original name of this project, which was renamed in June, 2017.)

  The goal of the project is to write a document just once, but then output the document in pdf, or in HTML for the web, or in EPUB for pad-based work. Documents for the web or EPUB can be interactive.

  To make this possible, the document text is written in a special xml-based markup language, but the mathematical content is still in TeX.

  I first heard of this project in a TUG conference in Portland, Oregon, and what caught my eye was that an abstract algebra textbook written in TeX by my PhD student Tom Judson had been converted into an interactive book by rewriting it in PreTeXt. (But to be honest, the thing that really caught my attention was learning that Judson and Beezer bicycled the main part of the Tour de France route in France after the official race.) Then, as happens, I gradually lost contact with the project.

  A month ago, I was talking to a University of Oregon faculty member, Dev Sinha, and he asked me what I knew of xml. I told him not much, and he then enthusiastically described course notes he was writing using PreTeXt. It took me a couple of days to realize that this was the Beezer project I knew from Portland.

  TeXShop 3.89 comes with an engine file to typeset PreTeXt documents and open the pdf output in the preview window; a second engine file typesets the same document to HTML and opens the output in Safari. These engine files are in ~Library/TeXShop/Engines/Inactive/PreTeXt. This folder contains additional documentation and a large sample document by Beezer to show how the system works. I've tried to make it as easy as possible to get started. Copy the two engine files to the active engine directory, make a copy of the document, typeset, and examine the results. Then open a new file in TeXShop, copy a few lines from the sample document to get started, try writing your own material, and typeset. This time, you'll first be asked to save the document (as usual in TeXShop). Use the pulldown menu on the Save Dialog to save as ".xml" rather than ".tex". Done.

  After this, I hope you'll want to learn more. Go to the PreTeXt site at http://mathbook.pugetsound.edu/index.html. This site has exciting material. Proceed.

##### TeXShop Changes 3.88

Version 3.88 has the following changes:

- In version 3.86, .bbl files were added to the list of files automatically removed by "Trash AUX Files". Two users complained, giving reasons. So these files are no longer automatically removed. Notice that there is a hidden preference to add file types to those removed, so users who want to remove.bbl files can still do so.

- The syntax parser had a bug which could crash TeXShop. This bug was discovered by Yusuke Terada, who provided a fix.

- Masson Thierry suggested three new features, and all are in version 3.88. He suggested adding \frametitle to entries added automatically to the tags menu. This should be helpful when using the Beamer slides package.

- Masson suggested a new "magic line":
    % !TEX pdfSinglePage
  When this line is added to the top of a source file, the resulting pdf preview will show single pages, even if the default is to show a single scrollable document. This feature is aimed at Beamer authors, who want slides to display one slide at a time, but other documents to scroll.

- Several years ago, Ramon Figueroa-Centeno provided beautiful macros to set the magic lines which determine the typesetting program, the encoding, and the program root. Immediately below these macros, the macro menu now has a menu listing all other possible magic lines as submenus. Selecting such a submenu adds the corresponding magic line at the current position of the cursor in the source editor. Thus users need no longer remember the syntax of these magic lines.

  See the "About This Release" document in the Help menu for instructions on how to obtain these new macros.

##### TeXShop Changes 3.87

The bug fix for Bibtex allowing citation keys with spaces turns out to be a bad idea. Bibtex documentation states that citation keys cannot have spaces, and the fix broke other user's Bibtex interaction. The fix has been removed. There are no other changes.

##### TeXShop Changes 3.86

TeXShop 3.86 fixes several minor issues reported by users since the release of 3.85. Most of these issues have been present for a long time.

- The Chinese localization had overlapping text in Preferences; this is fixed.

- Antti Knowles found two bugs and sent the code to fix them. When synctex is used to sync from the Preview window to the Source window, it colors the matching text yellow. After that in earlier versions of TeXShop, if a selection was made using only the keyboard, the selection would still be in yellow. The selection color would change to standard selection color only after a click of the mouse. This is fixed.

- Knowles second fix concerns the autocomplete feature of BibTeX. If a latex label contains a space, the autocomplete feature would show the full label in the list, but selecting this label would only include the label up to the first space. The fix for this is a little iffy. If users of TeXShop and BibTeX run into problems, please write me immediately.

- Tristan Hubsch pointed out that "hyperref tooltips" used with tables of contents and elsewhere could run off the page to the left or right. In that case, they were cut off. This annoying glitch is fixed (unless the page is so narrow that the tooltip could never fit on it).

- Added ".engine" and ".sh" (shell script) as file types that TeXShop can write.

- At the request of Simon Robinson, addd ".bbl" and ".synctex(busy)" as file types which are automatically removed by the Remove AUX File commands.

- The remaining items are all motivated by email sent by Bob Kerstetter. He reported that http://tidbits.com/article/17351 had an article about the language Markdown, listing editors used on the Macintosh to create these sources, and TeXShop was in that list. Markdown is a very simple markup language invented by John Gruber whose files can be easily converted to html, pdf, latex, and other languages. Many conversion programs are available free on the internet, including a program called "pandoc". In the ~/Library/TeXShop/Engines/Inactive program, there is a folder containing pandoc engines.

  But I discovered that the information about pandoc was out of date. The pandoc site now contains an open source install package for OS X, making it very easy to install pandoc. So I removed the existing engines, and placed a document called Pandoc.pdf in the pandoc folder, with links to the Gruber article and the pandoc site. Note that the pandoc site contains a large number of possible conversions, and details about how they work.

- I also received email from Alan Munn, who tried to create stationery for Markdown files (.md files) and failed. This caused me to revise the Stationery feature of TeXShop slightly. Originally, users could create two kinds of files and place them in ~/Library/TeXShop/Stationery. First, they could create a piece of stationery, with extension ".tex". Then they could create a comment file with the same name and extension ".comment" describing the stationery. After that, the TeXShop Stationery menu showed available stationery, with descriptions of each possibility.

  It turns out that the extension assigned to stationery was irrelevant. So in TeXShop 3.86, stationery files can have any extension except ".comment", or no extension at all. The extension is actually never used.

  Stationery is treated just like blank windows in TeXShop, except that stationery pages are marked as "dirty." If you try to close one, or typeset one, or whatever, a dialog will appear asking you to name the file and save it to a location of your choosing. This dialog contains a pull-down menu of file types which TeXShop can write, and that menu is how users actually choose filetype. Markdown stationery can be saved with type ".md" in this way, and stationery for any other file type can be handled the same way.

- The folder ~/Library/TeXShop/Engines/Inactive/pandoc contains two new engines. The first, Md2pdf.engine, converts a Markdown source file to a pdf file and opens the pdf file in TeXShop. The second, Md2HTML.engine, converts a Markdown source file to an HTML file and opens the HTML file in Safari.

  Users should note that many other conversion engines for Markdown are available on the internet, and in most cases it is very easy to write engine files which call these conversion engines.

- A few people use TeXShop as a general editor. I'm one of them, but I sort of thought I was alone. If you use TeXShop to edit other things than .tex files, the syntax coloring feature of TeXShop can be annoying. TeXShop 3.86 has a new menu item which turns syntax coloring on or off. This applies to the source window at the top of the stack. Users can have several source windows, some using syntax coloring and some not. The old "Syntax Color" item in TeXShop Preferences is still there, but it now selects the default choice for syntax coloring when a new document is opened. Changing this Preference does not affect syntax coloring in documents already open.

  It would, of course, be wonderful if someone would write general syntax coloring code for TeXShop, so users could choose one scheme for Markdown, one for HTML, one for C code, etc. I don't intend to do that, but I'd gratefully accept the code from someone else.

##### TeXShop Changes 3.85

TeXShop 3.82 introduced "useTabs", an easy way to add tabs to projects with a root file and chapter files. TeXShop 3.84 added "useTabsWithFiles", a second method of adding tabs requiring a little more work for a lot more flexibility. Unhappily, the code for this second method broke the first method.

Grrr.

TeXShop 3.85 again activates both methods.

In High Sierra, tabs can be given special short names in place of the names of the files they represent. As the number of tabs increases, this becomes more and more useful. The second method of adding tabs has always supported these shorter names. A similar technique is provided in TeXShop 3.85 for the first method.

The magic line containing "useTabs" can be followed by an optional list of short names as in the example below:

  % !TEX useTabs (one, two, , short name, five)
This additional parameter must be on the same line as "useTabs", but notice that single lines can wrap in the editor without adding a line feed. The short names are listed inside a pair of round brackets, and are separated by commas. White space at the beginning and end of a short name will be ignored, but a short name can contain more than one word, as in the above example. If the space between two commas is blank, the original name will be used for that file. If the list has fewer names than the number of tabs, original names will be used for the remaining tabs. If the list is longer than the number of tabs, names at the end will be ignored.

Version 3.85 runs on the original list of supported systems, including High Sierra. Tabs require Sierra and higher, and short names require High Sierra and higher. Short names can be input on Sierra, but they will be ignored on that system.

TeXShop 3.85 was compiled by XCode 8.3.3 running on Sierra. It runs fine on High Sierra, but the "short tab names" feature doesn't work there because XCode doesn't have API's for High Sierra. I tried compiling TeXShop on High Sierra using the beta copy of XCode provided for that system. The code worked fine in High Sierra and short tab names worked. But unfortunately, the resulting code had minor problems running on Sierra. The High Sierra version is available at the TeXShop web site at http://pages.uoregon.edu/koch/texshop/texshop.html.

The TeXShop 3.85 source code has one line commented out which must be activated to get short tab names on High Sierra. If you want to compile yourself on High Sierra, search the source file TSDocument.m for "High Sierra" and uncomment the following line of code

  windowToTab.tab.title = self.includeFileShortNames[i];

##### TeXShop Changes 3.84

When version 3.82 of TeXShop was released, I said that it would be the final version of TeXShop until late fall. But bugs were discovered, so version 3.83 was released.

These versions of TeXShop created only half of the promised support for tabs, and I found that I couldn't stop in the middle. Version 3.84 completes tab support, and should finally be the last release until late fall. Note that tabs require Sierra or higher because Apple first added tab support in that version of macOS.

Tabs are not appropriate for all TeX projects. They work best on books and large articles with from five to fifteen chapters or divisions, each introduced with an \include command. Some authors prefer to divide their project into many more pieces, perhaps one file per section, and then associating a tab with each file would product unmanageably many tabs.

TeXShop has two mechanisms to enhance Sierra tab support. The first is very simple. Within the top 20 lines of the root file, add the line

  % !TEX useTabs
When this command is given, TeXShop itself searches for \include files to associate with tabs; the mechanism should cover perhaps 70 percent of cases.

The second mechanism gives the user considerably more control over the tabs. Within the top 20 lines of the root file, add the line

  % !TEX useTabsWithFiles
Below that, within the top 50 lines of the root file, add a line for each tab
  % !TEX tabbedFile{chapter1/Introduction.tex} (One)
In this command, a path to the file shown in the tab is given in curly brackets. In the example, the path starts from the folder containing the project root file, but see more details below. Notice that the file extension must be included. That is because the second mechanism allows pdf, tiff, jpg, log, aux, and other files as tabs. Authors sometimes give source files long descriptive names, which makes the tab titles very long. The final piece of the above line in round brackets is optional, and gives a shorter tab name.

The optional short name will only be recognized in High Sierra, because it requires additional Apple API first made available there. Feel free to use the term in Sierra; it will cause no harm there, but will be ignored.

Finally, we list some technical details. The first mechanism searches for \include lines after \begin{document} in the body of the root file. It is common to list files without extensions, and in that case TeXShop adds the extension ".tex" when creating the tab. In the second mechanism, however, TeXShop will not change the extension given by the user, or add a missing extension, because tab files can have unusual types so the extensions provide crucial information. Both methods create at most 20 tabs and ignore lines which might create more of them. The "useTabs" mechanism only works if the root file has at most 20,000 characters, to avoid very long searches for \include lines in gigantic root files.

If a window with tabs is left open when TeXShop is closed, then the next time TeXShop is opened, macOS opens the window and recreates the tabs. The new tab mechanism recognizes this behavior and lets macOS do the job without itself creating tabs. However, macOS does not understand tabs made from pdf files, graphic files, and a few others, so some of the tabs may be missing. It is easy to get these tabs back. Close the document and then reopen it. This forces TeXShop to recreate the tabs, and then all tabs come back. Or open the missing files yourself and drag their windows to missing tabs. (This macOS behavior is not a bug; other features of TeXShop depend on it. We cannot have everything.)

Finally, a word about the path information between the curly brackets in the "tabbedFile" magic lines. Three types of path strings are recognized. The first are strings that start in the location of the root file. Examples include {chapter1.tex} and {Chapter1/Introduction.tex}. Longer strings of directories are allowed. When it sees this sort of string, TeXShop prepends the full path to the folder containing the root file.

Another possibility is a path starting at your home directory, like {~/Galois/Equations.tex}. Here ~ denotes the home directory, so this file is probably not in the project directory.

Finally, TeXShop recognizes full paths like {/Users/koch/Galois/Equations.tex}.

If you use still more Unix conventions, they may or may not work. No guarantees. Tests suggest that spaces are allowed in both directory names and file names, but I'm loathe to recommend them.

There are a few tricky points. The Finder often lists TeX source files without the ".tex" extension, but this extension is just hidden, not absent. It must be written as part of the tab file path. (During testing, I was confused by this point several times).

When TeXShop is asked to create a tab, it opens the file exactly as if a user had dragged the file icon to TeXShop and dropped it there. Then the window described in the tab is "tabbed." This creates a few surprising cases that look like bugs but aren't. For example, then TeXShop opens a dvi file, it actually converts the file to pdf using dvips and Ghostscript, and then opens the pdf file. So tabbing a dvi file will give a pdf file as a tab.

Here is another surprising case. Suppose that you are working on a project named "Galois.tex" and you earlier created a project named "Abel.tex". When you open Galois.tex, you want Abel.tex as a tab so you can refer to that source file as you write Galois. But if you drop the icon for Galois.tex on TeXShop, both Galois.tex and Galois.pdf will open in separate windows. Similarly dropping the icon for Abel.tex on TeXShop will open Abel.tex and Abel.pdf. After tabbing occurs, you'll have a tabbed window containing Galois.tex and Abel.tex, and you'll have Galois.pdf in a separate window. But you'll also have Abel.pdf in another window. The existence of this extra pdf file looks like a bug, but isn't.

This release of TeXShop was compiled by XCode 8.3.3 running on Sierra. It runs fine on High Sierra, but the "short tab names" feature doesn't work there because XCode doesn't have API's for High Sierra. I tried compiling TeXShop on High Sierra using the beta copy of XCode provided for that system. The code worked fine in High Sierra and short tab names worked. But unfortunately, the resulting code had minor problems running on Sierra. No doubt these will be fixed before the release of High Sierra.

Consequently, if you are beta testing High Sierra and want to use short tab names, you'll need to search the source file TSDocument.m for "High Sierra" and uncomment the following line of code

  windowToTab.tab.title = self.includeFileShortNames[i];
Then compile on High Sierra.

##### TeXShop Changes 3.83

Murray Eisenberg discovered problems with the new "useTabs" feature and sent me his full source code to debug. This proved extremely useful! The problems I foresaw with this feature have not materialized, but Eisenberg's source revealed more elementary and embarrassing bugs, now fixed.

The only files which receive tabs are those loaded by \include{myfile} statements after \begin{document} in the root file. Here "myfile" can be a file name, partial path, or full path. Murray's document loaded chapters in a more complicated way, but was easily modified to meet this condition. It would be easy to extend TeXShop so an alternate method could also be used, in which the user lists files to be tabbed using "% !TEX fileForTab = " statements. This technique could assign files to tabs even if they aren't part of the source (for instances, tables of symbols), and could specifiy which chapters are tabbed for books with enormously many chapters. Write if you want this feature, which however will not appear until fall.

It is slightly possible that version 3.82 broke UTF-8 encoding in Japan and other far Eastern countries; the evidence is iffy at the moment. But if that happened, it is fixed in 3.83.

##### TeXShop Changes 3.82

After the release of MacTeX-2017 in May, I have been spending time on TeXShop dealing with bugs by other programmers which crashed TeXShop --- and TeXShop bugs which were my fault. Now I want to turn to new summer projects, so this should be the last TeXShop update until late fall. I'll return earlier only if significant new bugs are discovered.

This final summer release contains two features, one available only on Sierra and High Sierra, and the other only on High Sierra. We start with the High Sierra feature, which comes automatically to Cocoa applications without any new code by me.

- Some time ago, TeXShop was revised to support Apple's Sharing toolbar item. For instance, if the source window is active and you select "Mail" in the item, a mail window opens containing the TeX source as an enclosure. If the preview window is active, this mail window contains the pdf output as an enclosure.

  Another sharing option is "Airdrop". I think of this as an option for graduate students relaxing in Starbucks. If such a student notices someone interesting drinking coffee, they can use Airdrop to share a selected portion of TeX source code, or a selected region of Preview output. I keep hoping to be invited to a Wedding due to this feature, but not yet.

  I have never actually used any of the features in the sharing tool.

  In High Sierra, the sharing tool is also available from a new "Share" menu in the File menu. This menu has an extra item called "Add People." To use it, save a TeX document in iCloud. Then in Add People, send an email message or other sharing notification to a friend offering to share this document. After that, you and your sharing partner can simultaneously edit the document. You can write the first line of a proof and your colleague can immediately add the next sentence. When the document is being shared with someone else, a gray "Share" message is displayed just right of the file title on the edit window header.

- The other new feature is available in both Sierra and High Sierra. Recall that TeXShop allows large projects to be organized as a root document and various chapter files. The root contains header items and \include statements just after \begin{document}. These include statements input the source files for various chapters into the document. Chapter files include a header pointing back at the root document
    % !TEX root = ../MyRoot.tex
  but the root file has no such header. When a chapter file is typeset, this magic line tells TeX to typeset the root and thus the entire document. The magic line also helps sync and "goto error" locate the correct chapter source, including opening it if it is not yet open.

  In Sierra, users can use the new "tabs" feature to manually move the chapter windows into the root source window as tab entries. But this is messy work which has to be done every time the project is reopened. The new feature automates this procedure.

  To activate this feature, first turn off two TeXShop preferences under the Misc tab: "Open root file automatically on opening. a child" and "Miniaturize the opened root window." Both of these items probably represent bad ideas in the design of TeXShop, so the features might be removed in a later version of TeXShop.

  Then add a magic line to the top of the root file source:

    % !TEX useTabs
  When a project with this line is opened, the various chapter files are opened as tabs in the main window. Thus just two windows appear, the source under various chapter tabs, and the single output pdf file.

  Sierra already has the ability to recreate tabs in a window if the window is left open when TeXShop quits. But once such a window is closed, the tabs have to be recreated from scratch. The new header creates them automatically.

  If the source code has the magic line and its window is left open when TeXShop quits, then Sierra is allowed to recreate the tabs itself when the program reopens. The new code will only run if the user quits a document, and then later opens it again.

  This tab feature is somewhat experimental. It works fine for me now, but a number of tricky edge cases make me a little nervous. If you are going to try it, I suggest that you duplicate your project and work using the duplicate. In case of problems, carefully analyze exactly what you did that caused an error, and then send me a note. If possible, send me full source when a problem occurs. Once the tabs are active, I would expect everything to work without problems. It is only the step that creates the tabs that is slightly worrisome. But not enough to hold back this release.

##### TeXShop Changes 3.81

Version 3.81 fixes a small number of bugs in version 3.80:

- E. Lazard reported that inserting a single space in the search field in the preview window drawer causes a crash. This bug has existed for a long time, and is fixed.

- The "Open for Preview" menu item broke in 3.80. This is fixed. Many users reporting this problem were not aware of the Preference item "Configure for External Editor," which is the more natural way to use an external editor.

- In High Sierra, the list of user-defined engines in the popup engine menu was not sorted; although it was sorted in Sierra. This is fixed.

- The French localization contains a translation by Rene Fritz of the latest version of Herbert Schulz's TeXShop Tips and Tricks, available in the Help menu.

- After typesetting, the page number of the current page in the Preview window was set to 1, even when a later page was displayed. This is fixed. (The actual bug was that the page number was set to the current page of the lower half of the split window, even when that half was invisible.)

- TeXShop's selection of the dictionary to be used when checking spelling is improved. This is a very minor matter for most users, but it requires an extensive discussion.

  The basic TeXShop design is that users may have several projects open on the screen at once. Using toolbar and menu items, each can be independently configured. One project may typeset using pdflatex, while a second may use LuaTeX. One source window may have magnified text while a second has regular text in a different font.

  The purpose of the TeXShop Preference Pane is to set default values for projects when they are first opened. Changing a default value usually does not affect files already open.

  On the Macintosh, the "Spelling & Grammar" pane is used to pick the spelling dictionary. Originally, TeXShop did not interact with this pane, so the pane worked via the default Apple method. This changed when cocoAspell appeared, because many TeXShop users wanted a dictionary that didn't mark TeX keywords as misspelled. These users didn't necessarily want to use that dictionary in other applications. So interaction with the spelling dictionary was implemented, but the implementation had a baroque, difficult to understand, structure. Version 3.81 of TeXShop finally treats selecting a dictionary on a par with other similar choices.

  A new Dictionary field in TeXShop Preferences under the Source tab has a pop-up menu which can be used to select the default dictionary. Many users will use this menu to select a cocoAspell dictionary, and then ignore everything else about spelling dictionaries. The one unexpected feature is that dictionaries are listed using the ISO 639-1 and ISO 639-2 standards rather than the localized names shown in the Spelling & Grammar pane. These are easy to decipher.

  When a new file is opened in TeXShop, it will be set to use the default dictionary. But this dictionary can be changed for that file by opening Spelling & Grammar and selecting a new dictionary. A user who writes in English but corresponds with a French relative can easily do that when writing a note to that relative.

  A more unusual situation occurs if a user has several files open at once, some written in one language and some in another. Activate each source file by clicking on the text, and then select the dictionary for that file using Spelling & Grammer. Then with Spelling & Grammar still open, click randomly on these source files and notice that the dictionary field changes to the correct dictionary for each file.

  Finally, if you intend to work on a file for an extended period of time and it does not use your default dictionary, the default dictionary for that file can be set with an instruction at the top similar to

    % !TEX spellcheck = de-DE

  This particular document will then open with spelling set to German. But the Spelling & Grammar panel can later be used to switch dictionaries temporarily, in case a German letter contains an English quotation which needs to be spell checked.

  After working on these changes, I mentioned them to a user who told me in a disappointed tone that he really just wanted to return to the days when TeXShop entirely ignored the Spelling & Grammar panel and let it "do its thing." There is a special hidden preference for that user:

    defaults write TeXShop OriginalSpelling YES

##### TeXShop Changes 3.78 - 3.80

Versions 3.78 and 3.79 were never released. Version 3.80 has the following changes:

- SyncTeX, which makes it possible to easily move back and forth between a spot in the source and the corresponding spot in the output, was written by Jérôme Laurens. This software consists of two pieces. One piece adds code to the various TeX engines, causing the creation of appropriate sync information and output of this information to the file myfile.synctex.gz during typesetting. The second piece can be used by authors of front ends; it opens the myfile.synctex.gz file, parses its contents, and deduces sync positions from the parsed data. TeXShop uses Jérôme's front end parsing code.

  By the way, I use SyncTeX every day and offer Jérôme a mighty thanks for creating it.

  In 2017, Synctex was revised by Jérôme; among other changes, syncing now works between code to input graphics in the source and the resulting image in the output. But when TeXLive 2017 was released, the revised code for front end authors was not yet ready. Luckily the old code continued to work with ordinary tex, latex, pdftex, and pdflatex.

  Unfortunately, this code did not work with LuaTeX and LuaLaTeX, so users working with these engines usually could not sync. Even worse, TeXShop often crashed when using these engines because the initial parsing of the file myfile.synctex.gz itself crashed.

  The new front end code is now available, and is used by TeXShop 3.80. The crashes of LuaTeX and LuaLaTeX have ceased, and synchronization works again, more accurately than in earlier years. Some new features require setting the flag which turns synctex on to 2 or higher. Thus users may want to write "--synctex=2" rather than "--synctex=1". This change can be made in TeXShop Preferences under the Engine tab, and in individual engines the user may have activated.

- A new engine called "filltex" was written by David Gerosa, and is available in ~/Library/TeXShop/Engines/Inactive/filltex. This spectacular engine is very easy to install; here's what it does. Two databases are commonly used in the astronomy and theoretical physics scientific communities: ADS and INSPIRE. These databases list preprints and published papers, referencing each with a citation index like 2016PhRvL.116f1102A. Suppose you have written a scientific paper in one of these fields, and suppose you citations use the standard forms for ADS and INSPIRE. For instance, your paper might have many citations, like "for more details consult \cite{2016PhRvL.116f1102A}." When the paper is done, typeset it using filltex. The engine will scrape bibliographic data from ADS and INSPIRE using the web, construct a bibliography, add the bibliography to the article, and rewrite the citations appropriately. All of this happens in one run of the engine. To see an example, typeset the example in the Inactive/filltex folder.

  Many additional databases exist for other fields, and Gerosa tells me that using these databases with filltex is just a matter of revising the python code appropriately for these databases. He recommends that users interesting in doing this consult his git hub, as listed in the documents in TeXShop/Engines/Inactive/filltex.

- A modified SageTeX engine is now in Engines/Inactive/sage, together with new instructions for setting it up. These changes are required because the latest release, SageMath-7.6, has new requirements and a new internal structure.

- In some versions of macOS, opening a TeXShop Preview document in multipage mode scrolled down to the middle of the first page, rather than starting at the top. This is fixed.

- Some users noticed a slight creep of the Preview Window with each typesetting job. This is fixed or at least improved.

- TeXShop now contains latexmk 4.53a.

- Herbert Schulz made changes in "TeXShop Tips & Tricks", available in the TeXShop Help menu.

In addition to these changes, a small number of users ran into other issues running on macOS Sierra. Most users have had no trouble with Sierra, and find that it fixes a number of problems in the previous two or three systems, so these problems are rare:

First, a few users included the pstricks package in the header of their document, but used no features of this package and typeset with pdflatex. Usually pstricks requires TeX + DVI mode, so including it in the header of a pdflatex document is an error. But in Sierra, typesetting such a document with pdflatex created a pdf file that crashed PDFKit, Apple's pdf rendering code, and thus crashed TeXShop. This bug is fixed in High Sierra.

Second, some users writing beamer documents would typeset and scroll their document in TeXShop. A particular image in the middle of the document would create a glitch, and some following pages would be blank. Scrolling back up would give additional blank pages, even though they were correctly rendered earlier in the game. Eventually the document could crash TeXShop. This problem is caused by a PDFKit bug, and is fixed by Apple in High Sierra.

But in the meantime, we discovered that typesetting the same source with LuaLaTeX or XeLaTeX produces pdf files without problems. In addition, opening a defective pdf file with Adobe Acrobat Reader, and then saving that pdf file in Reader, produces a pdf file without problems.

One final problem occasionally occurs in Sierra. Many people use DropBox with TeXShop with no problems. A few of these users store their source files in the DropBox folder. A few of these folks report regular TeXShop crashes. In every case known to me, these crashes end when the TeX source files are removed from DropBox.

What is the explanation? I don't know, but I have suspicions. Recall that TeXShop uses Apple's Automatic Saving code, introduced in Lion. Thus the system can save the source at random times. A source file in DropBox can also be moved to the cloud at random times. What if both the Mac and DropBox want to make changes at the same time?

The Automatic Saving code is buried deep in Cocoa and isn't by me. The only piece of TeXShop code by me related to automatic saving says "turn automatic saving on."

Here's all I know about this problem.

- I have never heard of problems from users of iCloud with TeXShop. This is not surprising since Apple wrote both iCloud and Automatic Saving.

- Users with this crashing problem report that crashes are fixed by creating symbolic links in DropBox to sources, rather than putting the sources there directly. I don't know why.

- Other users with this crashing problem report that crashes are fixed by turning off DropBox syncing during typesetting sessions.

- And all users report success moving their sources out of DropBox, and then dragging copies to DropBox at the end of typesetting sessions.

But to repeat, many report no problems.

##### TeXShop Changes 3.76 - 3.77

Version 3.76 was never released. Version 3.77 has the following changes:

- Items in the Tags menu are indented to make entries easier to find.

- A bug in Apple's search routines broke the search tool in the Preview Window's Drawer. This bug was fixed by Apple and search now works as before. It is conceivable that it is broken on Sierra 10.12.0 and 10.12.1; I no longer have such systems to test. Users who run into a problem on these systems should update the operating system to 10.12.2 or higher.

  If a user clicks in a search result at the bottom of the Drawer, the corresponding item in the pdf Preview is highlighted. The up and down arrows can be used to rapidly scan various search results. This ability temporarily broke in 3.76, but works again in 3.77.

- At the suggestion of a user, the TeXShop Edit menu has an entry "Paste As Comment." This works essentially like "Paste" except that the newly pasted lines are marked as comments. This makes it possible to copy and paste a large selection from another document, and then carefully activate portions of the material.

- The Sage engine in the "Inactive" portion of ~/Library/TeXShop/Engines was improved by Markus Baldauf. Thanks!

- The latexmk file was updated to version 4.52c.

- Updated the TeXShop Help Menu document "First Steps with TeXShop" and the document "Quickstart Guide for Command Completion" in /LibraryTeXShop/Documents.

- At the request of Br. Samuel, OSB, the types gabc, gtex, glog, and gaux are now recognized by TeXShop; these types are used by the Gregario software. The files gabc and gtex are added to the types which receive syntax coloring and other "tex file" privileges, and gaux, glog, and gtex are added to file types deleted by Trash Aux Files.

- TeX users on Unix platforms often define an environment variable named TEXINPUTS, which lists folder which TeX should search for input files, style files, and the like. Using this variable is actively discouraged in TeX Live and MacTeX, and these systems are configured to make the variable unnecessary. For instance, files used by an individual user can be placed in ~/Library/texmf.

  People who answer user questions about MacTeX sometimes run into problems associated with TEXINPUTS, since mistakes defining the variable can bring TeX crashing to a halt. And often users don't mention that they have set TEXINPUTS, leading to hours of useless debugging.

  With these warnings, we now confess that TeXShop has a new facility for those few users with a legitimate need to set TEXINPUTS. A user recently described such a case. This user belonged to a group whose members used common input files stored on a server. The members of this group worked on a variety of tasks which all used the same basic template, but then input different files depending on the task. These input files were given the same name, but stored in different folders on the server. To pick a task, a member of the group selected a particular server folder using TEXINPUTS, and proceeded.

  The user in charge of this group wanted a simple way to switch TEXINPUTS so the remaining members of the group could use the system without really understanding how it worked.

  To help this user, TeXShop 3.77 recognizes a new command to be added to the first twenty lines at the header of a source file. If a project has a root file and several input chapter files, the command should be in the root file. There are four entirely equivalent forms of this command:

    % !TEX TS-parameter =
    %!TEX TS-parameter =
    % !TEX parameter =
    %!TEX parameter =
  Each space is mandatory, and the final equal sign must be followed by one space and then a word or sequence of symbols without spaces. For example, the following command might be issued by someone adding ~/MyTeXFiles to the standard TeX search locations:
    % !TEX TS-parameter = ~/MyTeXFiles//:

  The parameter defined by this command need not be connected to TEXINPUTS. It can be used for other purposes. So --- what does TeXShop do with this parameter?

  The parameter is ignored unless typesetting is done by a user-defined Engine file. For example, it is ignored if the user types with TeX, LaTeX, pdfTeX, or pdfLaTeX. But it is used with the XeLaTeX Engine, and all other Engines.

  An Engine file is just a shell script, which TeXShop runs to typeset. This shell script is called with two parameters, "$0" and "$1". The parameter "$0" contains a full path to the engine file run by the typesetting command, The parameter "$1" contains the name of the file to be typeset. The parameter command adds a third parameter, "$2", containing the word on the right side of the command. The engine script can do anything it wants with this parameter, including just ignoring it.

  It is instructive to look at the XeLaTeX Engine file, which is very simple. The file begins with "#!/bin/tcsh", which says that it is a shell script for the tcsh shell. (There are many different shells, and each of their shell files has a different syntax.) Next comes a command setting the path, and then a final command runs xelatex:

    xelatex -file-line-error -synctrex=1 "$1"
  We can add MyTeXFiles, defined above, to TEXINPUTS by adding the following line before the call to xelatex:
    setenv TEXINPUTS "$2"

  At this point, several warnings are important. The command to define TEXINPUTS is different in different shells, so copying the above line with another shell will fail. Turn back to the TEXINPUTS setting "~/MyTeXFiles//:" given earlier. The symbol // tells TeX to recursively search subfolders of MyTeXFiles, and the all-important semicolon at the end says to add this to the existing TEXINPUTS from TeX Live. Omit the senicolor and TeX will completely fail.

  It is easy to define engines which duplicate the built-in typesetting engines. For example, to obtain an object which typesets using pdflatex, just duplicate and rename for xelatex engine, and replace xelatex by pdflatex in the engine script. Therefore, this mechanism can be used to determine TEXINPUTS with any typesetting method.

##### TeXShop Changes 3.75

In 3.74, Preview scrolling was smooth on El Capitan, but jerky on Sierra. This is fixed.

##### TeXShop Changes 3.74

TeXShop 3.74 fixes a small number of minor issues.

- In Version 3.72, when the mouse hovers over a hyperref link, a popup window shows the linked portion of the document. This did not work well for equations with an equation number on the right side of the page. Now if the link is in the right half of the page, the linked portion is selected further left.

- TeXShop uses five files by Jerome Laurens to interpret the contents of synctex files. These files are occasionally updated with TeX Live updates. Previous versions of TeXShop used version 1.9 of the files; this version of TeXShop uses version 1.18. Users may notice small changes in sync due to this update.

- The edit menu contains an item labeled "Experiment...". Selecting this item brings up a small source window; text can be copied from the main source window to this window, and then edited there. A "Typeset" button on the small window typesets the experiment and shows it in a second small window. Both windows can be enlarged and their contents can also be enlarged using the standard keyboard shortcuts to change font size or pdf size. This facility, suggested by Wendy McKay, is particularly useful when editing complicated equations or tables.

  Recently this feature was mentioned on the web site tex.stackexchange.com, and Denis Bitouzé suggested an improvement. Following his suggestion, if a selection of source is made first and then the menu is chosen, the selection is automatically copied into the experiment window.

  If no selection is made and instead the cursor is simply positioned by clicking at a point, then the Experiment window opens with its previous contents. Thus if a user carefully edits an equation, closes the experiment window, and then decides on a final change, the contents can be brought back for another edit.

- A TeXShop preference allows users to set the background color of the preview window, but that preference was ignored by the initial Sierra release. It is working again in a developer update beta. So users will want to install that update when it is released by Apple.

- CocoAspell is a spell checker by Anton Leuski which understands LaTeX and thus does not mark control words as misspelled. It is an extension of Apple's Spell Check system, controlled by a Spelling Preference Pane. Users get all the benefits of Apple's integration of spell checking with document source editors, but with a dictionary that is LaTeX aware.

  The preference pane associated with this Spell Checker broke in El Capitan, and the entire spell checker broke in Sierra. But luckily, Anton Leuski released a new version for El Capitan and Sierra on November 8, and converted the project to open source. See "http://people.ict.usc.edu/~leuski/cocoaspell/". Users need to download the spell checker at Anton's site because he makes many dictionaries available there depending on the language(s) needed. Highly recommended.

##### TeXShop Changes 3.72 and 3.73

TeXShop 3.72 finishes the task of preparing for macOS 10.12, Sierra. It also contains the changes below. The only change in 3.73 is to improve the responsiveness of popUps when mousing over links.

- The LaTeX hyperref package adds active links and url's to pdf documents. Many are under author control, but the package automatically links table of contents items to the starts of chapters and sections, and links reference items to the corresponding bibliography entries.

  TeXShop 3.72 makes it easy to understand these links at a glance. If the mouse hovers over a link, a popup window appears for several seconds showing the linked portion of the document. This is particularly useful when checking references in the document.

  Normally the popup is on screen for four seconds and then disappears. If the option key is down at the end of these four seconds, the popup will remain on the screen until the mouse moves.

  There is one cosmetic flaw. When the mouse hovers over a link, a small popup from Apple also appears giving the page where the link points. I don't know how to eliminate their popup. It does not appear in Sierra, so if you find it bothersome, upgrade to Sierra.

  This feature was requested by Mark M. Wilde, who noticed that it is already present in Skim. Indeed Skim has a somewhat more elegant version.

- TeXShop has a hidden preference setting to control the "ColorIndex" tool, as requested by Murray Eisenburg. Type the following command in Terminal to turn this item on by default for each new document:
    defaults write TeXShop IndexColorStart YES

- The TeXShop magnifying glass has been enhanced, as requested by Steffen Wolfram, but the enhancements are only available in El Capitan and higher. When either magnifying glass is being used, temporarily pushing the Command, Option, or Control keys will increase the amount of magnification, and temporarily pushing Shift-Command, Shift-Option, Shift-Control will decrease the magnification.

- Herbert Schulz updated the Tips & Tricks Help File.

- Following a request by Markus Gail, the Help commands "ShowHelpForPackage" and "openStyleFile" remove hidden white space, making them more robust.

- TeXShop is now explicitly released under the GPLv2, and a copy of this license is available in the TeXShop menu.

##### TeXShop Changes 3.71

This version differs from 3.70 only in the German and Dutch localizations:

- In both German and Dutch, the pdf search field in the toolbar was not connected to the rest of the program.

- Some German translations were improved by Michael Rößner.

- The German source window had horizontal slack, and scrolled horizontally about half an inch. This was due to a bug in XCode 7.3.1. Merely opening an NSDocument.nib for a specific language creates the bug for that language. Luckily the bug is fixed in XCode 8.0 Beta. All localizations were tested in TeXShop 3.71 and none exhibit the bug.

##### TeXShop Changes 3.69 and 3.70

Version 3.69 was never released. Version 3.70 has the following features.

- Version 3.70 again uses the more extensive fixes by Martin Hairer for a memory leak problem, but with a small change to fix the bugs in the Preview toolbar that occurred in version 3.66.

- The behavior of the pdf search field on the toolbar has been improved. As before, command-F activates the search field so text can immediately be typed into it. Push RETURN to select the first occurrence of the word of phrase typed. This now switches the first responder to the pdf view, so the selection is highlighted in blue and easy to find.

  To find the next occurrence, type command-g. To search backward, type shift-command-g. These commands again produce selections highlighted in blue. They are chosen to make searches in the text and pdf windows behave the same way. (In earlier versions, RETURN and SHIFT RETURN performed these functions, but this was not parallel to find for text, and left gray selections rather than blue ones.)

  To search on a particular page, go to that page and select some text, making sure the selection is not empty. The next search will begin at that spot. An empty selection will start the search at the beginning of the document.

  If a search reaches the end of the document, it will cycle back to the beginning.

- The pdf drawer alternate search method is still available. It works on all systems, including Sierra. However, Sierra's PDF search routines seem to have significant bugs, which have been reported to Apple. If these bugs are fixed, the current version will probably fail on Sierra, but this will be very easy to fix.

##### TeXShop Changes 3.67 and 3.68

Version 3.67 was never released. The changes in version 3.68 are listed below:

- Version 3.66 included a fix for a memory leak written by Martin Hairer. This fix created an unfortunate bug. If the user closed the Preview window associated with a document and later typeset the document, the Preview window reappeared. But many tools in the window's toolbar no longer worked.

  Luckily, Martin Hairer provided two different versions of his memory leak fix, one quite conservative with just a few changes, and the other more elaborate with lots of changes. The bug only affected the more elaborate version. TeXShop 3.68 has the conservative set of Hairer bug fixes, and no longer exhibits the toolbar bug.

- The new search field on the Preview window has been improved. Now when the pdf window is active, typing command-F will activate the search field so a phrase can immediately be typed there. (The drawer no longer opens.)

  As before, after typing a phrase in the search field, type RETURN to select the first occurrence of the phrase in the pdf file. Type RETURN again and again to select later occurrences. Type SHIFT RETURN to do a backward search.

- In Sierra, the old pdf search routine in the preview window Drawer stopped working. In TeXShop 3.66, this search field was deactivated on all systems and replaced by the new search field on the window toolbar. Some users missed the old method, so in 3.68 it is restored on all systems. Users who try both search methods will notice some harmless interaction between the two methods. Sierra users will discover that the old method fails.

  If Apple later repairs the old method on Sierra, both methods will be kept and the interaction between these methods will be eliminated.

##### TeXShop Changes 3.66

- Version 3.66 has important code changes by Martin Hairer of the Department of Mathematics, University of Warwick. These code changes fix memory leaks in previous versions of the program.

  The changes include replacing several instance variables with class properties, whose retain/release behavior under ARC is more predictable. But the primary change is to remove some strong reference cycles in which object A referenced object B and object B referenced object A, and neither could be released without first releasing the other.

  Recent versions of Apple’s PDFKit use large amounts of memory because they create and cache bitmaps for faster display. If Activity Monitor is used while opening a document in TeXShop and scrolling through the preview pages, this memory usage can seem alarming, but in practice it does not cause problems.

  The problems solved by Hairer are different and can be seen by closing documents without quitting TeXShop. In this case, the program did not recover the memory used by the document being closed. Hairer’s fix dramatically improves this sort of problem, although it is likely that smaller memory problems remain.

- A few users reported a related bug. They would close a document, reach into the document’s folder, and throw the pdf into the trash. But the Macintosh would claim that the pdf was still in use and refuse to empty the trash until TeXShop itself closed. This problem is a symptom of a memory problem and is fixed by Hairer's code.

- In Sierra, the old pdf search routine in the preview window Drawer stopped working. In TeXShop 3.65, this search field was replaced with a more useful search field in the Preview Window toolbar; the new search works in all versions of OS X. In recent Sierra releases, the old pdf search came partly to life, and interfered with the new search. Temporarily, the old search if turned off in all versions of OS X. If the old search works again in later versions of Sierra, it may be turned on again, but we suspect most users will use the new toolbar search field.

##### TeXShop Changes 3.65

This fixes a few problems introduced in 3.64:

- Version 3.65 again works on Lion and Mountain Lion, and thus on all versions of Mac OS from Lion to Sierra.

- I omitted the QTKit framework, and made AVKit and AVFoundation optional. The AV frameworks aren't available on Lion and Mountain Lion, hence the crash of 3.64 on these systems. Demo Movies will only play on Mavericks and above.

- The sync fix from source to preview for Sierra is only added on Sierra, since it seems to cause minor problems on earlier systems.

- The tool to search PDF files is now localized.

- Sparkle in TeXShop is updated to version 1.14.0.

- Yusuke Terada added code to recalculate tab lengths whenever the user changes the font or font size.

##### TeXShop Changes 3.64

TeXShop 3.64 fixes a few problems with the Mac OS 10.12 (Sierra) beta. One change may be of independent interest.

- The initial beta release of Sierra had substantial PDFKit problems, but most were fixed by Apple in the next beta. One problem was jumpy, non-responsive scrolling. I fixed this in TeXShop and Apple later fixed it in general. My initial fix does no harm and is still present in 3.64.

- Sync from source to preview worked in Sierra, but the preview selection was not highlighted. This bug was due to TeXShop and is now fixed.

- TeXShop's Help Menu has a Demo item which can download and display two short movies for new users. This was coded using Apple's QTKit, which was deprecated in Mac OS 10.9 in favor of AVKit. In Sierra, QTKit is gone. TeXShop 3.64 switches to AVKit. The movies, which used to be in .mov format, are now in .mp4 format.

- TeXShop's Preview window has a drawer, which displays an outline of the pdf if the source uses hyperref. The bottom half of the drawer allows searches of the pdf file, but does not work in the Sierra beta. Since the code for the search in the drawer comes directly from PDFKit documentation, I suspect this is an Apple bug which will eventually be fixed.

  In the meantime, TeXShop 3.64 adds a new search field to the Preview window's toolbar. Type a word and push RETURN and TeXShop will select the first occurrence of the word in the pdf. Push RETURN again to display the next occurrence, etc.

  Click the mouse in the PDF window to restart searching at the top of the document. Select some actual text in the PDF window to start searching at that point.

  The search item will remain after Sierra is released, even if Apple fixes the drawer bug, because I suspect that many users will prefer it.

The most-often-requested new TeXShop feature is tabs in the source and preview windows. Sierra provides this feature automatically, without any additional TeXShop code. Creating these tabbed views is straightforward. Further details will be provided when Sierra is released.

##### TeXShop Changes 3.63

TeXShop 3.63 is an internal version, never released.

##### TeXShop Changes 3.62

- Latexmk upgraded to version 4.45

- Slight improvement in TeXShop Tips & Tricks by Herbert Schulz

- The menu item "Select TeXShop as Default TeX Editor" is now active when either the Source or the Preview window is on top

- George Gratzer's "First Steps", the first section of his book "More Math Into LaTeX", has been updated to the contents of the 5th edition.

- The TeXShop "Experiment" command ignores smart dashes, and thus does not convert multiple dashes into a character which confuses TeX

- A few error messages referred to http://tug.org/MacTeX rather than the correct http://tug.org/mactex. This is fixed.

- The TeXShop Preference Setting for "Show Console" was not initialized to the current value when TeXShop was opened after quitting. This is fixed.

- Added a fix by Martin Hairer when using a git server with TeXShop. Martin wrote "Here is a small improvement which is very useful to me. I use a version control system (git) for some of my papers. When git updates a file, it deletes it and then replaces it more or less immediately by an updated copy with the same name. The current version of TeXShop detects this, but it often just notices that the file was pulled away under it's feet and then either closes the document or replaces it by a blank.

  "I propose to introduce a small latency between the moment TeXShop gets notified of the file's deletion and the moment it checks for its status so that it correctly handles changes to the file made in that manner. More precisely, in TSDocument.h, I propose to add a sleep command at line 1580"

##### TeXShop Changes 3.61

- "What's New" in TeXShop Help claimed that Sparkle was updated to version 1.31. The update version number was actually 1.13.1, the latest version.

- In TeXShop Preferences under the Misc tab, the items "pTeX support" and "During File Save" are only useful in Japan. They are now labeled so users elsewhere will not be tempted to activate them.

- The error message when typesetting fails to find pdflatex or another tool has been improved.

- If the user is running El Capitan and has set the location of TeX binaries to /usr/texbin or /Library/TeX/texbin, but this second location does not exist, an error message explains what to do.

- Slight improvements in Korean and Spanish localizations

- Improved pTeX scripts by Yusuke Terada in ~/Library/TeXShop/bin.

##### TeXShop Changes 3.60

- Updated to Sparkle 1.13.1 for security reasons.

- TeXShop no longer adds a creator and type to files it writes. These were obsolete from the Classic version of the file system.

- The command "Set TeXShop as Default TeX Editor" is now active when either the Source or Preview window is active

- Slight cleanup in English and Korean localization.

##### TeXShop Changes 3.59

There are several small changes in TeXShop 3.59:

- A new item is provided in the TeXShop menu, "Select TeXShop as Default TeX Editor." Many programs are able to edit .tex files, so when the user double clicks such a file, it is not clear which program will open it. Selecting the new menu item informs Apple's Launch Services that TeXShop should open such files.

  The appropriate Launch Services API does not distinguish between different versions of a program. A few users are in the bad habit of keeping several copies of TeXShop on their computer, and then the new menu will select a random version to run. It is best to keep TeXShop in /Applications/TeX and update it via the Sparkle update mechanism. Then only one copy of TeXShop will be on the disk.

  The author of TeXShop sympathizes with sloppier users, since he has dozens of versions of TeXShop on his disk. He opens new files by dragging their icons to the TeXShop icon in the Dock to insure that the correct copy runs.

- Alan Munn reported the following strange bug:
    \documentclass{article}
    \begin{document}
    \begin{enumerate}
    \item John started the car.
    \item John stopped the car.
    % environment completion here produces \stoped
    % even if the line is commented out
    % completing again produces the correct completion
    % but environment completion after these comments seems to work

  This bug is fixed.

- The TeXShop menu has a new item just below Preferences called "Open ~/Library/TeXShop". When this item is selected, the Finder will open the ~/Library/TeXShop folder.

  In recent versions of OS X, ~/Library is a hidden folder. The new command makes it easy to access this folder without using special tricks.

  Files in this location customize TeXShop for the individual user. For example, the Templates subfolder has all templates which appear in the Templates pulldown menu. These templates can be opened and edited in TeXShop; other templates can be added to the folder.

- For many years, users could type a line like
    % !TEX encoding = IsoLatinGreek
  at the top of a source file to indicate that the file should be opened or saved using the LatinGreek encoding. But if the encoding name, here "IsoLatinGreek", was not recognized by TeXShop, the program would open the file using the "Mac OS Roman" encoding without reporting an error. This bug is now fixed. An unrecognized encoding name will cause an error dialog to appear reporting the error, and then the file will be opened in "ISOLatin9", the current default encoding.

  The best way to avoid this sort of error is to use the Encodings Macro to write the displayed line, since this Macro lists all legal encodings and allows users to select the one they want.

- The alternate front end TeXWorks uses the same encoding magic line, but has different names for many standard encodings. TeXShop now recognizes the TeXWorks names, making it easier for collaborators to share files.

- The TeXShop Help menu now has a new document by Herbert Schulz titled "File Encoding in TeXShop". This document explains the significance of various encodings of the source file, a topic of importance to users who do not write in English.

##### TeXShop Changes 3.58

Recent TeXShop versions have been released to fix or work around a series of El Capitan bugs, particularly in PDFKit. There are three major bugs:

- Magnification broke because a Cocoa command to get the PDF data underneath a portion of a window returned a bitmap in El Capitan. A workaround for this bug was included in an earlier TeXShop release.

- When a new version of a pdf document is loaded, there is a momentary flash before the document is displayed. This bug has not yet been addressed.

- In several situations caused by loading a new file, PDFKit displays a blank page rather than the correct content on the page. This seems to be caused by a new Apple design to speed up pdf display by creating and caching bitmaps of recent pages. When the bug occurs, the bitmap is displayed too soon.

When this bug occurs, it is fairly easy to obtain the missing image. With the blank page active, type command-shift-+ to zoom in and then acommand-shift-- to zoom back out. This causes the page to be displayed correctly.

However, it is better to insure that the blank page does not occur. Several instances of this bug were fixed in earlier releases. This release fixes three other cases:

- In external editor mode, typesetting caused blank pages to be displayed. This is fixed, or at least mostly fixed. It is important to configure TeXShop correctly so the fix works. There are two ways to use TeXShop in external editor mode. You can typeset with TeXShop, by making the pdf page active and typing command-T. Or you can typeset from the editor or from a shell, and configure TeXShop to update the display when the pdf file changes. In the first case, the TeXShop preference "Automatic Preview Update", under the Preview tab, should be off. In the second case, it should be on.

- When the pdf window is split, the bottom half sometimes became blank. This bug is fixed.

- When the pdf window is split and then the user typesets, half of the display is often blank. This version of TeXShop fixes the problem. The fix works well in "multipage format", which I recommend. It can have problems in "single page format" and "double page format", although it usually works in these cases. Because of these small problems, the fix can be turned off. To do so, type the following command in Terminal:
    defaults write TeXShop FixSplitBlankPages NO

Incidentally, all three bugs have been reported to Apple.

In addition, the following changes were made:

- Max Horn fixed the "unindent" command. The previous version of this command would sometimes lose a character.

- Max Horn also added #defines for NSAppKitVersion10_9 and the link in the TeXShop code base, so the source code should compile on Yosemite and Mavericks as well as on El Capitan.

- James Crippen asked that "paragraph" and "subparagraph" be added as default tags because these items are used in the Memoir class. So currently in LaTeX, the following receive automatic tags:
    chapter
    section
    subsection
    subsubsection
    paragraph
    subparagraph
    macro
    environment

- Fixed the French localization so both documents in Help that have been translated into French occur in the Help menu. The translations of documents by Herbert Schulz are by Rene Fritz.

##### TeXShop Changes 3.57

- The command to show the Key Bindings editor broke in the German localization, and is now fixed.

- The command to split the Source Window broke in 3.55 and is now fixed, at least in the English localization. This is apparently a bug in XCode when editing the NSDocument.nib. Fixing it required dropping down to XCode 7.0. No guarantees in other localizations.

- TeXShop can now edit documents with extension .lua.

##### TeXShop Changes 3.56

In version 3.55, there is a pause after typesetting before the new pdf is displayed. The cause is a debugging device inadvertently left in the code. The pause is gone in 3.56.

##### TeXShop Changes 3.55

This version fixes two significant bugs when running in El Capitan:

- The text boxes in the Preview toolbar were incorrectly sized, so numbers in them were not properly centered vertically. This includes the page number box, total page box, and magnification box. All are now fixed in all localizations. Localizations other than English are only lightly tested, so problems in the box display in these localizations should be brought to our attention.

- The magnifying glass displayed bitmapped images rather than clear pdf text when run in El Capitan. This was discovered early on, and a bug report was filed with Apple on July 11.

- Over the years, at least four different designs were written to create a TeXShop magnifying glass. All were eventually broken by Apple changes. The Yosemite magnifying glass contained three major calls:
    thePDFData = [[self documentView] dataWithPDFInsideRect: [[self documentView] visibleRect]];
    NSImage *theImage = [[NSImage alloc] initWithData: thePDFData];
    [theImage drawinRect: magnifiedRect fromRect: sourceRect operation: NSCompositeSourceOver fraction 1.0];

  The first call asked the Preview Window to provide the raw pdf data creating the region visible on the screen. The second converted this to an NSImage, a common object for handling illustrations in Cocoa. The final call read from a section of this image, and wrote the result to a (usually larger) section, essentially enlarging the image. Our bug report claimed that the third call was broken in El Capitan.

  After furious work this week, it turned out that the third command works well and the bug is in the first call, which asks for the raw PDF data of a typeset document. Apple claims that drawing of pdf documents is faster in El Capitan; apparently that's because PDFKit converts several pages to bitmaps and saves them for later drawing. The first call occasionally returns raw PDF code, but more often it just returns a bitmap. Magnifying that bitmap gives unpleasant results.

  The bug is fixed by getting the raw PDF data a different way, on a page by page basis. Because I wanted to fix this bug rapidly, the current code only gets data from one page of a document. Imagine that several pages are shown on the screen, perhaps because scrolling left part of one page and part of another page on the screen. Or perhaps the user is displaying two pages side by side. When magnification begins by clicking on a point, only the material on that page will appear in the magnifying glass. If the glass moves off of the initial page, it will show white contents with no magnified material. Release the mouse, and push it again to magnify a different page.

  This code may be improved in the future. On Yosemite and earlier, the old code is used. We could use the old code everywhere if Apple fixed the bug.

- One user was bothered by bouncing behavior when scrolling. Here is advice from a past TeXShop release:

  In Yosemite, the source code window's scroll controls have some elasticity, so the source bounces slightly at the top and bottom of the document. Yusuke Terada noticed that these bounces sometimes obscure the first or last lines of the document, making it difficult to edit these lines. Yusuke Terada added a hidden preferences to turn off this elasticity. To activate the hidden item, type the following in /Applications/Utilities/Terminal:

    defaults write TeXShop SourceScrollElasticity NO

- Finally, complaints have surfaced that the display of pdf files in El Capitan is unsatisfactory for some combinations of monitor and computer. Everyone seems to agree that the display is sharp and clear on large Retina display machines, and the problem may be caused by Apple optimizing for these machines. If you are bothered by poor display quality, the best we can do is to repeat the advice given two years ago when this problem first surfaced:

  I am just barely able to notice a difference myself, using Apple's 27 inch Thunderbolt Display. A few users sent me email with pairs of png files, showing an image under Mavericks and under Yosemite and pointing out the fuzzy result on Yosemite, but in some of these cases I couldn't see the difference. So the problem seems to depend strongly on the computer screen used, and perhaps on user sensibilities. Some users may be completely happy while others are desperate for fixes.

  Version 3.44 of TeXShop has several hidden preference items which may help with this problem. There is no universal solution, so experimentation with these preference settings will be needed if you find the display fuzzy.

  TeXShop and many other graphical front ends for TeX and PDF display use Apple's PDFKit and Cocoa frameworks. These frameworks rasterize pdf images are an extremely low level not accessible to programmers. Version 3.44 tries to expose all the routines in Cocoa which could modify this rasterization. Notice that TeXWorks and Adobe Acrobat do not use PDFKit and Cocoa and thus behave differently. It does little good to call these programs to our attention since switching to a different pdf display library would betray a key feature of TeXShop (and other programs using these frameworks, namely that they are fully native applications.

  With these caveats, let us list possible solutions. Yusuke Terada noticed that in Japan, the display could appear fuzzy and then be made legible by tweeking the magnification. So he added code in TeXShop to do this automatically each time a pdf file is opened or typeset. To turn this feature on, type the following in Terminal:

    defaults write TeXShop FixPreviewBlur YES
  If this tweek fixes the problem, leave it on and stop reading. Otherwise turn the feature off by using the same command with YES replaced by NO, since the tweek is likely to interfere with remaining experiments.

  Apple's System Preferences in the General Pane has an item labeled "Use LCD font smoothing when available." A few users discovered that turning this item off cured fuzzy behavior. I think this fix won't help most users, but it might be worth a try.

  TeXShop also has a preference item under the Preview tab labeled "Smooth text and line art." This item was originally added to fix a different problem. One user created an illustration with very thin lines. On a previous TeXShop, the lines vanished with regular monitors, although they appeared with the Retina display. The user discovered that the lines appeared in Acrobat, and by turning on antialiasing they also appeared in TeXShop.

  The code provided by Cocoa to turn on antialiasing has additional features not exposed in previous versions of TeXShop. Cocoa provides the ability to set the level of antialiasing. The previous "Smooth text and line art" preference set this value as "high". In TeXShop 3.44, hidden preference settings can select the interpolation level. To test various levels of antialiasing, turn on "Smooth text and line art" in TeXShop Preferences and then set the hidden preference

    defaults write TeXShop InterpolationValue 3
  where the final value can be any integer between 0 and 4. Apple's API documentation provides the following names for these values, which perhaps give a hint of their function. The list is as follows; the strange reversal of 3 and 4 occurs in the official list:
    0 = NSImageInterpolationDefault
    1 = NSImageInterpolationNone
    2 = NSImageInterpolationLow
    4 = NSImageInterpolationMedium
    3 = NSImageInterpolationHigh

  Frankly, I suspect an entirely different solution will be best for most people. That solution is to change the font used for your TeX document, via the wonderful macros written by Michael Sharpe and added to TeXShop late this summer. For detailed explanation, read the description below under "TeXShop Changes 3.39."

  Notice that it is possible to add Michael's commands for one particular font to your default template, so that font will always be used for new documents.

  All of these fonts are included in the full TeX Live distribution, so using them should cause no trouble when collaborating with Windows or Linux users.

  The font commands take up four or five lines in the preamble, and are easily discarded once the document is complete if you want the final document to have a plain vanilla look. On the other hand, Michael's choices come from an expert and may satisfy more readers than the previous default font choices.

##### TeXShop Changes 3.54

Sparkle was broken in version 3.53. It is fixed in version 3.54. For some time, TeXShop loaded the two movies in the Help Menu from the internet. This also broke, and is again fixed.

##### TeXShop Changes 3.53

El Capitan introduces a significant change for TeX users. The location /usr is no longer writeable, even by users with root privileges. Consequently, the symbolic link /usr/texbin has been relocated to /Library/TeX/texbin. This new link is automatically written by both MacTeX-2015 and BasicTeX-2015. If you updated to one of these, you have the link. Once the link exists, older versions of TeX like TeXLive-2013 also work fine.

GUI programs must be reconfigured to look for the new link. TeXShop 3.52 and later does this automatically.

For more information on TeX and El Capitan, see tug.org/mactex/elcapitan.html

TeXShop 3.53 includes the following changes:

- On Mavericks, the Preview display of text was slightly blurry on many screens. This was probably caused by changes Apple added to support the Retina display. Many work arounds for the problem has been suggested. Terada Yusuke added code which improved the display for many. His code is activated by a hidden preference
    defaults write TeXShop FixPreviewBlur YES

  Apple improved the pdf display in Yosemite, and again in El Capitan. But some users still see traces of the old blur. Terada Yusuke has modified his code for El Capitan, and users unsatisfied with the Preview output should activate the above hidden preference.

- Near the end of the Macro menu, there is an item ``Tables --> Table'' which inserts the outline for a table into the source. The first line of this source is
    \begin{table}[htdp]

  However, ``d'' is not a legal parameter for tables. Previous versions of LaTeX ignored this error, but it is flagged as an error in the 2015 version.

  The easiest way to fix this is to open the TeXShop Macro editor and remove the ``d''. If you have never edited the default macros, you can also get the fix by quitting TeXShop, going to ~/Library/TeXShop and throwing the entire Macros folder in the trash. Then restart TeXShop and the current Macros folder will be created.

- Some changes made in TeX Live 2015 caused a few programs to output unexpected SyncTeX code, which then caused TeXShop to lose control of the mouse. This was a TeXShop bug, not a SyncTeX bug. It was fixed in 3.52.

  When using SyncTeX, occasionally the system cannot find a match. In those cases, the older Sync method is called. But this older method turned out to crash for the same reason. So in 3.53, the old Sync is not called and in these unusual situations, no Sync is found.

- One or two coding changes were made so TeXShop will compile with the latest XCode.

##### TeXShop Changes 3.52

Many of the changes in version 3.52 prepare for OS X 10.11, El Capitan. In that system, the /usr/texbin link to the TeX binaries is replaced with a new link, /Library/TeX/texbin. Users who have installed MacTeX-2015 or BasicTeX-2015 already have this new link.

- TeXShop 3.52 uses the new link automatically when appropriate, and thus needs no configuration for El Capitan. To be specific, on startup, if the path setting in TeXShop Preferences under the Engines tab is /usr/texbin AND /usr/texbin either does not exist or is not a symbolic link AND /Library/TeX/texbin exists and is a symbolic link, then the preference setting is changed to /Library/TeX/texbin. Similarly if the preference setting is /Library/TeX/texbin AND /Library/TeX/texbin either do not exist or is not a symbolic link AND /usr/texbin exists and is a symbolic link, then the preference setting is changed to /usr/texbin. In all other cases, the setting is not touched.

- Engine files in ~/Library/TeXShop/Engines which define $PATH have been modified by adding /Library/TeX/texbin to the path; /usr/texbin remains so these files will work on both old and new systems.

- Macros in ~/Library/TeXShop/Macros has been modified to refer to /Library/TeX/texbin rather than /usr/texbin. (Only three occurrences of /usr/texbin were found in the old Macros file.) Users do not automatically get the new macros, so users with an older system will not be affected. Users who installed MacTeX-2015 or BasicTeX-2015 can safely use the new Macros because they have the new link.

- The English Help Panel has been modified to mention /Library/TeX/texbin rather than /usr/texbin.

- In the current El Capitan beta, sync from source to preview switches to the correct pdf page, but does not hilight the new selection in yellow. This is fixed.

- In the current El Capitan beta, the magnifying glass works but displays a bitmap rather than a sharp pdf image. I suspect this is an Apple bug which will be fixed.

- The German localization has been improved by Lukas Christensen. Thanks!

- Klaus Tichmann reported a synctex bug and a fix. The "synctex_scanner_get_name" sometimes returns NULL rather than a valid string. This can lead to loss of mouse control. The fix is in version 3.52.

##### TeXShop Changes 3.51

- TeXShop has two new macros by Michael Sharpe, tabularize and tabularize + space. These macros were suggested by Nils Enevoldsen and make it easier to construct and edit tables. To examine the Macros, go to ~/Library/TeXShop/New/Macros and copy the items tabularize.plist and tabularize.pdf to the desktop. The second is documentation for the macros.

  To add the Macros, select "Open Macro Editor" in the Macro menu. Then select "Add Macros from file...", which appears in this menu. Navigate to the desktop and select the file tabularize.plist.

- Many missing German translations were added to the German localization by Lukas Christensen.

- There is a minor fix to the Korean localization by Karnes Kim.

- Latexmk was updated to 4.43.

- The Help menu contains a short new document by Herbert Schulz, "TeXShop Feature Confusion".

- There is a new item in the Edit Menu, "Correct Spelling Automatically", and a related new item in the Preferences Panel, "Correct Spelling". The menu item toggles spelling correction on or off for the top most document. The Preferences item sets the default setting when a document is first created or opened.

  Spelling correction is a new feature inherited from the iPhone. When it is on, the Mac automatically corrects the spelling of misspelled words, and often suggests completions for words or phrases that are partially typed. Note that "check spelling" and "correct spelling" are different; the first underlines misspelled words in red, while the second actually changes the text.

  Many of us dislike spelling correction. When this system doesn't know a word, it can replace it with a new bizarre choice. For this reason, spelling correction is off by default until the Preference setting is changed.

  Spelling correction only works with Apple dictionaries. If cocoAspell has been installed on your system and one of its dictionaries is chosen, spelling correction won't do anything.

- System 10.10.3 introduces a new emoji feature "Skin tone modifier" for ethnic diversity. Yusuke Terada's Character Info feature has been modified to support this feature.

- Previously, typesetting in single window mode left the text side of the window active. This is fixed, and now the behavior is determined by the "After Typesetting" item in TeXShop Preferences. When this item is set to "Bring Preview Forward", typesetting in single window mode makes the preview side of the window active.

- Yosemite 10.10.3, released on April 8, 2015, fixes the "preview blur" problem which cropped up when Yosemite was introduced. The original system was optimized for the Retina display and produced blurry text in the Preview window on regular monitors. In 10.10.3, the display is again crisp on these monitors.

  Consequently, fixes for this problem introduced in TeXShop 3.44 and 3.45 are no longer needed. In particular, we recommend setting FixPreviewBlur to NO via the Terminal command

    defaults write TeXShop FixPreviewBlur NO

##### TeXShop Changes 3.50

- Richard Koch's email address changed from koch@math.uoregon.edu to koch@uoregon.edu. All occurrences of this address in TeXShop were changed.

- A TeXShop Preference item allows the user to set the size and location of the console window when it opens. This item has a button titled "Set with current position." In 3.49, this button was always active, even thought it only makes sense if the option "All consoles start at fixed position" is selected. Now it is active only in this case. This behavior is consistent with similar Preference item behaviors for the Source and Preview windows.

- Terada Yusuke updated the OgreKit spell panel to the latest version. In the process, he added features and fixed bugs:
  - There is a Chinese localization by Wei Wang, onev@onevcat.com.

  - When rich text was pasted to OgreKit, the style was mistakenly pasted. This is fixed.

  - Previously the Japanese yen mark was incorrectly passed to OgreKit. This is fixed.

  - A strange behavior of OgreKit when using OS X Spaces, pointed out by Daniel Grieser, is fixed. Previously the Preview and Source windows were attached to a space, but the Find window floated to whatever space was currently active.

##### TeXShop Changes 3.49

- TeXShop installs two movies for beginners in ~/Library/TeXShop/Movies/TeXShop. These movies are quite large, 5.4 MB and 9.4 MB as gzipped files. Until version 3.49, every update of TeXShop contained these movies, slowing download times. TeXShop 3.49 finally does the right thing; it no longer contains the movies. If the user asks to view one of them, TeXShop downloads that movie from the web site, installs it in the above location, and runs it. Once downloaded, the movie remains on the user's machine.

  This simple change reduces the size of the TeXShop download from 54 MB to 39 MB, and the size of the unzipped program from 83 MB to 53 MB.

- The Experiment feature of TeXShop, introduced in version 3.37, did not handle the "% !TEX encoding = ..." line in the header of the source file correctly, so users with UTF-8 files ran into trouble using the feature. This is fixed.

- The Source <—> Preview menu item and associated keyboard shortcut now work in Single Window mode.

- In the French Localization, the item in TeXShop Preferences to set the font of the source file was broken. This is fixed.

- Three hidden preferences were added, allowing users to change the yellow highlight color to another color, when used by inverse sync from the pdf window to the source text. This is helpful if the user has changed the default colors of the source window. The new items are
    defaults write TeXShop ReverseSyncRed 1.00
    defaults write TeXShop ReverseSyncGreen 1.00
    defaults write TeXShop ReverseSyncBlue 0.00

- Latexmk is updated to version 4.42

- MakeIndex failed on files with multiple dots in the name; now fixed.

- A new TeXShop Preference item under the Console tab allows users to set the default size and location of the Console Window. To set these values, open a document and use TeXShop’s “Show Console” menu to bring the console to the foreground. Adjust its size and location as desired. Then open TeXShop Preferences, select the Console tab, choose “All consoles start at fixed position” and press the “Set with current position” button. Then click “OK.”

##### TeXShop Changes 3.48.1

- Version 3.48 had a serious problem when used in French. Double clicking on a TeX file opened TeXShop, but not the source. This was caused by a missing connection in the French nib file. This was almost immediately corrected in 3.48.1.

##### TeXShop Changes 3.48

- Currently the keyboard shortcut Cmd-F brings up the Find Panel. There are three panels, depending on a Preference choice. In 3.48, the command brings up the Find Panel unless the Preview Window is active. In that special case, Cmd-F opens the drawer for the Preview Window and places the cursor in its Search Field.

  This simple change was suggested by Markus Gail.

- Sparkle has been updated from version 1.5 to version 1.8. The TeXShop Preference Pane now has items in the Misc tab controlling the action of Sparkle. Users can choose to update manually with the "Check for Updates" menu. In that case, there will be no Sparkle notification of new updates. Or Sparkle can search for updates daily, weekly, or monthly, and notify the user when an update is available.

- There is another fix for the Yosemite scroll bug in Single Page and Double Page modes.

- Updated to latexmk 4.40h

##### TeXShop Changes 3.47

- The height of the Templates toolbar item for the Source Window was increased by one pixel in most localizations to make it match other items in the same toolbar.

- The code for keyboard shortcuts in the Preview window has been revised.
    TeXShop has always enhanced the left and right arrow keys to provide paging if there is no horizontal scroll bar. This code is still present.
    Otherwise, recent versions of TeXShop tried to fix a Yosemite bug in which scrolling paged in the wrong direction. This bug occurs in Single Page and Double Page modes, but not in Multiple Page or Double Multiple Page modes.

    The new code only fixes the bug in Single Page and Double Page modes, reverting to the App Kit code in the non-broken modes. Moreover, the new code only fixes the bug in Yosemite and above. If Apple fixes the bug, the fix can be turned off completely, using the hidden default

    defaults write TeXShop YosemiteScrollBug NO

- If TeXShop is quit without closing windows, the windows will reappear when TeXShop is restarted. Initially, only the Source Window was restored, but in recent TeXShop versions the Preview window is also restored.

  Previously the Preview window was always restored to the main monitor, even if the user had multiple monitors. This is fixed and now the Preview window appears on the monitor it was originally on.

##### TeXShop Changes 3.46

- In Yosemite with Single Page or Double Page modes in the Preview Window, the arrow keys scrolled in the wrong direction. This was fixed in a previous TeXShop version. However, the fix partly broke the behavior of the up and down arrows in all modes.

  In 3.46, the old behavior for up and down arrows returns; these keys scroll up or down one line until coming to the end of a page, and then page.

- In previous versions of TeXShop, each typesetting job caused a slight adjustment in the portion of the page displayed. Typically, the window would gradually creep upward. This adjustment seemed to depend on magnification, the portion of the page displayed, and more. We tried various kludges to minimize the creep.

  It looks like Apple fixed this bug in the latest Yosemite, so we have removed the kludges. Preliminary tests show that creep is greatly reduced. Notice that the problem will definitely remain in earlier versions of OS X. Upgrade to the latest version is possible.

- When TeXShop runs with Auto Saving active, some items in the file menu are modified automatically by Apple. These items are labeled
    Save As, Duplicate, Rename, Move To, Export, Revert to Saved, Revert
  In particular, Revert allows users to activate a "Time Machine" like window and revert back to an earlier version.

  Some of these items do not work in Single Window Mode, and Revert causes TeXShop to crash. So (at least temporarily) the items are all disabled in Single Window Mode. Obviously they continue to work in the usual mode in which the source and preview are placed in different windows.

  This crash has never been reported, and we suspect that Single Window users seldom try these items. Note that "Save" is unaffected by the change, and often used.

  Warning: Apple has experimented with the placement of these items; in Lion, for instance, Revert was on a pull down menu activated from the window title. We have not gone back to earlier versions of the operating system to make corresponding fixes.

- There are minor improvements in the Japanese, Korean, and Italian localizations.

- OgreKit has been updated to the latest version. Also OgreKit is now localized for Korean.

- Yusuke Terada fixed "Remember last position" for the Console window. This is complementary to a previous addition of "Always Open Console at a Fixed Position".

- Fixed minor toolbar glitches pointed out by Herbert Schulz: "Page" and "Scale" were improperly clipped in some localizations including English.

- Added a new encoding option: Korean (Windows, DOS)

##### TeXShop Changes 3.45.2

- A new TeXShop Preference item under the Console tab allows users to set the default size and location of the Console Window. To set these values, open a document and use TeXShop’s "Show Console" menu to bring the console to the foreground. Adjust its size and location as desired. Then open TeXShop Preferences, select the Console tab, choose "All consoles start at fixed position" and press the "Set with current position" button. Then click "OK."

- The Source <—> Preview menu item and associated keyboard shortcut now work in Single Window mode.

##### TeXShop Changes 3.45.1

- In 3.45, the Trash-AUX command did not work if some directory names in the full path to a file contained spaces. This is fixed.

##### TeXShop Changes 3.45

- The left column of the Macro Editor window was essentially blank, showing separator images but no text. This error was caused because TeXShop 3.44 was compiled on Yosemite. The same source code compiled on Mavericks worked on both Mavericks and Yosemite. A work around was found and the source now compiles and works on both Mavericks and Yosemite.

- The command to trash AUX files had a bug and did not fully work. The problem is now fixed.

- Karnes Kim produced a Korean localization of TeXShop, which is now part of the program.

- Yusuke Terada provided tweeks and fixes for the following:

  - The hidden preference setting
      defaults write TeXShop FixPreviewBlur YES
    has been improved so that it works if users zoom the PDF by pinch gestures with the Magic Mouse or trackpad.

  - In TeXShop 3.41, the maximum possible PDF window magnification was increased from 1000% to 2000%. But a few constants in the code still contained the 1000% limit. These have been changed to 2000%.

  - A small error prevented the fix for remembering the PDF Window location when quitting. This is fixed.

  - In the Macro Editor, dashes and quotes were automatically changed to smart dashes and smart quotes, breaking some applescript macros. This is fixed.

##### TeXShop Changes 3.44

Version 3.44 has the following changes

- Several users reported a crash just after typesetting when TeXShop ran on Yosemite. The users told me that only certain documents caused crashes, and under unusual circumstances. For instance, some documents caused crashes if typeset twice in succession. By looking at crash logs, I could see that all these crashes occurred at the same spot in the code, but at first I was unable to reproduce these crashes.

  Finally a user named Tim Leathart reported a crash, sent the source for a document creating the crash, and gave very precise instructions about producing the crash. Using this information, I was able to crash my machine and thus find the bug. It turned out that only documents using hyperref crashed, and the crash was caused by incorrect code in TeXShop used to process the outline that such documents often contained. It was not necessary to open the Preview drawer and view the outline to get the crash.

  The code is fixed.

- On Yosemite using a Preview window configured for "Single Page" or "Double Page" display, the keyboard shortcuts to page up or page down were reversed. This bug was noticed by Yusuke Terada and fixed. There are no changes in "MultiPage" or "Double MultiPage" modes since Yosemite behaves correctly for these modes.

- Autosave for the Preview window was broken and is fixed.

- The next two items discuss hidden preferences to fix minor TeXShop annoyances. Before adopting these hidden preferences, users should determine whether they find the current behavior annoying.

  In Yosemite, the source code window's scroll controls have some elasticity, so the source bounces slightly at the top and bottom of the document. Yusuke Terada noticed that these bounces sometimes obscure the first or last lines of the document, making it difficult to edit these lines. Others of us do not have this problem. Yusuke Terada added a hidden preferences to turn off this elasticity. To activate the hidden item, type the following in /Applications/Utilities/Terminal:

    defaults write TeXShop SourceScrollElasticity NO
- Herbert Schulz noticed that during scrolling of the source window, the lines numbers scroll at a slightly different rate and require a fraction of a second to catch up. Yusuke Terada pointed out that this is due to a fix implemented in Lion for a Lion bug affecting line numbers. Apparently this line number bug has been fixed by Apple in Yosemite. A hidden preference is available to turn the fix off. When this is done, line numbers and text scroll in unison except near the ends when source elasticity applies. By turning off source elasticity as well, the line numbers and text scroll together:
    defaults write TeXShop FixLineNumberScroll NO
    defaults write TeXShop SourceScrollElasticity NO

- One user discovered that "Aggressive Trash AUX", which is activated by a hidden preference setting, could remove items in hidden ".git" directories and thus impact repository management systems. In version 3.44, TeXShop does not search hidden directories in aggressive mode.

- Finally, a number of users switching to Yosemite reported fuzzy preview images and inadequate antialiasing on certain monitors. I'm told the image looks fine on Retina displays including the new 27 inch iMac. Perhaps Apple optimized pdf rasterization for these displays without worrying enough about other monitors.

  Frankly, I am just barely able to notice a difference myself, using Apple's 27 inch Thunderbolt Display. A few users sent me email with pairs of png files, showing an image under Mavericks and under Yosemite and pointing out the fuzzy result on Yosemite, but in some of these cases I couldn't see the difference. So the problem seems to depend strongly on the computer screen used, and perhaps on user sensibilities. Some users may be completely happy while others are desperate for fixes.

  Version 3.44 of TeXShop has several hidden preference items which may help with this problem. There is no universal solution, so experimentation with these preference settings will be needed if you find the display fuzzy.

  TeXShop and many other graphical front ends for TeX and PDF display use Apple's PDFKit and Cocoa frameworks. These frameworks rasterize pdf images are an extremely low level not accessible to programmers. Version 3.44 tries to expose all the routines in Cocoa which could modify this rasterization. Notice that TeXWorks and Adobe Acrobat do not use PDFKit and Cocoa and thus behave differently. It does little good to call these programs to our attention since switching to a different pdf display library would betray a key feature of TeXShop (and other programs using these frameworks, namely that they are fully native applications.

  With these caveats, let us list possible solutions. Yusuke Terada noticed that in Japan, the display could appear fuzzy and then be made legible by tweeking the magnification. So he added code in TeXShop to do this automatically each time a pdf file is opened or typeset. To turn this feature on, type the following in Terminal:

    defaults write TeXShop FixPreviewBlur YES
  If this tweek fixes the problem, leave it on and stop reading. Otherwise turn the feature off by using the same command with YES replaced by NO, since the tweek is likely to interfere with remaining experiments.

  Apple's System Preferences in the General Pane has an item labeled "Use LCD font smoothing when available." A few users discovered that turning this item off cured fuzzy behavior. I think this fix won't help most users, but it might be worth a try.

  TeXShop also has a preference item under the Preview tab labeled "Smooth text and line art." This item was originally added to fix a different problem. One user created an illustration with very thin lines. On a previous TeXShop, the lines vanished with regular monitors, although they appeared with the Retina display. The user discovered that the lines appeared in Acrobat, and by turning on antialiasing they also appeared in TeXShop.

  The code provided by Cocoa to turn on antialiasing has additional features not exposed in previous versions of TeXShop. Cocoa provides the ability to set the level of antialiasing. The previous "Smooth text and line art" preference set this value as "high". In TeXShop 3.44, hidden preference settings can select the interpolation level. To test various levels of antialiasing, turn on "Smooth text and line art" in TeXShop Preferences and then set the hidden preference

    defaults write TeXShop InterpolationValue 3
  where the final value can be any integer between 0 and 4. Apple's API documentation provides the following names for these values, which perhaps give a hint of their function. The list is as follows; the strange reversal of 3 and 4 occurs in the official list:
    0 = NSImageInterpolationDefault
    1 = NSImageInterpolationNone
    2 = NSImageInterpolationLow
    4 = NSImageInterpolationMedium
    3 = NSImageInterpolationHigh

  Frankly, I suspect an entirely different solution will be best for most people. That solution is to change the font used for your TeX document, via the wonderful macros written by Michael Sharpe and added to TeXShop late this summer. For detailed explanation, read the description below under "TeXShop Changes 3.39."

  Notice that it is possible to add Michael's commands for one particular font to your default template, so that font will always be used for new documents.

  All of these fonts are included in the full TeX Live distribution, so using them should cause no trouble when collaborating with Windows or Linux users.

  The font commands take up four or five lines in the preamble, and are easily discarded once the document is complete if you want the final document to have a plain vanilla look. On the other hand, Michael's choices come from an expert and may satisfy more readers than the previous default font choices.

##### TeXShop Changes 3.43

Version 3.43 has the following changes

- Fixed a bug after drawing a selection rectangle in the Preview Window. If this window became inactive and then was activated again, drawing into the window would become erratic or worse. Now when the window is deactivated, the selection rectangle is removed.

- TeXShop has a hidden preference reversing the order of the source and preview windows in single-window mode
    defaults write TeXShop SwitchSides YES
  After selecting this preference setting, use "Customize Toolbar" with the single window active to rearrange tools appropriately.

- Yusuke Terada fixed Automatic UTF-8-Mac to UTF-8 Conversion, which is used mainly in Japan, so it correctly opens root file documents.

- Yusuke Terada also fixed a couple of cases when TeXShop commands created a "ghost window" with no content, and made (command+1) switching source window also work on console windows.

##### TeXShop Changes 3.42

Version 3.42 has the following changes

- In Split Full Window mode, additional toolbar tools are provided: the "Scale" tool, the "Color Index" tool, and the "Key Bindings" tool.

- Toolbar items for this window now have reasonable localized names, rather than the very technical names in version 3.41.

- Various bugs in the Split Full Window mode are fixed.

- The Spanish localization temporarily changed to Chinese. This is fixed.

- The Macro menu failed to work in Split Full Window mode if the user switched to another window and then back to the split window. This bug is fixed.

- In Full Window mode, if the text portion was split, both the Macro menu and the Sync between Preview and Source always used the same piece of text rather than switching when the other piece of text was made active. This is fixed.

- Yusuke Terada improved the new "Character Info" command from 3.41. He writes

  - National Flags:

    An emoji character of a national flag consists of 2 unicode characters. For example, 🇺🇸 consists of U+1F1FA (REGIONAL INDICATOR SYMBOL LETTER U) and U+1F1F8 (REGIONAL INDICATOR SYMBOL LETTER S), and 🇯🇵 consists of U+1F1EF (REGIONAL INDICATOR SYMBOL LETTER J) and U+1F1F5 (REGIONAL INDICATOR SYMBOL LETTER P). Thus, they should be displayed as "a letter consisting of 2 characters", but it is displayed as "a letter consisting of 4 characters" in the current version of TeXShop. This is because the regional indicator symbol letters are positioned outside the BMP (Unicode Basic Multilingual Plane). I fixed this issue so that these national flags are correctly displayed as "a letter consisting of 2 characters".

  - Support for Ideographic Variation Selector (IVS)

    In Japan and China, some kanji characters have multiple variants. For example, both 神 and 神󠄀 have the same meanings (they mean "God") and the same readings. They are considered as variant forms of the same kanji. IVS, Ideographic Variation Selector, is used in order to distinguish them. For example, the single unicode character U+795E brings the output "神". On the other hand, the sequence "U+795E U+E0100" brings the output "神󠄀". U+E0100 itself is not a letter. This is a variation selector. In Unicode, there are variation selectors like this in U+FE00..U+FE0F (Variation Selectors), U+E0100..U+E01EF (Variation Selectors Supplement), U+180B..U+180D (Mongolian Free Variation Selectors). In the current version of TeXShop, the character info of "神󠄀" is displayed as "a letter consisting of 3 characters". I modified TSGlyphPopoverController.m for IVS support so that this is displayed as "CJK UNIFIED IDEOGRAPH-795E (Variant)", like "RED APPLE (Emoji Style)".

##### TeXShop Changes 3.40 and 3.41

Version 3.40 was never released. Version 3.41 has the following changes

- When editing a document, it is possible to place the source view and preview view in a single window rather than dealing with two windows for these views. This is particularly useful when using the "full screen" option, since the screen will contain both source and preview views.

  To implement this feature, a number of minor changes were required throughout the TeXShop source code. The initial implementation is therefore rather conservative. At the moment, for instance, no Preference item is provided to automatically open documents in this form.

  If a document has both source and preview windows, activate the source window and then select the item "Use One Window" in the Windows menu. The two windows will be replaced by a single window containing both views. With this window active, select "Use Separate Windows" to replace the single window with a pair of windows.

  The first time this happens, the single window will not have an appropriate size and position. Resize it appropriately. TeXShop will remember this size and position, but it is even better to carefully select an optimal size and position, and then with the window active choose "Save Source Position" in the Source menu. TeXShop will use that size and position in the future.

  A source window cannot be converted to single window form unless the corresponding preview window also exists.

  If a project has a root view and additional chapter views, only the root view can be converted to single window form. Thus the new feature is not likely to be useful for projects divided in this way.

- In previous versions of TeXShop, duplicate copies of many documents in the Help menu were placed in the Localized directories of TeXShop, even though these documents had never been Localized. This duplication is cleaned up in version 3.41, reducing the size of the program by almost a third. The English versions of the documents will still appear when TeXShop is used in another language.

- Yusuke Terada provided a new menu item in the Edit menu called "Character Info." To use it, select one or more letters in the source file and then select the menu item. If only one letter is chosen, a balloon will appear showing a magnified version of the glyph, its full unicode name, and its unicode character. When glyphs require two or three characters, all required characters will be displayed.

  If several letters are selected, the balloon will list the number of characters, words, and lines in the selection, and show the unicode character for each glyph.

  Below are sample balloons provided by this feature:

- Christian Icking discovered that TeXShop became inoperative or crashed when opening a file containing % !TEX root = but with no non-space characters after the equal sign. This bug is fixed.

- Typesetting for "Experiment" is more robust. It now uses the Preference settings for pdflatex and simpdftex latex and the personallatex setting. If the user's pulldown menu is set to latex, the three choices of 1) pdflatex, 2) tex + dvi, 3) personal script are obeyed. This should make the command work for TeX in Japan.

- The commands Next Source Window and Previous Source Window in the Window menu again work, and do not bring up "ghosts" of closed windows.

- In the previous version, the Indent and Unindent commands were modified to insert spaces rather than tabs in the source. A few users preferred tabs. There is now a preference item for these users; they should check "Use Tabs" in TeXShop Preferences, under the Source tab.

- The Preference command to select the source font was broken when TeXShop was used in English, due to a missing connection in the English Localization File. This is fixed.

- Yusuke Terada doubled the maximum magnification level allowed for PDF files, so it is now possible to look at very small details of the preview output.

- Yusuke Terada provided new Preference settings under the Miscellaneous tab for projects with a root file. When opening a chapter file, TeXShop previously also opened the root file and then immediately miniaturized the root source. Users can choose to avoid this miniaturization, or to avoid opening the root file at all. In the second case, the root will open when needed, for instance during typesetting.

##### TeXShop Changes 3.39

- The most significant change in 3.39 is the addition of Michael Sharpe's "Recent TeX Fonts" document and associated font Macros. Michael and I attended the TeX User Group meeting in Portland, Oregon at the end of July, 2014. I knew him as an Applescript expert; several of his scripts are in TeXShop. Other macros from him will appear in a future version. To see his scripts, go to https://dl.dropboxusercontent.com/u/3825336/TeX/index.html. Pay particular attention to macrocopier.zip on this location, a stand alone program which makes it easy to maintain and extend TeXShop macros.

  At the TUG meeting, I discovered that Sharpe is a font expert widely known to users on other platforms. TeX Live contains a very large number of TeX fonts, but it is not that easy to use them. Most font sets don't have mathematical symbols, and it becomes a design task to find pleasing combinations of fonts for text, sans-serif sections, and mathematics.

  Sharpe wrote a document called "Recent TeX Fonts", now available in the TeXShop Help menu. This document describes a number of pleasing font combinations, one per page. Each page lists the features of a set, provides an extensive sample of text and mathematics typeset using it, and contains the exact LaTeX code needed to use the font set. These sets are the result of extensive work by Sharpe; I understand that some of them took four months to perfect.

  One way to use the document is to select an article or book written with standard fonts and copy Sharpe's implementation section into the document's header and retypeset.

  To make this even easier, Sharpe slightly modified the LaTeX template which comes with TeXShop, defining a section in the header bounded by %SetFonts comments. The space between two such comments can be empty when the document is originally written. Sharpe defined three macros called "GetFontSet," "SaveFontSet," and "TestFontSet." The first of these brings up a small dialog listing known font sets. When one is selected, its implementation code is written to the source document between the %SetFonts comments, replacing other implementation code there. So with one click and one typeset, the document can be seen written with a new set of fonts.

  Users can also put their own implementation code between the %SetFonts comments. The SaveFontSet macro reaches between the comments and saves the implementation code to a file in ~/Library/TeXShop/bin named "SetFonts", which is used by the GetFontSet macro to list known font combinations. Thus "SetFonts" gradually builds into a library of known font combinations.

  I'll let the TestFontSet macro speak for itself.

  To use these Sharpe additions, it is necessary to use the full TeX Live as installed by MacTeX, because BasicTeX doesn't contain many fonts. All the font sets defined by Sharpe have been tested and are available with TeX Live 2014, except two. The garamondx font has a license permitting free personal use provided the font is not sold. This font is on CTAN, but it cannot be in TeX Live because TUG sells a DVD containing TeX Live. However, a script named getnonfreefonts is available to download and install this font. See https://www.tug.org/fonts/getnonfreefonts/.

  The "SetFonts" template also has a Lucida entry. Lucida is a commercial font, sold by TUG and others. See https://www.tug.org/store/lucida/index.html. Many users own this set, and Sharpe's detailed and non-trivial code to use them will help them obtain the most from the fonts. It is our hope that the existence of these easy techniques will lead to more LaTeX documents that don't scream out "I was written with \TeX," and instead have a professional printed look.

- TeXShop has a new icon by Thiemo Gamma in Switzerland, designed for Yosemite. Gamma also redesigned the dialog which appears when you select the menu item "About TeXShop".

  The story of TeXShop icons is complicated. The original icon was designed by Jérôme Laurens. Jérôme also designed the TeX Live Utility icon, and I like both a lot.

  When the Retina display appeared, it was necessary to redraw the icon, but unfortunately source code for Jérôme's icon did not exist. Other users then contributed revised icons, which I didn't quite like. So I tried myself and discovered that making icons is really, really hard. Eventually William Adams managed to create a high resolution version of Jérôme's icon and I like it a lot. Adams also provided a document icon.

  But Apple revised the look of icons in Yosemite. I intended to ignore the new design.

  Then completely unexpectedly, Gamma sent a new icon. I think it is wonderful for a reason I'll explain in a moment. Gamma is extremely modest about it. When he learns how difficult it is for others to make icons and how much in demand good designers are, he'll have a happy life.

  My goal for TeXShop has always been that it should vanish into the background, allowing writers to concentrate on the document they are writing without distraction. Sometimes this goal is met, and sometimes not. Gamma's icon is a symbol of this goal. It is simple and subdued, sitting there in the background.

  TeXShop still contains Adams' icon for documents. The source code also still contains his program icon.

- TeXShop 3.38 has a significant bug, first discovered by James Crippen. When a source document is long and the preview window is active, clicking on the source window leads to a several second delay before the source window becomes active. This bug was caused by a single line of code, added to help a few users in Japan. The bug is fixed in 3.39.

  The line of code creating the bug was added for users who meet all of the following conditions:

  - They use Japanese input methods
  - They customize the background and foreground colors of the source window
  - They choose a dark color for the background

  These users can activate the bad line and live with the bug by typing the following in Terminal

    defaults write TeXShop ResetSourceTextColorEachTime YES

- Herbert Shultz provided a new version of the Help document TeXShop Tips and Tricks, and René Fritz provided a French translation.

- The Brazilian localization in TeXShop 3.38 was mistakenly added by Koch to the localization for Portuguese in Portugal. This is fixed in 3.39.

- Will Robertson asked that the TeXShop "indent" command insert spaces rather than a tab. This makes fine adjustments afterward easier. Version 3.39 gives Robertson his wish.

- Yusuke Terada provided fixes for a number of small problems in TeXShop:
    The color matching options for copying from the Preview window, set in TeXShop Preferences under the Copy tab, were broken in recent versions. This is fixed.
    The routine which selects an image from the Preview window has been improved.
    Toolbar tips for mouse actions in the Preview window have been added and localized.

- Yusuke Terada also fixed a more significant bug. If a particular font is set in TeXShop Preferences, either by the user or by default, but that font is no longer in the system, then TeXShop would refuse to run. This may explain some very obscure problems reported in the past. The bug is fixed.

##### TeXShop Changes 3.38

- If the option key is down when a source file is opened, the associated pdf file will not be opened.

- TeXShop is written in Cocoa, an object oriented framework inherited from NeXT. Object oriented programs create a large number of objects dynamically during program operation. "Memory management" is the task of disposing of these objects when they are no longer being used. If an object is disposed too soon, the program crashes when another part of the program tries to use it. If an object is left dangling and not disposed, memory gradually clogs up.

  Recently Apple introduced "automatic reference counting", a technology which leaves the memory management task to the compiler, allowing the programmer to ignore it. TeXShop adopted this technology in version 3.35, leading to increased stability and significantly fewer crashes.

  In reference counting, each object keeps a reference number counting the number of parts of the program using it. When a piece of the program is done with the object, that part sends the object a "release" message and the object decreases its reference count by one. When the count reaches zero, the object is automatically removed from memory.

  There is one situation which the compiler cannot handle automatically. Suppose object A is using object B and object B is using object A. Each object then has a reference count at least one, and usually higher if the objects are being used by other parts of the program. Suppose now that the rest of the program is done with the two objects. The objects are sent a number of "release" messages, until eventually each has reference count one. Since the count is not zero, object A does not go away, so it does not send a release message to object B. Similarly ...

  The solution of this problem is to manually introduce a "weak reference" from one object to the other. We give object A a reference to object B, but only give object B a weak reference to object A. A weak reference does not increase the reference count. Thus when all other objects are done with the pair, object A has reference count zero, but object B has reference count one. So object A is removed from memory, and just before that happens it sends a "release" to object B. Now object B has reference number zero, and it too is removed from memory.

  TeXShop 3.38 completes the process of conversion to automatic reference counting, by correctly indicating weak references. Thus versions 3.35 through 3.37 could leave unused objects in memory, but 3.38 fixes that problem.

##### TeXShop Changes 3.37

- Added a preference setting for the Preview window: ``smooth text and line art.'' By default this is on. The setting was requested by Tom Burke, who created an illustration using GeoGebra which looked pixelated when displayed at small size in TeXShop. Mysteriously, the illustration looked fine under the magnifying glass, or when printed. It also looked fine on a Retina display, but in that case the circles and lines were very thin.

  The same preference setting is provided by Apple's Preview and other programs. Users with a Retina display may wish to turn it off.

- Yusuke Terada added small changes for users in Japan. He wrote "during the time Hiragana is input until it is converted to Kanji, `undecided characters' are displayed, but the source text color is not applied and they are displayed in black. This behavior has been modified."

- A new item, "Experiment...", was added to the Edit menu and is available when the source window is active. This addition has been a recurring request of Wendy McKay. The item allows users to experiment with short, but complicated, fragments of TeX before copying the source into the main document.

  When the item is chosen, a panel appears. Type a TeX fragment into the panel, say $$\sqrt{x^2 + y^2}$$. Push the Typeset button at the bottom of the panel, and a second panel appears showing the result of typesetting the fragment. The fragment can contain anything: a displayed formula, ordinary text, several pages of mixed material. To typeset, TeXShop creates a new source file with the header of the current document up until "\begin{document}", the new fragment, and a final "\end{document}." This also works in a project with a root file. In that case the contents of the root file up until "\begin{document}" are used.

  Both panels have close buttons. The "escape" key will also close panels when they are active.

  Although the two panels do not have resize buttons, they can both be resized. TeXShop will remember the new sizes and locations and use them the next time "Experiment..." is selected. The font in the source panel will be the default TeXShop source font. The keyboard shortcuts "command +" and "command -" work in the source panel to enlarge the text if desired. Key bindings and command completion are available in the source panel, but with one caveat. Command completion uses the tab key in the panel even if it uses the escape key for regular source, since the escape key in a panel closes the panel.

  The "Experiment..." feature requires a latex-like engine. It will not work with ordinary plain tex. The source panel's Typeset button looks at the main source window's toolbar to determine a typesetting engine., and also uses the "% $TEX engine = ..." mechanism if available at the top of the source window. If "Plain TeX" or "Context" is selected, nothing happens. If "bibtex" or "make index" are chosen, pdflatex is used. Obviousy "pdflatex, xelatex, and lualatex" can be used. The panel will try to use any user-defined engine selected, but some such engines may fail if they don't expect latex-like code or output pdf.

  The preview panel understands mouse scroll commands and trackpad gesture commands to scroll and resize. It understands "command-shift +" and "command-shift -" to resize contents.

  If you close a panel during work and later reopen it, the contents will be remembered. But the contents are lost when quitting TeXShop. It is assumed that the panels will be used for short fragments of work; when the user is satisfied, they will transfer the source to the main document using copy and paste. Panel contents are not auto-saved and cannot be manually saved except via the copy mechanism.

  Each document has its own source and preview panels, so if you have multiple documents open, you could also have multiple source and preview panels open, leading to a confusing mess. I expect users to exercise common sense and only experiment with one fragment at a time. One way to avoid confusion would be to hide the panels when a document becomes inactive. I didn't want to do that because a user constructing a complicated example might want to temporarily open a second document and copy source from that document into the panel as a starting point.

##### TeXShop Changes 3.36.2

- Fixed magnification on Yosemite

- Fixed sharing icon on source toolbar

- fixed two broken IB connections

- changed [NSApp delegate] to (TSAppDelegate *)[NSApp delegate] in two spots to make the code compile on XCode 6

##### TeXShop Changes 3.36.1

This version was released with version number 3.36.1 to test the operation of adding a final digit to the version number. In the future, this will be used for "silent updates" in which a minor problem is fixed in the first hours of a release. In the past we did not change the version number for such silent updates, but from now on we add a decimal digit to the end of the version in both the TeXShop home page and the program. We do not update change documents for minors updates. Source files are always updated at the same time as the program, even for minor updates.

- The command-1 shortcut to switch from the Preview Window to the Source Window failed if the Preview Window was closed and then reopened. This is fixed. Certain other keyboard shortcuts were also affected.

##### TeXShop Changes 3.36

This is a minor update to clear up issues in the important version 3.35 release. It has the following changes:

- The "remember and restore" operation has been improved to remember the position and size of both the Source and Preview windows for all open files and restore them the next time TeXShop is restarted.

  Recall that holding down the option key while quitting closes and forgets all windows; in that case, TeXShop will restart with a clean slate. Similarly, holding down the shift key while restarting TeXShop will restart with a clean slate.

  It would be possible to remember other window positions: Console, Log File, etc. For the moment TeXShop does remember these positions since the operation seemed more confusing than helpful.

- Herbert Schulz improve Command Completion by fixing bugs and controlling whether a forward or reverse search is done during the operation.

- Fixed a bug for "Edit the Key Binding File." Closing this dialog and then bringing it up a second time produced a blank dialog window. The bug was pointed out by Emerson Mello and is now fixed.

- The "Enter Fullscreen" menu item was not localized, but as soon as a source window opened, it switched to the user's language. Now it is localized even when no file is open.

- Protected against a rare bug in which a Notification was sent to a closed Source Window.

- Attempted to make TeXShop Icon behavior more reliable by providing the extension of the Icon file in the Info.plist, by changing UTI types belonging to com.tug to instead belong to org.tug, and by using Apple defined UTI's when available. The Apple mechanism linking icons with particular applications continues to have problems in the open source world, where a particular file type can be claimed by multiple applications.

##### TeXShop Changes 3.35

The step from TeXShop 2 to TeXShop 3 marked a significant boundary; version 3 has 64 bit code rather than 32 bit code and was compiled on Lion. The step from TeXShop 3.26 to TeXShop 3.35 marks a second significant boundary; version 3.35 uses Automatic Reference Counting rather than manual memory management and is compiled on Mavericks.

When Mavericks appeared a year ago, magnification code used in earlier TeXShop versions broke. It was replaced in 3.26 with code which worked on Mavericks, but not on earlier systems. TeXShop 3.26 used the older magnification code on older systems.

Later versions of TeXShop were compiled on Mavericks. Then the new magnification code worked on earlier systems, but the old magnification code broke. So TeXShop 3.35 uses the new magnification code on all systems. However, over the last couple of weeks testers discovered that this code leads to obscure crashes on Lion, but not on Mountain Lion and higher.

Consequently, in version 3.35, both magnification in the Preview window and selection of rectangular regions in the Preview window are disabled on Lion. Users of Lion should upgrade to Mountain Lion if at all possible, since these features will be active again. Users who cannot upgrade should consider moving to version 3.26 because the two disabled features work with that version. But version 3.26 will not be further upgraded and TeXShop Lion users will be stuck there in the same way that Snow Leopard users are stuck with TeXShop 2.

TeXShop 3.35 has the following additional changes:

- The OgreKit Find Panel was upgraded to the latest version by Yusuke Terada, and additional bugs in it were fixed. About the changes, he wrote "This version is based on the latest OgreKit. The latest OgreKit adopts Onigumo as its regular expression engine instead of Oniguruma, which OgreKit used previously. The development of Oniguruma is now stopped, and Onigumo is its fork version. Ruby also used to adopt Oniguruma until Ruby 1.9, but it was replaced by Onigumo since Ruby 2.0. By using Onigumo, new regular expressions like \K, \R, \X can be used.

  " I built the latest OgreKit specialized for TeXShop. In order to solve the problems in which OS X replaced ordinary quotes with smart quotes, etc, I disabled the meddling functions by default:

    - Smart Copy/Paste
    - Smart Quotes
    - Smart Dashes
    - Smart Links
    - Automatic Data Detection
    - Automatic Text Replacement
    - Automatic Spelling Correction

  "A message from Juan Luis Varona Malumbres said: Yusuke, please let to me to explain a small problem with the Ogrekit Find Panel in TeXShop: The election Origin: Top/Cursor (in Spanish Origen: Principio/Cursor) works very well in English, but not in Spanish: it always does a 'Cursor' search. Can you fix it, please?

  "I've fixed it today.

  "I found another bug of OgreKit in Spanish environment. When you select some range in TeX source and do 'replace all' with OgreKit Find Panel, the entire document is set to the replacement scope, even if you choose "Selection" as the scope of search. This issue occurred only in the Spanish environment. I've fixed this issue"

- Previous versions of TeXShop allowed paths with a tilde in the TeX Binary Path Setting Preference. For instance, this setting could be "~/Library/TeX/texbin". But such paths caused problems in a small number of minor TeXShop features. A full audit of the TeXShop code was performed and now such tilde's should always work in the setting.

- TeXShop now contains Michael Sharpe's GotoLabel Macro. Here is his description. "This is macro for TeXShop's Macro Menu, allowing you to bring up a list of labels containing specified text, and move to the chosen label.

  "To install, choose Macros/Open Macro Editor... (in the TeXShop main menus) and then from the Macros menu, choose Add Macros from File. This brings up a file selector with which you may select GotoLabel.plist. This install the macro in the Macro Menu, where you may move it to any convenient position, and, if you wish, give it a hot key.

  "This provides an alternative to adding an item to TeXShop's tags by inserting a line %:tag_name in the source. With a lengthy document with many labels, it seems advantageous to be able to filter the list of labels."

- If you open the Edit Menu --> Spelling and Grammar panel, you can set the dictionary using by the Spell Checker at the bottom of the Panel. TeXShop now remembers this choice, and will automatically use it the next time the program is started.

  Unfortunately another feature of TeXShop can interfere with this process, the optional "% !TEX spellcheck = " command at the top of a file. I suspect that many users don't use the "% !TEX spellcheck" syntax. They will run into no problems.

  If no files containing "% !TEX spellcheck" have been opened since TeXShop was opened, and the user chooses a different dictionary, then that different dictionary will be remembered as the new TeXShop default dictionary.

  But if the user chooses a different dictionary AFTER opening some files containing the "% !TEX spellcheck" line, then that choice will not be remembered when TeXShop closes.

  So if you do not use the "% !TEX spellcheck" syntax, you can change the default dictionary used by TeXShop by opening the Spelling and Grammar panel and making the change. But if you sometimes use the "% !TEX spellcheck" syntax, the foolproof way to change the default dictionary is to open TeXShop without opening files, change the dictionary with the Spelling and Grammar panel, and quit.

##### TeXShop Changes 3.27 - 3.34

Versions 3.27 - 3.31 were never released. Versions 3.32 and 3.33 were only provided as experimental releases.

The most important feature of release 3.34 is that TeXShop's source code was revised to support ARC and the program was compiled using Automatic Reference Counting. Thus memory management is now done by the compiler rather than by hand.

Version 3.34 has the following additional changes:

- A localization for Brazilian Portuguese is provided by Emerson Ribeiro de Mello.

- Spell checking now remembers a dictionary chosen in the "Show Spelling and Grammar" panel. This makes it easier to use the CocoAspell package.

  CocoAspell adds dictionaries to Apple's Spelling System which understand LaTeX and thus do not claim that LaTeX commands are misspelled. Obtain the system at http://cocoaspell.leuski.net/. After installing, notice that an extra Spelling Preference Pane has been added to Apple's System Preferences. Select a dictionary and turn on TeX/LaTeX filtering. Then either select this dictionary in TeXShop"s "Show Spelling and Grammar" panel, or select it globally in the "Keyboard" pane of Apple's System Preferences under the Text tab.

- In Mavericks, the code for selecting a region of the Preview file and the code for magnifying a region of the Preview file broke. This was fixed in an earlier version of TeXShop by using the old code for Lion and Mountain Lion, but using entirely new code for Mavericks. It appears, however, that the old code for Lion and Mountain Lion did not work. Now the Mavericks code is used in all cases and works on Lion, Mountain Lion, and Mavericks.

- Added Haskell literate script (lhs) as a type that TeXShop can edit, and that can be typeset and syntax colored

- The Pythontex engine and documentation were slightly altered

- Rene Fritz provided a new French translation of TeXShop Tips & Tricks

- TeXShop now contains Latexmk 4.40

- TeXShop has a menu command to convert tiff illustrations to png. This command uses "convert" if available, but otherwise uses Apple's "sips" program, which has been part of OS X for a long time. Thus the removal of "convert" from MacTeX-2014 will not affect TeXShop.

- In Multipage mode, each typeset produced a small upward creep in the contents of the Preview window for some users. This is slightly improved, though not yet completely fixed. fixed.

- In Single Page mode, typesetting produced a momentary flash in the Preview window showing the document's first page, immediately replaced by the current page. This is fixed.

- New code by Dirk-Willem van Guik to set the "Job Title" for print jobs.

- The "Show Log File" command has been improved. When this window is first opened, it shows the full log file. Twelve check boxes at the top set various queries to texloganalyser, a script in TeX Live which can pull various pieces of information from the log file. The Redo button then displays this information. For instance, texloganalyser can display all warniings, or all overfull boxes, or all fonts used in a document. Unchecking all boxes and pushing Redo again displays the full log file.

  If "Show Log File" is selected while holding down the Command key, a dialog appears asking for an extension. If the user types the extension "aux", then the window will display the aux file rather than the log file. Since texloganalyser only works on log files, checking boxes will then have no effect.

- A new Preference item is provided: "Tags Menu in Menubar". When this item is selected, a duplicate of the Tags menu will appear in the menubar. The new item allows advanced users to hide the Source window's toolbar: use command-T to typeset, selected the appropriate engine using text at the top of the source, use the menu versions of the Macro and Tags menus, and notice that "Split Window" is provided as a menu command in the Windows menu.

- New versions of the LilyPont and MetaPost engines are provided by Nicola Vitacolonna.

##### TeXShop Changes 3.26

3.26 has the following fixes:

- The combination of Preference Settings "Configure for External Editor" and "Automatic Preview Update" is now compatible with App Nap in Mavericks. Thanks to Zhiming Wang for pointing out this problem and its connection to App Nap.

  In Mavericks, the Get Info panel for many applications has a check box to turn off App Nap. TeXShop has no such box. The reason turns out to be that TeXShop is compiled with XCode 5 on Mavericks, and Apple assumes that applications compiled on Mavericks have been fixed to deal with App Nap. TeXShop is now fixed in the approved manner.

- Michael Sharpe wrote a beautiful document describing Applescript in TeXShop and problems that might be encountered writing new Applescript Macros. I have added that document to the Help Menu, In addition, I added Michael to the list of TeXShop contributors, because his web page contains a number of AppleScript corrections which I have adopted in the Applescript Macros shipped with TeXShop.

- The following four Macros had problems with recent versions of OS X. Fixed versions by Michael Sharpe and included in this release.
    Open Quickly
    Insert Reference
    New Array
    New Tabular

- There is a new arara engine by Alan Munn in ~/Library/TeXShop/Engines/Inactive/Arara. The arara program is part of TeX Live 2013. Documentation for it is included in the above folder. Roughly speaking, it is a replacement for both latexmk and parts of the TeXShop engine mechanism.

- Small changes were made in the Japanese localization by Seiji Zenitani

##### TeXShop Changes 3.25

TeXShop 3.25 contains the following fixes:

- Version 3.24 contained a new version of Sparkle, but unfortunately not the latest version. The version in 3.24 didn't have a Japanese localization. Terada Yusuke found and compiled the latest version, now in 3.25.

- A few users report crashes when quitting TeXShop or closing a file. I was never able to reproduce this crash. Terada Yusuke made a partial fix, so the number of such crashes should diminish.

- The default preference settings for users in Japan have a small fix for Kpsetool.

- Some locations referred to the old TeXShop web url, http://www.uoregon.edu/~koch/texshop/texshop.html. These have been changed to the new url, http://pages.uoregon.edu/koch/texshop/texshop.html.

- In version 3.17, the old Search sync method broke when syncing from the Preview page to the Source page. So it was disabled in version 3.18, and users were told to switch to the modern SyncTeX method. This is still recommended. But the Search sync method is now fixed, and will be used in those rare cases when SyncTeX does not find a match.

##### TeXShop Changes 3.24

There is only one change. The Sparkle upgrade mechanism in many previous versions of the TeXShop 3 series does not work on Mavericks. This is fixed in 3.24.

##### TeXShop Changes 3.22 and 3.23

TeXShop 3.23 fixed one bug. In 3.22, if the user configured TeXShop to use an external editor and then set the hidden preference ExternalEditorTypesetAtStart to YES, the program crashed when opening a file. This is fixed in 3.23.

Version 3.22 has the following changes:

- If the option key is pressed, the "Typeset" menu changes to "Trash Aux & Typeset". Selecting it trashes aux and related files before typesetting. Recall that command-T is a keyboard shortcut for "Typeset". Similarly option-command-T is a keyboard shortcut for "Trash Aux & Typeset." This ingenious addition was suggested and made by Paul Smyth.

- There is a new engine for pythontex in ~/Library/TeXShop/Engines/Inactive. This folder also has a README explaining how to install pythontex, and a tex source file from the author of pythontex which can be used to test the engine and simultaneously see some of the features of pythontex in use.

- There is a new engine for Sage in ~/Library/TeXShop/Engines/Inactive/Sage. The method of installing sagetex.sty in TeX Live explained in "About Sage" in the Sage directory has also changed. These changes was suggested by Daniel Grambihler and improve the ease of use of Sage in TeX.

  There were two basic problems with the previous method. First, the TeX file sagetex.sty changed with the version of Sage and thus had to be reinstalled each time Sage was updated. Second, the engine file calls the Sage binary, which is inside the Sage program wrapper. But the authors of Sage distribute the program with a name that includes the version number, so the engine file had to be rewritten whenever Sage was updated.

  Daniel Gramhihler recommended that we ask users to change the name of the program to "Sage" whenever they update, and that we install a symbolic link to sagetex.tex in TeX Live rather than the actual style file. The result is that when Sage is updated, the engine file automatically finds the new binary and TeX Live automatically uses the new style file.

- TeXShop now opens and edits files of type fdd.

- There is a new hidden preference to set the line spacing in the source window:
    defaults write TeXShop SourceInterlineSpace 1.0
  Only values between .5 and 40.0 will be accepted. The standard line spacing is given by the default 1.0, and double spacing is given by the value 10.0.

- Nicola Vitacolonna made extensive changes to the Italian localization of TeXShop. Minor changes for other localizations were also made by their localizers.

##### TeXShop Changes 3.19, 3.20, 3.21

Versions 3.19 and 3.20 were never released.

Version 3.21 has the following changes:

- Three bugs appeared when running on OS X Mavericks: the magnifying glass in the Preview window broke, rubber band selecting of a region of the Preview window broke, and sharing the png of the selected region broke. All three are fixed. The code which runs on Mountain Lion and below remains in place, so small changes in behavior will only be seen on Mavericks.

  The magnifying glass has an interesting history. The original code used an unusual call in Cocoa. It broke in Leopard. This code was replaced by tricky code relying on another unusual Cocoa routine. This broke in Mavericks. The new Mavericks code in 3.21 is straightforward, drawing in a temporary transparent overlay view for both magnification and rubber banding.

- In Mountain Lion, sharing of a region of the Preview window provides a png of this region. In Mavericks and above, it provides a pdf of the region, which can be resized without losing detail.

- For a long time we have recommended that users new to TeXShop arrange the location and size of the Source and Preview windows on the desktop as desired. Most users prefer a side by side configuration with the Source window on the left and the Preview window on the right. Then activate the Source window and in the Source menu select ``Save Source Position''. Similarly activate the Preview window and in the Preview menu select ``Save Preview Position''. From that point on, all TeXShop source and preview windows will appear in the selected positions.

  If you have a portable connected to a large monitor, this configuration works as long as you are attached to the monitor. But when you are traveling, the windows will appear on the screen of your portable, and probably not in ideal positions. TeXShop 3.21 has an extra configuration to fix this. Arrange a source and preview window on your portable screen in ideal position; the portable can be attached to the large monitor at the time. Then activate the source window and in the Source menu select ``Save Source Position for Portable''. Activate the preview window and in the Preview menu select ``Save Preview Position for Portable''. After this step, windows will appear in the desired position when you are connected to the large monitor at home or office, and windows will appear in the desired position on the portable screen when you are traveling.

  It will do no harm to skip this portable configuration.

  If you have multiple screens, Maverick has the ability to start applications on any screen. Thus it may be convenient to use the "portable" configuration for a second screen even if you do not have a portable.

- The following bug was pointed out by Simon C. Leemann. Until 3.21, double clicking on a blank space in the source window selected the space and the words on either side of the space. This is fixed and now only the space is selected.

- TeXShop allows users to select alternate engines on a file by file basis using the syntax
    % !TEX TS-program =
  TeXworks and other programs use the similar command
    % !TEX program =
  TeXShop 3.21 now accepts this alternate syntax to specify an engine.

  For compatibility reasons, the space between "%" and "!" is optional, but highly recommended.

- The next feature was requested by Alan Munn about a year ago. Apologies for the delay. In the meantime, Mark Everitt wrote an ingenious script to provide this feature. The feature provided by that script is now built into TeXShop.

  The command BibTeX in the TeXShop typeset menu runs BibTeX; notice that this command has a keyboard shortcut. In Japan, a different program is used instead, so Yusuke Terada provided an item in TeXShop Preferences under the Engine tab to select the program to be run when this menu item is selected. Examples are bibtex, biber, pbibtex, etc. The Preferences item can also be used to add flags to the command.

  In TeXShop 3.21, the BibTeX engine can be selected on a file-by-file basis using the syntax

    % !BIB TS-program =
  The alternate syntax
    % !BIB program =
  will also be accepted. The item after the equal sign gives the name of the program (for instance "biber") and any required flags. This line should be written within the first twenty lines of a source file.

  The "% !BIB TS-program = " line takes precedence. If it is absent, the Preference item determines which command is run.

- TeXShop 3.21 contains latexmk 4.37.

- The following bug was pointed out by Basil Grammaticos, and is fixed in TeXShop 3.21. TeXShop has an AutoCompletion feature. If the user begins typing a phrase like
    \begin{
  and then presses the escape key, TeXShop will complete the phrase. If there are several completions, TeXShop will cycle through the possibilities each time the escape key is pressed. These completions are listed in a file which users can edit using the command "Edit Command Completion File" in the Source menu.

  But if no completions are found, TeXShop reverts to a different autocompletion method which is build into Cocoa. This time, pressing the escape key opens a small window listing all possible completions. Click on one to complete the phrase. These completions come from the system dictionary.

  The first kind of completion is likely to appear when typing a TeX construction, and the second kind appears when typing an ordinary word or phrase.

  Basil pointed out that in many programs, the second completion list begins with phrases which already appear in the document. In earlier versions of TeXShop, these nearby phrases were missing.

  This bug was caused by adding Autocompletion to TeXShop too early. If no completion was found, the code called the dictionary to provide an autocompletion list. Then Apple added a similar call to TextEdit, which first finds nearby phrases and then asks the dictionary for further words. TeXShop now calls that TextEdit routine.

- TeXShop now has a hidden command to turn off AutoSaving:
    defaults write TeXShop AutoSaveEnabled NO
  WARNING: This command will cause crashes on Lion, so it should only be used on Mountain Lion and above. The TeXShop developers use AutoSave. If you turn off AutoSave, you are entering untested waters.

- The Sage engine script was revised in TeXShop 3.21, and the Sage instruction document in ~/Library/Engines/Inactive/Sage was rewritten.

- Ulrich Bauer added a patch to TeXShop 3.17 for users working with a server. This patch was supposed to be inactive unless AutoSave was on. But a mistake in the code caused it to be used by a few people who didn't use AutoSave. This is fixed.

- Many users thanked us for Bauer's code, but it caused trouble for a few. There is a hidden preference to turn to patch off:
    defaults write TeXShop WatchServer NO

- Finally, Yusuke Terada provided a number of changes for users in Japan.

  - At the bottom of the TeXShop Preference window, a pull down menu labeled "Defaults" offers to change all preferences to their default values. The first item in this menu is labeled "Regular" and is for most users. The remaining items are for users in Japan, who interact with TeX in a variety of unusual ways. It contains six new items to replace the original two legacy items.

  - An earlier version of TeXShop contained an automatic UTF-8-Mac to UFT-8 Conversion. But this routine converted some Japanese Kanji characters to different glyphs. This is fixed by excluding certain characters from the conversion, as explained in the Unicode Consortium Report http://tug.org/mactex"> http://unicode.org/reports/tr15/#Primary_Exclusion_List_Table.

##### TeXShop Changes 3.18

Version 3.18 has only a single change:

TeXShop contains an obsolete sync method called Search Sync, and a modern replacement by Jerome Laurens called SyncTeX. In recent versions of TeXShop, the obsolete Search Sync from the Preview Window to the Source Window randomly hangs, making TeXShop unresponsive This was supposed to be fixed in version 3.17, but it wasn't. Unfortunately, when the modern SyncTeX cannot find a match, it calls the old Search Sync, so SyncTeX can indirectly hang as well.

It is silly to waste time on an obsolete method, so in TeXShop 3.18, Search Sync from the Preview Window to the Source Window is disabled and does nothing. Most users will notice no change. Users who misconfigured SyncTeX will lose synchronization.

Users should check that

- in TeXShop Preferences under the Typesetting tab, the "Sync Method" is set to SyncTeX;

- in TeXShop Preferences under the Engine tab, the two configuration lines for "pdfTeX" each contain the following flags
    --file-line-error --syncTeX=1

- in TeXShop Preferences on the same page, the two "TeX + dvips + distiller" lines contain the following instruction
    --extratexopts "-file-line-error -synctex=1"

  The easy way to do this is to push the four "Default" buttons beside these four entries.

##### TeXShop Changes 3.17

Version 3.17 has the following features:

- In 3.15, we introduced a hidden default to fix the rendering of the Monoco font when used in the source window on Mountain Lion.
    defaults write TeXShop NSFontDefaultScreenFontSubstitutionEnabled -bool YES

  This fix does not alter the display of the Monoco font when used in the log window or the console. Another hidden preference can fix Monoco in these windows. This preference causes TeXShop to call the font routine [font screenFontWithRenderingMode:NSFontDefaultRenderingMode] and pass the resulting font to an AppKit object, although Apple's documentation says not to do this. So the new hidden preference should only be used if you cannot tolerate the Monoco font's default rendering.

    defaults write TeXShop ScreenFontForLogAndConsole -bool YES

- The spotlight indexer has not been distributed with the version 3 series of TeXShop. Now it is again included. This indexer was written by Norm Gail with additions by Max Horn. It was recently revised by Adam Maxwell.

- Choosing the "Source <=> Preview" menu item in External Editor Mode caused a crash. This is fixed.

- The previous version of TeXShop introduced an improved version of latexmk. TeXShop contains two latexmk engines which are active by default: pdflatexmk.engine and sepdflatexmk.engine. The "About This Release" item in TeXShop 3.17's Help Menu explains how to update these engines.

- A fix in version 3.16 replaced a deprecated method in the "Search sync" routine with a modern equivalent. Unfortunately, this fix had a bug which could crash TeXShop.

  Most users use the SyncTeX method to sync. But when this method fails to find a reasonable match, TeXShop reverts to the old Search Sync method, and thus could crash the program. The old Search sync method is now fixed.

  If by chance there are still problems with Search sync, a hidden TeXShop preference can turn off reverting to it when SyncTeX fails to find a match:

    defaults write TeXShop SyncTeXOnly YES

##### TeXShop Changes 3.16

Version 3.16 has the following features:

- After editing the Command Completion File, users had to save twice before open documents acknowledged the changes (although quitting and restarting TeXShop used the changes after a single click). This is fixed.

- New latexmk engines are available in ~/Library/TeXShop/Engines/Inactive/Latexmk. These engine files allow you to place a platexmkrc file in the same folder as the source you typeset. This "project resource" file provides further latexmk configuration. For instance, you could use this process to force latexmk to use texindy rather than the default makeindex for a given project.

  This improvement was suggested by Michael McNeil Forbes and adopted to latexmk in TeXShop by Herbert Schulz.

- When the Macro Editor is activated, a new menu item named "Save selection to file..." appears. This menu was broken and could not save files, but the problem is fixed. A similar problem with "Add macros from file..." is also fixed.

- A related problem was fixed in the menu command "Save Selection To File..." which saves a selection from the preview page to disk.

- The Synctex synchronization method worked in 3.15 and earlier. When this method fails to find a match, TeXShop reverts to the older search method of synchronization, but this was broken in 3.15. The earlier method is now fixed.

- When a new version of TeXShop first runs, it updates a few subfolders of ~/Library/TeXShop. Versions 3.12 through 3.15 were broken and updated these folders every time they started. This is fixed. Thanks to Yusuke Terada for the bug report.

- Users with an external Trackpad or builtin Multi-Touch Trackpad can use the "App Expose" feature by activating it in the Trackpad Preference Pane of Apple's System Preferences. Please three fingers on the pad positioned over the TeXShop Icon in the Dock or a TeXShop Window, and swipe down (you can configure this to use four fingers in System Preferences). Then only TeXShop windows will appear on the screen, and a list of hidden accessory files will appear along the bottom of the screen. The recent switch to UTI's has activated this feature of OS X.

##### TeXShop Changes 3.15

Version 3.15 has the following features:

- The default editing font has been changed to Menlo 12, which Apple now recommends as a fixed width font. This will not affect old users, whose original preference setting remains.

  Some users have chosen Monoco 9 or 10 as an editing font. This font may look somewhat fuzzy on Mountain Lion because Apple has optimized the text and font rendering routines for the Retina display. To get back to the old behavior, type the following command in Terminal. This is not recommended unless you are unhappy with the appearance of text in the edit window.

    defaults write TeXShop NSFontDefaultScreenFontSubstitutionEnabled -bool YES
- TeXShop 3.14 began the process of switching from Apple's old style indication of document types in the TeXShop Info.plist to the new style using Universal Type Identifiers (UTI). The process is complete in TeXShop 3.15. The change involved extensively rewriting the Info.plist file, and replacing depcrecated Cocoa file commands with modern equivalents. The change may improve system acceptance of the new high resolution icons by William Adams, but I still expect trouble and recommend the techniques outlined in the description of 3.14 to fix them.

- There are a few Japanese localization changes and a code fix by Yusuke Terada. Thanks.

- Small glitches have been reported when using magnification in the preview window. These glitches have been fixed. In case of remaining trouble, please give concrete details explaining how to reproduce the problem.

- The default encoding in TeXShop has been changed from MacOSRoman to ISOLatin9. This will not affect old users except at one minor spot.

  To understand the change, recall a few encoding basics. A computer file is just a long sequence of bytes, each an integer between 0 and 255. Other data, including picture data and sound data, is encoded in this form when written to disk. The majority of computer files contain ordinary text.. Text was originally encoded in Ascii format, which assigns a byte to each key on an American typewriter; Ascii only uses the first 127 bytes, so the bytes from 128 to 255 are available for other purposes. The Ascii encoding was later extended for use in Europe and elsewhere by adding accents, umlauts, and other characters to the upper 128 vacent spots. Many such encodings were invented, and a number of them are available in TeXShop. ISO Latin 9 is such an encoding. It encodes ascii characters in the first 128 positions, and all symbols commonly used in Western Europe in the upper 128 positions. ISO Latin 9 is essentially the same as the earlier ISO Latin 1, except that it includes the Euro currency symbol.

  Eventually, the computer industry invented Unicode, which is theoretically capable of handling the symbols used in all of the world's languages. Internally, TeXShop and other Mac OS X programs represent and process text in Unicode. There is no standard Unicode encoding for writing to disk, so all Apple routines which read text from disk or write text to disk require an extra parameter listing the encoding to be used. A commonly used encoding for Unicode is UTF-8. It has the advantage that ordinary ascii files are legal UTF-8 files. The disadvantage of UTF-8 is that random collections of bytes may do not contain legal UTF-8 code, so when the computer tries to open a file in UTF-8 which was written in another encoding, the computer sees garbage and returns nil. Encodings which extend ascii by adding symbols to the upper 128 places do not have this problem; if a file written with one such encoding is opened with a different encoding, the computer will not complain, but some symbols may appear with unexpected shapes.

  TeXShop must deal with this design in two spots. When TeXShop is asked to open a file, it reads the first few bytes in MacOSRoman to check whether a "ng and now opens it in ISOLatin9.

  Some users have requested that TeXShop's default encoding be UTF-8. Users can achieve this result by simply switching the default encoding to UTF-8 in TeXShop Preferences. UTF-8 is not the current default because I believe that many users have old files which were written with Ascii or some other earlier encoding. If these files contain straight ascii, they work fine as UTF-8 files. But if by chance a stray non-ascii character was entered by mistake, then users will see a mysterious dialog panic when TeXShop reports that the file cannot open in UTF-8.

- In version 3.14 the command "Edit Command Completion File" did not display the file to be edited. Now it does again.

- When displaying the Preview Page in fullscreen mode, users can mouse to the top of the screen and select menu options to change the Page Style and ResizeOption. In version 3.15, these new choices are remembered in TeXShop Preferences, and thus will be used again even if TeXShop quits between sessions.

- TeXShop 3.15 contains a patch by Ulrich Bauer for file handling. This patch will be important for users working with version control or with a server which might change the source while it is being edited in TeXShop. For instance, one such user report stated "we are several authors on a paper and we use svn to keep the versions coordinated. If I have a version of the file in the editor and perform an svn update in the terminal, the file changes on disk. However, if I save or typeset, the local version in the editor gets saved and I get no conflict warnings!" With Bauer's patch, "an open document is monitored for external changes to the file, and updated automatically if an external change occurs." Thanks very much to Ulrich Bauer for this important change.

##### TeXShop Changes 3.12 - 3.14

Versions 3.12 and 3.13 were never released. Some users downloaded beta copies of 3.12 to fix 3.11 bugs. Version 3.14 has the following features:

- New high resolution icons are provided for TeXShop itself, and for .tex and .pdf files. The icons are by William Adams.

  The original TeXShop icons were made by Jerome Laurens; I like them. With the introduction of the Retina display, high resolution icons became essential. A few users sent me samples which I claimed I'd use. But the new icons were not easily recognizable on the screen. So I tried to create my own icons,, and some users will have versions of TeXShop with these icons. This lesson taught me that I am incapable of creating icons.

  Finally William Adams agreed to create icons closely following Jerome's original idea. I'm very happy with the result. The TeXShop icon itself has changed only a little. For TeX files, Adams was able to build on and improve Jerome's icons using high resolution techniques.

  Thanks, William; having tried, I know it wasn't easy. And thanks Jerome for the original idea.

  TeXShop has received small tweaks in hopes that OS X will pick up the icons, but it may be necessary to provide some help. Moving TeXShop into the /Applications/TeX folder will help the system notice the icons. Then select a .tex file, and click "Get Info" in the Finder. Go down to the "Open with" section and select TeXShop Then press the "Change All" button. In one case on my system, a TeX source file was displayed in the Finder with an incorrect icon and no ".tex" extension. Adding that extension caused the Finder to associate the correct icon. <

- On Mountain Lion, sharing support has been added. New sharing items are available for both the source window toolbar and the Preview window toolbar. It may be necessary to execute the menu command "Customize Toolbar" to obtain them.

  If text is selected in the Source window when the Sharing item is pressed, the program will offer to share the selection. If no text is selected, the program will offer to share the entire source document. Similarly when a piece of text and/or illustration is selected in the Preview window, the program will offer to share the resulting graphic fragment. If there is no selection, the program will offer to share the entire pdf output file.

  Only appropriate sharing venues will appear, depending on the selection. For instance, it does not make sense to post an entire pdf document to Facebook. In all cases, the program will share to Email, Messages, or AirDrop. Depending on the selection, it will also share to Facebook, Twitter, Flickr, and other venues. Note that some services must be activated in Apple's System Preferences before sharing can take place.

- On Mountain Lion, TeXShop opened an empty window when the user tried to use the program with an external editor, and also when the user opened a pdf, png, jpg, or eps file. This is fixed.

- On Lion and Mountain Lion, selecting a region of the Preview left garbage lines on the screen as the mouse moved. This bug is mostly fixed.

- Latex make is upgraded to version 4.35. A new engine, sepdflatexmk, is available in the Inactive/LaTeXmk folder. This engine calls pdflatex with the --shell-escape flag, for users who need packages which call external programs during typesetting.

- Yusuke Terada fixed two bugs in 3.11. First, the encoding popup button was ignored in the open dialog; this is fixed. Second, problems in CommentOrIntentForTag were found and fixed.

- There is now a Preference interface to change the source text color. A preference to change the source background color was present in earlier versions.

- There are new metafun and metapost engines by Nicola Vitacolonna.

##### TeXShop Changes 3.11

- The ConTeXt engines have been renamed. I promised to make this change a year ago, but checking MacTeX-2012 shortly before release, I found that the promise was ignored. The old and new names are
    ConTeXt-MKIV.engine --> ConTeXt (LuaTeX).engine
    ConTeXt-xetex.engine --> ConTeXt (XeTeX).engine
    ConTeXt.engine --> ConTeXt (pdfTeX).engine

  The new names make explicit the TeX program which will run the ConTeXt macros for that engine.

##### TeXShop Changes 3.10

- The "--shell-escape'' flag has been removed from preference settings for pdftex and pdflatex. This flag presented security risks. Old users need to activate the change by selecting TeXShop Preferences, clicking the Engine tab, and pushing the "Default" buttons in the configuration section for pdfTeX and pdfLaTeX.

  Recall that pdflatex can accept illustrations in several different formats, including pdf, jpg, and png. But it cannot accept eps illustrations used by many old TeX documents. The epstopdf package solved this problem by calling Ghostscript to convert eps files to pdf format automatically during typesetting. This package required --shell-escape and that is why previous versions of TeXShop set the flag.

  Two years ago, TeXLive made conversion of eps files to pdf format easier and safer by introducing a restricted shell escape mode for pdflatex in which only a limited number of safe programs can be called during typesetting. This conversion was made automatic without including epstopdf, provided the graphicx package was included by the source document.

  We could have dropped the --shell-escape flag at that time, but there was another reason to continue using it. Originally, pdflatex accepted tif and tiff files. Eventually this feature was removed, but it was possible to convert these files to png format during typesetting using /usr/local/convert from ImageMagick. Unfortunately, TeX Live does not label convert as safe because in the Windows world there is an unrelated program which presents security risks. TeXShop 3.10 solves this problem by introducing a new method to convert tif and tiff files to png format.

- TeXShop 3.10 has a menu command "Convert Tiff" which is active when a source window is active. This command opens a dialog which shows all tiff files in the folder containing the source file. Users can choose one tiff file or several. Push the "Convert" button to create png forms of all such illustrations. This calls convert from ImageMagick if present, and otherwise calls the native sips program.

- A new Latex Template is provided to reflect these changes. Old users can obtain this template by moving it from ~/Library/TeXShop/New/Templates to ~/Library/TeXShop/Templates.

- TeXShop 3.10 omits the Create Project Root menu item. Use the alternate "% !TEX root = " syntax instead. Old projects using Create Project Root will continue to typeset.

##### TeXShop Changes 3.09

- When a pdf document is printed, TeXShop now selects Portrait or Landscape mode automatically. Moreover, "orientation selection buttons" have been added to the Print Panel, so the user can change the orientation if the auto selection mechanism fails. A "scale selection" was also added, so the user can rescale the document before printing.

- These printing changes also apply when printing TeX source. "Orientation selection buttons" and "scale selection" were added to the Print Panel.

- The split window command for the Preview window has been improved. The second portion now opens on the section of the document shown in the top portion rather than the top of the document. It has the same magnification as the top section of the window. Finally the magnification toolbar button is now in sync with magnification in appropriate sections of the split window.

- In the German localization, menu items to set the PDF display mode were mislabeled, and check marks in this menu didn't work. Both problems are fixed.

- Herb Schulz fixed a bug in Command Completion. When multiple windows were open, command completion in one window could interfere with command completion in another window. This problem is fixed.

##### TeXShop Changes 3.08

- Fixed a bug when double clicking on a left brace. This click again selects the text between this brace and its matching right brace.

- "TeXShop Tips & Tricks" is updated slightly.

##### TeXShop Changes 3.07

- TeXShop is now signed, as required in Mountain Lion. See the Gatekeeper documentation at http://www.apple.com/macosx/mountain-lion/features.html#gatekeeper.

- The "Sparkle" update mechanism now works with versions of TeXShop in the Lion series, 3.00 and higher.

- Herb Schulz' "TeXShop Tips & Tricks" was updated to version 0.5.3

- LatexMk was updated to version 4.31. This version of Latexmk creates a file list named "file.fls", which helps latexmk keep track of all file dependencies. The TrashAUX command has been extended to remove files with this extension.

- pdflatexmk is now one of the default engines. Only new users will notice this change.

- TeXShop now creates a ~/Library/TeXShop/Documents folder containing important documents. Currently many are duplicated from elsewhere in ~/Library/TeXShop, but this will be the spot to look in the future.

- New TeXShop releases will automatically update the Documents folder, just as they now automatically update bin, Engines/inactive, and scripts.

- In the German localization, there was a bug in the Preview Preferences for "Default page style." The buttons for "Double Sided" and "Single Sided, Continuous" were reversed, so they didn't do what they claimed to do. This is fixed.

- TeXShop contains the latest customized OgreKit by Yusuke Terada. As in TeXShop 3.06, this pane uses the same font as TeXShop source windows. Moreover, syntax coloring, parenthesis match highlighting, command completion, showing invisible characters and so on work in the OgreKit Panel. However, KeyBinding (AutoCompletion) is disabled in this OgreKit, as requested by a number of users in the TeX on OS X mailing list.

- Yusuke Terada also made the following changes:
  - Double clicking on one of the end characters of a "<" ... ">" pair selects both ends and all characters in between.

  - If the hidden preference MakeatletterEnabled is YES, selection of sequences containing '@' by double-clicking is supported. An example is " \@latex@error"

  - A small number of crashes were isolated and repaired

  - "Show Full Path" is improved on Lion, if chosen by the user in an optional tool bar item for the source window

  - As before, if text is selected and the "comment" item is chosen, the entire paragraph containing the selection is commented out. But now the text selection is preserved. This also works with the "indent" command.

  - When the source window was active and split and a file was drag-and-dropped to the bottom view, the action did not work. Now it does.

  - AppleScript macros are now saved with UTF8 encoding, so scripts can be written containing Japanese and other languages. This required a small modification in the "ScriptRunner" program which runs scripts which start with --applescript rather than --applescript direct.

##### TeXShop Changes 3.06

The changes in 3.06 are by Yusuke Terada.

- On Lion, the hidden setting SourceWindowAlpha sometimes does not work. Especially, on opening source files which contain "TEX root =", SourceWindowAlpha is always ignored. To fix this issue, I added a method "setAlpha:" into TSTextEditorWindow.m and modified "initWIthContentRect:".

- On Lion, if you open a source file which contains "TEX root = foobar.tex" but foobar.tex does not exist, the window of foobar.tex is newly created. (On SnowLeopard, an error dialog was displayed in such a situation.) I modified a single line of TSDocument-RootFile.m to fix this issue.

- I modified TSDocument-Jobs.m in order to allow the BibTeX engine setting to have options.

In addition, Terada improved OgreKit 2.1.4 to make it more useful.

- New OgreKit Find Panel uses the same font as TeXShop source windows. Syntax coloring, paren match highlighting, showing invisible characters and so on work also in OgreKit Find Panel. Auto Completion(Key Binding) and Command Completion also work. The settings of each function (on/off, its color) follow those of TeXShop.

- When regular expressions are enabled, the background color in the panel changes.

- Previously, when you open TeXShop source windows in different spaces, pressing Command+F caused switching spaces. By using the new OgreKit.framework, OgreKit Find Panel always appears in the current space.

- Previously, after using "Replace All" of OgreKit Find Panel, the colors of all characters in TeXShop source window were changed to black. In the new OgreKit.framework, this issue is fixed by sending "NeedsForRecolorNotification" to NotificationCenter after using "Replace All".

##### TeXShop Changes 3.05

- Before TeXShop typesets, it saves the source document. To do that, TeXShop calls the routine used by the "Save" menu. When AutoSave is activated, this menu item is renamed "Save A Version" and creates a new version of the document visible with the "Browse All Versions..." command. Users of TeXShop 3.01 who routinely typeset often obtained a enormous number of versions, making the "Browse All Versions..." command clumsy to use.

  TeXShop 3.05 contains significant patches by Ulrich Bauer which fix this problem. TeXShop now saves changes before typesetting, but without creating new versions. This is in line with the design of AutoSave in Lion, which saves changes every few minutes but creates new Versions much less frequently. Roughly speaking, Bauer's patches call autosaveDocumentWithDelegate rather than saveDocumentWithDelegate when the autosave call is appropriate.

- The program has a patch to TeXShop's syntax coloring routine by Daniel Toundykov. When this routine was made faster and more reliable in TeXShop 2.10, the modification broke the ability to change the background and foreground colors in TeXShop's source window. Toundykov's patch fixes this problem.

  To change the source background color's Red component

    defaults write TeXShop background_R 0.25
  Set background_G and background_B to change the corresponding Green and Blue components.

  To change the source foregrounds color's Red component

    defaults write TeXShop foreground_R 0.25
  Set foreground_G and foreground_B to change the corresponding Green and Blue components.

  To change the insertion point color's Red component

    defaults write TeXShop insertionpoint_R 0.25
  Set insertionpoint_G and insertionpoint_B to change the corresponding Green and Blue components.

- The folder ~/Library/TeXShop/CommandCompletion now contains a subfolder named GratzerMathCC with an expanded list of command completions. These new completions are by George Gratzer, and are useful when typesetting mathematics. The folder also has a pdf file documenting the additions. To activate the new completions, drag CommandCompletion.txt from the GratzerMathCC folder to the main CommandCompletion folder, replacing the existing CommandCompletion.txt there.

##### TeXShop Changes 3.04

- Auto Save is automatically activated in TeXShop 3.04. The Preference item to turn it on or off has been removed. Users who intensely dislike Auto Save can switch to an older version of TeXShop.

  The main reason for the change is that there is a serious bug in TeXShop when Auto Save is off. Without Auto Save, opening a graphic file e.g., a jpg, pdf, png, tiff, or eps file, also opens a blank source file with the same title. This also occurs when opening a document for an external editor, or opening a dvi file. This problem does not occur when Auto Save is on. Thanks to Di Xiao for tracing this bug to Auto Save.

  Notice that Apple programs like TextEdit also automatically activate Auto Save on Lion.

  A hidden preference is provided to turn Auto Save off, but using this preference is strongly discouraged. As explained above, it creates significant bugs when opening files with no source window, like jpg, tiff, pdf, png, eps, and dvi files, or when using TeXShop with an external editor. The hidden preference is

    defaults write TeXShop AutoSaveEnabled NO
- Version 3.04 contains a fix for "Show Full Path" in Lion, by Yusuke Terada.

- Added "md" to the file types TeXShop can edit, and typesetting engines can process. Such "markdown" files can be processed by pandoc and converted to latex, epub, and pdf. See http://johnmacfarlane.net/pandoc/

- The German localization has a different key equivalent for the menu command which enlarges the font in the source document.

- When the Preference Item for Arabic, Hebrew, and Persian is activated, lines containing one of these languages are right justified. The new rule is that a line is right justified if its first, second, or third letter is in one of these languages. For instance, this rule right justifies a line beginning with "\" containing Persian letters, but does not right justify the command "\section{ ... }" even if the section title is in Persian.

- There is a hidden preference to change this behavior. If the following command is entered in Terminal, a line containing any characters in Arabic, Hebrew, or Persian will be right justified:
    defaults write TeXShop RightJustifyIfAny YES

- When the Preview window is taken full screen, it switches into double page mode. The user, however, can switch it into single page mode using a menu command. This is useful when displaying Beamer documents. If the window is taken out of full screen mode, and later back into it, the display mode change made by the user will be remembered. TeXShop now remembers the mode change if it is made using a contextual menu rather than a menu in the menu bar. Thanks to David Poole for pointing out this bug.

##### TeXShop Changes 3.03

- Choosing the "Print ..." menu with the source window open started a print job which understood "Page Setup" changes. Choosing the same menu with the preview window open started a print job that ignored "Page Setup." The print dialogs for these two operations were different: one was a standalone dialog and one was a drop-down dialog in a window. Both dialogs might be open at once on the screen. This problem is fixed.

- The hidden preference
    defaults write TeXShop TagSections NO
  turned off all tags, rather than just tags for sections and subsections. This is fixed.

##### TeXShop Changes 3.02

- The program is again called "TeXShop" rather than "TeXShop-64". Renaming the program was a mistake because it broke several Applescript macros.

  TeXShop's Sparkle upgrade mechanism still upgrades within the 2.** series and within the 3.** series, but not from one series to the other. A major reason for renaming the program was to obtain this result, but it turns out that renaming is not necessary for it.

  Note that MacTeX-2011 contains TeXShop 2.43. If you put TeXShop 3.02 in /Applications/TeX and later upgrade to MacTeX-2011, the program will be downgraded to TeXShop 2.43. If you haven't yet upgraded, it might be best to put TeXShop 3.02 in /Applications.

- In TeXShop 3.00 and 3.01, line numbers do not scroll when using overlay scrollers. They do scroll with legacy scrollers. If the source window is split, the top portion scrolls with overlay scrollers.

  Debugging experiments show that this is a Lion bug. We can reproduce it with a small 15 line program.

  TeXShop 3.02 has an ingenious patch by Yusuke Terada to temporarily fix the problem. TeXShop has a hidden preference to turn this on; by default it is on. To turn the fix off

    defaults write TeXShop FixLineNumberScroll NO

  We hope that ultimately Apple will fix the bug. When they do, the patch will be turned off automatically.

- Automatic tagging of "% \chapter" in docstrip didn't work. Now it does.

- All three "Find" methods --- OgreKit, Find Panel, Find Bar work for both the source and log windows. The OgreKit method also works for the console window, but (at least temporarily) the other methods don't.

##### TeXShop Changes 3.00 and 3.01

- See the Lion section of TeXShop Help for changes in TeXShop-64 version 3.00.

##### TeXShop Changes 2.42 and 2.43

- The only change in TeXShop 2.43 is a hidden file in ~/Library/TeXShop/New, which was not updated for version 2.42. As a result, users did not get the changed ConTeXt engines in ~Library/TeXShop/Engines/Inactive. They will get them in version 2.43.

- The main change in TeXShop 2.42 is in the code to process SyncTeX. The new code is required for TeX Live 2011, and works with earlier TeX distributions as well.

  Users will notice the change when they sync from source to preview. The selected portion in the Preview window is hilighted in yellow rather than circled in red. Moreover, a larger portion is hilighted. Users may wish for the more precise synchronization in older versions of TeXShop. The new code, however, is faster and much more stable; using this foundation, more precise syncing will be possible in future versions of TeXShop.

  If SyncTeX cannot find a match, TeXShop defaults to the earlier search synchronization method. This method still circles matching portions in red. So red circles rather than yellow selections indicate that SyncTeX could not find a match.

- Tags have been extended slightly to deal with docstrip documents. Thus the tags menu now recognizes
    % \chapter
    % \section
    % \subsection
    % \begin{macro}
    % \begin{environment}

- Both the log file and the console are shown using the document's encoding rather than MacRoman encoding. The primary advantage of this change is that users with Unicode source files will see unicode characters written correctly in the log and console output.

- TeXShop 2.42 contains latexmk 4.24.

##### TeXShop Changes 2.41

- The old Auto Completion facility in TeXShop has been given a more understandable name: Key Bindings. All features remain the same. Internally in code, the feature is still called "AutoCompletion", but interface elements have been changed to the new name.

- The facilities Key Bindings and Command Completion have been made more prominent in the interface. The Source menu has a new "Key Bindings" menu and the "Command" menu just below it has been renamed "Command Completion". Both of these items have submenus. The Key Bindings menu has submenus
    Toggle On/Off
    Edit Key Bindings File...
  and the Command Completion menu has submenus
    Add Word
    Marks
    Edit Command Completion File...

  The commands in the Command Completion menu were present in earlier versions and have been rearranged so make the two facilities parallel. The Edit Key Bindings File... item is new, bringing up a new editor by Yusuke Terada. Thus users no longer need edit a configuration file in ~/Library/TeXShop. The "Toggle On/Off" item turns key bindings on or off on a file by file basis, duplicating functionality previously provided by an optional toolbar source item. The old Preference Panel item turning Key Bindings on or off remains, setting the default when files are first open.

- A new "Close Current Environment" item in the Source Menu closes the open environment nearest the cursor. This feature will remain in future versions of TeXShop, but it is likely that the menu will disappear in the future and users will access the feature using an item in Key Bindings, Auto Completion, or Macros, because these facilities already have short commands which insert text into the source code.

- The default values for "pdfTeX" and "TeX and DVI" under the Engine tab in the Preference dialog have become too long to be shown in the dialog. So instead, button are provided which insert these default values into the appropriate fields. After doing that, the values in the fields can be edited, of course.

- If a portion of the source code is selected and then the Statistics panel is opened, the panel shows statistics for that selection, rather than statistics for the entire source file.

- TeXShop 2.41 contains latexmk 4.23a.

##### TeXShop Changes 2.40

TeXShop 2.40 fixes a small number of minor bugs.

- When working with a project containing a root file, windows would sometimes move as new chapter source files were opened. This is fixed.

- TeXShop has a hidden preference, "RedConsoleAfterError", which colors console output red after an error occurs in the source. This preference stopped working several versions ago. It again works.

- A few users disliked the temporary red color of parentheses in the new parenthesis matching code, but didn't want to turn parenthesis matching completely off because they wanted the matching parenthesis to blink. These users can now change the temporary parenthesis color in the Preference Panel.

- Hidden preference items were added to change all of the colors used in the new 2.38 additions by Yusude Terada: the temporary parenthesis color (default is magenta), the highlight color for text between matching parentheses (default is yellow), and the color of invisible characters when shown (default is orange).
    defaults write TeXShop highlightBracesRed 1.00
    defaults write TeXShop highlightBracesGreen 0.00
    defaults write TeXShop highlightBracesBlue 1.00
    defaults write TeXShop highlightContentRed 1.00
    defaults write TeXShop highlightContentGreen 1.00
    defaults write TeXShop highlightContentBlue 0.00
    defaults write TeXShop invisibleCharRed 1.00
    defaults write TeXShop invisibleCharGreen 0.50
    defaults write TeXShop invisibleCharBlue 0.00

- On Snow Leopard and above, matching braces are briefly marked with a yellow badge over the brace; this fulfills a request for great visibility of the matching characters. The badge can now be turned off with a hidden preference:
    defaults write TeXShop brieflyFlashYellowForMatch NO

##### TeXShop Changes 2.39

TeXShop 2.39 fixes a significant bug for users who write in Hebrew and Arabic. In version 2.38, typesetting sometimes displaced diacritical marks left one character, even though the source looked correct. The problem was not in the typesetting, but instead in the source code, which was converted to an incorrect form when saved. This is fixed. See the explanation which follows.

- Some languages use extensive diacritical marks, including more than one mark for each letter. For these languages, there are two conventions about the order that the main character and diacritical marks are written. The two conventions are
    UTF-8-Mac = NFD = Normalization Form Decomposition
    UTF-8 = NFC = Normalization Form Composition

  A major problem is that the two forms look the same on the screen, but typeset differently (or in some cases not at all). Users in Japan sometimes copy and drag UTF-8-MAC text to TeXShop, but then find that they cannot typeset. So Yusuke Terada provided automatic conversion. This breaks Hebrew and Arabic typesetting.

  In TeXShop 2.39, a new Preference item under the Miscellaneous tab turns this automatic conversion on. The preference item should be turned on by users in Japan, but most other users should leave it off.

- The program comes with French translations by Rene Fritz of Herbert Schulz' two documents on Command Conversion and TeXShop Tips and Tricks.

- Minor improvements have been made in the French, Spanish, German, and Chinese translations.

##### TeXShop Changes 2.38

Version 2.38 contains some wonderful changes by Yusuke Terada, who made the changes at the request of employees in the company he works for in Tokyo. Most of Terada's changes are activated by new items in the TeXShop Preference Panel, which are turned off by default. So users need to turn these items on and experiment. You can easily return to the old behavior if desired. Here are Terada's changes:

- Show Invisible Characters: TeXShop can now show ordinary space characters, Japanese full width space characters, tab characters, and newline characters visually in the source window. Preference items turn each choice on or off, so users can display only some items if desired. A Preference item determines whether invisible characters are shown when files are first opened, and a menu item then toggles invisible characters on or off on a file-by-file basis.

- Much better handling of parentheses: { and }, ( and ), [ and ], and < and >. When such a pair is closed, the matching opening parenthesis is clearly marked, and the entire section between these parentheses is colored yellow. This yellow color remains until another character is typed, and then it vanishes. Thus it is much easier to close a parenthesis and then stop and make sure the scope of that parenthesis pair is correct. By default, this feature is on, but it can be turned off in Preferences.

- If a parenthesis is typed with not matching pair, the computer beeps, or if desired the screen flashes. This feature is off by default and must be turned on in preferences.

- The parenthesis matching settings are controlled by five preference items, which can be turned on or off individually. The first item, "Highlight Enclosed Characters", marks text between matching parentheses in yellow when a parenthesis is closed. The yellow vanishes when additional characters are typed. The second item, "Show Indicator in Moving", activates this feature when using arrow keys to move through the text, so when the active position becomes a parenthesis, the area it controls is shown in yellow. The third item, "Blink Highlight", causes a matching parenthesis to switch temporarily to red and then blink back to its natural syntax color. When this item is off, the matching parenthesis will remain red until a new character is typed. The last two items, "Beep for Isolated Parens" and "Flash Back for Isolated Parens", cause the computer to beep, or momentarily flash the source window background, when a parenthesis is typed which has no match.

- Two new items were added to the Window menu: "Next Source Window" and "Previous Source Window". These cycle through source windows without changing the Preview Window. This is particularly useful in a project which inputs multiple source files.

- The default preference setting which determines the position of source windows when first opened is "Remember last position on close". But an introductory movie in TeXShop's Help menu suggests changing this preference setting to "All windows start at fixed position". Because this change is recommended, the original "Remember last position on close" code in TeXShop did not work well.

  Terada has improved the default greatly. New windows now appear cascading down and to the right as recommended by Apple's Interface Guidelines, rather than on top of each other. Try this method to get a feel for Terada's improvement. Similar remarks apply for positioning of Preview windows.

  Note that if you use the "All windows start at fixed position" setting, Terada's changes do not apply and TeXShop works as it always has.

- TeXShop uses the default Cocoa behavior for window titles. Before considering Terada's modification, recall this default behavior. Suppose a source file is titled "Sample.tex". Then the title at the top of the source window will read "Sample.tex" and the title at the top of the preview window will read "Sample.pdf". If you click on either title while holding the Command Key down, a pull down menu will appear listing the various components of the full path to the file. Choosing one of these items will open the corresponding folder in the Finder. In this way, it is very easy to go to the actual source or output file in the File system. Window titles are also listed in TeXShop's "Window" menu. Selecting a window title there will bring the corresponding window to the front.

  All this is fine unless your work flow includes the following sort of action: suppose you have folders named Sample1, Sample2, Sample3, and Sample4, and suppose each folder contains a file named Data. Suppose that your master document uses Sample1/Data and Sample2/Data. If your master and both data files are open on your desktop, you may want to switch from one data file to another using the items in the Window menu. But these items will both be named "Data". It would be much better if the Window menu listed "Sample1/Data" and "Sample2/Data" so you could keep them straight.

  Terada's change makes this possible. An optional toolbar item named "Show Full Path" with a checkbox is provided for the source window; this item must be added using "Customize Toolbar" and isn't in the default toolbar. Checking this item will cause the source and preview windows to list the full path to files rather than just the title of the files. Moreover, this full path will be listed in the Window menu.

  Full path can be turned on or off on a file by file basis, so some files can show the full path while others show only the window title. The default checkbox state in the toolbar of a newly opened window will be the state last set by the user. Thus a user who always wants the full path displayed can check the item once and then forget it, even when quitting and restarting TeXShop. If that user changes their mind, uncheck the item once and forget it. But some users will want to turn on full paths for some files and turn it off for other files.

- A new menu item in the TeXShop Help menu is provided, named "Open Style File". This item will open any style file in the texmf trees visible to TeX and LaTeX. This command uses "kpsetool" to find such style files, but the tool and its parameters can be changed in a new Engine file preference.

- Syntax coloring has been changed slightly. Previously, the @ symbol ended a TeX command, so "\@this" would only color "\@". But now the command is assumed to continue until a break character, so for example, every character of the following line will be colored:
    \ifx\@@input\@undefined\let\@@input\input\fi
  This will mainly affect users editing style files.

  We suspect that most users won't notice the change, and those who notice will like it. But the old behavior can be restored with a hidden preference:

    defaults write TeXShop MakeatletterEnabled NO

- A minor bug fix to the "Uncomment" command: previously, TeXShop removed empty uncommented lines, but now it doesn't.

- A new preference "BibTeX Engine" is provided listing the default BibTeX engine. Most users will list "bibtex" as the default. This preference is mainly present for users in Japan, where users have access to
    bibtex, jbibtex, pbibtex, and ubibtex

- New hidden preference items named "backgroundAlpha" and "ConsoleBackgroundAlpha" are provided. For example, the following commands will provide source windows with translucent backgrounds:
    $ defaults write TeXShop SourceWindowAlpha 0.9
    $ defaults write TeXShop backgroundAlpha 0.6

  (Actually my experiments show that both of these preference items are irrelevant, and the old SourceWindowAlpha and ConsoleWindowAlpha, documented in TeXShop Help, are enough to make transparent windows. I'll keep this item in the change document 'just in case.' -- Dick Koch)

- When "utf export" is enabled to support pTeX in Japan, UTF-8-Mac encoded text is automatically converted to UTF-8 encoded text.

In addition to the work of Terada, TeXShop 2.38 has the following changes:

- Version 2.38 contains a new Chinese localization by Linus Yang, from Fudan University in Shanghai, China. Thanks!

- The Help menu now contains a link to a wonderful document by Herbert Shultz called "TeXShop Tips & Tricks." This document describes a number of useful TeXShop features in much more detail than the Help panel, including sections on working with large documents, pdflatexmk, editing shortcuts, auto completion, and command completion.

- The following bug is fixed: when a TeX source window is closed, the pdf Preview window is also closed. In previous versions, the Preview window was not deliberately closed in code, but it closed anyway because closing a document releases its nib file. This may have caused crashes in a small number of cases. In Apple's forthcoming Lion system, the corresponding crash always happens. But version 2.38 of TeXShop fixes this problem.

  In short, this fix may help stability on earlier systems, and is required for Lion.

- The next addition is by Alvise Trevisan. In previous versions of TeXShop, if you type begin{itemize} (or \begin{}} or a number of other typical fragments) and then push the Escape key, the corresponding \end{itemize} will appear on the following line and it is only necessary to fill in the intermediate lines. Unfortunately, if the opening \begin{itemize} is indented, the indentation is not preserved for the corresponding \end{itemize}. But with Trevisan's modification, it is preserved.

- Herb Schulz adopted Trevisan's code to provide a similar preservation of indentions throughout Command Completion.

- The ConTeXt-MKIV.engine and the document "About the Inactive Folder" in TeXShop/Engines/Inactive have been revised to indicate that users must run the following command ONCE in Terminal before using this engine:
    luatools --generate

- Added the file extensions bbx, cbx, and lbx to the list of files which TeXShop can edit, and activated syntax coloring for such files.

- Added the extensions .bcf and .run.xml to Files->Trash Aux Files. This is needed to switch from biber to bibtex in latexmk.

- Alan Munn updated the help files advanced_otherfiles, advanced_syntaxcolor, basic_preferences, and advanced_personaltetex. The revisions document a couple of obscure features, but the key point is that Munn's formatting makes these files easier to read. It also introduces some inconsistency in the appearance of help pages, but we hope the remaining pages will be reformatted in the same way over time.

- The program contains version 4.23 of Latexmk.

- For some time, TeXShop has contained a Substitutions submenu in the Edit Menu. This menu allows users to activate a number of operating system enhancements for inputting text:
    Smart Copy/Paste
    Smart Quotes
    Smart Dashes
    Smart Links
    Data Detectors
    Text Replacement
  Consult Apple documentation for details.

  Until version 2.38, users had to activate these items each time they opened a file. In TeXShop 2.38, the last choices a user makes are remembered and used when new files are opened, even after quitting TeXShop.

  Warning: Operating system 10.4 (Tiger) only supports smart Copy/Paste. System 10.5 (Leopard) adds support for smart quotes and smart links. The remaining items are only available in system 10.6 (Snow Leopard) and beyond. All items are standard parts of Apple's text system, and some may not be appropriate when editing TeX/LaTeX documents.

- TeXShop 2.38 adds a new magic marker to select the spelling dictionary; this idea was first introduced in the latest release of TeXworks. Suppose a source file is written in German and one of the first twenty lines in the file is
    % !TEX spellcheck = de-DE
  Then the spell checker will use the German dictionary with this document, but will use the default spelling dictionary for all other open documents without this line. TeXShop reads this line when opening the file, so when the magic marker is created, the file must be saved, closed, and reopened before TeXShop will use it. If a project uses several include files, each include file must contain the line.

  When using this command, Apple dictionaries are specified using either the ISO 639-1 or ISO 639-2 standards for determining language designations, and the ISO 3166-1 standard for regional designations. The regional designation is used to distinguish between a language as used in one part of the world and that same language in another part of the world. For instance, French is "fr" in ISO 639-1 and "fre" in ISO 639-2; French (France) has regional designation "FR" and French (Canadian) has regional designation "CA". So to select a French dictionary in Canada, "spellcheck = fr" will work, and "spellcheck = fr-CA" would be even better. Since these are ISO standards, similar commands will work on other platforms, although TeXShop only runs on the Mac. The language standards are described in

    http://www.loc.gov/standards/iso639-2/php/English_list.php
  and the regional standards are at
    http:www.iso.ch
  although this second site is difficult to use.

  Specifying a cocoAspell dictionary is slightly tricky. The Spelling Preference Pane installed by cocoAspell lists all cocoAspell dictionaries, including active dictionaries. Names in this list are the names to be used following "spellcheck". When these dictionaries appear in Apple's list in the Language & Text panel, they often have different names. Those names don't work.

  For example, there is a ocoAspell dictionary named German. If the German dictionary is selected in the Spelling Preference Panel, then the resulting dictionary will be listed in Apple's panel as Deutch (Aspell). In this case

    % !TEX spellcheck = de
  will select Apple's German dictionary and
    % !TEX spellcheck = German
  will select the cocoAspell German dictionary, while
    % !TEX spellcheck = Deutsch (Aspell)
  will select nothing.

  Similarly there is a cocoAspell dictionary named German (Germany) in the Spelling Preference Pane. To select it, the appropriate command is

    % !TEX spellcheck = German (Germany)

##### TeXShop Changes 2.37

- TeXShop contains a slightly updated Japanese localization by Seiji Zenitani.

- The TeXShop/Engines/Inactive folder now contains Latexmk 4.18 and a short new document titled Quick Start Guide for latexmk.

- In Help and other spots, Dick Koch's email address was changed from
    http://www.uoregon.edu/~koch/texshop
  to
    http://pages.uoregon.edu/koch/texshop
  to conform to changes for all faculty at the University of Oregon.

##### TeXShop Changes 2.35 amd 2.36

- TeXShop 2.35 is an internal version never publicly released.

- Added a new preference item which switches between the tab and escape keys as the trigger for command completion.

- Recall that complicated commands entered with command completion include "marks" where the various command arguments occur. The Completion/Marks menu contains menu commands to go to the next mark, or to the previous mark. These menu commands have keyboard shortcuts which have not been changed. But TeXShop 2.36 adds extra keyboard shortcuts for these two commands:
    option-escape to go to the next mark
    control-escape to go to the previous mark

  When the tab key triggers command completion, these shortcuts become

    option-tab to go to the next mark
    control-tab to go to the previous mark

- Keyboard shortcuts always cause trouble for some users, who may have third party utilities which already use those shortcuts. So there is a hidden preference to turn off the new shortcuts for next mark and previous mark:
    defaults write TeXShop CommandCompletionAlternateMarkShortcut NO

- Added a menu item following the File/New command:
    New from Stationery...

  Selecting this item brings up a list of stationery: Beamer, AMS-Article, Letter, Project, ProjectChapter, etc. Each item is listed in the left column and briefly described in the right column. Selecting an item opens a new document with the contents of the chosen stationery. This document is not associated with the stationery file on disk, so pushing the typeset button asks the user to save the document and suggests as a default name "Untitled", exactly as if the document had been created by the New command.

  Version 2.36 contains rather rudimentary stationery files. I'm hoping users will contribute better and more robust alternatives for future versions.

- Stationery files are stored in a new folder: ~/Library/TeXShop/Stationery. This folder works like all other folders in ~/Library/TeXShop. Users can remove files from the folder, edit files currently there, and add additional files. To recreate the default folder, entirely remove the Stationery folder and restart TeXShop.

  Each stationery document ends with extension ".tex". If the folder contains a file with the same name, but extension ".comment", then this file is assumed to contain a one line comment about the file, which will appear in the right column of the stationery dialog. Thus the folder contains both Beamer.tex and Beamer.comment. This "comment" file is optional. An easy way to create a comment file is to duplicate an existing file, rename it, and edit its contents with TeXShop.

  The stationery mechanism is a variant of the Templates menu in TeXShop, which is unchanged. My hope is that the default stationery menu will lead new users more quickly to the standard documents almost everyone eventually creates. Hence I intend to keep the default collection fairly small. Users are free to add additional stationery to the mix.

- Version 2.36 contains a slightly revised LilyPond engine.

- Version 2.36 contains a new default ConTeXt-MKIV engine, created after consulting Hans Hagen at TUG-2010.

##### TeXShop Changes 2.34

- Removed keyboard shortcut for "hard wrap", since pushing it by mistake can have drastic consequences.

- Added new Edit menu items: Substitutions, Transformations, Speech. These are standard Apple items, which automatically add these features to the editor. However, part of this addition is not complete. In a future version, there will be Preference items to preserve the user's choices for smart copy/paste, smart quotes, smart dashes, smart links, data detectors, and text replacement. Currently, choices are temporary while the document is open.

- New version of Latexmk, 416a.

- LuaLatex is now a default engine, since LuaTeX has progressed to a system which can be used for real work. But only new users will see the change; older users must drag LuaLatex from the Inactive folder to the active area.

- The Sage engine and documentation are slightly improved.

- Fixed the problem of offset line numbers in the German localization.

- Added the Stex extension as one TeXShop can edit and syntax color; this is used when working with R.

##### TeXShop Changes 2.32 and 2.33

- TeXShop 2.32 is an internal version never publicly released.

- The major change in 2.33 improves the upgrade process. In previous TeXShop versions, it was necessary to regenerate various folders in ~/Library/TeXShop to get new defaults. While this method still works, the changes make regeneration unnecessary. There are three aspects to the change:

  - TeXShop now automatically updates three subfolders of ~/Library/TeXShop: bin, Engines/Inactive, and Scripts. This upgrade does not remove files added by the user; it only writes new files and folders or updates existing files and folders known to TeXShop. Note that active engines in ~/Library/TeXShop/Engines are not updated; only the inactive folder is updated.

  - TeXShop adds a new folder, ~/Library/TeXShop/New. This folder can be totally rewritten during an update.

  - Finally, TeXShop Help contains a file named "About This Update," which is rewritten for each update, explaining the exact steps needed to obtain new defaults.

  As an example of how these changes are used, consider the case when there is a new default Macro. It is no longer necessary to regenerate the Macros folder to obtain this Macro. Instead, the New folder will contain the new macro. Use the Macro Editor's "Add Macros from File..." item to add the macro, and drag it in the Macro Editor's list to an appropriate spot.

  Another example: the latexmk engine is often upgraded, but the upgrade usually changes support files in bin rather than the engine itself. From now on, such upgrades will be made automatically without user intervention. Fairly often, additional engines are added to the Inactive folder during upgrades. These will automatically appear without user intervention. For version 2.33, it is important that latexmk users read "About This Release" so they will make a few changes needed to automate future upgrades.

  One technical detail: the New folder contains a hidden file listing the version of TeXShop which created the most recent update. TeXShop will only update files in ~/Library/TeXShop if it is a later version than the version listed in this hidden file. So TeXShop doesn't update at each new start, and old version can be run without changing ~/Library/TeXShop.

- Improved Spanish localization by Juan Luis Varona.

- Fixed a bug reported by Tomas Zahradnicky: when a user attempted to print a file which had not been typeset, a dialog appeared asking the user to typeset first. The dialog has an "OK" button, but clicking the Close icon instead caused a hang. Fixed.

- Fixed a bug reported by Micael Sharpe: searching in the Preview window and afterward closing the source window sometimes caused a crash. Fixed.

- New code by Scott Lambert to improve the Comment/Uncomment and Indent/Unindent code.

- Added fdb_latexmk to the extensions automatically removed by "Trash AUX Files", to improve the operation of latexmk.

- The flip code used by some default macros is now a universal binary.

##### TeXShop Changes 2.31

- Goto Error is improved. It now highlights the text just before the error (as reported by TeX in the console) rather than an entire line containing the error. When searching for errors, users should first look at the spot where the highlighting ends. This change was requested by users who let TeXShop automatically soft wrap lines; to TeX, these source files appear to contain whole paragraphs rather than individual lines. In earlier versions of TeXShop, Goto Error highlighted these entire paragraphs, making the error hard to spot.

- Fixed the notorious "toolbar incorrectly drawn bug". This bug occurred when the Preview toolbar contained the "mouse mode matrix" but this matrix was forced offscreen when the Preview window appeared because the window was too narrow to contain it. In that situation, the tools in the toolbar were drawn too high and partially cutoff, or so high that they were invisible. The bug is fixed.

- Fixed an obscure bug reported by Jean-Michel Bismut: he got intermittent crashes when closing the Preview window with command-W or the red close circle. The bug mainly appeared when TeXShop was used with an external editor. Fixed.

- Fixed a bug reported by Cesar Rivas: when the Default Page Style was "Single Page", the toolbar scale reported the wrong value, and thus zoom in and zoom out started from the wrong values. The bug fix solved another problem: previously if the user picked a mouse tool like "magnify" that was not the default and then typeset, the toolbar would still show the magnify tool active, but the actual tool would change to its default value. Fixed.

- TeXShop has a new SageTeX engine by Dan Drake. This engine is easier to install because SageTeX is now part of Sage rather than an extra download. The engine no longer reruns Sage when typesetting a source in which the sage commands have not changed.

  For a brief time, SageTeX was part of TeX Live 2009. This is no longer true because SageTeX is closely tied to Sage and needs to be updated when Sage is updated. SageTeX users should carefully read the short document in ~/Library/TeXShop/Engines/Inactive/Sage before installing the new engine; the document explains the simple step required when upgrading Sage.

- The internal TeXShop script which calls ConTeXt was modified to make the Abort command work. Although it worked for other engines, it recently stopped working for ConTeXT. Steffen Wolfrum reported the bug and was instrumental in finding a fix. The broken script was a tcsh script, and Wolfrum discovered that Abort worked when the internal script was rewritten as a bash script.

- Added a new menu item, "Abort Typesetting", with a keyboard shortcut. This makes it possible to call abort from the keyboard without using the mouse. The shortcut works regardless of which window is active.

- The pdf file is now closed when the Preview window is closed. In version 2.30, the entire document had to be closed to close the pdf file. In 2.29, TeXShop itself had to quit to close the file. So we are making incremental progress.

- Improvements in French localization by Rene Fritz.

- Slight improvements in ConTeXt and MetaPost help sections.

- Slight improvements in latexmk.

- Better error detection in the "Paste Spreadsheet Cells" macro.

- The default KeyEquivalents.plist in ~/Library/TeXShop/Menus was defective; among other things, it had comments within comments, which is illegal. The file has been fixed.

  KeyEquivalents.plist doesn't actually change any keyboard shortcuts because the changes it illustrates are commented out. But users can change TeXShop's default keyboard shortcuts by editing the file. However, there are some limitations. The OgreKit Find Panel menu items are handled in a special manner and cannot be changed with KeyEquivalents. The Macro menu items are also handling in a special way and cannot be changed with KeyEquivalents, although they can be changed with TeXShop's built-in Macro Editor. Finally, File menu items are sometimes overridden by Cocoa, so shortcut changes in that menu can have unintended consequences.

##### TeXShop Changes 2.30

- TeXShop has a new item in the Help Menu named "About This Release." This item will be revised for each release, and explains any steps needed to activate new features. Users should form a habit of reading this short file after upgrading.

  New users get the latest defaults and can ignore the step. But older users may need to make small changes in Preferences, and regenerate certain subfolders in ~/Library/TeXShop. These locations allow users to modify the default behavior of TeXShop, so the program does not automatically update them because it does not want to deactivate user choices behind the user's back.

- This version fixes a crucial crash bug involving synctex, searching pdf documents, and related notifications. Some users ran into the bug when attempting to search pdf documents. Others had crashes immediately after syncing. Many users avoided the crash entirely. Now it should be fixed for everyone.

- TeXShop has a "Goto Error" menu command, mirrored on the console window. Until this version, the command only worked on individual files. But the command now works with projects controlled by a root file. If an error occurs in an included source file not open on the desktop, that source will open and the line with the error will be highlighted. This change requires a new flag in all engines: " --file-line-error". In TeXShop default preferences, this is set for pdftex, pdflatex, simpdftex, and xetex. If users wrote other engines, they will need to add the flag for these.

- New MetaPost and MetaFun engines by Nicola Vitacolonna are included. The engines are called "nv-metapost" and "nv-metafun." To prepare for these engines, the operation of TeXShop when using MetaPost and MetaFont has been revised. The built-in MetaFont command has been removed entirely; Vitacolonna's nv-metapost works much better for that purpose. The buildin MetaPost command has been retained for compatibility with projects by current users. This command just calls mpost directly. The preference item which switched this command between MetaPost and mptopdf has been removed.

  Users working with MetaPost for illustrations, or MetaFont, users will want to use nv-metapost and nv-metafun instead. Minimal documentation for these commands is available in TeXShop Help's advanced section on ConTeXt and MetaPost. But a more extensive README by Vitacolonna is available in ~/Library/TeXShop/Engines/Inactive/MetaPost.

- Very important improvements to command completion by Herbert Schulz are now included. These improvements allow "tags" in completed commands with parameters. When a command is completed, the entire command, including tags where the required parameters go, appears in the source file, and the first tag is selected. The user can type the parameter, replacing the tag. A keyboard shortcut then activates a new menu item which jumps to the next tag. The user can thus fill in all parameters without removing their hands from the keyboard.

  A greatly expanded command completion file by Herbert Schulz is included in this release. For detailed instructions, read the document about command completion written by Schulz and available in ~/Library/TeXShop/CommandCompletion.

- A new "Paste Spreadsheet Cells" macro by Alan Munn has been added to the Macro menu. This wonderful macro allows users to copy an array of cells from a spreadsheet and paste the array, properly formatted with TeX commands, in the TeX source code. Munn wrote instructions for this command, which are in TeXShop Help's Macro section, in Default AppleScript Macros.

- A new latexmk engine, version 4.13a, is included.

- The right justification feature introduced in TeXShop 2.28 for Arabic, Hebrew, and Persian has been improved. Now a line must start with a character from one of these languages before it is right justified. Thus lines containing TeX commands with embedded Arabic, Hebrew, or Persian will still be left justified.

- Added Windows Latin 1 to the list of supported encodings.

- Added "ctx" to list of extensions which are regarded as TeX files and can be syntax colored and typeset.

- In 2.29, closing a document left the associated pdf file open until TeXShop quit. This bug is fixed; the pdf file is closed when the source document closes.

##### TeXShop Changes 2.28-2.29

Here are the changes in version 2.29:

- Revised SyncTeX. The code now has an embedded copy of "synctex" from TeX Live 2008, so it is independent of synctex changes in TeX Live 2009. Note that "synctex" is the script by Jerome Laurens to interprete synctex output, NOT the actual technology to produce this data). The Intel version of the embedded file also has information to interprete files produced by dvips, but the powerpc version does not. So on intel, synctex works better with dvips tasks. In early versions of TeXShop for TeX Live 2009, the embedded code didn't have powerpc code, causing crashes on powerpc. This is fixed.

Here are the changes in version 2.28:

- The =synctex=1 flag was added to the XeTeX and XeLaTeX engines.

- Revised the Hiero engine to deal with new installation instructions on the web page.

- Fixed a bug which broke SyncTeX when filenames contained unicode characters.

- Trash AUX files now trashes .synctex and .synctex.gz files.

- The script for for mptopdf was changed to much more extensive script by Nicola Vitacolonna. This script, and one for metafun, are in the inactive folder of the Engines folder. But the metapost script is also used internally, replacing the original naive script.

- An extra source preference named "Arabic, Persian, Hebrew" has been added. This item only works if Syntax Coloring is active. When the new item is activated, lines in the source which contain characters from these languages --- i.e., characters in the range 0x0590 - 0x06FF -- are right justified on the screen. This does not change the source processed by the TeX engine.

- Removed command line equivalents for "Bold" and "Italic"

- Removed "package" check for file types tex, ctx, bst, drv, abc, ly, texi, Rnw. Now no file types have "package" checked.

- There are a small number of German localization fixes.

- The keyboard command to trash AUX files also works if the console or preview window are active.

- If the shift key is held down while selecting "Trash AUX Files", then the pdf preview file is also trashed. This key can be held in combination with option or not, depending on the choice of aggressive trash. However, aggressive trashing with the shift key down will NOT remove other pdf files (!).

##### TeXShop Changes 2.27

- When using SyncTeX from source to Preview, the preview window now comes forward.

- There are many changes in TeXShop Help, including a new section on encoding, and separate sections on General Engines, and on the XeTeX engine. References to XeTeX were removed.

- There are slight improvements in the Program, Encoding, and Root macro files by Ramon M. Figueroa-Centeno.

##### TeXShop Changes 2.21 - 2.26

Here are the changes in version 2.26:

- The TeXShop/Engines/Inactive folder contains two scripts from Daniel Becker which call texcount to count active words in a TeX source file. These engines were promised in 2.25 but erroneously omitted. They are in 2.26. To obtain them, quit TeXShop and move the entire Engines folder from ~/Library/TeXShop to the Desktop. Then restart TeXShop. TeXShop will create a new Engines folder. Merge in any changes you have made in the old Engines folder on the desktop to the new folder.

- Juan Luis Varona sent new Program and Encoding macros which display the various choices, so it is not necessarily to look up the wording of these choices. A few days later, Ramon M. Figueroa-Centeno send similar but fancier macros. Ramon's macros are now in TeXShop. To obtain them, quit TeXShop and move the entire Macros folder from ~/Library/TeXShop to the Desktop. Then restart TeXShop. TeXShop will create a new Macros folder. Merge in any changes you made to the old Macros on the desktop to the new copy, using the Macro Editor.

- A memory leak introduced by the code to split the Preview window in 2.25 is fixed. The bug was similar to the old flaw in PDFKit which caused memory to be gradually used up when typesetting a document many times, but this time the bug was caused by me.

- A bug in the zoom code for the preview window when using multiple monitors is fixed.

- A bug which caused TeXShop to ignore a "% !TEX TS-program = ..." command when typesetting from a file with an associated root file is fixed.

- The French localization is improved.

- A localization error caused the "Split Window" icon on the Preview Window toolbar to display strange text. This is fixed.

- A bug caused the Preview Window's toolbar to vanish temporarily if the user tried to move certain text portions of the toolbar. This is fixed.

- One of the keyboard zoom shortcuts acted only on the top portion of the Preview window when split. This is fixed.

- The TeX mdimporter code distributed with TeXShop in 2.25 contained only i386 code. Now it contains code for both PPC and i386.

Version 2.21 - 2.24 were internal versions, never released. Here are the changes in version 2.25:

- Split window, previously available for the source window, now also works for the Preview window. Buttons and tools which interact with the Preview window are applied to the active portion of the Preview window when split. To activate the other portion, click on it. To avoid cluttering the interface, the active portion of the Preview window is not marked. Note that it is possible to use different Display formats in the two views. For instance, after splitting the window you can activate the lower portion and select Double Multiple Page in the Display Format menu to obtain a single page view in the top half and a double page view in the lower half.

- Syncing from source to Preview now scrolls the selection to the visible portion of the window. When the Preview is split, syncing from source to preview goes to the active portion of the Preview window.

- A new menu command, Show Log File, opens the log file. This file is updated after typesetting. If a source file has a root file, the menu command opens the log file of the root file, rather than the nonexistent root file of the input file.

  If the command key is held down while choosing this menu item, a dialog will appear asking for the extension of the file to be opened. For instance, typing "aux" into the dialog opens the aux file rather than the log file. The requested extension can be typed with or without an opening period.

- A new Help menu command, "Show Package Documentation", opens a dialog which requests the name of a package in TeX Live. It then opens the TeX Live documentation for this package, using the command line program "texdoc." This improvement was suggested by Juan Luis Varona.

  TeX Live has a vast amount of documentation; go to /usr/local/texlive/2008/texmf-dist/doc/latex to see some (but not all) of this documentation. Note that almost all documentation folders have lower case names; therefore it is best to name packages in lower case when requesting documentation: pdftex, latex, graphicx, geometry, texdoc. But there are exceptions: IEEEtran.

  Documentation is sometimes available in several different forms: pdf, html, etc. Add the extension to the request to see a particular form of the documentation. For instance, enter "pdftex.pdf" or "pdftex.html" to see these forms of the pdftex documentation. Texdoc will choose a convenient form on its own if the extension is omitted.

  Texdoc does not open the documentation in TeXShop; instead it uses the Mac's default application for a given extension. By default, the Macintosh opens pdf files in Preview and html files in Safari, so texdoc will use those viewers. There is a standard way to redefine the default application for an extension. If you change the default, texdoc will use the new default application.

  It is also possible to directly configure texdoc to use particular viewers; see the texdoc documentation for details.

  Sometimes texdoc will not find documentation for a package, style file, or program. In that case, nothing will appear. In particular, TeXShop does not put up a warning dialog when documentation is not found. Although such a dialog would be useful at first, in the end it might become annoying.

- It is possible to set the foreground color of the Console window in Preferences. This was requested by users who prefer white characters on black backgrounds for the console.

- A new menu command opens the console if it has been closed.

- The menu items to change the text color in the source, to justify right, left, or center in the source, and to bring up the ruler in the source have been removed, since they make no sense in TeX.

- There are localization improvements in French, Spanish, and Japanese.

- This version fixes a bug which ignored Console Preferences when using external editors.

- TeXShop can now create and edit asy files.

- Added a contextual menu item to the Source and Preview windows: Sync. Some users may prefer this menu item for synchronization because using it avoids the command key.

- The TeXShop/Engines/Inactive folder now contains two scripts from Daniel Becker to call texcount to count active words in a TeX source file. The output may be more accurate than the output from detex, which is currently called by TeXShop's "statistics" command.

  Users who upgrade TeXShop can get the new Inactive folder by quitting TeXShop, moving ~/Library/TeXShop/Engines to the desktop, and then restarting TeXShop. The new default Engines folder will be created by TeXShop. After it is created, merge extra items in your old copy on the desktop back into the ~/Library/TeXShop/Engines folder.

- The Inactive folder also contains a "sage.engine" file. This engine makes it possible to use the open source mathematical software Sage, a replacement for Maple, Mathematica, and MatLab, directly from within a TeX source file. For instance, a single TeX line can ask Sage to plot a function; in the typeset output, this plot will appear at that spot. Or a single line can ask Sage to integrate a complicated expression symbolically; in the typeset output, the answer will be shown, typeset consistently with other mathematical expressions in the document. The inactive folder contains an example document typeset in this way. Sage is available free at http://www.sagemath.org/.

- There was discussion on one of the mailing lists about the logic behind TeXShop's "Typeset" menu command, the "%!TEX program" mechanism, and the fact that "BibTeX" and "MakeIndex" are not really typesetting commands. Members of the list tried to understand the logic behind fine details of TeXShop's operation, but this was a hopeless task because there wasn't much logic present.

  An attempt has been made in version 2.25 to provide consistent behavior, but without a complete overhaul of the interface. The code now works in the following way:

  The "Typeset" command in the Typesetting menu always does exactly the same thing as the "Typeset" button in the source window toolbar. Both commands call the typesetting command listed in the drop down menu next to the toolbar button, unless the first few lines of the source file contain a line of the form

    %!TEX TS-program = ...

  If such a line is present, then the Typeset command uses the indicated program instead (unless the drop down menu is set to bibtex or makeindex; see comments below). The selected item in the drop down menu does not change, so commenting out the source line will cause typesetting to revert back to the method indicated in the drop down menu. Incidentally, TeXShop ignores extra comment characters at the beginning of the above source line, so it cannot be commented out by adding an extra comment. I prefer to add a space between the "TS" letters.

  In previous versions of TeXShop, it was not possible to select bibtex, makeindex, metapost, context, or metafont in the "%!TEX TS-program" line, for purely historical reasons. This anomaly has been fixed, and any engine can be selected:

    tex, pdftex, latex, pdflatex, bibtex, makeindex, metapost, context, metafont, or a user defined engine

  There should be one space after the equal sign before the program name, and case is important.

  Selecting bibtex or makeindex in the drop down menu causes these programs to be called even if a "%!TEX TS-program" line is present, since these two programs aren't really typesetting engines and a user may need to call them even when an unusual typesetting engine is being used.

  So much for the basic "Typeset" command. The TeXShop "Typeset" menu also contains items to call TeX, LaTeX, BibTeX, MakeIndex, MetaPost, ConTeXt, and MetaFont. These items are present mainly for historical reasons and most users ignore them. Adding new engines to TeXShop doesn't add extra menu items because the menu would become awkwardly long if a user had a large number of extra engines.

  The BibTeX and MakeIndex items are treated specially. Selecting one of these items causes TeXShop to run the resulting program regardless of the setting of the toolbar's drop down menu and the possible presence of a "%!TEX TS-program" source line. This is probably the most convenient way to call these two commands.

  The remaining TeX, LaTeX, MetaPost, ConTeXt, and MetaFont menu commands behave in a slightly different way. Selecting one of these menu items causes TeXShop to run the resulting command, regardless of the toolbar's drop-down menu selection and regardless of any "%!TEX TS-program" line. Moreover, selecting one of these menu commands changes the toolbar's drop-down menu selection to the engine chosen in the menu command. The idea behind this design is that beginning users may first find the menu commands and typeset using them. If such a user later uses the "Typeset" button in the toolbar, it should cause the same behavior as the earlier menu command.

  Sorry for this complexity; I'm trying to balance leaving the interface unchanged for users set in their ways with easier use of the BibTeX and MakeIndex commands.

##### TeXShop Changes 2.19 - 2.20

Version 2.19 was an internal version, never released. Here are the changes in it and version 2.20:

- Line numbers are displayed in the source file. A preference item turns this feature on or off; a menu item turns it on or off for the currently active window.

  This feature depends on free code by Paul Kim at Noodlesoft. The code is at http://www.noodlesoft.com/blog/; see "Displaying Line Numbers with NSTextView". I don't read this blog, but the code was pointed out to me in an email from Ryan Cuthbertson, who downloaded the TeXShop source code, implemented the change, and sent crystal clear instructions explaining how to add the feature. Kudos to Cuthbertson. Kudos especially to Paul Kim and Noodlesoft; Kim's code is so well written that Cuthbertson had to add only 32 lines of code to TeXShop to make it work.

- TeXShop now uses Sparkle to implement "Check for Updates." This brings many advantages. Rather than directing a user to the TeXShop web page when an update is available, TeXShop now lists new features directly, downloads the update upon request, and even quits TeXShop, installs the new version, and restarts the program upon request.

  Sparkle is another remarkable product from the open source software community. Written by Andy Matuschak and available at http://sparkle.andymatuschak.org/, it provides every feature you'd want in an update mechanism.The documentation for developers available on the web page is a model of clarity and simplicity. Sparkle is used by a number of other GUI programs for TeX, so users for find it familiar.

- The console window has been greatly improved by Will Robertson, who sent a new Nib file containing his changes several months ago. I waited to implement the improvements until I could add a console preference tab to TeXShop Preferences allowing users to modify Robertson's choices.

  The font and background color for the console can be modified in Preferences. Users can adjust the console width to match the number of characters typically output by TeX, and then select a preference allowing the window to be resized only in the vertical direction. Note that preference changes are immediately reflected in the console, so the trick to easy console configuration is to bring a console window to the front, open Preferences, try out various fonts, font sizes, and background colors until satisfied, activate horizontal resizing and adjust the console width, and then, if desired, lock down this width in Preferences.

- A number of items in the Preference panel have been moved to make the operation of the panel more transparent. The most important tab items come first: Source, Preview, Console, Typesetting. In the Preview tab, the "Fixed Magnification Amount" appears immediately following the "Magnification Method" to make it clearer that "Fixed Magnification" only applies when the "Magnification Method" is "Fixed Magnification."

- Previously, clicking the green "Zoom Dot" on TeXShop windows expanded the window to fill the screen. An attempt has been to made this operation more rational. The Source window now expands to fill the left portion of the screen; the console expands only vertically, and the Preview window expands to fill the right portion of the screen. The Preview window expands by the largest amount because users may want to zoom the image and check fine details. I'd appreciate advice on refinement of the zoom behavior. Recall that the behavior must make sense on small portable screens and large Cinema displays.

- For some time, TeXShop recognized hidden preference items to set the background color of the Source and Preview windows. These preference items are now exposed and can be set in the Preference dialog.

- A bug in the MatrixPanel code disabled the hidden preference "matrixsize''. This bug is fixed.

- The name of the alternate typesetting mode "TeX and Ghostscript" has been changed to "TeX and DVI". This fulfills a request of the American Mathematical Society, who have been dealing with users claiming that TeXShop cannot produce dvi files.

##### TeXShop Changes 2.15 - 2.18

###### Changes in TeXShop 2.16 through 2.18:

Versions 2.16 and 2.17 of TeXShop were constructed for test versions of MacTeX-2008, and released only to a few people testing that install package. Version 2.18 is now officially released on the TeXShop site. Here are the changes:

- Added a new Preference item under the Typesetting tab. The preference is called "After Typesetting" and the choices are "Bring Preview Forward"' and "Continue Editing."' The first item activates the Preview window after typesetting and brings it forward, as TeXShop has behaved in the past. When the "Continue Editing" item is activated, typesetting updates the contents of the Preview window but leaves the Edit window active with the editing cursor blinking. This makes it possible to typeset, glance over to check that things look right, and continue editing. This option is particularly useful on large monitors which can show the full contents of both windows.
- Added support for SyncTeX. SyncTeX is new synchronization technology by Jerome Laurens which is included in TeX Live 2008 (but not earlier TeX distributions). The technology is built directly into pdfTeX and XeTeX. In modern TeX distributions, most typesetting actually calls pdfetex (even if using latex to output a dvi file), and thus the technology is available for such typesetting.

  To use the technology, add the flag

    --synctex=1
  to the command line call to TeX. For example, in TeXShop Preferences under the Engine tab, the lines specifying pdfTeX for Tex and pdfLaTeX should read
    pdftex --shell-escape --synctex=1
    pdflatex --shell-escape --synctex=1
  A similar flag should be added to other engine scripts. The TeXShop defaults for these preferences already include this flag for pdftex and pdflatex, but not for other engine files. If the flag is included and an older version of TeX is called, typesetting will still occur (TeX will report to the console that it does not understand the flag.)

  The flag causes TeX to output an additional "synctex" file during typesetting, containing information linking the TeX source file(s) to the TeX pdf file. This file is similar to the old pdfsync file generated by the older PdfSync technology, but with the very significant difference that line and page breaks are no longer changed when outputting the data.

  Laurens also wrote a command line program named "synctex" which is included in TeX Live 2008; when this program is called with a request for appropriate synchronization data, the program parses the synctex file and outputs appropriate data.

  To activate SyncTeX support in TeXShop, go to TeXShop Preferences under the Misc tab and select "SyncTeX" as the "Sync Method." This is the default value if you are installing TeXShop for the first time.

  If SyncTeX synchronization is chosen, user interaction is exactly the same as in the old Search method. Hold down the command key while clicking at a spot in the source document. The Preview window will become active and the corresponding spot will be circled in red. Or hold down the command key while clicking at a spot in the Preview window. The source window will become active and the corresponding TeX input commands will be highlighted in yellow.

  When these commands are used,TeXShop will fall back on the old Search method if SyncTeX does not find an appropriate synchronization. The most common cause for SyncTeX failure is the absence of a synctex file, which will certainly happen when the file is typeset with an older distribution. Thus users can switch between TeX Live 2007 and TeX Live 2008 without changing their synchronization preference.

  A few users might like to test TeXShop's SyncTeX support without being confused by calls to the old Search synchronization method. To simplify this test, there is a new hidden preference which forces synchronization to use only SyncTeX:

    defaults write TeXShop SyncTeXOnly YES
  Support for SyncTeX was added to TeXShop 2.18 at the last moment. Synctex is now used in both directions, and is generally much better than the old search synchronization. But many improvements should be possible as I digest what Jerome has provided.

  Many thanks to Jerome Laurens for this wonderful work. I think you will notice an immediate improvement.

- Added encodings ISOLatinGreek, MacCentralEurRoman, and WindowsLatin2 (i.e., WindowsCentralEurRoman).

  The names of the encodings are

    Greek (ISO 8859-7)
    Mac Central European Roman
    Central European (ISO Latin 2)
    Central European Roman (Windows)
  and the
    IsoLatinGreek
    Mac Central European Roman
    ISOLatin2
    WindowsCentralEurRoman
- In
    encoding =
    %!TEX root =
    %!TEX TS-program =
    %!TEX projectfile =
  allow a space between % and ! for better formatting, and to remove %! postscript ambiguity. The old syntax without the space is, of course, also supported.
- Added code by Adam Maxwell to permit BibDesk Completions; this is controlled by a new Preference Setting. By default, it is not activated.
- Fixed French nib file so Typeset menu works again (there are no longer simultaneous checks on "PdfTeX" and "TeX \& Ghostscript").
- Fixed tab settings, so now changing tab spacing in Preferences works correctly.
- Command-T now typesets even when the console window is active.
- Fixed pdf updating. If a user has an external editor and uses TeXShop to display pdf output, and if the "Automatic Preview Update" preference is set, then whenever the pdf file is updated, TeXShop reads and displays the latest version, activating the pdf window when it does so. There is a hidden preference item named "BringPdfFrontOnAutomaticUpdate". If this is set to "NO", then the preview window is supposed to be updated but not brought forward. Recently, the preview window did this, but didn't display the new content until the user manually activated it. This is fixed.
- Instead of separate commands to display each of George Gratzer's symbol tables, there is one command to display all of the tables in one document. It is much easier to find a symbol if you can scroll through tables rather than guessing which table has the desired symbol.
- Modified default LaTeX macros to bring them up to date.

###### Changes in TeXShop 2.15

TeXShop 2.15 was an experimental release. It lived for a long time on my personal web page with a promise to migrate it to the usual TeXShop site. After the promise didn't materialize for several months, the link on my personal site was noticed by Version Tracker, and for several months that system pointed to the experimental 2.15 as the latest release. At last 2.15 has become "official" with the release of TeXShop 2.18.

Here is a list of new features:

- Fixed severe memory leakage on Leopard; said another way, the hidden preference item ReleaseDocumentClasses is now automatically set correctly on Leopard. This very significant bug, which I listed for a long time as the most significant bug in TeXShop, was caused by an Apple bug in PDFKit. This bug is fixed in Leopard. Consequently, users must be running System 10.5 to obtain the fix.
- Fixed pdf drag and drop on Leopard. In earlier versions on Leopard, a dragged pdf selection had a white background, making the feature problematic for Keynote and other programs. Now a dragged pdf selection has a transparent background, as it always did on Tiger.
- Support for the Hiero package, used to typeset hieroglyphics. See http://www.filipvervloesem.be/hierotexmac/ and the detailed explanation on http://www.filipvervloesem.be/hierotexmac/hierotex.html.
- Support for Sketch, used to construct 3D images in pdf files. See www.frontiernet.net/~eugene.ressler/.
- Generalizing the last two items, support for adding additional extensions to the list of filetypes which can be processed via TeXShop engines.
- The default templates now include a template for Beamer taken directly from the beamer web page. To see it, move the folder ~/Library/TeXShop/Templates to the desktop and restart TeXShop. The default Templates folder will be created. Merge your old Templates folder in with the new one.

Here are more details on each of these items.

- When TeXShop was first released on Tiger, users ran into an annoying bug which caused the program to gradually slow to a crawl after several typesetting actions. The problem occurred when a new pdf file was loaded into PdfKitView for the Preview window. According to Apple documentation, this should have released the previous data from memory. The release did occur, but it caused the program slowdown.

  To fix this problem, I added code to TeXShop which tricked the system into believing that the old data structures were still being used so the system didn't try to release them. This meant that TeXShop gradually used more and more memory over time, and it caused other problems as well. In notes to collaborators, I called this "the single most important bug in the program."

  This was really a PDFKit bug. But although I have reported several bugs to Apple (and they have been very good about fixing them), I didn't report this problem because I needed to make a small demo program illustrated the bug, and never got around to it.

  When system 10.4.3 was released, it looked to me like the problem was resolved, and I modified the TeXShop code to release memory on 10.4.3 and higher. Unfortunately, it soon became apparent that the problem remained, particularly for large pdf files. Luckily, I had added a hidden preference to TeXShop called "ReleaseDocumentClasses"; the value of this preference could be

    0 to release the data on system 10.4.3 or higher
    1 to never release the data
    2 to always release the data
  Initially the default value of this preference was 0, but I soon changed it to 1, restoring the old "kludge behavior."

  But when Leopard came out, several users reported that this preference can safely be set to 2. Further testing showed that the PDFKit bug was fixed in Leopard. Therefore, in TeXShop 2.15 the data is always released on Leopard, regardless of the value of ReleaseDocumentClasses. The old behavior still applies on system 10.4.11 and earlier.

  But just in case, there is another hidden preference called ReleaseDocumentOnLeopard. The default value of this preference is YES. If it is set to NO, the old preference ReleaseDocumentClasses becomes active and behaves as before.

- TeXShop has the ability to select a portion of the pdf image, copy the selection, and paste it into another program. Users can also drag the selection directly to another program. Before the program LaTeXiT was introduced, this feature was often used, but now LaTeXiT is usually the better way to proceed.

  The file format of the copy is controlled by TeXShop preferences; the default value is to copy as pdf with a transparent background, making it easy to use the result in Keynote and similar programs.

  This feature broke in the beta version of Leopard which Apple released at the 2007 Developer Conference. Later I managed to modify my code and fix the problem. But in the release version of Leopard, my fix also broke.

  At the developer conference I spoke to the author of PDFKit, who recommended a different fix. That fix is now in TeXShop 2.15.

  The old code used the NSView method "dataWithPDFInsideRect" directly in the PDFKit View. Before calling this method, it set the background color of the image in PDFKit to be transparent, and it also modified the PDFKit "drawPage" method to skip drawing a background when drawing for a selection. However, PDFKit in Leopard seems to have additional drawing layers which make the individual pages of an image stand out, and these layers add their own backgrounds.

  The new method uses PDFKit's page object and the routine "dataRepresentation"', which I learned at the developer conference does not include background information. This data is then placed in a NSPDFImageRep object, imaged in an offscreen NSView object, and captured with the object's "dataWithPDFInsideRect" method.

  There is a slight change when copying and dragging selections. Earlier, a selection could span more than one page. Now the copy will only include the portion of the selection which is on the page under the cursor.

  By the way, this fixes the last TeXShop Leopard bug known to me.

- TeXShop now contains an engine file in .../Library/TeXShop/Engines/Inactive for use with the Hiero package. An additional README in the folder explains how to install Hiero. The Hiero ".htx" extension is now recognized by TeXShop, and an icon for such files is provided.

  To obtain this engine, it is necessary to move the folder ~/Library/TeXShop/Engines elsewhere, say to the desktop. Then restart TeXShop. The program will create a new Engines folder, containing the new inactive items. Then merge the Engines folder on the desktop into this new default Engines folder.

- The same directory contains an engine file for Sketch. An additional README in the folder explains how to install Sketch. The ".sk" extension is now recognized by TeXShop.
- The previous two items are special cases of a general problem. A number of users have tried to use TeXShop's engine mechanism to process a source file and preview the resulting pdf output in cases where the processing engine isn't TeX at all, but rather some other Unix binary program. In many of these cases the source file has a new extension; for instance, ".htx" in the Hiero case, and ".sk" in the Sketch case.

  There are two problems with this technique, one minor and one major. The minor problem is that when TeXShop creates a file, it always adds an appropriate extension, usually ".tex". In the Save dialog there is a pulldown menu listing all extensions known to TeXShop. By using this menu, files can be created with other extensions like ".ltx", ".ctx", and so forth.

  But if an extension is not in this list, creating it within TeXShop is tricky. Users often try to directly type an extension, saving for example a file with name "myfile.htx". But actually TeXShop will then create "myfile.htx.tex" and even worse, the Finder may then hide the ".tex" extension.

  Luckily, there is a solution. One of the file types which TeXShop can save is named "Plain Text Document". Such a file has no extension. So if the user saves "myfile.htx" after selecting the "Plain Text Document" dropdown menu item, they actually will get "myfile.htx".

  The good news is that when TeXShop opens a file with an unexpected extension, say by dragging the file to the TeXShop icon, it will preserve the correct extension when saving. So this first problem is a minor problem during file creation, but it doesn't interfere with later processing the file.

  The major problem is that TeXShop deactivates the "Typeset" button when a file is opened with an unknown extension, or with an extension which is not used by source files. For example, TeXShop can open pdf files and jpg files, but it doesn't allow the user to typeset such files! Users who wanted to process ".htx" and ".sk" files with an engine found that they could not use the engine because of this behavior.

  TeXShop 2.15 has a new mechanism for such users. A hidden preference allows users to add extensions to the list of legal extensions which activate the Typeset button. For example, the command

    defaults TeXShop OtherTeXExtensions -array-add "htx"
  adds ".htx" to the list. To clear the list and start over with the built-in defaults, use
    defaults TeXShop OtherTeXExtensions -array
  Actually, ".htx" and ".sk" are now built-in, so these users do not need the new mechanism. But it is available for future users.
- The Beamer template can certainly be improved. I'd appreciate help from experts.

##### Versions 1.42 and 2.05 add extra features to TeXShop and fix some bugs.

###### New features in 2.05:

- TeXShop 2.05 is now a Universal Binary, containing code for both the PowerPC and Intel processors. The system automatically runs the correct version of the code.

- The default TeXShop preference for the teTeX binary directory is /usr/local/teTeX/bin/powerpc-apple-darwin-current. But if users have installed Gerben Wierda's latest TeX redistribution, they also have Intel binaries. On Intel machines, the teTeX binary directory should then be /usr/local/teTeX/bin/i386-apple-darwin-current. TeXShop now has code to make this change automatically. When the program first starts, it calls "uname -p" to determine the current processor. If the result is "i386", then TeXShop permanently changes the above preference to /usr/local/teTeX/bin/i386-apple-darwin-current. However this change is not made if the user has manually changed the default /usr/local/teTeX/bin/powerpc-apple-darwin-current to some other location. Thus if a user has the Fink teTeX distribution or some other distribution and has set the teTeX binary directory preference to point to it, the preference will not be changed.

- When TeXShop was first released on Tiger, users ran into an annoying bug which caused the program to gradually slow to a crawl after several typesetting actions. This bug was fixed a couple of days after the release. The problem occurred when a new pdf file was loaded into the PdfKitView in the Preview window. According to Apple documentation, this should have released the previous data structure from memory. The release did occur, but it caused the program slowdown. So the bug fix consisted of tricking the system into believing that the data structures were still being used so the system didn't try to release them.

  A side effect was that memory gradually filled up and some users learned that they needed to quit TeXShop and restart after each day's work.

  Recent investigation seems to show that this bug is fixed in Tiger 10.4.3. Consequently the latest version of TeXShop tests which system is running and releases the old data structures when the system is at least 10.4.3, but not otherwise.

  This behavior is controlled by a new hidden Preference item:

  - defaults write TeXShop ReleaseDocumentClasses 0

  The default value is 0, causing the program to behave as just described. If the value is 1, the old data structures are never released and the program behaves exactly as earlier versions of TeXShop 2. If the value is 2, old data structures are always released.

  Thus if you find that the program becomes sluggish after several typesetting jobs, change ReleaseDocumentClasses to 1 and then report the behavior to me with as many details as possible.

- Michael Witten, a student at MIT, added multiple wrapping modes to TeXShop. Users can choose "no wrapping" so lines continue right until the user pushes ENTER, or "word wrapping" so text is wrapped at word boundaries (this was the prior behavior), or "character wrapping" so text wraps exactly at the last possible character. Not that these wrappings are "soft"; resizing the window will change the wrapping. The default wrapping is "word wrapping" but a menu command allows the wrapping to be changed. Moreover, a hidden preference allows the default wrapping to be changed:

  - defaults write TeXShop LineBreakMode 1

  where "None" = 0, "Word Wrap" = 1, and "Character Wrap" = 2. Wrapping is done at the right side of the window unless the ruler is active; if it is, wrapping is done at the "right marker"

- Witten also added the command "Hard Wrap". If a paragraph is selected, this command inserts hard wrapping commands at the right side of this paragraph. After this step, resizing the window leaves the wraps fixed. This is useful if you send source to a colleague whose editor has fixed width and no wrapping. If the "Hard Wrap" command is chosen but no selection has been made, the hard wrap applies to the entire document. Note that "Hard Wrap" is undoable.

- The TeXShop Application Bundle now contains Norman Gall's TeX-mdimporter Spotlight importer. Files with extensions .tex, .latex, .ltx, .ctx. and .texi will be indexed by Spotlight when saved. In systems 10.4 through 10.4.2, TeXShop files were automatically indexed because they have type TEXT, but Apple changed this procedure in 10.4.3. So the importer is now required to index files. The system automatically recognizes the importer when TeXShop is first installed. It is then used to index .tex, .ltx, etc. files even if TeXShop is not running.

  If Gall later updates the importer and you install the new version in ~/Library/Spotlight or other canonical spots, the updated version will be used rather than the version in the TeXShop bundle because Apple's importer search routines use importers in bundles as a last resort.

  Gall's importer was not written with TeXShop in mind, but is instead designed to be used by all TeX editors and front-ends; the hope is that there will be a universal importer rather than a different one for each front end. For the latest version, see http://www.spookyhill.net/~gall/latex.

- The commands "altpdftex" and "altpdflatex" in Gerben Wierda's TeX distribution have changed to "simpdftex tex" and "simpdftex latex". These are now the default preference values for new TeXShop installations.

  Moreover, the first time a user tries to typeset in the "tex + ghostscript" mode, TeXShop will check these preference items, and change them if necessary. It does this by determining whether "simpdftex" is in the TeX binary directory. If so, and if the command in the TeX + dvips + distiller "TeX Program" field in the TeXShop Engine Preferences is "altpdftex", then this field is changed to "simpdftex tex". Any additional flags in the preference field are retained. At the same time, the "Latex Program" field is changed. If it is "altpdflatex", it is changed to "simpdftex latex", retaining any additional flags.

- Added ISO Latin 9 encoding

- Now (apple)-[ and (apple)-] act differently in the editing window and preview window. In the editing window they are "unindent" and "indent". In the preview window they are "back" and "forward". A disadvantage is that it was not possible to add these commands to the menus, so users need to remember these abbreviations. This change was requested by users with German and other keyboards on which (apple)-< and (apple)-> cycle through windows. Users with English keyboards cycle through windows with (apple)-`.

- Added a new hidden preference

  - defaults write TeXShop LeftRightArrowsAlwaysPage YES

  The default value is NO. When set to YES, the left and right arrows scroll by a page even if the horizontal school bar is active.

- Changed the English under the Preview tab of Preferences from "After Window Review" to "Magnification Style" and changed "Preview Window Magnification" to "Preview Window Fixed Magnification" to more carefully explain the function of these preference items. Notice that TeXShop only uses the Preview Magnification value if the Magnification Style has been set to "Fixed Magnification".

- Added a new item

  - %!TEX projectfive =

  which can be added to the top of TeX source files. This change is primarily for ConTeXt users so they can use the new sync method. When synching from the preview window to the source window, TeXShop needs to know all sources file for the document being previewed so it can open source files not currently open if necessary. It does this by parsing the root document, looking for \include and \input lines. But ConTeXt uses different commands to input files. The new syntax allows ConTeXt users to directly indicate in the root document which additional source files need to be searched. Here are examples:

  - %!TEX projectfile = /Users/koch/MyDoc/chapter1.tex
  - %!TEX projectfile = chapter2.tex
  - %!TEX projectfile = ../chapter3.tex

- Added .Rnw as an extension TeXShop can edit. This was a request of Paolo Bosetti, who uses TeX and R and Sweave together.

- When a user tries to open a .dvi file, TeXShop runs a script to convert the dvi file to a pdf file. In previous versions, it ran a different script when the .dvi was in a writeable directory than when its directory was not writeable. But Gerben Wierda has revised the simpdftex script to handle both cases, so now TeXShop always calls simpdftex to do the conversion. Actually it calls the TeX + dvips + distiller script which is set in Preferences; this preference will be simpdftex if the user has a fairly recent TeX distribution.

- Added a new hidden Preference

  - defaults write TeXShop RedConsoleAfterError NO

  If this default is YES, then after the first error the remaining text in the console will be red. The default value is NO.

- Slightly modified the appearnce of the Console window, particularly in English. More work is needed here. Note that the console window can be resized and relocated, and the system will remember this new size and location when TeXShop is restarted.

- In version 2.05, fixed "undo past a save" using the new Tiger command [textView breakUndoCoalescing]. Previous versions of TeXShop allowed users to undo past a save command. But this required "tricky code" and one effect of the trick was that TeXShop sometimes lost track of whether the current state of the document had previously been saved, and so didn't save the document before typesetting, giving strange results in the preview window.

- Versions 2.00 through 2.04 of TeXShop sometimes had trouble remembering new preference settings; it was necessary to set them several times before they "took." This is fixed.

###### New features in 1.42 and 2.05:

- The commands "altpdftex" and "altpdflatex" in Gerben Wierda's TeX distribution have changed to "simpdftex tex" and "simpdftex latex". These are now the default preference values for new TeXShop installations.

  Moreover, the first time a user tries to typeset in the "tex + ghostscript" mode, TeXShop will check these preference items, and change them if necessary. It does this by determining whether "simpdftex" is in the TeX binary directory. If so, and if the command in the TeX + dvips + distiller "TeX Program" field in the TeXShop Engine Preferences is "altpdftex", then this field is changed to "simpdftex tex". Any additional flags in the preference field are retained. At the same time, the "Latex Program" field is changed. If it is "altpdflatex", it is changed to "simpdftex latex", retaining any additional flags.

- Added ISO Latin 9 encoding

- New German localization and help files.

- New Japanese Help by Yoshihisa Okazaki with help from Seiji Zenitani.

- New Spanish help files and localization.

- Uses version 1.2.4 of OgreKit.

- Conversion of eps, ps, and dvi files to pdf (caused by opening such a file) now works even if the path to the file has folders whose names contain spaces. In all three cases, the file can now be in a folder without write permission.

- Trash AUX files now removes files with more extensions: cos, idv, 4ct, 4tc, lg, xref, ttt, fff, ent, wrm.

- If the user tries to open a file with UTF-8 Unicode encoding, but the file is not a legal utf8 file, a dialog now appears warning of the problem, and the file is opened with MacOSXRoman encoding.

- Bib files are promoted to full class citizens; text can be dragged to them, syntax coloring works, etc.

- A remark: users have reported that they can no longer "find" words in the console window. Actually, they can. This window has two portions. When typesetting ends, the bottom portion is active, so the find panel searches that portion. To activate the top, click on it. Then "find" works.

- Added a preference to control first mouse behavior: "Select on Activate." When this is YES, a click in the source window will also set the insertion point to the click point. If it is NO, a second click is required to change the insertion point.

- Added pdf to the types of files TeXShop can edit, and added a pdf icon. This allows TeXShop to be chosen as the default pdf viewer.

- Added Lilypond, abc, and bst as extensions that can be edited.

- Added code by David Reitter so that selecting the word \int, etc., selects the beginning "\" as well.

###### Bugs fixed:

- Japanese Image Copy Type Preference failed due to incorrect localization. Now fixed.

- Command Completion's configuration file is now loaded and saved in UTF-8 Unicode.

- Errors fixed in pdfsync.

- When typesetting engines are called, they are now passed the program filename with extension, rather than just the filename.

- In 1.35, it was only possible to switch between the OgreKit Find panel and the Apple Find panel in the English localization. This is fixed.

- The menu item to bring up the statistics panel was only in the English version. Now it is in all versions.

- In all display modes except single page mode, a black border is drawn around each pdf page. Previously this border was slightly inside the page, cutting off a slight border around the page. Now it is just outside the page. Thanks to Scott Ranby for pointing out this error.

- The "%!TEX TS-program" and "%!TEX root =" commands now when when used with an external editor.

##### Versions 1.37 and 2.00 add extra features to TeXShop and fix some bugs.

###### New features in 2.00:

- A new synchronization method has been added to TeXShop, using the ability in Tiger to search for strings in pdf files. The new method does not require including a pdfsync.sty file, so it works out of the box on files typeset using any engine: pdftex or pdflatex, TeX + ghoscript or LaTeX + ghostscript, XeTeX, and other engines.

- Click on a word or phrase in the source file. TeXShop will scroll the preview window to the corresponding phrase and circle it in red. Click on a word or phrase in the preview window. TeXShop will open the corresponding source file if it is not already open, scroll the source to the appropriate spot, and highlight the source phrase in yellow.

- A new TeXShop preference item selects the synchronization method to be used: the old pdfsync method, the new search method, or a combination in which the new search is used, but the program falls back on pdfsync if the new search does not succeed.

- TeXShop 2.00 uses Apple's PDFKit to display the pdf preview window. This software is introduced in system 10.4.0 (Tiger), so TeXShop 2.00 requires Tiger. PDFKit makes the following new features possible:

- TeXShop supports hyperlinks. To activate this feature, add the line
  - \usepackage[colorlinks=true, pdfstartview=FitV, linkcolor=blue, citecolor=blue, urlcolor=blue]{hyperref}
  to the heading of the source document. Links to external web sites can then be added to tex documents using commands like
  - \href{http://pages.uoregon.edu/koch/}{Koch homepage}
  Links to other portions of the tex document can be added using commands like
  - \hyperlink{lemniscate}{Graph of Lemniscate}
  where the tag "lemniscate" is created using a command like
  - \hypertarget{lemniscate}{}

  To navigate with these links, choose the new "text" tool and clink on the colored links.

- The preview window toolbar contains "Back" and "Forward" buttons so one can jump to a spot using a link, and then jump back.

- Hyperref.sty automatically adds links to citations, so readers can rapidly jump from a citation to the corresponding bibliography entry.

- The hyperref package also creates a document outline. For example, the main outline of a book is a list of chapters; each chapter entry contains a list of sections, and so forth. To see this outline and navigate through the document with it, use the new "drawer" tool to display the pdf window's drawer.

- The text tool can be used to select a portion of text in the preview window and copy this selection to an editor. This differs from the "pdf selection tool" which copies a portion of the document as a pdf illustration --- the text tool copies editable text.

- Searching the pdf preview is supported. Use the search tools in the bottom half of the window's drawer.

- PDFKit brings additional polish to the display of pdf documents. It supports documents with isolated rotated pages, and correctly prints rotated pages in landscape mode. It supports liveupdate of window resizing if the magnification preference is set to "fit to window." Etc.

###### New features in 2.00 and 1.37:

The remaining new features are available in both new versions.

- Earlier versions of TeXShop allowed users to set the typesetting engine of a file, its encoding, and its root file by adding appropriate comments to the top of the source file. For example, the following commands set the typesetting engine to xelatex, the encoding to UTF-8 Unicode, and the root file to ../Main.tex:

  - %&xelatex
  - %&encoding= UTF-8 Unicode
  - %SourceDoc ../Main.tex

  But this syntax was a mistake because the symbols "%&" are reserved for the use of TeX.

- In versions 1.37 and 2.00 of TeXShop, the syntax has been changed to the following:

  - %!TEX TS-program = xelatex
  - %!TEX encoding = UTF-8 Unicode
  - %!TEX root = ../Main.tex

  It you used the earlier facility, you need to change your old source files to the new syntax. I'm very sorry to cause this work, but the change is really necessary.

- If you are in the middle of a project and cannot make the change now, you can temporarily set a hidden preference to revert to the old syntax. To do so, open Apple's Terminal program and type

  - defaults write TeXShop UseOldHeadingCommands YES

  Once this is done, the new commands will be recognized but the old commands will also work. However, I recommend turning this preference off as soon as possible.

- Commands have been added to the default Macros menu which insert the symbols "%!TEX TS-program = " and "%!TEX encoding = " and "%!TEX root = " into the source document; new users will see these entries. Users who are upgrading can easily add these symbols as well. To add the program entry, choose "Open Macro Editor" under the Macro menu. Click the "New Item" button, name the item "Program" and set its content to

  - %!TEX TS-program = #INS#

  Repeat for the "Encoding" and "Root" items.

- Martin Kerz added a "Check for Updates..." command to TeXShop. He also designed the new TeXShop web page. Thanks!

- OgreKit for searching has been upgraded to the latest 2.0.1 version.

- Additional filetypes can be edited, including files with extensions "abc", "bst", "bib", "lp", and "pdf". The addition of "pdf" allows TeXShop to be chosen as the default pdf viewer. A new pdf icon has been created so the system can use it on pdf files it will display in TeXShop.

- TeXShop has always had a "Revert To Saved" item under the File menu, but it has never worked! Sorry. This is fixed.

- David Reitter modified the selection code so if the user clicks on a control word like \gamma, the initial "\" symbol will also be chosen.

- A new preference item "Select on Activate" was added. When this item is checked, a mouse click on the text window will select this window and also place the cursor at the spot that was clicked. If the item is not checked, the initial mouse click will only activate the window. A separate click is then needed to position the cursor.

- New hidden preferences were added for users who change the default foreground and background colors of the editing window. These preferences set the color of the insertion point (without these preferences, the insertion point could become invisible). To set the insertion point to white, for example,

- defaults write TeXShop insertionpoint_R 1.0
- defaults write TeXShop insertionpoint_G 1.0
- defaults write TeXShop insertionpoint_B 1.0

- When a file is typeset, all open changed files with the same root are first saved.

- Improvements were made in the pdfsync code.

- In previous versions, it was possible to add a Macro button to the Preview Window Toolbar in English, but not in other localizations. This is fixed thanks to Juan Luis Varona.

- New Japanese Help by Yoshihisa Okazaki with help from Seiji Zenitani.

- A proxy icon is now added to the title of the preview window. This icon can be dragged to the desktop or other folders to create a copy of the pdf file. The source window has always had a proxy icon. Thanks to Rene Donner for suggesting this feature and explaining how to implement it.

##### Version 1.36 was never released.

##### Version 1.35 adds extra features to TeXShop and fixes some bugs.

###### New features:

- An important recent development is the release of XeTeX and XeLaTeX by Jonathan Kew. See

  - http://scripts.sil.org/xetex

  XeTeX is not part of Gerben Wierda's standard installation, but it is available with Wierda's i-Installer as an optional install directly from Jonathan Kew. XeTeX can access Macintosh fonts directly, so TeX documents can be written with Lucida Grande, Zapfino, and any other Mac font. Moreover, XeTeX understands Unicode, so for example users can type Arabic into the source window from right to left, typeset with TeX, and obtain Arabic in the output window. In particular, XeTeX source documents have UTF-8 Unicode encoding.

  TeXShop 1.35 supports XeTeX directly as follows:

  - a) XeTeX and XeLaTeX are now available in the pull-down typesetting menu on the source window
  - b) Using preferences, a user can make XeTeX or XeLaTeX the default typesetting option
  - c) If one of the first ten lines of the source has the form

    - %!TEX encoding = UTF-8 Unicode

    then that file will be loaded and saved with UTF-8 Unicode encoding, regardless of the default encoding chosen for other documents

  - d) If the first line of the source has the form

    - %!TEX TS-program = xetex or %!TEX TS-program = xelatex

    then the appropriate program will be used regardless of the typesetting option chosen.

- These XeTeX features form a special case of a new general method for adding typesetting engines to TeXShop. There is a now a folder in ~/Library/TeXShop named Engines; the files in this folder are shell scripts which call typesetting programs. When TeXShop first starts, it examines this folder and adds the script names of files it contains to the pull-down typesetting menu. Choosing one of these items and pushing the Typeset button calls the script. Users can write their own scripts and add them to the Engines folder.

  Items in ~/Library/TeXShop/Engines can be chosen as default typesetting method in TeXShop Preferences.

  The typesetting program can be set in the source code by writing one of the following on any of the first twenty lines of the source:

    %!TEX TS-program = tex
    %!TEX TS-program = latex
    %!TEX TS-program = pdftex
    %!TEX TS-program = pdflatex
    %!TEX TS-program = personaltex
    %!TEX TS-program = personallatex

  This new syntax also works for any new typesetting engine added to ~/Library/TeXShop/Engines. For example, %!TEX TS-program = xelatex chooses XeLaTeX.

  The encoding used to open or save a file can be set by writing a line of the form

    %!TEX encoding = UTF-8 Unicode

  as one of the first 20 lines of a source document. Any supported encoding is allowed; TeXShop's Help Files list the string which must appear on the right for each of these encodings. To bypass this behavior, hold down the option key while opening a file.

  The old SourceDoc syntax has been modified to conform with the above changes. For example, to set the root file to ../Main.tex, write

    %!TEX root = ../Main.tex

  (The old syntax is still supported for setting the program, encoding, and SourceDoc, but users are urged to switch to this new syntax.)

- TeXShop has a new Find panel by Isao Sonobe. This panel supports regular expressions. Users can switch between the new panel and the original one in Preferences. The Find panel depends on OgreKit, a Cocoa framework for handling regular expressions by Sonobe. See

  - http://www-gauge.scphys.kyoto-u.ac.jp/~sonobe/OgreKit/

  OgreKit is distributed using a slightly modified version of the BSD license. This license can be found in the Documentation included directly in the OgreKit Framework folder in the TeXShop source distribution. OgreKit requires Panther, so the new panel will only appear on machines running Panther.

  There are many nice features in this new Find panel, which users can discover for themselves. OgreKit modifies the "Find" menu submenu of the TeXShop Edit menu, replacing it with a more extensive menu. This might be confusing to Localizers, because the menu in the TeXShop nib file is not the menu they will see when TeXShop is running. The Find menu in the nib file should not be modified because it will be active in system 10.2. Instead the corresponding menu in OgreKit needs to be localized in the TeXShop source. The Find panel presents buttons controlling how it will find words; the settings of the buttons will be remembered from session to session. Adjust them until Find works as expected and then relax.

- TeXShop 1.35 is distributed with the latest pdfsync.sty by Piero d'Ancona and J. Laurens. This fixes typesetting problems caused by the version distributed with TeXShop 1.34. TeXShop did not keep up with the changes by d'Ancona and Laurens for several months; sorry!

  In the new version, \include and \input are supported; to use the second, the syntax \input{thisfile} must be used rather than the syntax \input thisfile. The new version supports \pdfsync, \pdfsyncstart, and \pdfsyncstop. Use the first of these commands at any spot where you want to reference a point. If pdfsync breaks your code, enclose the offending section in a \pdfsyncstop, \pdfsyncstart pair.

- Suppose you are typesetting myfile.tex. Pdfsync creates a file named myfile.pdfsync containing synchronization data. Roughly speaking, each data entry describes a synchronization point as follows:

  - the page number of the output where the point occurs
  - the location on this page
  - the name of the source file producing this particular output
  - the line number in this source file for this particular output

  There is a way to get TeXShop to display these synchronization points. The preview window toolbar has a new checkbox item called SyncMarks. By default, this item is not shown; use Customize Toolbar in the Window menu to select it. When the checkbox is checked, synchornization points are shown.

  By default, this item will not be checked when the Preview window first appears. A hidden preference item can change this:

  - defaults write TeXShop ShowSyncMarks YES

- TeXShop 1.35 has new matrix code by Jonas Zimmermann. The Matrix Panel now makes tables. Examine the panel to find all of the new features. There is a hidden preference to set the default size of the matrix:

  - defaults write TeXShop matrixsize 12

  A very small number of users may have modified "matrixpanel.plist" in ~/Library/TeXShop/MatrixPanel. This plist has been extended; the new list is called "matrixpanel_1.plist". Please edit this file to add your changes.

- In previous versions of TeXShop, if you clicked elsewhere and then clicked on the edit window to edit, you would need to click twice to correctly position the cursor. This is now changed; the first click in the edit text is recognized and positions the cursor.

  When applescript runs under the Macro menu, it starts a small second application embedded in the TeXShop folder to actually run the script. That is because when a command like "latex" runs, and there is an error on the source, the console appears to accept user input, but the TeXShop event loop is not running during the applescript action, so no user input can occur.

  Many applescripts do not have this problem. TeXShop now allows users to begin applescript macros with the command

  - -- applescript direct

  When written this way, the script will be run directly by TeXShop rather than by the second small application.

- Added a menu command "Trash AUX Files" and a button on the console "Trash AUX Files." When involked, these commands move to the trash all files in the current source directory with the same name as the source file and extensions aux, bbl, blg, brf, glo, idx, ilg, ind, ioa, lof, log, lot, mtc, mlf, out, pdfsync, and toc. Thanks to Will Robertson for suggesting this command and producing this list of extensions.

  Additional extensions can be added to this list with a hidden preference. To add "dvi" to the list

  - defaults write TeXShop OtherTrashExtensions -array-add "dvi"

  Several such extensions can be added in this way, one by one. To remove all additions

  - defaults write TeXShop OtherTrashExtensions -array

  The original list of extensions above will always remain active.

  Suppose a book project has a main.tex file in a folder, and then chapters in subfolders which are accessed using commands like \include{chapter1/chapter1.tex}. When this book is typeset, main.aux and other files will appear in the primary folder, and chapter1.aux will appear in a subfolder. So the "Trash AUX Files" command does not do a complete cleanup. But if the option key is pressed when the menu item is chosen or the button on the console window is pressed, then

  - a) SourceDoc and Root File information will be used to find the root document
  - b) All files with appropriate extensions listed above will be moved to the trash from this folder and all subfolders, even if the name does not agree with the name of the root file.

  Some users may want to throw caution to the winds and arrange that "Trash AUX Files" always performs this more extensive cleanup. A hidden preference allows this:

  - defaults write TeXShop AggressiveTrashAUX YES

- Added new templates by Will Robertson. These are heavily commented. It is intended that users will edit them to fit their own requirements. The templates are only installed if TeXShop is running for the first time, or if the Templates folder is completely removed from ~/Library/TeXShop. But Will's templates are in a folder named "More" in the TeXShop distribution; old users can obtain them by moving "More" to ~/Library/TeXShop/Templates.
- Added new macros by Will Robertson to create tables and arrays, to insert a reference, and to open other project files quickly. These macros have been praised on the TeX-On-MacOSX mailing list. The macros are available for new users; older users can obtain them by following simple instructions which come with TeXShop 1.35.
- Added a macro to examine files in the teTeX tree. For example, if "article.sty" is typed in the dialog produced by the Macro, kpsewhich is used to find this file in the tree and open it in TeXShop.
- There are hidden preferences to set the color of the text in the source window

  - defaults write TeXShop foreground_R 0.3
  - defaults write TeXShop foreground_G 0.3
  - defaults write TeXShop foreground_B 0.3

  This color will show if syntax coloring is on; otherwise it will be black and then color can be selected in the Font menu.

  When used with existing hidden preferences to set the source window background color, these commands can be used to write source as white on black, or with other color schemes. TeXShop has new macros to set the source window colors, and to reset to default colors.

- There are hidden preferences to make the source, preview, and console windows partly transparent.

  - defaults write TeXShop ConsoleWindowAlpha 0.75
  - defaults write TeXShop SourceWindowAlpha 0.75
  - defaults write TeXShop PreviewWindowAlpha 0.75

  Here an alpha value of 0.00 is completely transparent and an alpha value of 1.00 is completely opaque. Use these commands cautiously!

- TeXShop now has a Statistics panel, which lists the number of words, lines, and characters in a document. This is obtained by calling

  - detex myfile | wc

  When first called, the document on disk is tested. After changes are made to the document, the "update" button saves the document and calls detex again. The detex command removes tex commands, but the word count is still only approximate. Input and include files are counted by this command.

- New German Help by Martin Kerz. Kerz also redesigned the TeXShop Help Window to follow Apple's current guidelines. These changes appear in English and German, but may not appear in other localizations.
- When a file is drag-and-dropped, any alias is now resolved. Thus alias graphic files (and other files) can be used provided they are dragged and dropped to the source. Alias files will not work if their names are typed directly because the tex engine does not understand aliases (it does understand symbolic links).
- Several changes were made in the Japanese portions of the code by Seiji Zenitani, with help from Yu Itoh and Koichi Inoue. There is a new Japanese encoding, Shift JIS X0213, which will become a new standard in Japan. There is now utf.sty support for pTeX. Before this change, Japanese pTeX supported only 6000 Kanji characters, but utf.sty supports more than 20,300 characters. This support is turned on by a preference item in Misc. When on, TeXShop exports non-ptex chracters as utf.sty codes. For example, unicode characters become \UTF(Hex code) and non-unicode characters become \CID(glyph ID).
- Zenitani also added new Japanese default settings. Previously, Japanese ptex distributors provided their own "altpdflatex" scripts, which was confusing for beginning users. This new version of TeXShop bundles "altpdflatex-for-ptex" scripts and installs them in ~/Library/TeXShop/bin. The new Japanese default settings in Preferences automatically set up TeXShop to use these new scripts.
- Added the following Chinese encodings at the request of Adam Si: Mac Chinese Traditional, Mac Chinese Simplified, DOS Chinese Traditional, DOS Chinese Simplified, GBK, GB 2312, and GB 18030.
- Added a new Japanese help system by Yoshihisa Okazaki.
- Added new Spanish localization and help.
- TeXShop can now open and write files with extension .dn and .engine.
- There is a hidden preference

  - defaults write TeXShop BringPdfFrontOnAutomaticUpdate NO

  which causes the pdf window to remain where it is when it automatically updates and is used with an external editor. This preference was requested by a user with an X11 editor and only seems necessary in this case.

- Users sometimes upgrade Mac OS X via "archive and install". After the installation, TeXShop remains but teTeX is blown away. The first time such users typeset a file, they see an error dialog reporting that "pdflatex cannot be found." This error dialog has been revised to explain more clearly the likely cause, and resolution, of the problem.
- The TeXShop web page now contains a "LaTeX Documentation" section listing recommended books and links to free LaTeX guides on the internet. The web page also makes available a number of short LaTeX example files by Will Robertson.

###### Bugs fixed:

- When a large number of windows were open, switching from one window to another took a long time and yielded a spinning disk; TeXShop was completely unresponsive during this time. This slowdown was caused by a bug in the Macro code. The problem is now fixed.
- If a dvi file was opened in a directory without write permission, TeXShop could not create and display a corresponding pdf file. Now it will create the pdf file in a temporary directory and display it.
- If the abort button was pushed in the console and the user later typed and pushed RETURN, the program crashed. Fixed.
- Two minor error dialogs, which should have appeared in a window, instead appeared on the desktop with an inoperable "OK" button. This is fixed.
- In localizations other than English, attempts to get the applescript dictionary crashed TeXShop. Fixed.
- The Bibtex, etc., tools in the source window did not work if a file had a root file. Fixed.

##### Version 1.34 adds extra features to TeXShop and fixes some bugs.

###### New features:

- Added a Matrix Panel by Jonas Zimmermann, zimmerleut@gmx.de. Many thanks.
- At the request of Claus Gerhardt, added an extra applescript command, "goto line". For instance
    tell front document of application "TeXShop"
    goto line 15
    end tell
- Added a first cut at pdfsync. Clicking on a spot in the pdf file while holding down the command key takes the user to the corresponding point in the source file. If the source file has include files, this operation will open the appropriate include file and take the user to a point in that file. Read the help file "General Help: Pdfsync" for important details. This change depends on pdfsync.sty, a file create by Piero D'Ancona with improvements by JÃrÃme Laurens.
- Also added pdfsync the other way. Clicking on a spot in the source file (including source files with root files) while holding down the command key will select the corresponding page in the pdf file.

###### Bugs fixed:

- The TeX, Latex, Bibtex, Makeindex, Metapost, Context, and Metafont buttons on the toolbar reset the default typesetting engine. This no longer happens. Thus it is possible to hit the Bibtex button and then hit command-T to typeset again.
- The abort button on the console window did not stay fixed when the window was resized. Thanks to Sean Luke for pointing out these first two errors.
- The command-1 keystroke switches back and forth between the source and preview windows. In previous versions, this did not work when a source window had a root file set by myfile.texshop or %SourceDoc. This is now fixed. Clicking command-1 while in the source brings up the corresponding preview window. Clicking command-1 again brings up the original source file. A given preview window may have several source files. Command-1 will bring up the last source file which was switched to the preview using command-1, or the root source file if there was no previous switch.
- New Spanish help files by Juan Luis Varona Malumbres. Thanks.
- Printing now respects the "scale" setting in Page Setup. It does not respect the "paper size" setting since paper size is set in teTeX. Printing works like this: the dimensions of the printed document are set by tex and encoded in the pdf file; this pdf is resized by the scale factor if this factor is not 100%, but otherwise is placed full size and centered on the printed page; usually the document size and printed page size are the same, but in rare cases when they are not, the edges of the document might be cut off.

##### Version 1.33 adds extra features to TeXShop and fixes some bugs.

###### New features:

- The changes in version 1.33 support improved apple scripting, better macro support, and improved interaction with external editors.
- Improved macro support was prompted by Claus Gerhardt, who wrote several useful scripts included with version 1.33. For example, one script calls htlatex to typeset a latex file for the web. The script saves the source, typesets, and opens the resulting html file in Safari. Thus the script behaves exactly like the Latex typesetting button except that it creates an html rather than a pdf, and displays the html in Safari rather than TeXShop. An advantage of this approach is that users can create their own scripts similarly and thus add features to TeXShop without waiting for new program code.
- TeX typesetting often requires a sequence of operations. To process a file with a bibliography, the source must be run through latex, bibtex must be run, and latex must be run twice more. A script is included to do this automatically. The script saves the source before the first latex run and updates the preview display at the end. Users can easily customize this script for their own workflow.
- Additional scripts convert the tex source file to a file with Windows line feed convention, or a file with Macintosh 9 line feed conventions, or a file with Unix line feed conventions. Mac OS X understands all line feeds without help, but many computers are not so smart; the conversions are useful when sending files to friends. The "flip" binary used to do these conversions was written by Craig Stuart Sapp. See http://ccrma-www.stanford.edu/~craig/utility/flip/ for details.
- A script is included to call pdfselect and extract portions of pdf documents. A user could request one file containing pages 3 through 7 of the tex document, one containing page 29, and one containing pages 31 through 36. The advantage of placing this code in the Macros menu is that a user interface is provided, so users don't need to remember calling conventions for pdfselect and don't need to switch to the Terminal.
- A #DOCUMENTNAME# variable was added to the Macro editor, giving applescript commands the name of the calling document.
- The following applescript commands were added to TeXShop. Consult the TeXShop help files for details about writing your own scripts using these commands.

  - typeset
  - latex
  - tex
  - bibtex
  - context
  - metapost
  - makeindex
  - typesetinteractive
  - latexinteractive
  - texinteractive
  - bibtexinteractive
  - contextinteractive
  - metapostinteractive
  - makeindexinteractive
  - typeset
  - refreshpdf
  - refreshtext
  - taskdone

- Improved support was added for external editors, following prodding by Joachim Kock. Several changes have been made:

  - There is now a preference to turn on continuous updating of the preview window if the user is running in external editor mode. Once each second the program checks to see if the pdf file has been updated. If so, it refreshes the pdf display.

  - The interval between refresh checks is controlled by a hidden preference item named RefreshTime. To reset to another interval in seconds (say every 2.19 seconds)

    defaults write TeXShop RefreshTime 2.19

  - Applescript command support has been added to TeXShop so external applications can send commands to it. For external editors, the important script commands are

    - latexinteractive
    - texinteractive
    - bibtexinteractive
    - contextinteractive
    - metapostinteractive
    - makeindexinteractive
    - typesetinteractive
    - refreshpdf
    - taskdone
    - open_for_externaleditor

    The first seven commands call TeXShop's typesetting engine. When one of these commands is called, control immediately returns to the calling program even though the typesetting operation is not complete. The taskdone command returns FALSE while this operation continues and TRUE when it is done, so a calling program wishing to send several commands can send one command and then test that it has been completed before sending another command.

  - Refreshpdf updates the preview display, and can be used instead of continuous updating to control that display. Typesetting commands automatically update the display upon completion.

  - The open_for_externaleditor command opens a .tex file, calling "Open for Preview..."

- Additional features not related to scripting or external editors have also been added:
- "Select All" can be used to select the full page of pdf output in selection mode. There is one restriction; in Multi-Page and Double-Multi-Page mode, select all is only active if the document has at most 20 pages, since otherwise the selected pdf will be enormous and bring the machine to a crawl.
- A preference item now allows users to distill with Apple's pstopdf rather than ghostscript. This only works in Panther because pstopdf is only in Panther. If the preference is chosen but Panther is not running, the old ghostscript code will be used. When the preference is chosen, ghostscript is no longer needed for internal TeXShop scripts, but it may still be required for teTeX style files. One such case is epstopdf.sty, used to automatically convert eps files to pdf format during typesetting.
- Zenitani provided additional drag and drop support. The new version reports an error if the filename of the dropped file contains a space. The new code also permits customization, in a somewhat strange way. To customize drag and drop code, add a new submenu to the Macros menu titled "Drag & Drop". Inside this folder, insert items for file types and make the text of each item be the code to be produced by drag and drop. For example, one item might be called ".pdf" and the body of this item might be "\includegraphics[#INS#]{%r}" where neither item would include the quotation marks. In these inclusions,

  - %F = full path of an dropped file
  - %f = dropped filename
  - %r = relative path of the dropped file
  - %n = filename without extension
  - %e = extension

- If an extension is not listed in the Drag & Drop menu, or if there is no such menu, then drag and drop behaves as Zenitani proscribed, so most users won't need to customize the code.
- German help has been updated by Martin Kerz, the Italian localization has been updated by Nicola Vitacolonna, the Spanish help was updated by Juan Luis Varona Malumbres, the French localization was updated by Hendrik Chaltin, and a Romanian localization was added by Andrei Teleman. Thanks!
- Macros can now be called when the preview window is active; commands which insert text will be deactivated in this mode. A toolbar item for the Preview window was added so the Preview toolbar can display a Macros button.
- An "Abort" button was added to the console for people who want to stop the typesetting program in midstream. This is a minor change.
- Code by Elliott Hughes was added to clean up some of the code calling a latex, tex, bibtex, etc., task. If the binary file is not found, the program now puts up an error message explaining the error and asking if the preferences bin path is correct. This will be useful for those running fink who forget to change the preference.
- At the request of Joachim Kock, when TeXShop opens a file for Preview, or is in external editor mode and opens a file, the program now compares the dates of the source and preview files. If the preview file is not up to date or does not exist at all, the source file is automatically typeset. There is a hidden preference to turn this behavior off, but it is on by default: To turn it off

  defaults write TeXShop ExternalEditorTypesetAtStart NO

###### Bugs fixed:

- A few users reported that their printers added a slight yellow background to the page. Only a few printers had that problem. Frank Stengel discovered that it was caused by a NSEraseRect call in the print drawing routine. This call has been removed; now TeXShop prints using only one line, the vanilla Cocoa call [myRep draw].
- In Panther, all Text objects offer word completion. If a portion of a word is typed and option-escape is typed, the system will offer a list of possible completions. This works in TeXShop, TextEdit, and other Cocoa programs. But TeXShop's Command completion was broken in Panther, and made it impossible to use this new feature. This is fixed.
- TeXShop has an applescript command to add text, but this command did not update the undo stack. This was fixed by Stefan Walsen; his patch is in version 1.33.
- If the user printed the source and later printed the typeset document, the document would be lowered on the page. This is fixed.
- Jerry Keough found a strange bug when using TeXShop in Jaguar. If the user's preference setting asked that no empty document appear at startup and if the user opened a document, made the pdf window active, and then reached over and closed the source window, the next menu use would crash the program. This bug did not occur in Panther. It is fixed.

##### Version 1.32 adds two extra features to TeXShop and fixes some bugs.

###### New features:

- There is a new menu item, "New Tag", which inserts an empty tag in the source text and positions the cursor so the user can add the name of the tag. As a corollary, there is now a keystroke to add a new tag; the keystroke is command-2.
- In Applescript macros, the terms #LOGPATH#, #AUXPATH#, #INDPATH#, #BBLPATH#, and #HTMLPATH# will now be recognized; this has been added at the request of Claus Gerhardt.
- There is a new option to set the program called by MetaPost. See the TeXShop help file for an explanation.
- The drag and drop code has been improved by Seiji Zenitani. Dropping files of types pdf, jpg, jpeg, tif, tiff, eps, or ps on the source document will produce \includegraphics and a reference to the file. Dropping a file of type cls, sty, or bib will \documentclass, \usepackage, or \bibliographystyle and a file reference. Dropping any other text file will produce \input and a file reference.

###### Bugs fixed:

- Although the magnification level can increase to 1000 in version 1.31, the arrow keys next to the magnification control only allowed values up to 400. This is fixed.
- If the preview window's toolbar was in text-only mode and the magnification panel was selected, the resulting small dialog window would not go away in 1.31. This is fixed.
- In Preferences, if the user set the tab size or the preview window magnification and then cancelled, the new values would still appear when the Preference panel was again displayed. This is fixed.
- Suppose the preference to place the first page on the right side is active. In 1.31, the left arrow key did now work in double page mode, and the right arrow key stopped one page before the end. In double multipage mode, the end key, the page down key, and the right arrow key stopped before displaying the last page. All of these problems are fixed.

##### Version 1.31 adds some extra features to TeXShop and fixes several bugs.

###### New features:

- Macros items are now specific to the typesetting engine set in the current window. Two default sets are created when TeXShop first starts, one for Latex and one for Context. (The Context set was created by Hans Hagen; thanks!). Suppose a different engine is selected, say TeX. When it starts, it will have the default Latex macros. But if this set of Macros is edited with the Macro editor, the new set will always be associated with TeX, while the old Latex macros will continue to be associated with Latex. Of course the Latex macros can also be changed.
- A new preference item allows the first page in the two double page modes to be either on the left or on the right. Books usually put this page on the right, so that is the default preference.
- The preference dialog has a new pulldown menu to reset preferences to default values. This addition was requested by Seiji Zenitani for users in Japan who must cope with three different versions of pTeX. These users can now rapidly set preferences without consulting documentation on web sites.
- The largest possible magnification in the preview window is now 1000 (previously it was 400).
- Additional French menu translations by Hendrik Chaltin; thanks!

###### Bugs fixed:

- Three Panther problems are fixed. A few interface changes were made to improve appearance in Panther. This release is essential for Panther.
  - In Panther, older versions of TeXShop refuse to create new files, although they can open existing files. This was fixed by adding two lines to the "displayName" code.
  - In Panther, the small yellow tags which display the current page when scrolling in multipage and double multipage display formats were blank. Also, the small yellow tags which display the size of a selection rectangle to copy a portion of the pdf window were blank. This is fixed.
  - On my system, Panther spellchecking often fails for all programs. This happens at boot time. The computer boots up, but even if the first program used is TextEdit or Mail, it refuses to "spell check as you type" and the "Spelling dialog" refuses to appear. I suspect this is due to a defective third party program on my disk, since other Panther users haven't seen the problem. But I haven't been able to isolate the bug. Once the problem occurs, TextEdit and Mail have minor text input glitches which are cured by turning off continuous spell checking. TeXShop had more serious glitches in this situation. So in 1.31, extra code has been added to turn off continuous spell checking when TeXShop starts if the spell checker is not available.
- Fixed a bug reported by Luis Sequeira: when text was dragged within the source window, it was always copied and pasted. It should have been cut and pasted unless the option key was down. This is fixed.
- Juan Luis Varona Malumbres slightly improved Spanish help (small icon for the list of help files in the drawer).
- In two page mode, typesetting no longer scrolls to the first page.
- The new page and magnification buttons retain firstResponder status (as before 1.29) so users can experiment with several settings without clicking again for each experiment.
- In version 1.30 and before, if the user input an impossible line into the "Go To Line" dialog, the program could crash; this is fixed. Thanks to Eric Seidel for the bug report.
- Kevin Ballard, kevin@sb.org, contributed a new English.lproj folder with revised placement of interface items in preferences, slightly revised menu items, and other changes to improve the look of the interface in Panther. Many thanks!
- Made spacing changes for Panther in the German preference panel. Thanks to Martin Kerz for the suggestions.
- There is a hidden preference item to turn off tag computation: "defaults write TeXShop TagSections NO" but this preference was disabled somewhere along the line and certainly in 1.30. It is enabled again.
- The Preference window is no longer hidden when the program is deactivated.

What's new?