How to theme each nodes in a taxonomy term page seperately in drupal 7 I know there are many similar questions but none of them gave me a correct solution for my particular requirement. In drupal 7 in taxonomy term page nodes are displayed as a row of nodes one below another. But I want the first node to be displayed with a bigger image in the first row and the rest of the nodes as two nodes per row. How can i do that programmatically.
this could be done with view. 


Create a taxonomy view of the type page.
Set the path as taxonomy/term/% this will override the default taxonomy path and will show the views page instead. 
Add the fields that needs to be shown in all the nodes accept the first one.
Add a contextual filter of taxonomy term id. 
With in the pager settings give an offset 1 so that the first node is skipped. 
Set the Format to grid and give number of columns as 2 so that it displays in two columns


The above steps will display all the nodes except the first one in two columns. 

Next we need to create a block to display the first node. 


With in the current view add a block.
Set the pager to display only one element without the pager being shown. 
Add the required fields. (Image in the size you want etc.)
Add a contextual filter of taxonomy term id. 
Now go back to the page view and add a header. 
Select "Global:view Area" 
Choose the block we created above form the drop down and tick "Inherit contextual filters."


Now your taxonomy page would display as you wanted.