# Tips and Tricks

## Hidden Preferences

Skim has a few advanced preferences that are not accessible through the UI. You can set these from the command line in Terminal.app. More information can be found on a separate page on Hidden Preferences.

## Default PDF View and Window Settings

Skim allows you to customize the default settings for window layout and PDF display when you open a new PDF file.

To customize the default PDF view settings, you just choose your preferred settings in a PDF. Then you choose "Use Current View Settings as Default" from the PDF menu. Then all new PDF files will be opened with those settings. The view settings that are saved are all the settings from the PDF menu (Single/Facing Pages, Continuous, Book Mode, Page Breaks, Media/Crop Box, and Zoom factor or Automatically Resize). You can reset these values by pressing the Normal button in the General preferences.

If you want to use different view settings in Full Screen mode, you can follow the same procedure, but while you are in Full Screen mode. If you don't see the menu bar, just move your mouse to the top of the screen. By default the settings are not changed when you switch to/from Full Screen mode. To reset to this behavior, press the Full Screen button in the General preferences.

New windows, by default, have the same size as the last window shown. Skim also allows you to open new PDFs either Maximalized, so they tightly fit in the screen, or just Fit around the PDF. The side panes always have the size of the last window shown. But you can choose to hide the contents pane on the left for PDFs that do not have a Table of Contents. These window settings can be changed in the General preferences.

## Changing Colors

Skim makes it easy for you to modify the colors of notes and highlights added to your PDF in Skim. To change the color of a note or highlight you can either use the Color Panel (choose Show Colors... from the Tools menu). Choosing a color in the Color Panel changes the color of the selected note or highlight. You can also drag a color from the color well at the top of the panel and drop it on a note.

Another way to change colors makes use of the Favorite Colors toolbar item (choose View > Customize Toolbar... to add this item). Clicking a color in the Favorite Colors control changes the color of the selected note or highlight. Hold down the Option key to change the font color for text notes or the interior color for circle or box notes. Also here you can drag a color from the Favorite Colors control and drop it on any note or highlight. You can change a color in the Favorite Colors by dragging a new color from the Color Panel and drop it on the Favorite Colors toolbar item. Hold down the Option key to add a new color. You can remove a color from the Favorite Colors by dragging it to the Trash.

You can change the default colors used for new notes and highlights in the Note preferences.

Moreover, at the bottom of the Color Panel there is one or more rows of squares that can be filled with your favorite colors. It works similar to the Favorite Colors control: you can click a square to set the color of the selected note or highlight, or drag and drop a color. However, the colors at the bottom of the color panel are shared by all Cocoa applications that have a color panel. This way you can use consistent colors in all your applications.

For circle, square, and line notes you can also change the fill color. When you use the Color Panel, you can do this by checking the box at the bottom of the Color Panel. When using drag & drop of colors, hold down the Option key to change the fill color. Also for text notes you can change the text color in similar ways.

## Joining Notes

Normally, Skim writes markup notes (highlights, underlines, and strike outs) and freehand strokes as separate notes. However sometimes it makes sense to join separate markups or freehand strokes that logically are associated. This may make it easier to change properties of several highlights or strokes, or to delete or move them as a whole.

Skim allows you to join separate notes or freehand strokes of the same type easily. To do this, first select the first component you want to join. Then hold down the Shift key while selecting the other components you want to join. Note that the latter components must be of the same type as the first one, so you cannot join e.g. a highlight to an underline. The combined note will inherit the properties, such as the color, from the first selected component.

For freehand notes there are even quicker ways to easily combine separate strokes into a single combined freehand note. You can combine strokes immediately while drawing them. For this, make sure a freehand note is selected, which you can do by clicking on the stroke in the Freehand Note Tool Mode. If you now draw another stroke while holding the Shift key, this stroke will be added to the selected freehand note, rather than a separate note being created. (In a future version you will also be able to extend freehand notes in this way by simply keeping the Caps Lock key pressed.)

## Writing Linebreaks and Tabs in a Text Note

When you hit Tab or Return while editing a text note, you will commit the edit for the text of the note rather than inserting a tab or line-break character. If you actually want to insert a tab or line-break character in the text of the note, you should hold down the Option key while hitting Tab or return. Note that this is standard behavior for any text field.

## Cropping Pages

Skim makes it easy to crop pages, so it may be easier to read and display. There are various menu actions to crop all pages to an appropriate size. To see some of them you may have to hold down a modifier key.

Crop (⌘K)

With selection: Crops all pages to the current selection (from the Selection Tool). You could create a selection using Select Content, which selects the contents of the current page, or increases the selection to contain it.

Without selection: Determines the size from the contents of a sample of representative pages. Uses different crop sizes for even and odd pages, to take the different margins into account.

Auto Crop - Separate (⇧⌘K)

Crops all pages separately to its individual contents. Useful for scanned papers with varying content sizes.

Auto Crop - Combined (⌃⌘K)

Crops all pages to the same size which is large enough for the contents of any page. Useful for scanned papers with approximately equal sizes and contents location.

Crop Page (⌥⌘K)

With selection: Crops the page for the current selection to this selection (from the Selection Tool).

Without selection: Crops the current page to the size of its content.

## Filtering Notes

Notes displayed in the note table in the right side pane can be filtered and sorted.

To sort the notes according to a property displayed in the table, select the column for this property. Select the column again to get the inverted sorting.

To display only notes for certain types, use the contextual menu for the table headers. Selecting a type from the menu will add or remove the types for display in the table. You can also manage the types to display if you choose Select... from the contextual menu on the header. You can also enter a search text in the search field to filter the notes for inclusion of the search text.

## Hidden Shortcuts

Most keyboard shortcuts are listed on the corresponding menu item. Some items may be hidden as alternate menu items, that only appear when you press a certain modifier key. For example some of the crop menu items discussed above. You can discover them by showing a menu and holding down various modifier keys, such as Option and Control. Currenty the following alernate menu items are present (⌘ = command, ⌥ = option, ⇧ = shift, ⌃ = control.)

 PDF > Physical Size ⌥⌘0 PDF > Zoom To Height/Width ⇧⌘= Tools > Auto Crop - Separate ⇧⌘K Tools > Auto Crop - Combined ⌃⌘K Bookmarks > Add Setup Bookmark ⌥⇧⌘D Windows > Minimize All ⌥⌘M Windows > Zoom All ⌥

Apart from those, Skim also has a few unlisted shortcuts to make life easier. Some only work in specific tool modes or when a note is selected. These shortcuts only work when the main PDF view has the focus.

 space, ⇧space, page down, page up scroll page down/up home, end first/last page →, ←, ↓, ↑ scroll ⌥⌘→, ⌥⌘←, ⌥⌘↓, ⌥⌘↑ change tool mode →, ←, ↓, ↑, ⇧→, ⇧←, ⇧↓, ⇧↑ move selected note return edit selected note ⌥⌃→, ⌥⌃←, ⌥⌃↓, ⌥⌃↑, ⇧⌃→, ⇧⌃←, ⇧⌃↓, ⇧⌃↑ resize selected note ⌥→, ⌥←, ⌥↓, ⌥↑ move reading bar ⇧⌥↓, ⇧⌥↑ resize reading bar ⌥tab, ⌥⇧tab rotate through notes and links ⌥escape deselect active note t, n, c, b, h, u, s, l, f change note tool mode (only in note tool mode)

In presentation mode, most menu commands are disabled. Some are enabled, as well as a few extra easy shortcuts:

 →, ←, left mouse, right mouse next/previous page p show pages a toggle auto/actual size b toggle black screen escape exit presentation (also in full screen mode)

## Export Templates

You can customize the way Skim exports notes in RTF or plain text formats ("Notes as Text", "Notes as RTF" and "Notes as RTFD" in the Export panel). You can also add extra export types to various text formats. This is done by supplying a custom template for the export type.

The template consists of a single file that should be placed in the folder ~/Library/Application Support/Skim/Templates. You may need to create these folders if they do not exist. You can also move them inside the Library folder on your computer or in the Network folder if you want to make them available to all users.

The name of the template files is used to describe the export type in the popup in the Export panel when you save. The file extension for the template file will also be used for the exported file. Currently the following rich text formats are supported: .rtf, .rtfd, .doc, .docx, and .odt. All other types are treated as plain text. Plain text templates should be saved with UTF-8 string encoding.

If you want to change one of the three default text export types ("Notes as Text", "Notes as RTF" and "Notes as RTFD"), you use the special name notesTemplate with the appropriate extension (.txt, .rtf, or .rtfd). The default templates can be found in the Skim application bundle, inside the folder Skim.app/Contents/SharedSupport. Note that the standard text templates ("Notes as Text" and "Notes as RTF") are also saved with the PDF file, and may be used by third-party applications, such as BibDesk and EagleFiler.

See Templates for the syntax of these template files.

## Page Transition Effects in Presentations

Skim allows you to use cool page transition effects in Presentation mode. A large number of built-in effects are already provided out of the box. To turn on the transition, choose "Presentation Page Transition" from the View menu, and select the effect, duration, and extent you prefer. Apart from the built-in effects, Skim allows you to add custom transition effects. They are added as Image Unit plugins. Image Units are general purpose graphics plugins for use in many Cocoa applications. These plugins should be added to the folder Library/Graphics/Image Units, either inside your home folder, or in the startup disk's top level folder. You may have to create these folders if they do not yet exists. So where do you get custom Image Units? Well, you could find them on the net. Or you can write one yourself. Also, we can link to transitions written by users from this page. Below are a few Image Units to get you started.

### Custom Transitions

(These versions require Mac OSX 10.5 or later)

Starting with Skim version 1.3.6 you can add a Script Menu to the main menu bar. This allows you to quickly perform AppleScript and other custom actions. This also allows you to add custom keyboard shortcuts in the System Preferences for custom actions from these scripts.

## Printing to Skim

Everybody knows how easy it is to print anything, just by hitting the Print menu item or Command-P. However, this same command also lets you save whatever would be printed to a PDF file. Just press the PDF button at the bottom left, and you get a list of options, one of which is to save as PDF. However there are more options. And one of the options you could add is to open the PDF directly in Skim.

To add this option, create an alias of Skim in the folder Library/PDF Services. This folder can be placed either in your Home folder, on your computer, or in the Network folder. You may need to create this folder if it does not yet exist. If you like clean UIs, you can rename the alias to something like "Open PDF in Skim". This will then be the title of the menu item you see when hitting the PDF button in the Print panel.

In Leopard it is even easier to add this option to the Print menu. Just choose "Edit Menu...", hit the "+" button, and select Skim. However this does not allow you to change the title of the added menu item.

## Reading man pages in Skim

Everyone who uses the command line knows how tedious it can be to read a Unix man page in the terminal, especially for long man pages, such as for bash. However, man pages can also be pretty-printed in PostScript format, and Skim can read PostScript. The following line can be used to show the man page for bash in Skim (of course this works for any shell command).

man -t bash | open -f -a Skim


To make things easy, you can add the following lines to a .profile file if you have bash as the default shell, as is the case for new accounts starting from Panther (create the file if it does not exists).

manp()
{
man -t "${1}" | open -f -a Skim }  If you use the csh or tcsh shell, add this line to your .cshrc file. alias manp "man -t \!* | open -f -a Skim"  You can now simply type something like "manp bash" to read the man page for bash in Skim. The name manp used here is completely arbitrary. Below is a slightly more complicated version of the alias definition, that sets the file name to something more appropriate and uses ps2pdf to convert to PDF. alias manp 'man -t \!* | ps2pdf - /tmp/man_\!$.pdf && open -a Skim /tmp/man_\!$.pdf'  ### Reading text files from the command line in Skim You can similarly use the enscript command to turn any text file into PostScript, which you then could read in Skim. Add the following to your .profile file if you use bash. catskim() { cat "${1}" | enscript -p - | open -f -a Skim
}


Or add the following to your .cshrc file if you use the csh or tcsh shell.

alias catskim "cat \!* | enscript -p - | open -f -a Skim"


## Displaying synchronised presentation notes

You need to open up the PDF of your presentation, as well as a second PDF of accompanying notes as the 'Synchronized Notes Document', containing exactly the same number of pages as the presentation. Then, in the presentation PDF, go to 'View' > 'Presentation Options', and in the dropdown for 'Synchronized Notes Document' you will see as an option the filename of the other PDF containing the notes for the presentation. Select that, then make sure you have the window of the presentation PDF on the 'public' monitor (eg a projector, as you would usually do) and the window of the notes document on your private monitor, such as your own laptop. Then simply put the PDF in presentation mode, and the notes PDF will scroll along as you change pages on the presentations PDF.

### Interaction with LaTeX Beamer

Many people want the notes to integrate with the notes functionality of the LaTeX Beamer package. This synchronized notes mode doesn't support the slightly weird 'stitched-together-page' mode of Beamer that the documentation seems to encourage, but with a few lines of LaTeX you can produce output in a format that Skim will be happy with.

Taking inspiration from this guide, you basically want to create three documents: two wrapper files, and the actual content. One wrapper could be called for example seminar-notes.tex, containing:

\documentclass{beamer}
\setbeameroption{show only notes}
\input{seminar.tex}


and the other wrapper seminar-slides.tex, containing:

\documentclass{beamer}
\setbeameroption{hide notes}
\input{seminar.tex}



The third should be, as you can see seminar.tex, and should contain a fairly standard Beamer presentation, but missing a \documentclass declaration at the top since that's already in the wrapper files.

Then you can simply build both documents as usual, and load them up as described above. The only problem is that Beamer only outputs non-empty pages in the notes PDF, so if you have any slides without accompanying \notes, there won't be any output for the page and the documents won't be the same length. Depending on your style of leaving notes this may not be problem, but if you only need the occasional pointer, you can add two lines of LaTeX at the top of your seminar.tex which will auto-insert an empty note on each slide (the \let line is just to preserve the old command):

 \let\oldFrame\frame
\renewcommand{\frame}[1]{\oldFrame{#1 \note{ }}}


You can then use the \frame command as usual, and it will auto-create an empty notes page. If you add extra notes to the page, they will display as well. Frames with overlays seem to be handled sensibly. The only other caveat is that you now can't use \note outside of the frames since it will generate an extra notes page, again ruining the synchronisation. If you like inter-frame notes you probably have to use them exclusively -- I'm not sure how this is handled with Beamer's second-screen notes mode in any case. If any LaTeX/Beamer gurus know of a better way to achieve any of this, please jump in and modify as appropriate.

Alternatively, this page provides a workaround that should work for both the \frame command and frame environment. Place the following commands before your title page:

 \makeatletter
\def\beamer@framenotesbegin{% at beginning of slide
\gdef\beamer@noteitems{}%
\gdef\beamer@notes{{}}% used to be totally empty.
}
\makeatother


I'm not sure if this has to be inserted after \begin{document} or not.

If you want to have a bigger version of the displayed slides in front of you alongside the notes (I know I often do), you can replace the notes slide with:

\documentclass[article]{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=right}
\input{seminar.tex}


This will give you a double width page that may still have legible notes, but you can also see the slides on display (and the next screen). All the redefining \frame shenanigans is probably unnecessary in this mode.

#### Making TeX build the right document

It can get a little annoying if you have some automatic build program that simply tries to build the current file to work with these multiple-file variants. What you want is a pointer to some other file that you really want to build. It turns out TeX can do this. With casual searching, I can't find a good pointer to documentation beyond this, but you can set a magic shebang-like field at the top of the file seminar.tex like so, to make it build the slides when you ask it to build seminar.tex:

%!TEX root = seminar-slides.tex


(If you use TextMate, the 'Set Master File' command in the LaTeX bundle will do this for you.)