DeepSeek V3 悄然发布,LaTeX 能力更强了,看看测评吧

发布于 2025-03-26 22:09:15

DeepSeek V3 模型迎来小版本升级啦,版本号 DeepSeek-V3-0324!这次更新堪称王炸,全方位进化。登录官方网页、APP、小程序,关闭深度思考就能体验,API 接口和使用方式不变~

推理能力大跃升,借鉴 DeepSeek-R1 强化学习技术,数学、代码评测直接超越 GPT-4.5!前端开发也变强,生成的 HTML 代码可用性高,颜值还超在线。中文写作更牛,中长篇内容质量 upup。联网搜索时,报告生成指令的输出详实准确、排版精致。工具调用、角色扮演、闲聊问答等能力也都进步不少!

新版 V3 模型借鉴 DeepSeek-R1 模型训练过程中所使用的强化学习技术,大幅提高了在推理类任务上的表现水平,在数学、代码类相关评测集上取得了超过 GPT-4.5 的得分成绩。

img

重点是还开源!和旧版用同样 base 模型,私有化部署更新 checkpoint 和 tokenizer_config.json 就行。模型参数 660B,开源版上下文长度 128K(网页端、App 和 API 是 64K)。权重下载指路 Model Scope 和 Huggingface,开源仓库用 MIT License,能随心用模型输出、训练新模型。家人们别等了,赶紧冲去体验!

下面我们测评下其 LaTeX 能力,这次我的提问要比较刁钻一些,看看他的能力如何?

使用 algorithm2e 写一个带竖线的中文算法示例

以下是一个使用 algorithm2e 宏包编写的带竖线的中文算法示例(使用 XeLaTeX 或 LuaLaTeX 编译):

\documentclass{article}
\usepackage[linesnumbered,boxed,ruled,vlined]{algorithm2e}
\usepackage{ctex} % 中文支持

\begin{document}

\begin{algorithm}[H]
\caption{带竖线的中文算法示例}
\KwIn{输入参数 $a$, $b$}
\KwOut{输出结果 $result$}

初始化 $sum \gets 0$\;
$result \gets 1$\;

\For{$i \gets 1$ \textbf{到} $n$}{
    $sum \gets sum + i$\;
    
    \eIf{$sum > a$}{
        $result \gets result \times i$\;
        输出"当前结果: $result$"\;
    }{
        $result \gets result + i$\;
    }
}

\While{$result < b$}{
    $result \gets result + 1$\;
    \If{$result == 50$}{
        输出"达到中间值"\;
        \textbf{中断}\;
    }
}

\Return{$result$}\;
\end{algorithm}

\end{document}

效果说明:

  1. vlined 选项添加了左侧的竖线
  2. linesnumbered 添加了行号
  3. boxedruled 添加了标题边框
  4. 使用 ctex 宏包支持中文
  5. 包含了条件判断、循环等基本结构

如果需要调整竖线的样式,可以在导言区添加:

\SetVlineSkip{main} {0pt} % 控制竖线与算法框的距离
\SetVlineWidth{main}{0.5pt} % 控制竖线宽度

编译时请使用 XeLaTeX 或 LuaLaTeX 以支持中文。

image-20250326214118604

在 LaTeX 中,表格固定宽度有哪些做法可以实现?

在 LaTeX 中实现表格固定宽度有多种方法,以下是常用的几种方案及其实现方式:


1. tabularx 宏包(自动调整列宽)

\usepackage{tabularx}
\begin{tabularx}{0.8\textwidth}{|X|X|X|} % 总宽度固定为0.8\textwidth
    \hline
    列1 & 列2 & 列3 \\ \hline
    内容 & 自动换行 & 适应宽度 \\ \hline
\end{tabularx}
  • 特点X 列会自动平分剩余宽度,内容自动换行。
  • 适用场景:需要多列平分固定总宽度时。

2. tabulary 宏包(按内容比例调整)

\usepackage{tabulary}
\begin{tabulary}{0.8\textwidth}{|L|C|R|} % L/C/R 根据内容调整
    \hline
    左对齐 & 居中 & 右对齐 \\ \hline
    长文本会自动换行 & 中等内容 & 短内容 \\ \hline
\end{tabulary}
  • 特点L/C/R 根据内容长度动态分配列宽。
  • 适用场景:各列内容长度差异较大时。

3. p{宽度} 指定固定列宽(基础方法)

\begin{tabular}{|p{3cm}|p{5cm}|p{2cm}|}
    \hline
    固定3cm & 固定5cm & 固定2cm \\ \hline
    内容超宽时会换行 & 同理 & 限制宽度 \\ \hline
\end{tabular}
  • 特点:直接指定每列宽度,内容超宽时自动换行。
  • 适用场景:需要精确控制每列宽度时。

4. \resizebox 强制缩放表格(不推荐,慎用)

\usepackage{graphicx}
\resizebox{0.8\textwidth}{!}{ % 固定宽度,高度自适应
    \begin{tabular}{|c|c|c|}
        \hline
        强制缩放 & 可能变形 & 内容不会换行 \\ \hline
    \end{tabular}
}
  • 特点:暴力缩放整个表格,可能导致文字大小不一致。
  • 适用场景:仅用于调整浮动体(如 table 环境)中的表格。

5. array 宏包的 w{c}{宽度}(对齐+固定宽度)

\usepackage{array}
\begin{tabular}{|w{c}{3cm}|w{r}{2cm}|} % 居中对齐3cm,右对齐2cm
    \hline
    内容居中 & 内容右对齐 \\ \hline
\end{tabular}
  • 特点:结合对齐方式和固定宽度。
  • 适用场景:需要对齐和宽度双重控制时。

6. tabular* 配合 @{\extracolsep{\fill}}(分散对齐)

\begin{tabular*}{0.8\textwidth}{@{\extracolsep{\fill}}|c|c|c|}
    \hline
    列1 & 列2 & 列3 \\ \hline
    内容 & 分散对齐 & 占满宽度 \\ \hline
\end{tabular*}
  • 特点:列间距自动拉伸以填满总宽度。
  • 适用场景:需要表格占满指定宽度但列宽无需精确控制时。

7. adjustbox 宏包(包裹表格)

\usepackage{adjustbox}
\begin{adjustbox}{width=0.9\textwidth}
    \begin{tabular}{|c|c|c|}
        \hline
        调整 & 表格 & 宽度 \\ \hline
    \end{tabular}
\end{adjustbox}
  • 特点:类似 \resizebox,但更安全(可选 max width 参数)。
  • 适用场景:快速调整已有表格的宽度。

注意事项:

  1. 内容换行p{}tabularxtabulary 支持自动换行,而 c/l/r 列不会自动换行。
  2. 表线对齐:若使用垂直线(|),建议加载 array 宏包以避免对齐问题。
  3. 浮动体控制:在 table 环境中使用 \centering 避免缩放导致的偏移。

根据需求选择合适的方法,通常推荐组合使用 tabularx + array 宏包。

LaTeX 如何让长公式自动合理地断行?

在 LaTeX 中,让长公式自动合理地断行可以通过以下方法实现,根据不同场景选择合适的方式:


1. amsmath 宏包的 multlinesplit 环境

适用场景:单行长公式需要手动指定断点。

\usepackage{amsmath}
\begin{multline}
    \text{公式左半部分} \\
    \text{公式右半部分}
\end{multline}

% 或使用 split 环境(需包裹在 equation* 等环境中)
\begin{equation*}
    \begin{split}
        a &= b + c + d \\
          &\quad + e + f + g
    \end{split}
\end{equation*}
  • 特点:需手动换行,用 \\ 分隔,& 对齐。
  • 注意multline 首行左对齐,末行右对齐;split 需配合其他数学环境使用。

2. breqn 宏包(自动断行)

适用场景:全自动断行(但对复杂公式可能不理想)。

\usepackage{breqn}
\begin{dmath}
    (a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q) = x
\end{dmath}
  • 特点:自动选择断点,但可能需手动调整。
  • 缺点:与部分宏包(如 unicode-math)冲突。

3. amsmathalignaligned 环境

适用场景:多行公式对齐。

\begin{align}
    a &= b + c + d + e \nonumber \\
      &\quad + f + g + h
\end{align}

% 单公式多行用 aligned
\begin{equation}
    \begin{aligned}
        a &= b + c + d + e \\
          &\quad + f + g + h
    \end{aligned}
\end{equation}
  • 技巧:用 \quad\qquad 控制缩进。

4. \allowbreak 手动指定断点

适用场景:在特定位置允许断行。

\[
    a + b + c + \allowbreak d + e + f + g
\]
  • 扩展:在运算符(如 +-)前添加 \allowbreak

5. mathtools 宏包的 \MoveEqLeft

适用场景:长公式首行缩进。

\usepackage{mathtools}
\begin{align}
    \MoveEqLeft a + b + c + d + e + f \nonumber \\
    &= g + h + i + j
\end{align}
  • 效果:首行后缩进固定距离。

6. IEEEeqnarray 环境(IEEE 推荐)

适用场景:工程文档中的复杂公式。

\usepackage[retainorgcmds]{IEEEtrantools}
\begin{IEEEeqnarray}{rCl}
    a & = & b + c + d + e + f \nonumber \\
    && +\: g + h + i
\end{IEEEeqnarray}
  • 特点:提供更灵活的间距控制(\: 调整间距)。

7. \left( \right.\right. \left. 处理括号

适用场景:断行时括号匹配问题。

\begin{align}
    \begin{aligned}
        x = &\left( a + b + c + d \right. \\
            &\left. + e + f + g \right)
    \end{aligned}
\end{align}
  • 技巧:用 \right.\left. 生成“虚拟括号”。

8. \text 包裹长文本

适用场景:公式中包含长文本。

\[
    a + \text{这段很长很长很长的文本会被自动断行} + b
\]

推荐组合方案

  1. 简单断行align + aligned + \allowbreak
  2. 自动断行breqn(但需测试兼容性)。
  3. 工程文档IEEEeqnarray

注意事项

  • 避免在 \[ \]equation 中直接换行(会报错)。
  • 断行后保持运算符(如 +-)在行首,遵循数学排版规范。
  • 使用 \phantom\mathclapmathtools 提供)优化对齐效果。

请给出一个长表格的模版,长表格还可以进行旋转页面展示

在 LaTeX 中处理长表格(跨页表格)并实现旋转展示(横向排版),可以使用 longtable 宏包实现跨页,结合 pdflscapelscape 宏包实现页面旋转。以下是完整模板:


长表格模板(跨页+旋转)

\documentclass{article}
\usepackage{longtable}    % 支持跨页表格
\usepackage{pdflscape}    % 提供横向页面(PDF中自动旋转)
\usepackage{array}        % 增强表格列格式
\usepackage{booktabs}     % 专业表格线
\usepackage{multirow}     % 多行合并单元格

\begin{document}

% 普通纵向页面内容(可选)
\section{普通页面}
这里是纵向页面的内容...

% 开始横向页面(表格部分)
\begin{landscape} % 进入横向环境
\centering % 表格居中

% 设置表格字体大小(可选)
\small % 或 \footnotesize

% 长表格定义(自动跨页)
\begin{longtable}{@{} >{\raggedright}p{3cm} *{5}{c} @{}} % 自定义列格式
    \caption{跨页横向长表格示例}\label{tab:long} \\
    \toprule
    \textbf{项目} & \textbf{列1} & \textbf{列2} & \textbf{列3} & \textbf{列4} & \textbf{列5} \\
    \midrule
    \endfirsthead % 表头第一页
    
    \multicolumn{6}{c}{{\bfseries 续表 \thetable}} \\
    \toprule
    \textbf{项目} & \textbf{列1} & \textbf{列2} & \textbf{列3} & \textbf{列4} & \textbf{列5} \\
    \midrule
    \endhead % 表头后续页
    
    \bottomrule
    \endfoot % 表尾
    
    % 表格内容(自动跨页)
    \multirow{2}{*}{多行内容} & A1 & B1 & C1 & D1 & E1 \\
                              & A2 & B2 & C2 & D2 & E2 \\ \addlinespace
    普通内容 & F1 & G1 & H1 & I1 & J1 \\ \addlinespace
    % 更多数据行...
    \multicolumn{6}{l}{\textit{注:这里是表格注释}} \\
\end{longtable}

\end{landscape} % 结束横向环境

% 后续纵向页面内容(可选)
\section{返回纵向页面}
...

\end{document}

关键功能说明

  1. 跨页支持

    • longtable 替代 tabular,自动处理分页。
    • \endfirsthead\endhead 定义首页/后续页的表头。
    • \endfoot 定义每页表尾(如合计行)。
  2. 横向旋转

    • pdflscapelandscape 环境实现 PDF 阅读器中的自动旋转(优于 lscape)。
    • 打印时页面方向自动适配。
  3. 专业排版

    • booktabs\toprule/\midrule/\bottomrule 替代 \hline,更美观。
    • \addlinespace 添加行间距。
    • \multirow\multicolumn 处理复杂单元格。
  4. 列格式控制

    • p{3cm} 指定固定宽度列(内容自动换行)。
    • @{} 取消列间距。

注意事项

  • 如果表格过长,可调整 \small\footnotesize 缩小字体。
  • 需要编译 两次 以正确生成页码和引用。
  • 如需在表格中换行,用 \makecell 宏包(需额外加载):

    \usepackage{makecell}
    \makecell{第一行\\第二行}

请给出 LaTeX 写 biblatex 符合GB7714-2015 的示例

以下是使用 biblatex 实现符合 GB/T 7714-2015 国家标准参考文献样式的完整示例,基于 biblatex-gb7714-2015 宏包(专为中文文献定制):


1. 基本模板

\documentclass[UTF8]{article}
\usepackage{ctex}                      % 中文支持
\usepackage[style=gb7714-2015]{biblatex} % 加载GB/T 7714-2015样式
\addbibresource{references.bib}        % 引用BibTeX数据库文件

\begin{document}

\section{正文部分}
这是一段引用示例 \cite{zhangsan2020},另一处引用 \cite{niu2015}。

% 打印参考文献表(标题自动为“参考文献”)
\printbibliography[heading=bibliography, title=参考文献]

\end{document}

2. BibTeX 数据库示例 (references.bib)

@article{zhangsan2020,
  author       = {张三 and 李四 and 王五},
  title        = {基于深度学习的图像识别研究},
  journal      = {计算机学报},
  year         = {2020},
  volume       = {43},
  number       = {5},
  pages        = {1001-1010},
  langid       = {chinese},  % 标记中文文献
}

@book{niu2015,
  author       = {牛志明 and 刘伟},
  title        = {现代信息检索技术},
  publisher    = {科学出版社},
  year         = {2015},
  address      = {北京},
  langid       = {chinese},
}

@inproceedings{smith2021,
  author       = {Smith, John and Brown, Alice},
  title        = {A Novel Algorithm for Data Analysis},
  booktitle    = {Proceedings of the International Conference on AI},
  year         = {2021},
  pages        = {123-130},
  address      = {New York, USA},
}

3. 关键配置说明

(1) 宏包选项调整

在导言区可通过以下选项自定义样式:

\usepackage[%
  style=gb7714-2015,     % 核心样式
  backend=biber,         % 推荐用biber替代BibTeX
  gbalign=left,          % 标签左对齐(默认居中)
  gbnamefmt=familygiven, % 姓名格式:姓在前
  gbpub=false,           % 是否显示“出版地”等标注
  gbpunctin=false,       % 标题是否保留内部标点
]{biblatex}

(2) 编译流程

  1. XeLaTeX + Biber 编译(推荐):

    xelatex main.tex
    biber main.bcf
    xelatex main.tex
    xelatex main.tex
  2. 或使用 LuaLaTeX(同样支持中文)。

4. 特殊需求处理

(1) 中英文文献混排

  • 自动识别 langid 字段(如 langid = {chinese}langid = {english})。
  • 英文文献作者名默认“姓在前”,可通过 gbnamefmt=givenfamily 修改。

(2) 文献类型支持

  • 支持所有标准类型(article, book, inproceedings 等)。
  • 中文文献需用 and 分隔作者,例如:

    author = {作者1 and 作者2 and 作者3}

(3) 在线资源引用

@online{moe2022,
  author       = {教育部},
  title        = {2022年全国教育事业发展统计公报},
  year         = {2022},
  url          = {http://www.moe.gov.cn},
  urldate      = {2023-05-01},  % 访问日期
  langid       = {chinese},
}

5. 效果对比

  • 中文文献
    张三, 李四, 王五. 基于深度学习的图像识别研究[J]. 计算机学报, 2020, 43(5): 1001-1010.
  • 英文文献
    Smith J, Brown A. A Novel Algorithm for Data Analysis[C]// Proceedings of the International Conference on AI. 2021: 123-130.
  • 在线资源
    教育部. 2022年全国教育事业发展统计公报[EB/OL]. 2022 [2023-05-01]. http://www.moe.gov.cn.

6. 常见问题

  1. 编译错误:确保使用 biber 而非 bibtex(需在编辑器中配置)。
  2. 样式微调:通过 \DeclareFieldFormat 自定义字段格式(如日期显示)。
  3. 多语言支持:加载 babelpolyglossia 宏包。

如需进一步定制,请参考 biblatex-gb7714-2015 文档

newtexmath 与 unicode math 冲突吗?如有冲突如何解决

在 LaTeX 中,newtxmathunicode-math 确实存在冲突,因为二者设计理念不同:

  • newtxmath:传统 TeX 数学字体方案,基于 NFSS(New Font Selection Scheme),提供 Times 风格的数学字体。
  • unicode-math:Unicode 现代数学字体方案,依赖 OpenType 数学字体(如 XITS Math、Cambria Math 等),支持 Unicode 数学符号。

冲突表现

  1. 编译错误:同时加载时会报错,例如:

    ! Package unicode-math Error: Cannot be run with a legacy math setup.
  2. 符号渲染异常:部分数学符号可能显示为乱码或缺失。

解决方案

根据需求选择以下方案:


方案1:完全使用 unicode-math(推荐)

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}      % Times风格正文字体
\setmathfont{XITS Math}            % Times风格数学字体
% 或使用其他OpenType数学字体(如Cambria Math、Latin Modern Math等)
\begin{document}
数学公式示例:$\sin(x) + \int_a^b f(x) \mathrm{d}x$
\end{document}

优点

  • 支持 Unicode 数学符号(如 𝐀, 𝔹)。
  • 自动处理数学字体样式(粗体、斜体等)。

缺点

  • 需使用 XeLaTeX 或 LuaLaTeX 编译。

方案2:完全使用 newtxmath(传统方案)

\documentclass{article}
\usepackage{newtxtext, newtxmath}  % 正文和数学字体均为Times风格
\begin{document}
数学公式示例:$\sin(x) + \int_a^b f(x) \mathrm{d}x$
\end{document}

优点

  • 兼容 PDFLaTeX 和 XeLaTeX。
  • 无需依赖 OpenType 字体。

缺点

  • 不支持 Unicode 数学符号扩展。

方案3:部分混合使用(需谨慎)

若需在 unicode-math 环境中模拟 Times 风格,可通过 range 选项局部替换字体:

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}
\setmathfont{XITS Math}
\setmathfont{TeX Gyre Termes Math}[range=it/{Latin,latin,Greek,greek}] % 斜体字母用Times风格
\begin{document}
混合字体示例:$\sin(x) + \mathbf{A} = \alpha$
\end{document}

注意:需手动调试符号覆盖范围,可能仍有兼容性问题。


关键选择建议

  1. 优先 unicode-math

    • 需要现代 Unicode 数学功能(如多语言公式、特殊符号)时。
    • 使用 LuaLaTeX 编译(对 OpenType 字体支持更好)。
  2. 选择 newtxmath

    • 必须使用 PDFLaTeX 时。
    • 项目依赖传统 TeX 数学字体(如投稿到某些期刊)。
  3. 避免混合

    • 二者底层机制不兼容,强行混合可能导致不可预测的错误。

调试技巧

  1. 检查日志:若编译报错,查看 .log 文件中的冲突提示。
  2. 最小化示例:逐步加载宏包,定位冲突源。
  3. 替代方案

    • mathptmx + unicode-mathrange 选项(不推荐,易崩溃)。
    • stix2libertinus 字体包(兼容性较好的 OpenType 替代品)。

通过明确需求选择其一,可有效避免冲突。

0 条评论

发布
问题