Нет возможности переформулировать предложение. Когда я, например, удаляю букву "i" в предложении, все хорошо, все идеально подходит.
Так что я думал о том, чтобы срезать углы пустого пространства. Это касается только одной конкретной строки. Есть идеи? Думаю, это противоречит законам типографики, но...
Когда я был пользователем MS, со мной такое случилось однажды, и я просто изменил размер пустого пространства.
МВЭ
\documentclass[12pt]{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Neither text reformulation nor deleting any characters is not the option (btw, is neither A nor B considered singular or plural?). Anyway, any idea????
\end{document}
Этот документ должен быть всего на одной странице. Я хочу что-то ухудшить в последней строке (надеюсь, пробел), чтобы у меня все еще было четыре вопросительных знака. Если удалить букву «i» в «considered», это сработает, поэтому я ищу какой-нибудь небольшой обман.
решение1
В этом ответе используется подход, заключающийся в попытке решить проблему локально (в точке возникновения трудностей), а не в сбросе глобальных параметров, влияющих на весь документ.
Этот ответ был ПЕРЕСМОТРЕН с учетом предложения Барбары о предпочтительном предоставлении меньшего пробела после точек и запятых. Я оставляю исходное решение в коде в качестве комментария. Если вы раскомментируете эту строку и перекомпилируете, вы увидите разницу, которую дает предложение Барбары. (Обратите внимание, что я изменил порядок результатов, раньше от лучшего к худшему, теперь от худшего к лучшему, так что учтите это при чтении комментария Барбары).
Хотя на первый взгляд может показаться, что это не так, этот ответ основан на моем недавнем ответе наНаберите только первую букву в группе. Я создаю макрос \squeeze{}
, который будет сжимать свое содержимое, преобразуя все пробелы в две \hfil
s (но только одну \hfil
после запятых и точек соответственно). Чтобы использовать его, просто убедитесь, что конец абзаца является концом аргумента, а начало аргумента находится где-то на последней строке. Ниже я показываю, что начало сжатия не обязательно должно быть точным, хотя, как правило, включение большего количества слов в аргумент будет распределять сжатие более плавно по большему количеству пробелов.
\documentclass[12pt]{article}
\def\squeeze#1{\squeezeit#1 \relax\relax}
% REVISED SOLUTION
\def\squeezeit#1 #2\relax{#1\if\relax#2\else
\findlast#1\relax\relax%
\if.\LastChar\hfil\else
\if,\LastChar\hfil\else
\hfil\hfil%
\fi
\fi
\squeezeit#2\relax\fi%
}
\def\findlast#1#2\relax{\def\LastChar{#1}\if\relax#2\else\findlast#2\relax\fi}
\parskip 1ex
% ORIGINAL SOLUTION (No \findlast and this \squeezeit below
% Uncomment old definition below, to see comparison
%\def\squeezeit#1 #2\relax{#1\if\relax#2\else{}\hfill\squeezeit#2\relax\fi}
\begin{document}
{\bfseries Goal: get 3 line expression down to two lines.}\par
Neither text reformulation nor deleting any characters is not the option
(btw, is neither A nor B considered singular or plural?). Anyway, any idea????\par
{\bfseries Marginal:}\par
Neither text reformulation nor deleting any characters is not the option
(btw, is neither A nor B considered \squeeze{singular or plural?). Anyway, any idea????}\par
{\bfseries Good:}\par
Neither text reformulation nor deleting any characters is not the option
(btw, is neither \squeeze{A nor B considered singular or plural?). Anyway, any idea????}\par
{\bfseries Better:}\par
Neither text reformulation nor deleting any characters is not the option
\squeeze{(btw, is neither A nor B considered singular or plural?). Anyway, any idea????}
\end{document}
решение2
Вы можете изменить размермежсловное пространство. Существует как минимум три разных способа сделать ваш MWE в одностраничный документ. Если вы добавите
\spaceskip=0.95\fontdimen2\font plus \fontdimen3\font minus \fontdimen4\font
вы уменьшите естественную длину межсловного пространства. Набор переносов строк, который приводит к абзацу с наименьшей неблагонадежностью с этой новой естественной длиной, отличается от набора переносов строк с исходным межсловным пространством. Это позволяет вам разместить больше на странице
Другой вариант — добавить
\spaceskip=\fontdimen2\font plus \fontdimen3\font minus 1.2\fontdimen4\font
это позволяет немного сократить межсловное пространство.
Потенциально самым простым решением является использованиеmicrotype
упаковка.
\usepackage{microtype}
Пакет позволяет использовать всевозможные приемы, которые позволяют немного улучшить качество набора текста, и в данном случае превращает двухстраничный документ в одностраничный.
решение3
Поставить \hspace{-0.7mm}
перед словом 'anyway' было бы неплохо. Что вы думаете?
(Вероятно, мне следовало лучше упомянуть, что я хочу решить проблему локально, т. е. в пределах последней строки или даже лучше конкретного абзаца.)
решение4
Вы можете использовать \enlargethispage{50pt}
или отмеченную звездочкой версию \enlargethispage*{50pt}
перед последним абзацем. Затем используйте \newpage
после последнего абзаца.