What's the best way to maintain templates for standard pages and a front page? I’m developing a new Drupal 6 theme with a custom front page. My standard page.tpl.php has the entire HTML structure (as it should), including the doctype, HTML head, and HTML body. 

When I make page-front.tpl.php, though, I have to duplicate page.tpl.php and modify it, meaning that whenever I need to make changes to the standard page template (add Javascript, modify CSS, etc.), I have to replicate all those changes in the front page template. 

What’s the best way to avoid all this duplication? What’s the best way to keep the main page structure uniform? Create a custom function that spits out the HTML head? Put everything in separate PHP files (header.php, footer.php, etc.) and include them in the two template files?
To avoid duplication, creating separate PHP files might work, but the best answer is to you do everything in your MYTHEME_preprocess_page(&amp;$variables) function, in your template.php file.

MYTHEME_preprocess_page(&amp;$variables) {
  if($variables['is_front']) {
    //set variables to X
  }
  else {
    //set variable to Y (or just leave them)
  }
}


Now you probably won't even need page-front.tpl.php

Also, if you are using page.tpl.php and/or page-front.tpl.php you do have the variable $is_front available