这三处在 #14 里其实已经统计了(\cvmark{软著} / \cvmark{转化} / \cvmark{教研} 逐条标记,数字正确:5 / 3 / 4)。
\cvmark{软著}
\cvmark{转化}
\cvmark{教研}
但用户追问「是不是完全自动」点到了真问题:逐条标记只是把手写数字换了个 地方,仍然要人工维护 15 处标记,漏标就错。所以本轮把它做成真正全自动。
\begin{cvlist}{软著} % 原来 \begin{itemize} \item 某某系统. 2024SR9999901. ... \end{cvlist} % 原来 \end{itemize}
进入环境后每个 \item 自动 +1,条目里一个标记都不用写。
\item
三节各只改两行(环境名),删掉全部 15 处 \cvmark。
\cvmark
cvlist
itemize
\let
\detokenize
\expandafter
\cv@listcat
.cvnum
它们一条要算两个类别(专利 + 第一发明人、科研项目 + 主持/负责), cvlist 一次只能管一类。所以保留逐条 \cvmark。
新增「先回答一个最常问的问题:它是全自动的吗?」作为该节开头,用表格直接回答:
\cvtagcount
\cvtagcount{SCI}
并加了「全自动写法」「半自动写法」「加一个全新的类别」三个小节, 含可直接抄的代码。
×
commit ecfbcb8,已推到 main。
ecfbcb8
main
之前(#14)它们是「逐条标记」——数字虽然对,但仍要人工维护 15 处标记, 漏标就错。本轮改成真正自动:
\begin{cvlist}{软著} % ← 原来 \begin{itemize} \item 某某系统. 2024SR9999901. 软著登字第 9999901 号. \item 另一个系统. 2023SR9999902. 软著登字第 9999902 号. \end{cvlist} % ← 原来 \end{itemize}
条目里一个标记都不写。 三节各只改两行(环境名),删掉全部 15 处 \cvmark。
它们一条要算两个类别:专利要同时算「专利」和「第一发明人」, 项目要同时算「科研项目」和「主持/负责」。cvlist 一次只能管一类, 所以这两节保留逐条 \cvmark。
在该节开头新增「先回答一个最常问的问题:它是全自动的吗?」, 用表格直接讲三种写法的差别:
\cvmark{类别}
\textbf{SCI}
另补三个小节,都带可直接抄的代码:
sha256=62f241d3…
\cvmark 内部用 \detokenize 处理类别名,所以传参前必须 \expandafter 展开 \cv@listcat,否则写进 .cvnum 的是字面串 \cv@listcat(实测踩到,.cvnum 里出现 \cvSetNum{\cv@listcat}{0})。
\cvSetNum{\cv@listcat}{0}
三节已改为全自动统计(cvlist 环境,条目里零标记),README 已明确写清三种写法 「要手动做什么」,服务器端 PDF 已从 API 下载逐字节验证一致,关闭本工单。
若之后想把专利/科研项目也统一成更简洁的写法,或给 \experience 加经费字段 做经费自动求和,请在本单继续评论。
\experience
No dependencies set.
The note is not visible to the blocked user.
诉求
现状核实(回应第 1 点)
这三处在 #14 里其实已经统计了(
\cvmark{软著}/\cvmark{转化}/\cvmark{教研}逐条标记,数字正确:5 / 3 / 4)。但用户追问「是不是完全自动」点到了真问题:逐条标记只是把手写数字换了个
地方,仍然要人工维护 15 处标记,漏标就错。所以本轮把它做成真正全自动。
做法:新增 cvlist 环境
进入环境后每个
\item自动 +1,条目里一个标记都不用写。三节各只改两行(环境名),删掉全部 15 处
\cvmark。实现要点
cvlist内部包普通itemize,版面完全不变\let保存原\item,重定义为「先\cvmark再走原\item」,退出环境自动恢复,不影响后面的普通
itemize\cvmark内部用\detokenize处理类别名,所以传参前必须\expandafter展开\cv@listcat,否则写进.cvnum的是字面串\cv@listcat(实测踩到)为什么不把专利、项目也改成 cvlist
它们一条要算两个类别(专利 + 第一发明人、科研项目 + 主持/负责),
cvlist一次只能管一类。所以保留逐条\cvmark。README 补写(回应第 2 点)
新增「先回答一个最常问的问题:它是全自动的吗?」作为该节开头,用表格直接回答:
cvlist环境\cvmark逐条标记\cvtagcount\cvtagcount{SCI}并加了「全自动写法」「半自动写法」「加一个全新的类别」三个小节,
含可直接抄的代码。
验收标准
cvlist,条目里零标记itemize不受影响(实测 3 条子项未被误计)×残留 0已完成并推送
commit
ecfbcb8,已推到main。回答第 1 点:这三处现在全自动
之前(#14)它们是「逐条标记」——数字虽然对,但仍要人工维护 15 处标记,
漏标就错。本轮改成真正自动:
条目里一个标记都不写。 三节各只改两行(环境名),删掉全部 15 处
\cvmark。实测增删效果
为什么专利、项目没改
它们一条要算两个类别:专利要同时算「专利」和「第一发明人」,
项目要同时算「科研项目」和「主持/负责」。
cvlist一次只能管一类,所以这两节保留逐条
\cvmark。回答第 2 点:README 写清了「自动还是手动」
在该节开头新增「先回答一个最常问的问题:它是全自动的吗?」,
用表格直接讲三种写法的差别:
cvlist环境\cvmark{类别}\cvtagcount{SCI}\textbf{SCI}另补三个小节,都带可直接抄的代码:
cvlist环境 —— 含增删实测对照表\cvmark与\cvtagcount—— 说明何时必须用它验证
×残留 0cvlist内部就是普通itemizeitemize不受影响(实测 3 条子项未被误计)sha256=62f241d3…与本地逐字节相同踩坑
\cvmark内部用\detokenize处理类别名,所以传参前必须\expandafter展开\cv@listcat,否则写进.cvnum的是字面串\cv@listcat(实测踩到,.cvnum里出现\cvSetNum{\cv@listcat}{0})。三节已改为全自动统计(
cvlist环境,条目里零标记),README 已明确写清三种写法「要手动做什么」,服务器端 PDF 已从 API 下载逐字节验证一致,关闭本工单。
若之后想把专利/科研项目也统一成更简洁的写法,或给
\experience加经费字段做经费自动求和,请在本单继续评论。