Excel的行高、列宽单位不统一?还是LaTeX靠谱
想要生成田字格、米字格、带拼音标准,方便小学生书法和练字。Word,Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时,如果没有专用模板、奇奇怪怪的插件,使用起来会碰到各种问题。比如,Word里面用表格、打虚线,然后文字可以表格中或漂浮的文本框、艺术字,但问题是文字和网格的对齐非常困难,不容易调整;Excel里面也可以调网格,但Excel就很难所见即所得,打印出来文字和网格总会发生意想不到的漂移。——而且顺便发现Excel中还有本文标题中提到的“问题”(这个问题是视图没有切换到page layout导致的,这是本文解释的初衷)。
大家都以所接触的世界为“黑箱”(不看文档的情况下),通过各种互动和观察,尝试理解“黑箱”的工作原理。尝试用Excel制作田字格的时候,发现。
但对比下来,还是用LaTeX生成田字格最合适。因为Excel并非严格所见即所得,看到的并非能够严格按照所见打印出来的。Office局限性足见一斑。而用LaTeX生成类似的效果明显更好:
本来这篇博客只是想解释一下,Excel中并不存在行高、列宽单位不统一的问题,顺便吐糟了一下Office总是不如LaTeX。于是想到不妨用LaTeX来做!而且搜索、加上特种大语言模型齐上阵,调整代码,很快就得到了想要的效果。——附带证明了LaTeX完成这类任务,简直就是神一样的存在!秒杀Office和各种插件及技巧。我搜索的时候发现有秀出LaTeX效果的网友,却不肯分享好用的代码。我对此深不以为然。所以,调整出好用的代码之后,我特地把代码和效果都分享出来,方便其他人用。为什么?这些主要是方便中国的孩子,以及对中国语言文字感兴趣的人。当然要免费分享。
下面的代码是在CTeX 3.x里面依次使用 LaTeX, dvips, ps2pdf编译得到PDF;其它方式或许也能用。但我没有专门尝试。
\documentclass{article}
\usepackage{ctex}
\usepackage{tikz}
\usepackage{geometry}
\usepackage{microtype}
\usepackage{xstring}
\usepackage{xpinyin}\geometry{a4paper,landscape,margin=1cm}\newcommand\pygrid[2]{%
\fontsize{100}{100}
\begin{tikzpicture}[baseline=(current bounding box.south)]%\tikzstyle help lines=[color=red!90,thin]\path[use as bounding box](0,0) rectangle (1em,1.6em);\draw[help lines,step=0.5em](0,0) grid (1em,1em);\draw[help lines,dashed](0,0) -- (1em,1em) (0,1em) -- (1em,0);\draw[help lines] (0em,1em) -- (0em,1.6em)(0em,1.6em) -- (1em,1.6em) (1em,1.6em) -- (1em,1em);\draw[help lines,dashed] (0em,1.2em) -- (1em,1.2em);\draw[help lines,dashed] (0em,1.4em) -- (1em,1.4em);\node[inner sep=0pt,anchor=south west](char) at (0em,0.06em)[font=\kaishu, scale=0.92] {#1};
%
% % 拼音标注
% \node[anchor=south, font=\small, yshift=0.4em]
% (char) at (0.5em,1.6em) {#2};
\end{tikzpicture}
}% \grid for a single character
\newcommand\grid[1]{%
\fontsize{100}{100}\begin{tikzpicture}[baseline=(char.base)]\tikzstyle help lines=[color=red!90,thin]\path[use as bounding box](0,0) rectangle (1em,1em);\draw[help lines,step=0.5em](0,0) grid (1em,1em);\draw[help lines,dashed](0,0) -- (1em,1em) (0,1em) -- (1em,0);\node[inner sep=0pt,anchor=base west](char) at (0em,0.12em) [font=\kaishu, scale=0.92]{#1}; %调整了位置\end{tikzpicture}%
}% \gridraiseamount is a font-specific value
\newcommand\gridraiseamount{0.12em}\makeatletter
\newcommand\sgrid[1]{%\@for\nextchar:=#1\do{\grid{\nextchar}}% 使用 @for 循环
}
\makeatother\begin{document}
\centering
\grid{好}\grid{的}\grid{帅}\grid{呆}\grid{了}
\\[30pt]
\pygrid{\xpinyin{你}{ni3}}
{2pt}
\pygrid{\xpinyin{真}{zhen1}}
{2pt}
\pygrid{\xpinyin{厉}{li4}}
{2pt}
\pygrid{\xpinyin{害}{hai}}
{2pt}
\\[30pt]
\sgrid{好,的,帅,呆}
\end{document}
可是,上面这些跟只能用 LaTeX ϵ \LaTeX\!\!\! \qquad\epsilon LATEXϵ 3 \!\!\!\!\!\!\!3 3: X e \rm{Xe}\!\! Xe LaTeX \LaTeX LATEX 编译的 hanzibox:田字格-米字格汉字练习宏包比起来,又孤陋寡闻小儿科。不过这里就不扯太远了。总而言之,本来是研究Office实现相关功能的,结果发现还是用LaTeX更方便。Office相关的探讨继续如下:
使用应用软件而不看文档、不跟别人交流,也会有类似问题。探索黑箱的网友很多。但有些分享出来的经验,可能是误读,盲人摸象。比如:

看完这个,直觉,Excel 也是需要打印的、微软虽然Office在字处理方面比LaTeX口碑差,但还不至于到尺寸还没有整明白的地步。实际上,Word、Excel 都可以显示Ruler或标尺(直尺?)出来的。但Excel需要在“页面布局” Page Layout视图模式下。普通视图下面,视图选项卡下面Ruler\标尺\直尺是灰色的,无法勾选或取消而已。
在“视图”View选显卡,直尺\标尺Ruler勾选的情况下,显示标尺,这时候,再选择特定行、特定列,行高或者列高的单位就是统一的cm之类的了:
所以,不是Excel行高和列宽的单位不统一,而是在特定视图的情况下,的确存在那种幻觉;转变一下视图就可以了。
为什么会要求在特定视图下才能够显示统一的单位呢?这个我还不懂,有谁知道答案?
另外,对hanzibox(西北农林大学),我觉得惊喜的同时还是有些失望,因为对LaTeX发行版的要求条件太过苛刻了,这会导致使用宏包的时候软件配置方面各种苛刻条件,我是更新了CTeX3.1所有宏包犹不够、还把TeXLive2024最新版也安装了之后,把按照一般思路调试的TeX文件彻底抛弃、再完全用hanzibox作者的代码一点点修改调整,才战战兢兢好用,但调整过程中仍然碰到各种问题,包括突然又不能编译之类;但对彻底共享源代码软件要求这么高显然是不对的:
基于LaTeX3的带注音和译文的汉字练习宏包
hanzibox是一个用
LaTeX3开发的LaTeX宏包,它提供了\hanzibox、\hanzidialog
和\writegrid三个个命令。这三个命令分别用于排版汉字学习中带有或不带田字格、米字格等背景格子的汉字,并可以根据需要在汉字正上方显示拼音,在正下方显示译文。其中,\hanzibox命令能够根据汉字自动调用xpinyin宏包的\xpinyin*命令实现汉字注音。并且\hanzibox命令提供了\hanzibox*星号版本,其注音功能是通过自动调用xpinyin宏包的\pinyin命令实现的。\hanzidialog命令的注音功能是通过在拼音选项中手动插入xpinyin宏包\pinyin命令实现的。\writegrid命令用于排版作文题目的答题格子纸。hanzibox 是一个用于学习汉字书写与发音的工具,可以用于汉字学习教案、演示文稿、习题册等文档工作。
该宏包的开发灵感源自Jan Vorisek的hanzibox宏包。但对
\hanzibox和\hanzidialog命令重新进行了设计,并参考zitie字贴宏包重新用l3draw宏包设计了背景格子。同时,新的宏包也提供了更多命令选项和参数,以期更好地控制排版结果。目前,
hanzibox.sty宏包仅支持XeTeX编译引擎,并且只支持UTF-8编码的LaTeX源文件。可以通过阅读宏包手册(中文)以也解该宏包更多的使用细节和使用样例。 参与贡献
github仓库: (1). 仓库地址: hanzibox-l3 (2). Issues和PR: issue or pull request.
gitee仓库: (1). 仓库地址: hanzibox-l3 (2). Issues and PR: issue or pull request.
Copyright and LicenceCopyright © 2020-2022 by Nan Geng nangeng@nwafu.edu.cn
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
or (at your option) any later version. This version of this license is
in http://www.latex-project.org/lppl/lppl-1-3c.txt and the latest
version of this license is in http://www.latex-project.org/lppl.txt
and version 1.3 or later is part of all distributions of LaTeX version
2005/12/01 or later.This work has the LPPL maintenance status “maintained”.
The Current Maintainer of this work is Nan Geng.
This package consists of the file hanzibox.dtx,
and the derived files hanzibox.sty,
hanzibox.pdf,
hanzibox.ins,
README.md (this file).
相关文章:
Excel的行高、列宽单位不统一?还是LaTeX靠谱
想要生成田字格、米字格、带拼音标准,方便小学生书法和练字。Word,Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时,如果没有专用模板、奇奇怪怪的插件,使用起来会碰到各种问题。比如,Word里面用…...
【JavaSE-5】程序逻辑控制相关练习题
1、判断一个数字是否是素数(质数) //方法1: import java.util.Scanner; public static void main(String[] args) {//判断一个数字是否是素数:除了1和它本身外没有其他数可以整除Scanner scan new Scanner(System.in);int num scan.nextInt();boolean flag tru…...
MyBatis-Plus 条件构造器的使用(左匹配查询)
在上一篇文章中,我们已经介绍了 MyBatis-Plus 条件构造器,包括 QueryWrapper 和 UpdateWrapper 的基本使用方法、常见查询条件(如等于、不等于、大于、小于)以及如何使用 Lambda 表达式来构建动态查询和更新条件。 在本文中&…...
深入理解设计模式中的单例模式(Singleton Pattern)
各类资料学习下载合集 https://pan.quark.cn/s/8c91ccb5a474 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供全局访问点。这种模式在许多应用场景中都很有用,特别是当我们希望控制对共享资源的访问时,比…...
CES Asia 2025增设未来办公教育板块,科技变革再掀高潮
作为亚洲消费电子领域一年一度的行业盛会,CES Asia 2025(第七届亚洲消费电子技术贸易展)即将盛大启幕。今年展会规模再度升级,预计将吸引超过500家全球展商参展,专业观众人数有望突破10万。除了聚焦人工智能、物联网、…...
汽车零部件厂如何选择最适合的安灯系统解决方案
在现代制造业中,安灯系统作为一种重要的生产管理工具,能够有效提升生产线的异常处理效率,确保生产过程的顺畅进行。对于汽车零部件厂来说,选择一套适合自身生产需求的安灯系统解决方案尤为重要。 一、安灯系统的核心功能 安灯系统…...
sqlite3 c++ client选择; c++环境搭建 : abseil-cpp | fnc12/sqlite_orm
sqlite3 c client选择 今日20250305 2.4K星: 7月前最后提交核心: SRombauts/SQLiteCpp.git : 薄封装、命令式sql、非orm、支持事务2.4K星: 1月前最后提交核心: fnc12/sqlite_orm.git : 厚封装、非侵入、真orm、真泛型、类型复杂、支持事务 因真泛型导致DbInstance必须放在x.h…...
Pytorch中的主要函数
目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda;torch.bac…...
景联文科技:以专业标注赋能AI未来,驱动智能时代的精准跃迁
在人工智能技术重塑全球产业格局的今天,高质量训练数据已成为驱动算法进化的核心燃料。作为数据智能服务领域的领军者,景联文科技深耕数据标注行业多年,以全栈式数据解决方案为核心,构建起覆盖数据采集、清洗、标注、质检及算法调…...
车载测试:智能座舱测试中多屏联动与语音交互的挑战
智能座舱作为汽车智能化发展的核心,集成了多屏联动和语音交互功能,为驾驶员和乘客提供更便捷的体验。然而,这些功能的测试面临诸多挑战,包括多屏同步性、噪声干扰和复杂场景的处理。本文将详细分析这些挑战,探讨测试方…...
深入探索WebGL:解锁网页3D图形的无限可能
深入探索WebGL:解锁网页3D图形的无限可能 引言 。WebGL,作为这一变革中的重要技术,正以其强大的功能和广泛的应用前景,吸引着越来越多的开发者和设计师的关注。本文将深入剖析WebGL的核心原理、关键技术、实践应用,并…...
仿mudou库one thread oneloop式并发服务器
项目gitee:仿muduo: 仿muduo 一:项目目的 1.1项目简介 通过咱们实现的⾼并发服务器组件,可以简洁快速的完成⼀个⾼性能的服务器搭建。 并且,通过组件内提供的不同应⽤层协议⽀持,也可以快速完成⼀个⾼性能应⽤服务器…...
Linux 文件和目录权限管理详解
文章目录 Linux 文件和目录权限管理详解介绍权限管理的核心内容权限管理访问权限查看权限更改权限所有者和用户组的设置权限设置注意事项 总结 Linux 文件和目录权限管理详解 介绍 在 Linux 系统中,文件和目录的权限管理是确保系统安全的重要组成部分。每个文件和…...
CentOS 7 aarch64上制作kernel rpm二进制包 —— 筑梦之路
环境说明 centos 7 aarch64 gcc 8.3.1 kernel 5.4.290 准备编译制作 # 安装必要的工具和包yum install rpm-devel rpmdevtools yum groupinstall "Development Tools"yum install ncurses-devel bc elfutils-libelf-devel openssl-devel # 安装gcc 8.3.1# 修改…...
Windows 图形显示驱动开发-WDDM 3.2-本机 GPU 围栏对象(二)
GPU 和 CPU 之间的同步 CPU 必须执行 MonitoredValue 的更新,并读取 CurrentValue,以确保不会丢失正在进行的信号中断通知。 当向系统中添加新的 CPU 等待程序时,或者如果现有的 CPU 等待程序失效时,OS 必须修改受监视的值。OS …...
vscode 都有哪些大模型编程插件
VSCode 中有许多基于大模型的编程插件,这些插件通过集成人工智能技术,显著提升了开发者的编程效率和体验。以下是一些主要的大模型编程插件及其功能: GitHub Copilot GitHub Copilot 是由 OpenAI 开发的插件,能够根据代码上下文自…...
常用的分布式 ID 设计方案
文章目录 1.UUID2.数据库自增 ID3.雪花算法4.Redis 生成 ID5.美团 Leaf 1.UUID 原理:UUID 是由数字和字母组成的 128 位标识符,通过特定算法随机生成,包括时间戳、计算机网卡地址等信息。常见的版本有版本 1(基于时间戳和 MAC 地…...
DAIR-V2X-R数据集服务器下载
【官方github链接】https://github.com/ylwhxht/V2X-R 点击并登录 选择并点击下载 浏览器弹窗,右键选择复制下载链接 ------------------------------------服务器下载----------------------------------------- 登录服务器,选在要下载的文件夹复制路…...
EasyRTC嵌入式视频通话SDK的跨平台适配,构建web浏览器、Linux、ARM、安卓等终端的低延迟音视频通信
1、技术背景 WebRTC是一项开源项目,旨在通过简单的API为浏览器和移动应用程序提供实时通信(RTC)功能。它允许在无需安装插件或软件的情况下,实现点对点的音频、视频和数据传输。 WebRTC由三个核心组件构成: GetUserM…...
影院购票系统(二)——uni-app移动应用开发
这一篇讲解系统的逻辑代码部分,下面是ai的讲解,也可以直接跳到代码部分进行浏览。 一、整体功能概述 这个Vue组件构建了一个完整的影院座位选择系统,涵盖从座位数据初始化、视图渲染到交互处理以及业务逻辑的整个流程。它遵循响应式编程模式…...
DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元
背景 在全球人工智能技术高速迭代的背景下,算力成本高企、异构资源适配复杂、模型部署效率低下等问题,始终是制约企业AI规模化应用的关键。 DeepSeek以创新技术直击产业痛点,而博云先进算力管理平台AIOS的全面适配,则为这一技术…...
DeepSeek能画流程图吗?分享一种我正在使用的DeepSeek画流程图教程
…...
网络安全试题填空题
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 2018年期末题 1. 分布式防火墙系统组成不包括(D) A.网络防火墙 B.主机防火墙 C.中心管理防火墙 D.传统防火墙 2.下列不是入侵者主要行为模…...
MySQL中查看表结构
1. 使用 DESCRIBE 或 DESC 命令 DESCRIBE(或其简写 DESC)是最简单和最直接的方法,可以显示表的列信息。 语法: DESCRIBE table_name; -- 或者 DESC table_name;示例: 假设有一个名为 employees 的表,可以…...
个推助力小米米家全场景智能生活体验再升级
当AI如同水电煤一般融入日常,万物互联的图景正从想象照进现实。作为智能家居领域的领跑者,小米米家凭借开放的生态战略,已连接了超8.6亿台设备,构建起全球领先的消费级AIoT平台。如今,小米米家携手个推,通过…...
linux服务器根据内核架构下载各种软件依赖插件(例子:Anolis服务器ARM64架构内核Nginx依赖插件下载)
Anolis服务器ARM64架构内核Nginx依赖插件下载 Nginxy依赖包:阿里云镜像站搜索自己的系统如下点击系统,进入详情页面点击下载地址点击对应版本号选择Os继续点击OS点击Packagesctrf搜索资源,依次下载资源,版本建议选最新把下载好的资…...
[css] line-height如何继承
line-height继承,一共有以下3种情况: <body><p>这是一行文字</p> </body>写具体数值,则直接继承该值。 body {font-size: 20px;line-height: 50px; /* 数值 */ } p {font-size: 10px; }<p> 元素 line-height…...
GaussianCity:实时生成城市级数字孪生基底的技术突破
在空间智能领域,如何高效、大规模地生成高质量的3D城市模型一直是一个重大挑战。传统方法如NeRF和3D高斯溅射技术(3D-GS)在效率和规模上存在显著瓶颈。GaussianCity通过创新性的技术方案,成功突破了这些限制,为城市级数字孪生的构建提供了全新路径。 一、核心创新:突破传…...
华为配置篇-OSPF基础实验
OSPF 一、简述二、常用命令总结三、实验3.1 OSPF单区域 一、简述 OSPF(开放式最短路径优先协议) 基本定义 全称:Open Shortest Path First 类型:链路状态路由协议(IGP),用于自治系统ÿ…...
获取哔站评论
一、文章立论 哔哩哔哩(B站)是当前年轻人十分喜爱的视频分享平台,以其丰富多样的内容、互动性强的社区氛围以及独特的弹幕文化深受用户喜爱。在该平台上,用户不仅可以观看各种类型的视频,如动画、游戏、科技、生活、影…...
