像courier new,consolas这些我都试过了,发现空格和字母的宽度是不一样的,好像是word自己调整字间距了。

请问如何做到数字、英文字母、空格严格等宽,然后一个汉字严格等于2个字母的宽度,不要让word自己把字距挤扁或者拉长? 我是写实验报告,想在word文档里插入汇编代码,汇编代码对不齐真的好难看哦。百度了几小时都百度烂了也没用。。(Markdown我也试过,甚爽,但转成pdf体验不太好)

照百度上有些人说的,用notepad++复制所有格式粘贴到word,我试了一下好像也没什么卵用啊。。


Word Options -&> Advanced -&> Layout options for: -&> Balance SBCS characters and DBCS characters.

Then Consolas 空格和字母宽度一致。


这个问题的关键是Word自动调整了空格的宽度。

格式 -&> 段落 -&> 中文版式:

取消选中【自动调整中文与西文的间距】取消选中【自动调整中文与数字的间距】这样就可以对齐代码了。已亲测有效。


这个实现起来挺简单的,刚刚在word上弄了下实现了这个效果,如下:

去改两个设置:

  1. 把字体设置成inziu Iosevka字体。这个字体里面西文、数字、空格、特殊符号都严格等于二分之一个汉字宽度,目前我只找到这一款字体能实现这个。

2. ctrl 加 a 全选,设置段落里面的中文样式如下,主要是取消调整中文和西文/数字的间距、允许西文在单词中间换行、设置左对齐等等。如果还是没对齐就再按别的各个选项试一下


Word中代码用宋体或者DFKai-SB(标楷体)就可以保证英文字元和空格都是等宽的。
Word里有对齐网格的功能,每行字数固定(数值自定义),按网格对齐;似乎是对整个文档生效,不能对部分段落生效。我上次用这个功能是四五年前,标准的名字早就忘记了……最近电脑送修,也没法找来截图给你,遗憾……

按 @Ai Ta 的方法摸索了一下 按下面设置出来的空格和字母的宽度是一样的

但是不知道会有什么其他影响

其实还有一种方法就是代码用tab缩进 然后在word里面设置制表位 不过麻烦一点


这个真是难办。

Courier New 字元在word中是等宽的,但是Courier New格式的空格不是,让人非常恼火。

我曾经这么处理这个问题。比较笨,没办法,但如果需求不复杂的话还是有效的。

建一个两列的表格,左列粘代码,右列粘注释,绝对对齐!


谢邀


推荐阅读:
相关文章