选B,no sooner than是“一...就...”的意思,他刚一在化工厂工作,就有了呼吸疼痛的毛病.
根据句义,应该是化工厂工作在先,病在后.
A,在...之前不久,shortly就是short的副词,"短地",修饰before,就是很短地before.时间顺序反了,如果放在后半句的前面就对了,He began working in the chemical plant shortly before he experienced pain when he breathed.这样跟B是一个意思.
B,正确,其实可以直接看本意,soon是时间上的早,no sooner than不早于,就是刚好在之后,就是“一...就...”.
C,如果改成long就对了,long表示很长的一段时间,not long after就是之后不长时间,和B一个意思.
总之ABC(错的经过改正)意思都是工作事件发生的时间点,往后一点点,就是生病事件发生的时间点.
D,是“不再”的意思,等于not ...any longer.如:I no longer love her./ I don't love her any longer.