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}
可以上面这些,跟 hanzibox:田字格-米字格汉字练习宏包比起来,又孤陋寡闻小儿科。
不过这里就不扯太远了。总而言之,本来是研究Office实现相关功能的,结果发现还是用LaTeX更方便。Office相关的探讨继续如下:
使用应用软件而不看文档、不跟别人交流,也会有类似问题。探索黑箱的网友很多。但有些分享出来的经验,可能是误读,盲人摸象。比如:

看完这个,直觉,Excel 也是需要打印的、微软虽然Office在字处理方面比LaTeX口碑差,但还不至于到尺寸还没有整明白的地步。实际上,Word、Excel 都可以显示Ruler或标尺(直尺?)出来的。但Excel需要在“页面布局” Page Layout视图模式下。普通视图下面,视图选项卡下面Ruler\标尺\直尺是灰色的,无法勾选或取消而已。
在“视图”View选显卡,直尺\标尺Ruler勾选的情况下,显示标尺,这时候,再选择特定行、特定列,行高或者列高的单位就是统一的cm之类的了:
所以,不是Excel行高和列宽的单位不统一,而是在特定视图的情况下,的确存在那种幻觉;转变一下视图就可以了。
为什么会要求在特定视图下才能够显示统一的单位呢?这个我还不懂,有谁知道答案?
另外,对hanzibox(西北农林大学),我还是有些失望,因为对LaTeX发行版的要求条件太过苛刻了:
基于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里面用…...
(新版本onenet)stm32+esp8266/01s mqtt连接onenet上报温湿度和远程控制(含小程序)
物联网实践教程:微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制 远程上报和接收数据——汇总 前言 之前在学校获得了一个新玩意:ESP-01sWIFI模块,去搜了一下这个小东西很有玩点,远程控制LED啥的,然后我就想…...
告别GitHub连不上!一分钟快速访问方案
一、当GitHub抽风时,你是否也这样崩溃过? 😡 npm install卡在node-sass半小时不动😭 git clone到90%突然fatal: early EOF🤬 改了半天hosts文件,第二天又失效了... 根本原因:传统代理需要复杂…...
迷你世界脚本对象库接口:ObjectLib
对象库接口:ObjectLib 迷你世界 更新时间: 2023-04-26 20:21:09 具体函数名及描述如下: 序号 函数名 函数描述 1 getAreaData(...) 获取区域数据 2 getPositionData(...) 获取位置数据 3 getLivingData(...) 获取生物数据 4 getItemDat…...
数据库事务、乐观锁及悲观锁
参考:node支付宝支付及同步、异步通知、主动查询支付宝订单状态 以下容结合上述链接查看 1. 什么是数据库事务? 1.1. 连续执行数据库操作 在支付成功后,我们在自定义的paidSuccess里,依次更新了订单状态和用户信息。也就说这里…...
蓝桥王国--dij模板
#include <bits/stdc.h> // 万能头 using namespace std; typedef pair<long long ,int> PII; int n,m; long long d[300011]; struct edge///邻接表 {int v;long long w; }; int vis[300011]; vector<edge> mp[300011];///邻接表 void dij(int s)///dij单源…...
Java基础关键_017_集合(一)
目 录 一、概述 二、Collection 关系结构 1.概览 2.说明 三、Collection 接口 1.通用方法 (1)add(E e) (2)size() (3)addAll(Collection c) (4)contains(Object o) &#…...
Rust编程实战:Rust实现简单的Web服务,单线程性能问题
知识点 tcp 服务多线程处理 实现功能 启动web服务,访问链接获取页面内容。 单线程web服务 TcpListener 使用 TcpListener 开启服务端口 let listener TcpListener::bind("127.0.0.1:7878").unwrap();处理客户端连接: for stream in lis…...
GitLab 密钥详解:如何安全地使用 SSH 密钥进行身份验证
目录 一、什么是 GitLab SSH 密钥?二、为什么要使用 SSH 密钥?三、如何生成 SSH 密钥?1. Linux/macOS2. Windows 四、将公钥添加到 GitLab五、配置 SSH 客户端六、常见问题及解决方案七、总结 GitLab 是一个功能强大的 Git 仓库管理平台&…...
《论数据分片技术及其应用》审题技巧 - 系统架构设计师
论数据分片技术及其应用写作框架 一、考点概述 本论题“论数据分片技术及其应用”主要考察的是软件工程中数据分片技术的理解、应用及其实际效果分析。考点涵盖以下几个方面: 首先,考生需对数据分片的基本概念有清晰的认识,理解数据分片是…...
【C++】当一个类A中没有声明任何成员变量和成员函数,sizeof(A)是多少?
在 C 中,即使一个类没有任何数据成员(即空类),它的大小也不会是 0,而是 1。这主要有以下几个原因: 地址唯一性要求 C 标准规定,每个对象都必须有唯一的地址。如果空类的大小为 0,那么…...
Maven 私服的搭建与使用(一)
一、引言 在 Java 项目开发中,Maven 作为强大的项目管理和构建工具,极大地提高了开发效率,而 Maven 私服在开发过程中也扮演着至关重要的角色。私服是一种特殊的远程仓库,架设在局域网内,代理广域网上的远程仓库&…...
Ubuntu20.04双系统安装及软件安装(五):VSCode
Ubuntu20.04双系统安装及软件安装(五):VSCode 打开VScode官网,点击中间左侧的deb文件下载: 系统会弹出下载框,确定即可。 在文件夹的**“下载”目录**,可看到下载的安装包,在该目录下…...
linux网络(3)—— socket编程(1)socket基础认识
欢迎来到博主的专栏:linux网络 博主ID:代码小豪 文章目录 IP与端口号socket字节序问题 IP与端口号 我们现在知道了,只要发送的报文的报头包含目的IP地址和源IP地址,就能通过通信设备,是两台主机进行远程通信ÿ…...
【Kubernets】K8S内部nginx访问Service资源原理说明
文章目录 原理概述**一、核心概念****二、Nginx 访问 Service 的流程****1. Service 的作用****2. Endpoint 的作用****3. Nginx Pod 发起请求****(1) DNS 解析****(2) 流量到达 kube-proxy****(3) 后端 Pod 处理请求** **三、不同代理模式的工作原理****1. iptables 模式****2…...
使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南
使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南 前言环境准备目录创建启动Docker容器 数据库配置修改进入容器启动SQL*PlusPDB操作与字符串扩展设置配置验证 管理员用户创建注意事项总结 前言 本文将详细讲解在Docker环境中配置Oracle Database 23a…...
使用pytorch和opencv根据颜色相似性提取图像
需求:将下图中的花朵提取出来。 代码: import cv2 import torch import numpy as np import timedef get_similar_colors(image, color_list, threshold):# 将图像和颜色列表转换为torch张量device torch.device(cuda if torch.cuda.is_available() el…...
MySQL 8.X 报错处理
1.重新加载配置 reload the configuration mysql> ALTER INSTANCE RELOAD KEYRING; ERROR 1227 (42000): Access denied; you need (at least one of) the ENCRYPTION_KEY_ADMIN privilege(s) for this operation 提示需要ENCRYPTION_KEY_ADMIN权限 重新授权 GRANT ENCR…...
Ubuntu 22.04安装OpenJDK 17
步骤一:更新软件包 sudo apt update步骤二:安装openjdk-17 sudo apt install openjdk-17-jdk当系统要求输入密码时,请输入密码。然后键入 Y 并按 Enter 继续安装 步骤三:查看安装版本 java -version步骤四:查看安装…...
【时序预测】时间序列有哪些鲁棒的归一化方法
时间序列数据在金融、气象、医疗等领域中广泛存在,而股票数据作为典型的时间序列之一,具有非平稳性、噪声多、波动大等特点。为了更好地进行数据分析和建模,归一化是一个重要的预处理步骤。然而,由于时间序列数据的特殊性…...
QuickRecorder:革新性macOS轻量化录屏解决方案
QuickRecorder:革新性macOS轻量化录屏解决方案 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/GitHub_Trending/q…...
OpenMVG CMake构建系统完全指南:模块化设计与依赖管理最佳实践
OpenMVG CMake构建系统完全指南:模块化设计与依赖管理最佳实践 【免费下载链接】openMVG open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion. 项目地址: https://gitcode.com/gh_mirrors/op/openMVG OpenMVG&am…...
为什么C++开发者需要关注LunaSVG这个SVG渲染库?
为什么C开发者需要关注LunaSVG这个SVG渲染库? 【免费下载链接】lunasvg lunasvg is a standalone SVG rendering library in C 项目地址: https://gitcode.com/gh_mirrors/lu/lunasvg 在现代软件开发中,矢量图形处理已经成为许多应用程序的核心需…...
构建高性能语音识别API:FastAPI与Whisper实战指南 [特殊字符]
构建高性能语音识别API:FastAPI与Whisper实战指南 🚀 【免费下载链接】awesome-fastapi A curated list of awesome things related to FastAPI 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-fastapi 在当今人工智能和语音技术飞速发展的…...
AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南
AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...
无人机飞控必看:MPU6050互补滤波实战对比测试(DMP vs Mahony)
MPU6050姿态解算实战:Mahony互补滤波与DMP深度对比 去年调试四轴飞行器时,我曾连续72小时盯着屏幕上的姿态角曲线发呆——为什么明明静止的飞控板,Roll角却以每小时5度的速度缓慢偏移?这个困扰无数开发者的经典问题,最…...
告别手写C库!用Buddy-MLIR一键编译PyTorch模型到Gemmini加速器(实战避坑)
告别手写C库!用Buddy-MLIR一键编译PyTorch模型到Gemmini加速器(实战避坑) 当算法工程师面对定制硬件加速器时,最头疼的莫过于如何将训练好的模型高效部署到专用计算架构上。传统手工编写C库的方法不仅耗时费力,更成为阻…...
AtlasOS终极解决:2502/2503错误代码效率提升方案
AtlasOS终极解决:2502/2503错误代码效率提升方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atl…...
两行代码实现全自动网页翻译:translate.js 终极指南
两行代码实现全自动网页翻译:translate.js 终极指南 【免费下载链接】translate Two lines of js realize automatic html translation. No need to change the page, no language configuration file, no API key, SEO friendly! 项目地址: https://gitcode.com/…...
雪女-斗罗大陆-造相Z-Turbo生成图像的后期处理流水线:从降噪到超分
雪女-斗罗大陆-造相Z-Turbo生成图像的后期处理流水线:从降噪到超分 最近用造相Z-Turbo这类模型生成动漫角色图,比如《斗罗大陆》里的雪女,效果确实挺惊艳的。但不知道你有没有发现,直接生成的图片有时候会有些小瑕疵,…...
