What is the difference between 可是, 但是, 但, 而, 不过, and 然而? What is the difference between 可是, 但是, 但, 而, 不过, and 然而?

All of these mean "but" and I can't find any information in my dictionary on what differentiates them.
可是, 但是 and  但 (但 is the shortened form of 但是) can all be translated as 'but'


Example: "You can drink, but you can't smoke"


"喝酒可以，可是不能抽煙" (可是 is more literary)
"喝酒可以，但是不能抽煙" / "喝酒可以，但不能抽煙"  (但是 and 但 are more colloquial)



  不过, and 然而 can both be translated as 'however' or 'but'


Example: "You can drink, however, you can't smoke"


"喝酒可以，不过不能抽煙" (不过 is more colloquial)
"喝酒可以，然而不能抽煙" (然而 is more literary)



  When '而' is acting as a short form  of '而且', it means 'and also'


Examples: 


快而凖 = 快速而且準確 (fast and (also) accurate)
簡而清 = 簡潔而且清楚 (brief and (also) clear)



  而 functions as "but" or 'however' when it is in the following structures:



[能(A) 而 不能(B)] = [can (A) but can't (B)]  
[可(A) 而 不可(B)] = [allowed to (A) but not allowed to (B)] 


Examples:

[能喝酒 而 不能抽煙]

[可喝酒 而 不可抽煙]


  而 also functions as "but" or 'however' when it is in the following structure [(verb) (A) 而 (不 verb) (B)] = [(verb) (A) but (not verb) (B)]


Examples:

[擅攻 而 不擅守] (good at attack but not good at defend)

[愛酒 而 不愛煙] (like wine but not like cigarette)