有没有办法知道当我构建 .tex 时哪些单词 LaTeX 会连字符

有没有办法知道当我构建 .tex 时哪些单词 LaTeX 会连字符

可能重复:
检查文档中的所有连字符

我在 babel 的西班牙语中遇到了连字符模式问题。我在 Windows 上使用 MikTeX,这个问题似乎很难解决,至少在我当前的 MikTeX 配置下是如此。因此,如果 LaTeX 在完成文档构建时告诉我“嘿,我刚刚完成,这些是我连字符的单词,看看它们是否错误”,那将非常有帮助。

有办法实现这个吗?

答案1

如果你添加

\tracingparagraphs1

在您的文档中,Tex 会转储有关其换行的所有类型的信息,包括使用连字符的位置。

\documentclass{article}

\textwidth0.3\textwidth

\tracingparagraphs1

\begin{document}
aascac alskcj a awfd acdcnaskca kajhdacnaks kajhd kdcks  jksdh skjd ksj 
aaonescac alskcj a awfd acdtwocnaskca kajhdacnaks kajhd kdcks  jksdh skjd ksj 
aascac alskcj a awfd acdcnaskca kajhdacnaks kajhd kdcks  jksdh skjd ksj 
aascac alskcj a awfd acdcnaskca kajhdacnaks kajhd kdcks  jksdh skjd ksj 

\end{document}

在日志中你会看到:

awfd acd-c-naskca ka-jh-dac-
@\discretionary via @@10 b=* p=50 d=*
@@11: line 11.3- t=13444 -> @@10
naks ka-jhd kd-cks jksdh

这意味着kajhdac-naks与其他正在考虑的连字符一样,换行了。

该测试文件有三个连字符,您可以从使用以下命令搜索日志文件中看到(例如)

egrep -C1 "^@.discretionary" hyph.log

产生

acdt-woc-naskca ka-jh-dac-
@\discretionary via @@4 b=* p=50 d=*
@@5: line 5.3- t=12330 -> @@4
--
awfd acd-c-naskca ka-jh-dac-
@\discretionary via @@7 b=* p=50 d=*
@@8: line 8.3- t=12887 -> @@7
--
awfd acd-c-naskca ka-jh-dac-
@\discretionary via @@10 b=* p=50 d=*
@@11: line 11.3- t=13444 -> @@10

答案2

MiKTeX 2.9 之前的版本默认仅启用少数连字规则:英语、德语(旧式和新式正字法)和法语。

启用连字规则是不同的从选择文档的语言开始:简单

\usepackage[spanish]{babel}

不保证会执行正确的连字,除非事先启用了语言并重建了格式。如果未启用语言,则在.log运行 LaTeX 期间写入的文件中会出现以下消息

No hyphenation patterns were loaded for the language `Spanish'
I will use the patterns loaded for \language=0 instead

启用语言的说明可在以下链接中找到

http://docs.miktex.org/2.7/manual/hyphenation.html

在此处输入图片描述

检查所需语言(您的情况下为西班牙语,但也包括您需要的所有其他语言)后,按“应用”,然后转到“常规”面板

在此处输入图片描述

按“更新格式”按钮。如果一切顺利,运行 LaTeX 后,您的文档将不再显示该消息,并且将使用正确的西班牙语连字符。

相关内容