There is a hook that you can use to set which pages use the admin theme and which don't.
The hook is hook_admin_paths().
The node module uses this hook to provide the functionaity where you can set node forms to use the admin theme (see node_admin_paths()).
If you wanted to set certain paths to use the admin them (or not use it) you could implement that hook, however if you want to change admin paths that another module has already defined you need to use hook_admin_paths_alter().
In this case the node module defines a wild card path for all node add pages like this 'node/add/*' => TRUE
Since you only care about a specific node type you can ignore that and do this:
/**
* Implements hook_admin_paths().
*/
function MODULENAME_admin_paths() {
// We have configured the site to use the admin theme for node forms
// however we want the article content type to use the default theme
// instead of the admin theme.
$paths = array(
'node/add/article' => FALSE,
);
return $paths;
}
As you can see in path_is_admin(), where the check is done to see if the current page is an admin page, for a page to be an admin page it must have a matching path that is TRUE and also not have one that is FALSE.
So by adding this FALSE in for this specific page you are overriding the wildcard node/add/* from the node module.
The problem that you then have is the node edit page (if you also want that to use the same theme as the node add form), because the URL for the node edit page has nothing in it that relates to the content type so you can't override node edit pages based on their type.
You could get the node IDs of all nodes of your specific type and add each individual node edit path however if you have a large number of nodes that is not going to be ideal.
hook_custom_theme
&hook_theme_init
as described in drupal.stackexchange.com/questions/97364/… Hope this clears up a little.