如何避免边距溢出行?

如何避免边距溢出行?

这是我的问题,右边距溢出,可能是由于在此位置存在 -: 在此处输入图片描述

我已经尝试过所描述的解决方案这里,但结果没有变化:

  • \emergencystretch=1em在序言中
  • \sloppy在序言中
  • 本地解决方案:\renewcommand{\positionne-t-elle}{\texttt{position\-ne-t-elle}}但是我有编译错误:LaTeX 错误:\positionne -t-elleundefined
  • 编辑-其他有效的本地解决方案:position \-ne \--t-elle

无论如何,我更希望有一个全球性的解决方案。

以及 LyX MWE:

#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass article
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100

\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\use_hyperref false
\papersize default
\use_geometry false
\use_amsmath 1
\use_esint 1
\use_mhchem 1
\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Standard
I have a overflow-in-the-margin problem.
 Here is a hyphenation test with big composed words like-this-one, or this-other
-one to provoque a line-overflowinthemargin-Actuallyugly isn't it ?
\end_layout

\end_body
\end_document

答案1

使用babel包并写入\babelhyphen{hard}而不是连字符(如果您使用的是 Lyx,则在 ERT 框中)。这可以使用宏稍微简化一下:

\documentclass[english]{article}
\usepackage{babel}
\newcommand\fh{\babelhyphen{hard}}
\begin{document}
Have a overflow-in-the-margin problem.
Here is a hyphenation test with big composed words 
like-this-one, or this-other-one to provoque a line\fh 
overflowinthemargin\fh Actuallyugly isn't it ?
\end{document}

平均能量损失

为了便于阅读,您可以使用连字符型宏,但请注意\-\_已经定义。此外,您不能\newcommand为此使用。但可能有些像\def\¬{\babelhyphen{hard}}不破坏任何东西。

除了宏之外,您还可以通过 babel 命令定义简写:

\useshorthands*{"}
\defineshorthand{"-}{\babelhyphen{hard}}

这样文本的可读性会更高(尽管 "-还需要一个 ERT 框来避免源代码中两个字符的 LyX 转换),但无论如何,请确保这是文档中所有语言所需的。请注意,\defineshorthand允许可选参数具有语言相关的行为(texdoc babel,第 8 页)。

还添加microtype包。这Overfull \hbox无需任何干预即可解决大多数警告(但并非总是如此,就像在这个极端例子中一样)。

答案2

您尝试过 \linebreak 吗?

来源:http://www.personal.ceu.hu/tex/breaking.htm

相关内容