这是我的问题,右边距溢出,可能是由于在此位置存在 -:
我已经尝试过所描述的解决方案这里,但结果没有变化:
\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 吗?