![由于自定义命令中的文本未使用连字符,导致行太长](https://linux22.com/image/240759/%E7%94%B1%E4%BA%8E%E8%87%AA%E5%AE%9A%E4%B9%89%E5%91%BD%E4%BB%A4%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E6%9C%AA%E4%BD%BF%E7%94%A8%E8%BF%9E%E5%AD%97%E7%AC%A6%EF%BC%8C%E5%AF%BC%E8%87%B4%E8%A1%8C%E5%A4%AA%E9%95%BF.png)
我遇到了一些问题,有些行太长了。单词有正确的连字规则,但这些规则没有被应用。
我先给出那句太长的句子:
An isomorphism that maps a graph to itself is called an \concept{automorphism}.
命令概念定义如下
\newcommand{\concept}[1]{\index{#1}\marginpar{\raggedright\textbf{#1}}\textbf{#1}}
问题似乎是里面的单词\concept
没有连字符。我该如何解决这个问题?如果我输入
An isomorphism that maps a graph to itself is called an \textbf{automorphism}.
那么该单词的连字符就完美了。因此,我现在希望命令的\concept
行为方式相同,即允许根据标准规则对概念进行连字符连接。
答案1
第一个单词永远不会用连字符连接,除非它之前的某些内容让 TeX 认为它不是第一个单词
\newcommand{\concept}[1]{%
\textbf{#1}%
\marginpar{\raggedright\hspace{0pt}\textbf{#1}}%
\index{#1}}
这\hspace{0pt}
就是诀窍。
\marginpar
并且\index
应将其放在所指单词后面,并与其相连,以免留下合法的断点,否则可能会导致边注错位和索引中出现差一错误。如果放在单词前面,它们会阻止单词连字。