我为我的新方法定义了一个新命令,以便我可以在整个文档中使用它(并且当我找到更好的方法时也可以轻松更改它)。我注意到,当我的方法名称具有特定长度时,这会导致线条延伸到边距。这是一个最小示例:
\documentclass[12pt]{article}
\usepackage[a4paper, left=2cm, top=2cm, bottom=2cm, right=4cm]{geometry}
\newcommand{\methodname}{MyMethod}
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy \methodname~ eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{document}
如您所见,第一行显示效果不佳。当我选择一个较长的名称时,在某个时候,方法名称会用连字符连接,但它仍然会超出边距。
问题的根源是什么?解决该问题的最佳方法是什么?
答案1
~_
强制双倍空格,并防止换行,而这两者都不是您想要的。
此外,默认情况下 tex 不能连接 MyMethod
\documentclass[12pt]{article}
\usepackage[a4paper, left=2cm, top=2cm, bottom=2cm, right=4cm]{geometry}
\newcommand{\methodname}{My\-Method}
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy \methodname\ eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{document}
答案2
作为对@David Carlisle 的精彩回答的补充(+1):
\documentclass[12pt]{article}
\usepackage[a4paper,
hmargin={2cm,=4cm}, vmargin=2cm]{geometry}
\hyphenation{My-Meth-od} % <---
\newcommand{\methodname}{MyMethod}
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy \methodname\ eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{document}