diff --git a/简历/README.md b/简历/README.md index 4a8fbf0..edebbc8 100644 --- a/简历/README.md +++ b/简历/README.md @@ -204,49 +204,114 @@ Pagella / XCharter 宽 7~11%,会把全库的断行推着变。 手写,每增删一条论文就得回头改概述,非常容易漏改。本模板让它们**自动从正文条目 数出来**。 -### 怎么用 +### 先回答一个最常问的问题:它是全自动的吗? -两步: +**分两种,取决于章节用哪种写法。** + +| 写法 | 要手动做什么 | 适合什么章节 | +|---|---|---| +| **`cvlist` 环境**(全自动) | **什么都不用做**。写 `\item` 就自动算一条。 | 一条 = 一个成果的章节:软著、成果转化、教研项目 | +| **`\cvmark` 逐条标记**(半自动) | 每条末尾加一个 `\cvmark{类别}` | 一条要算进**多个类别**的章节:专利(要同时算"专利"和"第一发明人")、科研项目(要同时算"科研项目"和"主持/负责") | +| **`\cvtagcount`**(半自动) | 每条末尾写 `\cvtagcount{SCI}`,替代原来的 `\textbf{SCI}` | 论文(收录类型本来就要显示出来,顺手计数) | + +也就是说:**三个你关心的章节(软著、成果转化、教研项目)已经是全自动的,不需要 +任何标记。** 增删条目后重新编译,概述里的数字自己就变了。 + +### 全自动写法:`cvlist` 环境 + +这是最省事的方式。原来写 `\begin{itemize}`,现在改成 `\begin{cvlist}{类别}`, +其他一个字都不用动: ```latex -% ① 在每个条目末尾标类别(不产生任何可见输出) -\item ...论文信息... \cvtagcount{SCI} % 显示 SCI,同时 SCI +1 -\item ...论文信息... \cvmark{软著} % 只计数,不显示 +% 软著章节 +\sectionTitle{软件著作权}{\faTv} +\begin{cvlist}{软著} % ← 只改这一行(原来是 itemize) + \item 某某系统. 2024SR9999901. 软著登字第 9999901 号. + \item 另一个系统. 2023SR9999902. 软著登字第 9999902 号. +\end{cvlist} % ← 和这一行(原来是 \end{itemize}) -% ② 概述里取数 -发表论文 \cvnum*{SCI,EI,核心} 篇(SCI \cvnum{SCI} 篇、EI \cvnum{EI} 篇), -登记软件著作权 \cvnum{软著} 项 +% 概述里 +登记软件著作权 \cvnum{软著} 项 % → 自动印出「2」 ``` -`\cvnum{A,B}`(带星号)是多类求和;`\cvnum{A}`(不带星号)是单类取数。 -**列几条就算几条**,不需要额外声明的总数。 +**就这样。** 以后加一条只是多写一个 `\item ...`,数字自动从 2 变 3; +删一条自动变 1。不需要回来改概述,也不需要在条目里加任何标记。 -空类别返回 `0` 而不是报错,所以可以先写 `\cvnum{EI}`,等真有了 EI 论文再加 -`\cvtagcount{EI}`,中间不会有编译问题。 +实测过的行为: -### 两个命令的分工 +| 操作 | 概述里的数字 | +|---|---| +| 原始 5 条 | 5 | +| 加 1 条 | **6**(自动) | +| 删 2 条(剩 3 条) | **3**(自动) | +| 还原 | 5 | -| 命令 | 显示 | 计数 | 用在哪 | -|---|---|---|---| -| `\cvmark{类别}` | 不显示 | +1 | 软著、专利、项目、转化、教研这类本来就靠字段表达类别的条目 | -| `\cvtagcount{类别}` | 显示(加粗,与正文同号) | +1 | 论文的 SCI/EI/核心——原本就用 `\textbf{SCI}` 缀在末尾,一步到位 | +⚠️ `cvlist` 内部就是普通 `itemize`,**版面完全不变**(已逐行比对过,行数、 +位置一字不差)。 -`\cvtagcount` 就是为论文设计的:显示和计数合成一个动作,不会出现「改了显示忘了 -计数」的情况。 +⚠️ 不要在 `cvlist` 里再嵌套 `itemize` 写子项——子项的 `\item` 也会被算进去, +数字会偏大。需要子项就用普通 `itemize` + 手写 `\cvmark`。 + +### 半自动写法:`\cvmark` 与 `\cvtagcount` + +有些章节一条要算进**两个**类别,`cvlist` 一次只能管一个类别,这时用逐条标记。 + +```latex +% 专利:一条既算「专利」又可能要算「第一发明人」 +\item \textbf{张远航}, 李文博, 陈思远. 某某方法. ZL209999000001.9. 2024-05-14. + \cvmark{专利}\cvmark{第一发明人} % ← 加标记(不产生可见输出) + +% 论文:收录类型本来就要显示,用 \cvtagcount 一步到位 +\item \textbf{张远航}, 李文博. 某某论文. IEEE TGRS, 62, 1, (2024), 1--15. + DOI: 10.9999/TGRS.2024.0000001.\cvtagcount{SCI} % ← 显示 SCI 并计数 +``` + +`\cvtagcount{SCI}` 等价于「印出加粗的 SCI」+「SCI 计数 +1」,所以**不要**写回 +`\textbf{SCI}`——那样只显示不计数,概述会少算。 + +⚠️ 这种写法下,增删条目时**标记要跟着走**。删掉一条论文但留下 `\cvtagcount{SCI}`, +数字就会多算一个。这是它的代价;能用 `cvlist` 的章节就别用这种。 ### 现有类别一览 -| 类别 | 标记位置 | 概述里的用法 | -|---|---|---| -| `SCI` `EI` `核心` | `section_04` 各条目末尾 `\cvtagcount{}` | `\cvnum*{SCI,EI,核心}` | -| `专利` `第一发明人` | `section_05` 各条目末尾 `\cvmark{}` | `\cvnum{专利}` / `\cvnum{第一发明人}` | -| `软著` | `section_06` | `\cvnum{软著}` | -| `科研项目` `主持` `负责` | `section_07` 描述块内 | `\cvnum{主持}` / `\cvnum{负责}` | -| `转化` | `section_08` | `\cvnum{转化}` | -| `教研` | `section_09` | `\cvnum{教研}` | +| 类别 | 章节 | 写法 | 概述里的用法 | +|---|---|---|---| +| `SCI` `EI` `核心` | `section_04` 论文 | `\cvtagcount{}` 每条末尾 | `\cvnum*{SCI,EI,核心}` | +| `专利` `第一发明人` | `section_05` 专利 | `\cvmark{}` 每条末尾 | `\cvnum{专利}` / `\cvnum{第一发明人}` | +| `软著` | `section_06` 软著 | **`cvlist` 全自动** | `\cvnum{软著}` | +| `科研项目` `主持` `负责` | `section_07` 项目 | `\cvmark{}` 描述块内 | `\cvnum{主持}` / `\cvnum{负责}` | +| `转化` | `section_08` 成果转化 | **`cvlist` 全自动** | `\cvnum{转化}` | +| `教研` | `section_09` 教研项目 | **`cvlist` 全自动** | `\cvnum{教研}` | -⚠️ 增删条目时**标记要跟着走**。删掉一条论文但留下 `\cvtagcount{SCI}`,数字就会 -多算一个——这是这套机制唯一的代价,但比每次回头数一遍要可靠得多。 +### 概述里怎么取数 + +```latex +\cvnum{软著} % 单类:印出数字,没这个类别就印 0 +\cvnum*{SCI,EI,核心} % 多类求和(注意是英文逗号) +``` + +**列几条就算几条**,不需要额外声明总数。空类别返回 `0` 而不是报错,所以可以先 +写 `\cvnum{EI}`,等真有了 EI 论文再加 `\cvtagcount{EI}`,中间不会有编译问题。 + +### 加一个全新的类别 + +比如想统计「一区论文」,三步: + +```latex +% ① 条目上标记(论文类用 cvtagcount,其他用 cvmark) +\item ...论文... \cvtagcount{一区} + +% ② 概述里取数(不用任何注册,直接写) +其中一区论文 \cvnum{一区} 篇 + +% ③ 编译两遍 +``` + +类别名是**随用随建**的,不需要预先声明。`\cvnum*{一区,SCI}` 这种求和也可以 +直接用。 + +⚠️ 类别名不要含英文逗号(`,` 是 `\cvnum*` 的分隔符)、不要含 `@ % # \ { }`。 +中文、英文、空格都可以。 ### 三条必须知道的限制 @@ -275,7 +340,7 @@ Pagella / XCharter 宽 7~11%,会把全库的断行推着变。 - 若你的正文就是全部成果,自动统计的数字才是真实总量 用之前先想清楚自己属于哪种。要保留「40 余篇」这种总量表述,就把那处数字改回 -手写,只在真正列全的章节(转化、教研这类)用 `\cvnum`。 +手写,只在真正列全的章节(软著、转化、教研这类)用 `\cvnum`。 ## 写的时候容易踩的三个坑 diff --git a/简历/awesome-source-cv.cls b/简历/awesome-source-cv.cls index 47e1107..18469f0 100644 --- a/简历/awesome-source-cv.cls +++ b/简历/awesome-source-cv.cls @@ -639,23 +639,30 @@ % 问题:简历第一段概述通常写「发表论文 40 余篇、授权专利 12 项、成果转化 % 3 项……」。这些数字若手写,每增删一条论文就得回头改概述,极易漏改。 % -% 思路:给每条加一个**类别标记** \cvmark, 正文里自动累加计数,概述用 -% \cvnum 取数。**列几条就算几条**,不去猜总数——你不列出来的成果 -% 本来也不该出现在概述里。 +% 思路:正文里计数,概述用 \cvnum 取数。**列几条就算几条**,不去猜总数—— +% 你不列出来的成果本来也不该出现在概述里。 % -% 用法(两步): -% ① 每个条目末尾标类别: -% \item ...论文信息... \cvmark{SCI} -% \item ...论文信息... \cvmark{EI} -% \cvmark 不产生任何可见输出(就是个计数动作),放条目首尾都行。 -% 一条属于两类就标两次;同名类别重复标会自动累加。 +% 两种写法,按「一条算几类」选: % -% ② 概述里取数: -% \cvnum{SCI} 篇、\cvnum{EI} 篇、合计 \cvnum*{SCI,EI} 篇 -% \cvnum* 是「多类求和」,逗号分隔(注意:是英文逗号)。 +% 【全自动】cvlist 环境 —— 一条 = 一个成果时用,**条目里什么都不用写** +% \begin{cvlist}{软著} +% \item 某某系统...登记号... +% \item 另一个系统... +% \end{cvlist} +% 每多一个 \item 自动 +1。增删条目完全不用管标记。 +% 目前用于:软著(section_06)、成果转化(section_08)、教研(section_09)。 % -% ③ 空类别返回 0,不会出现 ??。所以可以先写 \cvnum{EI}, -% 等真有了 EI 论文再加 \cvmark{EI},中间不会编译报错。 +% 【半自动】逐条标记 —— 一条要算进多个类别时用 +% \cvmark{类别} 只计数,不显示(专利、科研项目用) +% \cvtagcount{类别} 显示加粗文字 + 计数(论文的 SCI/EI/核心用) +% 专利一条要同时算「专利」和「第一发明人」,项目要同时算 +% 「科研项目」和「主持/负责」,cvlist 一次只能管一类,故用标记。 +% +% 【概述取数】两种写法统一: +% \cvnum{类别} 单类 +% \cvnum*{A,B} 多类求和(英文逗号) +% 空类别返回 0,不会出现 ??,所以可以先写 \cvnum{EI} 再加标记。 +% 类别名随用随建,不需要预先注册。 % % ⚠️ 为什么用独立数据文件而不是 LaTeX 的 aux: % 实测中文键经 aux 往返后 \ifcsname 全部匹配不上(xeCJK 把汉字设为 @@ -708,6 +715,43 @@ {}% } +% ---- 自动计数列表环境:cvlist -------------------------------------- +% \begin{cvlist}{<类别>} ... \end{cvlist} +% +% 进入环境后,**每个 \item 自动 +1**,不需要在条目里写 \cvmark。 +% 这是最省事也最不容易漏的方式:增删条目完全不用管标记。 +% +% 适用于「一条就是一个成果、章节条目数就是总数」的章节: +% 软件著作权、成果转化、教研项目、专利(见下)、奖励…… +% 不适用于「一条里含多个类别」的场景(比如论文一条要同时算 SCI 和总篇数), +% 那种仍用 \cvtagcount / \cvmark 逐条标。 +% +% 用法: +% \begin{cvlist}{软著} +% \item 某系统...登记号... +% \item 另一个系统... +% \end{cvlist} +% 概述里写 \cvnum{软著} → 2 +% +% ⚠️ 环境内部就是普通 itemize,版式完全不变(\begin{itemize} 包在里面)。 +% ⚠️ 不能在 cvlist 里再嵌套 itemize 写子项——子项的 \item 也会被算进去。 +% 需要子项就用普通 itemize + 手写 \cvmark。 +\newenvironment{cvlist}[1]{% + \cvlistcat{#1}% + \begin{itemize}% +}{% + \end{itemize}% +} + +% 记录当前 cvlist 的类别;\item 被重定义成「先计数再走原 \item」 +% ⚠️ \cvmark 内部用 \detokenize 处理类别名,所以必须先把 \cv@listcat +% **展开成实际文字**再传进去;否则写进 .cvnum 的是字面串 "\cv@listcat"。 +\newcommand\cvlistcat[1]{% + \def\cv@listcat{#1}% + \let\cv@origitem\item + \renewcommand\item{\expandafter\cvmark\expandafter{\cv@listcat}\cv@origitem}% +} + % ---- 输出 ---------------------------------------------------------- % \cvnum{SCI} 单类取数 % \cvnum*{SCI,EI} 多类求和 diff --git a/简历/section_06_software.tex b/简历/section_06_software.tex index 388f2a9..ea92ed5 100644 --- a/简历/section_06_software.tex +++ b/简历/section_06_software.tex @@ -8,17 +8,17 @@ % 示例统一用 999999 段,一眼可辨是假号。 % 开发人员多于 6 人时可以考虑只列前几位加「等」,避免单条过长折行。 % -% ⚠️ 每条末尾的 \cvmark{软著} 是计数标记,不产生可见输出, -% 供概述的 \cvnum{软著} 取数。增删条目时标记要跟着走。 +% ⚠️ 用 cvlist 环境自动计数:每多一个 \item,概述里的 \cvnum{软著} 就自动 +1。 +% 增删条目**什么都不用改**,数字自己会跟上。 \sectionTitle{软件著作权}{\faTv} -\begin{itemize} +\begin{cvlist}{软著} \item \textbf{张远航}, 李文博, 陈思远, 王海涛, 刘洋, 赵明轩, 孙悦, 周建华. - 近岸海域叶绿素浓度遥感反演系统. 2024. 2024SR9999901. 软著登字第 9999901 号.\cvmark{软著} + 近岸海域叶绿素浓度遥感反演系统. 2024. 2024SR9999901. 软著登字第 9999901 号. \item \textbf{张远航}, 陈思远, 王海涛, 李文博, 吴晓峰, 郑凯. - 多源海洋观测数据融合与质量控制检索系统. 2023. 2023SR9999902. 软著登字第 9999902 号.\cvmark{软著} - \item \textbf{张远航}, 刘洋, 赵明轩. 海洋要素智能订正与预报后处理平台. 2023. 2023SR9999903. 软著登字第 9999903 号.\cvmark{软著} - \item 李文博, \textbf{张远航}, 孙悦. 浮标观测序列异常检测与修复系统. 2022. 2022SR9999904. 软著登字第 9999904 号.\cvmark{软著} - \item \textbf{张远航}, 周建华. 海洋卫星遥感影像云检测预处理系统. 2021. 2021SR9999905. 软著登字第 9999905 号.\cvmark{软著} -\end{itemize} \ No newline at end of file + 多源海洋观测数据融合与质量控制检索系统. 2023. 2023SR9999902. 软著登字第 9999902 号. + \item \textbf{张远航}, 刘洋, 赵明轩. 海洋要素智能订正与预报后处理平台. 2023. 2023SR9999903. 软著登字第 9999903 号. + \item 李文博, \textbf{张远航}, 孙悦. 浮标观测序列异常检测与修复系统. 2022. 2022SR9999904. 软著登字第 9999904 号. + \item \textbf{张远航}, 周建华. 海洋卫星遥感影像云检测预处理系统. 2021. 2021SR9999905. 软著登字第 9999905 号. +\end{cvlist} \ No newline at end of file diff --git a/简历/section_08_zhuanhua.tex b/简历/section_08_zhuanhua.tex index d188390..6a4ff3f 100644 --- a/简历/section_08_zhuanhua.tex +++ b/简历/section_08_zhuanhua.tex @@ -8,16 +8,16 @@ % 转化方式写清「专利权实施普通许可 / 转让 / 作价入股」,评职称时这一栏 % 比金额更被看重。 % -% ⚠️ 每条末尾的 \cvmark{转化} 是计数标记,不产生可见输出, -% 供概述的 \cvnum{转化} 取数。增删条目时标记要跟着走。 +% ⚠️ 用 cvlist 环境自动计数:每多一个 \item,概述里的 \cvnum{转化} 就自动 +1。 +% 增删条目**什么都不用改**,数字自己会跟上。 \sectionTitle{成果转化}{\faAmericanSignLanguageInterpreting} -\begin{itemize} +\begin{cvlist}{转化} \item \textbf{张远航}. 一种赤潮发生概率的时序预报方法. 专利权实施普通许可. - 青岛蓝湾海洋科技有限公司(示例). 2023年06月.\cvmark{转化} + 青岛蓝湾海洋科技有限公司(示例). 2023年06月. \item \textbf{张远航}. 基于物理约束神经网络的水质参数短期预测方法及系统. 专利权实施普通许可. - 山东海慧信息技术有限公司(示例). 2022年11月.\cvmark{转化} + 山东海慧信息技术有限公司(示例). 2022年11月. \item \textbf{张远航}. 面向近岸海域的遥感影像云检测与重建方法. 专利权实施普通许可. - 青岛海图数据科技股份有限公司(示例). 2022年04月.\cvmark{转化} -\end{itemize} \ No newline at end of file + 青岛海图数据科技股份有限公司(示例). 2022年04月. +\end{cvlist} \ No newline at end of file diff --git a/简历/section_09_jiaoyan.tex b/简历/section_09_jiaoyan.tex index 21766cd..f0287f6 100644 --- a/简历/section_09_jiaoyan.tex +++ b/简历/section_09_jiaoyan.tex @@ -6,16 +6,16 @@ % 每条格式:项目名称. 立项单位 + 项目类别. 起止时间. 本人角色. % 「主持 / 参与」不要省 —— 教学类项目主持人身份是评教学奖的硬指标。 % -% ⚠️ 每条末尾的 \cvmark{教研} 是计数标记,不产生可见输出, -% 供概述的 \cvnum{教研} 取数。增删条目时标记要跟着走。 +% ⚠️ 用 cvlist 环境自动计数:每多一个 \item,概述里的 \cvnum{教研} 就自动 +1。 +% 增删条目**什么都不用改**,数字自己会跟上。 \sectionTitle{教研项目}{\faGroup} -\begin{itemize} +\begin{cvlist}{教研} \item 海洋大数据分析案例库建设. 中国海洋大学研究生科研创新能力提升计划 - 专业学位研究生教学案例库建设项目. 2023.06 至今. 主持.\cvmark{教研} - \item 机器学习与海洋应用. 中国海洋大学 2022 年度教材建设基金重点项目. 2022.03 至今. 主持.\cvmark{教研} + 专业学位研究生教学案例库建设项目. 2023.06 至今. 主持. + \item 机器学习与海洋应用. 中国海洋大学 2022 年度教材建设基金重点项目. 2022.03 至今. 主持. \item 面向新工科的海洋信息类课程混合式教学模式改革. 中国海洋大学本科 - 教育教学研究一般项目. 2021.09 至 2023.08. 主持.\cvmark{教研} - \item 数据科学与海洋情怀. 信息科学与工程学部课程思政建设项目. 2021.03 至 2022.12. 主持.\cvmark{教研} -\end{itemize} \ No newline at end of file + 教育教学研究一般项目. 2021.09 至 2023.08. 主持. + \item 数据科学与海洋情怀. 信息科学与工程学部课程思政建设项目. 2021.03 至 2022.12. 主持. +\end{cvlist} \ No newline at end of file diff --git a/简历/简历.pdf b/简历/简历.pdf index aae011a..1706cfc 100644 Binary files a/简历/简历.pdf and b/简历/简历.pdf differ