
Se actualizó un poco el texto, debido al comentario de Mico (sobre todas o solo algunas ligaduras)
estoy usando el paqueteparacolcon XeLaTeX, habiendo creado dos columnas, y estoy usando ligaduras. Deseo desactivar las ligaduras raras e históricas para la segunda columna y conservarlas para la primera (al menos por el momento). Las ligaduras comunes, comof,fi, etc., deben permanecer.
Pregunta: ¿Cuál es la forma más rápida y sencilla de lograrlo?
Actualización adicional: se agregó otra cosa específica que se incluye en la pregunta principal.: Después de resolver el primer asunto (es decir, en la segunda columna solo se permiten las ligaduras comunes),¿Cómo se procede entonces a desactivar ciertas ligaduras específicas en la primera columna?? Quiero decir esto: sí, deseo tener ligaduras históricas y raras para la primera columna, excepto algunas específicas, como la dobleAutomóvil club británicopero especialmente los que tienen dos consonantes unidas (comogramoykrEtcétera).
ACTUALIZADO CON CÓDIGO (29-4-17):
\documentclass[12pt, a4paper, titlepage]{book}
\usepackage{paracol}
\usepackage{lipsum}
\usepackage{polyglossia}
\setmainlanguage{english}
\setmainfont[Ligature=Historic,Ligature=Rare]{Junicode}
\title{Title}
\author{Author}
\begin{document}
\frontmatter
\begin{titlepage}
\maketitle
\thispagestyle{empty}
\end{titlepage}
\chapter{Foreword}
\begin{paracol}{2}
%% here starts the first column; while I wish to use the rare and
% historic ligatures in this first column, here I wish to disable e.g.
% „gr” and „kr”
\lipsum
\switchcolumn
%% having switched, here, for the second column, I want to disable the
% rare and historic ligatures, keep the common ones (ff, fi, etc.), and still use the
% same font as in the first, while the first column keeps all ligatures
% as it is
\lipsum
\end{paracol}
\end{document}
Respuesta1
Aquí tienes una forma semiautomática de hacerlo. Es semiautomático porque en algunos entornos necesitarás cambiar la fuente manualmente. El paracol
paquete es muy complejo y no proporciona enlaces para configurar la fuente por columna.
Este código funciona automáticamente para los siguientes entornos:
- entorno simple usando
\switchcolumn
{leftcolumm}
y{rightcolumn}
ambientes- Versiones destacadas de estos comandos/entornos.
Para otros entornos, como notas al pie, tablas y figuras, proporcioné un comando que establece automáticamente la fuente para el número de columna actual:
\setcolfont
Por ejemplo:
\footnote{\setcolfont Footnote text}
Si encuentro una manera de hacerlo de forma más automática, actualizaré la respuesta.
\documentclass{article}
\usepackage{paracol}
\usepackage{fontspec}
\usepackage{etoolbox}
% Define font families for Col 0 and Col 1
% Add more for more column documents if needed
\expandafter\newfontfamily\csname juni0\endcsname[Ligatures={Historic,Rare}]{Junicode}
\expandafter\newfontfamily\csname juni1\endcsname[]{Junicode}
% The following commands are added for convenience in case each font is needed elsewhere
% They also make the environment patching code more readable
\newfontfamily\junicodeHistoric[Ligatures={Historic,Rare}]{Junicode}
\newfontfamily\junicodeNoLig[]{Junicode}
% Patch the right and left column environments
\AtBeginEnvironment{leftcolumn}{\junicodeHistoric}
\AtBeginEnvironment{leftcolumn*}{\junicodeHistoric}
\AtBeginEnvironment{rightcolumn}{\junicodeNoLig}
\AtBeginEnvironment{rightcolumn*}{\junicodeNoLig}
\makeatletter
% Define a command to set the font to the current column number
\newcommand{\setcolfont}{%
\csname juni\number\pcol@currcol\endcsname%
}
%% Optional code for use with selnolig
%\usepackage{selnolig}
%% Define global noligs
%\nolig{aa}{a|a} % Examples change as needed
%\nolig{al}{a|l}
%\nolig{an}{a|n}
%\nolig{ar}{a|r}
%\nolig{av}{a|v}
%% End optional code for selnolig
% Patch the \switchcolumn command and paracol environments to set the column font
\appto{\pcol@switchcol}{\setcolfont}{}{}
\preto{\paracol}{\setcolfont}{}{}
\makeatother
\usepackage[]{kantlipsum}
\begin{document}
\begin{paracol}{2}
% Test with switchcolumn
Ideal\kant[1]
\switchcolumn
After\kant[1]
% Test with leftcolumn/rightcolumn
\begin{leftcolumn}
\kant[2]%
% Footnotes need to have explicit \setcolfont commands
\footnote{\setcolfont
This is a left column footnote.}
\end{leftcolumn}
\begin{rightcolumn}
\kant[2]%
\footnote{\setcolfont
This is a right column footnote.}
\end{rightcolumn}
\switchcolumn*
\kant[3]
% Tables/figures need to have explicit \setcolfont commands
\begin{table}[tbp]
\setcolfont
This is a left column table. Ideal It is set in the left font.
\end{table}
\switchcolumn
\kant[3]
\end{paracol}
\end{document}
Adaptación al uso selnolig
del paquete
Si desea tener un control más preciso sobre las ligaduras en el texto, puede utilizar el selnolig
paquete de Mico para desactivar selectivamente algunas ligaduras. Esto requiere que LuaTeX se ejecute. Parece que no hay forma de desactivar las ligaduras selectivamente por columna, ya que los \nolig
comandos son efectivamente globales. (Vea los comentarios de Mico a continuación).
Respuesta2
La siguiente respuesta se basa en una versión anterior de la respuesta de @AlanMunn (eliminada temporalmente, luego restablecida). Es decir, mantengo el uso de etoolbox
maquinaria para emplear fuentes separadas para las columnas de la izquierda y de la derecha. Además, cambio de XeLaTeX a LuaLaTeX para poder hacer uso de laselnoligpaquete, que proporciona un método para deshabilitar globalmente algunas de las ligaduras de Junicode , como las de aa
, al
, an
y . (Divulgación completa: soy el autor principal de este paquete).ar
av
Confío en que cambiar de XeLaTeX a LuaLaTeX no será una gran tarea para ti.
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\usepackage{paracol,fontspec}
\newfontfamily\junicodeHistoric[Ligatures={Historic,Rare}]{Junicode}
\newfontfamily\junicodeNoLig[]{Junicode}
\usepackage{etoolbox}
\AtBeginEnvironment{leftcolumn}{\junicodeHistoric}
\AtBeginEnvironment{rightcolumn}{\junicodeNoLig}
\usepackage{kantlipsum}
\usepackage{selnolig} % must be used with LuaLaTeX
\debugon % optional -- leave an activity trail in log file
% Globally suppress the following ligatures:
\nolig{aa}{a|a}
\nolig{al}{a|l}
\nolig{an}{a|n}
\nolig{ar}{a|r}
\nolig{av}{a|v}
% feel free to provide further \nolig directives...
\begin{document}
\begin{paracol}{2}
\begin{leftcolumn}
\kant[1]
\end{leftcolumn}
\begin{rightcolumn}
\kant[1]
\end{rightcolumn}
\end{paracol}
\end{document}