Install
openclaw skills install @bg1avd/latex-verbatim-centerRedefines LaTeX verbatim to wrap with varwidth and center environments for proper horizontal centering of code blocks and ASCII art.
openclaw skills install @bg1avd/latex-verbatim-center技能名称:latex-verbatim-center
适用场景:当 LaTeX 文档中的 verbatim 环境(代码块、ASCII 图表等)无法正确居中时使用
技能标签:#LaTeX #排版 #居中 #verbatim #varwidth
在 LaTeX 中,当尝试将 verbatim 环境放在 center 环境中时,内容往往不会真正居中,而是偏左对齐。这是因为 verbatim 环境会忽略外部的 \centering 指令。
典型症状:
center 环境包裹 verbatim 无效使用 varwidth 包包裹 verbatim 环境,再用 center 环境实现真正居中。
在文档 preamble 中添加:
\usepackage{varwidth}
\let\originalverbatim\verbatim
\let\endoriginalverbatim\endverbatim
\renewenvironment{verbatim}{%
\par
\begin{center}
\begin{varwidth}{\linewidth}
\originalverbatim
\footnotesize
}{%
\endoriginalverbatim
\end{varwidth}
\end{center}
\par
}
\documentclass{article}
\usepackage{fontspec}
\usepackage{xeCJK}
\usepackage{varwidth} % 关键宏包
\setCJKmainfont{WenQuanYi Zen Hei}
% 重新定义 verbatim
\let\originalverbatim\verbatim
\let\endoriginalverbatim\endverbatim
\renewenvironment{verbatim}{%
\par
\begin{center}
\begin{varwidth}{\linewidth}
\originalverbatim
\footnotesize
}{%
\endoriginalverbatim
\end{varwidth}
\end{center}
\par
}
\begin{document}
这里是正常文本。
\begin{verbatim}
def main():
print("Hello World")
\end{verbatim}
这里也是正常文本。
\end{document}
varwidth 环境会根据内容自动调整宽度(最大不超过 \linewidth)center 环境会将 varwidth 盒子居中| 方法 | 效果 | 推荐度 |
|---|---|---|
center + varwidth | ✅ 完美居中 | ⭐⭐⭐⭐⭐ |
center + minipage | ❌ 仍然偏左 | ⭐⭐ |
xleftmargin=0.5\linewidth | ❌ 会偏右 | ⭐ |
lrbox + center | ⚠️ 有时有效 | ⭐⭐⭐ |
varwidth 包,标准 minipage 无效fancyvrb 包可能冲突,建议二选一适用人员:文档排版文员、技术文档编辑
使用频率:当发现文档中代码块或 ASCII 图表未居中时使用
操作步骤:
varwidth 包verbatim 环境~/.openclaw/extensions/openclaw-latex-skills/skills/latex-verbatim-center/SKILL.md/home/raolin/.openclaw/workspace-editor/PIM-SSMoE_Research_Report.texfixed42.pdf(使用此方案的第一个成功版本)