How do I create a custom style sheet?

If you want to create a custom style sheet, I suggest doing the following:

  1. First, find one that's close to what you want, or at least makes a good starting point.

  2. Modify the style sheet in small steps, and test it in between changes. This way, if something breaks it will be easier to locate the source of the problem.

Here's an example style sheet, that has a lot of comments explaining what's going on.

// Elegant style for MultiMarkdown Composer
// by Fletcher T. Penney
//
// Colors can be:
//      #RGB (with or without the '#')
//      #RRGGBB
//      #ARGB (the A is for alpha)
//      #AARRGGBB
//
// List of elements that can have formatting applied:
//  default
//  blockquote
//  bold
//  boldAndItalic
//  codeBlock
//  codeSpan
//  comment
//  heading
//  heading1 - heading6
//  italic
//  link - Markdown links, e.g. [foo](bar)
//  list
//  math
//  metadata
//  table
//  URL - the actual clickable URL (if enabled)
{
    autoZoomHorizontalPadding = 50; // Left and Right padding to use when Auto Zoom is on
    backgroundColor = eee;          // Color to be used for the background
    caretColor = 000;               // Color to be used for the cursor
    selectionColor = 3000;          // Color to be used when selecting text
    focusMode = 1;                  // Should Focus Mode be turned on when this theme is enabled?
    typewriterMode = 1;             // Should Typewriter Mode be turned on when this theme is enabled?
    foregroundColor = 000;          // Color to be used for the text
    markupForegroundColor = 8000;   // Color to be used for markup text foreground
                                    // Can also set a background color
// CSS is applied to the preview pane to allow you to match colors, or apply any other desired formatting
    css = "body {background:#eee;color:#000;font-family: Didot; font-size:14px; line-height:170%; text-align: justify;}";
    horizontalPadding = 20;         // Left and Right padding to use when Auto Zoom is off
    justifyText = 1;                // Should justification be turned on?
    lineLength = 75;                // Maximum line length (in characters)
    lineHeight = 1.7;               // Line spacing ( 1.7 = 170% )
    monoFontSize = 12;              // Font size to be used for monospaced text
    monoFontName = Courier;         // Font to be used for monospaced text (use quotes for multiword names, e.g. "Courier New")
    default = {                     // Default is applied to all text, unless superseded by a more specific setting
        fontName = Didot;           // Font to be used for this feature (e.g. default)
        fontSize = 13.5;            // Font size to be applied
        kerning = 0.3;              // Kerning to be applied (look up kerning on internet if you're not sure what this is)
    };
    metadata = {                    // Formatting to be applied to the metadata at the top of the document
        foregroundColor = 7000;
        kerning = 0.2;
    };
    heading = {                     // General heading formatting
        foregroundColor = 555;
        backgroundColor = 10000000;
        bold = 1;                   // Turn on bold if the font supports it
    };
    heading1 = {                    // Level 1 headings only
        fontSize = 17;
        fontName = Didot;
        foregroundColor = 555;
        backgroundColor = 10000000;
//      markupForegroundColor = 0C0;// custom colors for the markup if desired
//      markupBackgroundColor = C00;
        bold = 1;
    };
    heading2 = {
        fontSize = 15;
        fontName = Didot;
        foregroundColor = 555;
        backgroundColor = 10000000;
        bold = 1;
    };
    codeSpan =     {                // Spans of code, e.g. `this is code`
        mono = 1;                   // Use the mono font specified earlier
    };
    codeBlock = {                   // Verbatim or Code blocks
        backgroundColor = 08000000;
        mono = 1;
    };
    URL = {                         // Formatting that is applied to "clickable" links
        foregroundColor = 555;
        underline = 1;              // 1 = single underline
                                    // 0 = no underline
                                    // 2 = thick underline
                                    // 4 = very thick underline
                                    // 9 = double underline
    };
    bold = {                        // We want bold text to be displayed in bold
        bold = 1;
    };
    italic = {                      // We want italicized text to be displayed in italics
        italic = 1;
    };
    boldAndItalic =     {           // Any guess what we want here?
        bold = 1;
        italic = 1;
    };
    comment = {                     // HTML comments (e.g. <!-- This is a comment --> )
        foregroundColor = 8000;
    };
    list = {
        leftIndent = 30;            // Left margin indenting (per list level)
        rightIndent = 30;           // Right margin indenting (total)
    };                              // Default for all is 30
    blockquote = {
        leftIndent = 30;            // Left margin indenting (per blockquote level)
        rightIndent = 30;           // Right margin indenting (total)
    };
}