diff --git a/试卷/oucexam.sty b/试卷/oucexam.sty index a9c3f6a..cb5211f 100644 --- a/试卷/oucexam.sty +++ b/试卷/oucexam.sty @@ -392,17 +392,28 @@ \fi} %---------------------------------------------------------------------- -% 装订线虚线段:一个连字符笔画 = 一条 4.40bp 长、1.10bp 粗的横线 +% 装订线虚线段:一个连字符笔画 = 一条**竖直**短线段 % -% 参数:#1 = 这一串最上一笔的 y 坐标(bp,从页面顶端往下量) +% 参数:#1 = 这一串最上一笔的顶端 y 坐标(bp,从页面顶端往下量) % #2 = 笔画个数 -% 相邻笔画间隔 6.00bp,与原卷 18bp 连字符的步距一致。 +% 相邻笔画顶端间隔 6.00bp,与原卷 18bp 连字符的步距一致。 +% +% ⚠️⚠️ 方向别搞反(#20 返工过一次,记清楚): +% 原卷的连字符是 rotate=90 排的,所以连字符的**横向长度转到了纵轴**、 +% **线粗转到了横轴**。也就是说每一笔是「竖着的短杠」,不是「横着的短杠」: +% 竖:y 跨 4.30bp(这是连字符的字面长度) +% 横:x 跨 1.10bp(这是连字符的笔画粗细) +% 中心 x = 51.60bp +% 第一版按"水平线"画((49.40,y)--(53.70,y)),结果整条装订线变成 +% 一把**梯子**(一排横杠叠在竖线位置),与基线观感完全不同。 +% 用户反馈「这个装订线不行,需要跟之前的模板保持一致」即指此。 +% +% ⚠️ x 中心 51.60bp 是原卷实测:连字符字符盒 x 41.60~59.60(18bp 宽), +% 但可见笔画只在 51.10~52.10,即字形在字符盒内偏右、 +% 中心 51.60 —— 这是 Times 连字符的字形位置,不是笔误。 % % ⚠️ 必须定义在 \ouc@dobindstrip **外面**。放进去的话每次 shipout 都会 % 重新 \newcommand 一次,第二页起报 "command already defined"。 -% ⚠️ x 坐标:笔画左端 49.40bp、右端 53.80bp(宽 4.40bp), -% 中心 51.60bp —— 这是原卷实测值,不是从 \tnr 连字符推的, -% 所以换任何字体都不会动。 % ⚠️ y 坐标**不能**写成 \dimexpr#1bp+\i*6bp:TikZ 的坐标解析器不认 % 带小数点的小数 + \dimexpr 组合,会报 % Illegal unit of measure (pt inserted) @@ -412,9 +423,10 @@ \newcommand{\ouc@dashseg}[2]{% \foreach \i in {0,...,\the\numexpr#2-1\relax}{% \pgfmathsetmacro{\ouc@dyy}{#1+\i*6.00}% + \pgfmathsetmacro{\ouc@dzz}{\ouc@dyy+4.30}% \draw[line width=1.10bp,line cap=butt] - ([xshift=49.40bp,yshift=-\ouc@dyy bp]B) -- - ([xshift=53.80bp,yshift=-\ouc@dyy bp]B);}} + ([xshift=51.60bp,yshift=-\ouc@dyy bp]B) -- + ([xshift=51.60bp,yshift=-\ouc@dzz bp]B);}} \newcommand{\ouc@dobindstrip}{% \begin{tikzpicture}[remember picture,overlay]