How to Insert A List of Posts in A Category Written by the Author into the Author Archive

Not the most efficient way but it works, put this in your theme’s functions.php

function author_post_breakdown($author_id){
    //get all post of this author
    $n = get_posts(array(
        'author' => $author_id,
        'posts_per_page' => -1,
        'fields' => 'ids'
        )
    );
    $cats= array();
    //loop over all post of this author and get the categories for each post
    foreach((array)$n as $id){
        $cs = wp_get_object_terms($id, 'category');
        //loop over each category of the post and add the counter
        foreach($cs as $c){
            if (isset($cats[$c->slug])){
                $cats[$c->slug]['count'] = $cats[$c->slug]['count'] + 1;
            }else{
                $cats[$c->slug]['count'] = 0;
                $cats[$c->slug]['name'] = $c->name;
            }
        }
    }
    foreach($cats as $sl => $arr)
        $retVal="<li><a href="".get_term_link($slug, 'category').'">'.$arr['name'].'('.$arr['count'].')</a></li>'; 

    return $retVal;
}

and in your author.php
add this:

$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $_GET['author_name']) : get_userdata($_GET['author']);
echo '<ul>'.author_post_breakdown($curauth->ID).'</ul>';