正确排版产生下满框的部分的方法

正确排版产生下满框的部分的方法

我正在编写一个双栏文档,但有一个部分出现了问题,它产生了一个未满的框。排版此类部分的正确方法(或更好的方法)是什么,才能获得漂亮的输出?这可以看作是一个一般性问题,即在这种情况下必须做什么。

在此处输入图片描述

\documentclass{article}

\usepackage[top=0.7in, bottom=1.2in, left=0.8in, right=0.8in]{geometry}
\usepackage{parskip}
\setlength{\parindent}{0cm}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage{fontspec}
\usepackage[greek,english]{babel}
\usepackage[fontsize=8pt]{scrextend}
\usepackage{multicol}

\setmainfont[Ligatures=TeX, Extension=.otf, UprightFont=*, BoldFont=*Bold, ItalicFont=*It, BoldItalicFont=*BoldIt, Mapping=tex-text]{GFSArtemisia}
\setsansfont[Mapping=tex-text]{GFSArtemisia.otf}
\setmathfont{latinmodern-math.otf}
\setmathfont[range=\varnothing]{Asana-Math.otf}
\setmathfont[range=\int]{latinmodern-math.otf}

\begin{document}

\selectlanguage{greek}

\begin{multicols*}{2}

\section{ΑΝΤΙΣΤΡΟΦΟΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ}

\end{multicols*}

\end{document}

答案1

正如 Sean 在评论中提到的,如果将其设置为向左对齐(右侧参差不齐),效果会更好。以下是两个示例。一个带有\raggedright,另一个带有来自\RaggedRightragged2e第二个允许使用连字符。

% arara: lualatex

\documentclass{article}
\usepackage[top=0.7in, bottom=1.2in, left=0.8in, right=0.8in]{geometry}
\setlength{\parindent}{0cm}
\usepackage{fontspec}
\usepackage[greek,english]{babel} % load after fontspec
\setmainfont[Ligatures=TeX, Extension=.otf, UprightFont=*, BoldFont=*Bold, ItalicFont=*It, BoldItalicFont=*BoldIt, Mapping=tex-text]{GFSArtemisia}
\usepackage[fontsize=8pt]{scrextend}
\usepackage{multicol}
\usepackage{ragged2e} % for \RaggedRight
\usepackage{titlesec}
\titleformat{\section}
%{\normalfont\Large\bfseries\raggedright}{\thesection}{1em}{} % chose the one you like
{\normalfont\Large\bfseries\RaggedRight}{\thesection}{1em}{}
\usepackage{blindtext} % only for demo
\usepackage{microtype} % always recommended

\begin{document}
    \selectlanguage{greek}  
    \begin{multicols*}{2}
        \section{ΑΝΤΙΣΤΡΟΦΟΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ}
        \Blindtext
    \end{multicols*}
\end{document}

\raggedright

在此处输入图片描述

\RaggedRight

在此处输入图片描述


正如 egreg 所说,你可以使用\usepackage{sectsty}\allsectionsfont{\RaggedRight}。如果你不想更改部分命令的其他属性,这将是最短的方法。

答案2

既然使用scrextend包,为什么不scrartcl直接使用?

利用 KOMA-Script 功能,这是一个单行代码\addtokomafont{disposition}{\raggedright}

以下是一个完整的示例(我还删除了parskip包,因为这scr也是包的一个选项)。另请注意,中的可选参数\setmainfont字体的名称\setmainfont{<font>}[<config>]

\documentclass[fontsize=8pt,parskip=half]{scrartcl}

\usepackage[top=0.7in, bottom=1.2in, left=0.8in, right=0.8in]{geometry}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage{fontspec}
\usepackage[greek,english]{babel}
\usepackage{multicol}

\setmainfont{Latin Modern Roman}[Ligatures=TeX]
\setmathfont{Latin Modern Math}

\addtokomafont{disposition}{\raggedright}

\begin{document}

\selectlanguage{greek}

\begin{multicols*}{2}

\section{ΑΝΤΙΣΤΡΟΦΟΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ Ζ}

\end{multicols*}

\end{document}

相关内容