The system variable @@TRANCOUNT is used to get the number of transactions that are active. Consider the following code
begin transaction
select 3
select @@TRANCOUNT
commit transaction
The result of @@TRANCOUNT is 1. Consider the following code.
begin transaction
select 3
begin transaction
select 456
select @@TRANCOUNT
commit transaction
commit transaction
The result of @@TRANCOUNT is 2.
So whenever there is a transaction the variable @@TRANCOUNT gets incrementedx by 1. In an Auto commit mode if you dont use a transaction, @@TRANCOUNT will never gets incremented. But this variable gets incremented always in a trigger.
This is what BOL specifies
@@TRANCOUNT is incremented by one when entering a trigger, even when in autocommit mode. (The system treats a trigger as an implied nested transaction.)
So you need to be aware of this and use @@TRANCOUNT effectively.