I do this for a couple different web sites I manage.
You're creating a separate publication for each person (as I would do). The "full" template displays a full publication, which to you means one person.
If you use the list tempate, you can display a list of publications, which to you means your contact list.
create 3 template files: directory-list-header.html, directory-list.html, directory-list-footer.html
directory-list-header.html
directory-list.html
<tr>
<td><!--[$corporatetitle]--></td>
<td><!--[$name]--></td>
<td><!--[$email]--></td>
</tr>
directory-list-footer.html