/* This style sets the results of the Safari print link to the font in your Firefox user settings. It also sets the size of the pre tags to about 2/3 of that setting. This is because their pre tags do not break and thus run off the page when you print. (PRE tags are used for their code samples.) So reducing the font helps a bit. I print in landscape mode. If you are using portrait mode, you may have to reduce the pre font-size of pre even more. Also you can change the size, using percentages, ems, or simply px as you wish. Finally, I access safari from safari.oreilly.com. If you signed up with another publisher you will probably have to change the url-prefix to the one you use. 

If you want a title on the page, see my grease monkey script.

I used the Stylish Read Easy Extension Styles by bugmenot user as the base for this, stripping out most everything since font sizes and layout are really all that I was interested in.
http://userstyles.org/style/show/526

*/

/*Change this is you signed up for safari from a different publisher */
@-moz-document url-prefix(http://safari.oreilly.com/print) {

/* 

/* Sets most tags to your chosen font PRE is set here so that I can insure that the height and width and overflow options are as I want them. (ie. automatically fits the text in pre and with overflow shows the text instead of a scroll bar. */
html, body,
        div, span,
        p, h1, h2, h3, h4, h5, h6, h7, h8, h9,
        table, thead, tbody, tfoot, tr, th, td,
        ol, ul, li,
        iframe, a, font, pre {
    line-height: normal !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    font-family: inherit !important;
    font-size: inherit !important;
    color: inherit !important;
}

/* Here we change the font size of the pre tag to 2/3rds of the regular font. Adjust as you wish, even with ems or px. Personally I prefer using this method, so that I can change my users settings if I want the font size different, rather than having to adjust this script. */

pre {
    font-size: 66% !important;
}

/* removes the copyright notice that prints at the top of EVERY page! */
div[class^=p]{display: none !important;}

/* Removes the book name and the user name that prints at the top of EVERY PAGE */
span {display: none !important;}

}