2009-11-28 121 views
1

我希望LaTeX自动替换字符串“a”,“s”,“z”和“a〜”,“s〜”,“z〜”,因为它们不能在行结束。有什么建议么?替换LaTeX中的字符串

+3

使用您的编辑器正则表达式替换函数不是更容易吗? – Heinzi 2009-11-28 16:21:06

+1

'perl -p -i -e's/a/a〜/ g'' ?? – Mica 2009-11-30 21:36:22

+0

@Mica:我认为他正在寻找更多匹配'/^Wa /'的方法。 – 2009-12-09 23:05:34

回答

-2

在文本编辑器的菜单中点击Find and Replace(或类似)并执行此操作。

1

恐怕(据我所知)这对于LaTeX来说基本上是不可能的。不过,基于LuaTeX的解决方案可能是可能的。

它实际上不是很清楚,我,但是,“A”,例如,不应出现在
行的末尾。虽然我可能习惯了不同的印刷规则。

(这有什么错,在最后一个段落换行?:)

0

据我所知是没有办法在乳胶本身做到这一点。我会用一些外部工具来实现自动化,因为我的典型设置涉及到处理单独运行LaTeX的Makefile。这使得在源文件上运行像sed这样的工具变得相当容易,并且使用正则表达式进行一些替换,并且一个简单的规则可以为您的情况做到这一点。

如果您使用一些LaTeX编辑器为您执行所有操作,您应该检查编辑器的正则表达式搜索和替换功能。

0

是的,这是数据处理与数据组合的古老说法。我们一直在负责从源环境中提取信息的预处理器环境(SQL或纯文本)中完成这些工作,并创建了\ input(file.tex)的内容。

但是,这是可能的(TeX毕竟是一种编程语言),但你将不得不成为一个向导。获得Stephan von Bechtolsheim的4卷音乐集TeX in Practice。

该方法将开始一个环境(执行一个宏),其'参数''全部文本到环境的末尾。然后,只需使用固定所需的令牌即可。

不过,我不认为我们任何人都在倡导这种方法。

3

对于捷克的印刷规则,有一个预处理器,称为Vlna" by Petr Olšák - download。这套(通常在捷克的介词)是可定制的 - 所以它也可以用于其他语言。

+0

看来你解释了*为什么* OP想要这种行为,并考虑到了这个问题。看起来像一个非常有用的链接。 – 2009-12-09 22:35:24

1

如果您使用TEX制造商编写您的乳胶文件,那么您可以单击工具栏上的EDIT并单击下拉选项上的REPLACE。一个对话框会出现,你可以一个接一个地输入你的字符串。您可以在FIND输入中更改字符串,并在REPLACE选项卡中将其更改为想要的内容。您还可以指定替换的起始位置。 祝你好运!