请选择 进入手机版 | 继续访问电脑版

LibreOffice 中文社区

 找回密码
 马上加入

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
开启左侧

[问题] Writer文档里面的特定单位上下标如何批量更正

[复制链接]
魏将军小分队 发表于 2021-7-18 19:13:37 | 显示全部楼层 |阅读模式
文档中存在大量m3/h、H2O这样的专用名词,按规范写法应该有正确的上下标,比如“m3/h”其中的“3”应该上标,“H2O”其中的“2”应该下标。

但是需要修改的数量众多,一个一个搜索到然后手动点击上标的话实在太慢,而且文档段落中夹杂“手动设置的格式”的话后期维护也不方便。

我目前想到的方法就是先设置一个“自定义的字符样式”,比如说“自定义字符样式-上标”,然后用这个样式去将“m3/h”中的“3”改为上标,然后将改好的“m3/h”存为自动图文集,然后挨个搜索格式不规范的“m3/h”,按按键“F3”替换为自动图文集。这样虽然可以去除手动点击上标带来的“手动格式”不方便后期维护的问题,不过这样还是不能实现批量替换,还是挺费劲。

另外我看自动更正的功能里似乎没有办法带格式,所以自动更正的功能没办法解决这个问题?

不知道搜索替换功能能否实现这种带样式的字符替换,要用正则表达式替换吗?或者能够实现字符替换成公式也可以。

暂时想不到实现的方法,不知道各位大佬们有没有好的解决方法,教一下小弟。

  彩云小译 刚刚

0



高原之狼 发表于 2021-7-19 06:33:55 | 显示全部楼层
我也只能算是 Writer 的初级用户,就说两点自己的想法,算是抛砖引玉。

一、如果要求只是常用的 H_2O、m^3/h 这种简单的数字上下标,其实是有一个取巧的办法的。Unicode 中为上下标数字是单独提供了编码的,比如下标数字二是 ₂ (U+2082),上标数字三是 ³ (U+00B3),用到文字里的效果是:H₂O、m³/h。这样当然就可以简单地查找替换了,但是缺点就是需要字体和编码支持,比如我在 Windows 下就需要 Cambria Math 字体才能正常显示下标二,微软雅黑只支持上标三,不支持下标。如果做出的文档给别人,不内嵌字体的话搞不好就出方块了。

二,用自定义的字符样式替换是一个正确的思路,但我认为不应该用自动图文集这个工具。自己编写一个简单的宏,把所有 H2O 字符串中的“2”都应用某自定义字符样式,应该是不难的。但我也不懂宏,就不多嘴了。

自动更正和正则表达式替换大概是都无法满足你的要求的,因为这两者据我所知都并不支持格式和样式(替换可以替换段落样式,但似乎不能替换字符样式,而且也是从一种样式替换成另一种)。

就说这些,希望对你有所帮助。

 楼主| 魏将军小分队 发表于 2021-7-19 13:31:47 | 显示全部楼层
高原之狼 发表于 2021-7-19 06:33
我也只能算是 Writer 的初级用户,就说两点自己的想法,算是抛砖引玉。

一、如果要求只是常用的 H_2O、m^3 ...

我根据您的想法尝试了一下,目前算是有了一个可以接受解决方法。

一、Unicode 编码的搜不到资料,似乎没办法直接通过搜索替换Unicode 编码来实现字符的更换。

二、不过您提到的宏工具的使用让我受到启发。通过录制宏的方法,可以最终通过快捷键来运行宏,将我前面提到的搜索并按按键“F3”替换为自动图文集的几步操作合并成一个宏,最终按一次按键就可以替换一个(不知道宏怎么实现循环功能,只能按一个替换一个),相对快了很多。不过宏的编写我也不会,就是录制功能试了一下,还挺方便。

目前解决替换问题是没问题了,算是一个操作量不大,也方便维护的方法。

十分感谢。

  彩云小译 刚刚

0



*滑块验证:
您需要登录后才可以回帖 登录 | 马上加入

本版积分规则

Archiver|手机版|小黑屋|LibreOffice 中文社区 ( 粤ICP备13080851号-4 )

GMT+8, 2021-8-2 10:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表