What is the difference between yǐqián (以前) and zhīqián (之前)?
As a native Chinese speaker, I agree with what you found in the book. Two words are almost identical except that Zhiqian is more literary. But, on a second thought, it seems that  zhiqian is similar to &quot;earlier&quot; while yiqian is similar to &quot;used to&quot;. For example:

我以前抽烟,但我现在不抽了. &quot;I used to smoke, but I quit now.&quot;
我之前刚抽了一支烟. &quot;I just smoked one cigarette earlier.&quot;

In its meaning of of &quot;used to&quot;, 以前 can be used to start a sentence, while 之前 cannot:

以前我们上学得反复背诵乘法表. &quot;At school, we used to do a lot of multiplication-table drills.&quot;
× 之前 我们上学得反复背诵乘法表.


以前：
1. 在时间上，比现在，或某一时间（或某一事件）早的时期。如： 三岁以前，我只能喝牛奶。
2. 泛指从前，以往。如：我以前抽烟，但我现在不抽了。

之前：
1. 表示在某个时间或处所的前面。如： 他在满17岁之前发表了第一篇小说。
2. 在事情发生的先后次序方面，指一事先于另一事发生。如：吃饭之前要洗手。

一般说来，“之前”所指的时间事件或处所，与所参照的时间事件或处所相隔不远。“以前”就比较宽泛。如：“吃饭之前要洗手”意思是说，洗手后很快吃饭。但“吃饭以前要洗手”则没有强调洗手后很快吃饭。早晨洗了手后，吃晚饭之前不洗手，也算是“吃饭以前洗手了”。
另外，“之前”要出现在某事某时某处之后，因为“之前”中的“之”指代前面出现的某事某时某处。所以“之前”用在句子开头是错的，因为前面没有所指的东西。