LaTeX 两列布局不会在边框之间保留文本
LaTeX two-column layout does not keep text between borders
我正在使用 \twocolumn 标签来使用 LaTeX 中的双列布局。问题是这不能正常工作,文本似乎没有固定在边界之间。不确定这个最小的例子是否有帮助,但至少你可以看到我的包含和它发生的文本。
\documentclass[12pt,a4paper, abstracton]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[backend=biber, sorting=none]{biblatex}
\usepackage{hyperref}
\usepackage[hyphenbreaks]{breakurl}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\twocolumn
\section{Introduction}
Glutamate carboxypeptidase II (GCPII), N-acetyl-L-aspartyl-L-glutamate peptidase I (NAALADase I), NAAG peptidase or prostate-specific membrane antigen (PSMA) \dots
\end{document}
Screenshot of left column in PDF that shows the problem
为什么 LaTeX 从第一列写入第二列,我该如何解决?我想避免单独更改每一行,发生这种情况。我正在寻找一个全球解决方案。
Latex 很难找到合适的断点,因为具有多个大写字母的单词通常被认为是首字母缩略词,不应使用连字符。
可能的解决方法:
- 在单词前用
\linebreak
强制换行。这可能会导致行中出现不需要的大 space,尤其是在行中只有一个白色 space 的情况下
- 告诉 latex 可能的断点在哪里
long\-word
(我不知道 NAALADase 中是否有任何可能的断字点)。这也可以是整个文档的全局,在您的序言中包含 \hyphenation{long-word}
- 改写句子
- 使用其他布局。非常短的行与非常长且牢不可破的单词相结合是一个艰难的组合
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[backend=biber, sorting=none]{biblatex}
\usepackage{hyperref}
\usepackage[hyphenbreaks]{breakurl}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\twocolumn
\section{Introduction}
Glutamate carboxypeptidase II (GCPII), N-acetyl-L-aspartyl-L-glutamate peptidase I \linebreak (NAALADase I), NAAG peptidase or prostate-specific membrane antigen (PSMA) \dots
\end{document}
由于接受的答案的解决方法对我来说并不令人满意,所以我不断搜索并找到了更合适和快速的解决方法,在我的序言中添加了以下内容:
\setlength{\emergencystretch}{3em}
长度 3em
可以根据需要更改,只要保持尽可能低的长度以保持最佳外观即可。
更多详情here。
我正在使用 \twocolumn 标签来使用 LaTeX 中的双列布局。问题是这不能正常工作,文本似乎没有固定在边界之间。不确定这个最小的例子是否有帮助,但至少你可以看到我的包含和它发生的文本。
\documentclass[12pt,a4paper, abstracton]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[backend=biber, sorting=none]{biblatex}
\usepackage{hyperref}
\usepackage[hyphenbreaks]{breakurl}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\twocolumn
\section{Introduction}
Glutamate carboxypeptidase II (GCPII), N-acetyl-L-aspartyl-L-glutamate peptidase I (NAALADase I), NAAG peptidase or prostate-specific membrane antigen (PSMA) \dots
\end{document}
Screenshot of left column in PDF that shows the problem
为什么 LaTeX 从第一列写入第二列,我该如何解决?我想避免单独更改每一行,发生这种情况。我正在寻找一个全球解决方案。
Latex 很难找到合适的断点,因为具有多个大写字母的单词通常被认为是首字母缩略词,不应使用连字符。
可能的解决方法:
- 在单词前用
\linebreak
强制换行。这可能会导致行中出现不需要的大 space,尤其是在行中只有一个白色 space 的情况下 - 告诉 latex 可能的断点在哪里
long\-word
(我不知道 NAALADase 中是否有任何可能的断字点)。这也可以是整个文档的全局,在您的序言中包含\hyphenation{long-word}
- 改写句子
- 使用其他布局。非常短的行与非常长且牢不可破的单词相结合是一个艰难的组合
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[backend=biber, sorting=none]{biblatex}
\usepackage{hyperref}
\usepackage[hyphenbreaks]{breakurl}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\twocolumn
\section{Introduction}
Glutamate carboxypeptidase II (GCPII), N-acetyl-L-aspartyl-L-glutamate peptidase I \linebreak (NAALADase I), NAAG peptidase or prostate-specific membrane antigen (PSMA) \dots
\end{document}
由于接受的答案的解决方法对我来说并不令人满意,所以我不断搜索并找到了更合适和快速的解决方法,在我的序言中添加了以下内容:
\setlength{\emergencystretch}{3em}
长度 3em
可以根据需要更改,只要保持尽可能低的长度以保持最佳外观即可。
更多详情here。