在行首自动展开缩写

在行首自动展开缩写

根据西班牙语排版传统(Martinez de Sousa,MELE4),缩写etc.应完全展开到etcétera出现在行首的位置(维基百科西班牙语页面)

我猜想可以使用 LuaTeX 来实现;在检查行首是否为 后重新排版段落etc.。我认为应该使用迭代的上限(可能是etc.段落中出现的时间),因为新的排版可能会移动 的位置etc.

(注意:由于文本的重新排版,这种做法现在不再使用。)

我的问题是:有人愿意接受这个挑战吗?

答案1

即使没有 luatex,您也可以这样做,尽管单词周围的空格不会随着行上其他单词间的空格而延伸。

在此处输入图片描述

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\setlength\textwidth{5cm}

\def\etc.{\discretionary{}{etcétera}{\hbox{ etc.}}}

\begin{document}

abc\etc. abc\etc. abc\etc. abc\etc. 
abc\etc. abc\etc. abc\etc. abc\etc. 
abc\etc. abc\etc. abc\etc. abc\etc. 


\end{document}

避免冻结自由裁量权框内空间的另一种方案是使用...abc~\etc.定义

\def\etc.{\discretionary{}{etcétera}{etc.}}

~但是这会在换行符之前在行尾留下空格,因此仅在 raggedright 设置中才真正可用。

相关内容