
¿Hay alguna manera de escribir una comilla doble derecha directamente encima de un punto (si la cita termina con un punto)? No a la izquierda (por ejemplo, ."), ni a la derecha (por ejemplo, ".), sino directamente arriba. La foto de abajo es un ejemplo deÁrboles, mapas y teoremas.por Jean-luc Doumont.
Respuesta1
Una forma es agregar un "kerning" negativo entre las comillas y el punto:
\documentclass{article}
\begin{document}
Here is an unkerned quotation mark: ``\dots''.
Here is a kerned quotation mark: ``\dots''\kern-0.5em.
\end{document}
El comando TeX \kern-0.5em
inserta un espacio negativo entre las comillas y el siguiente punto. Tendrás que jugar un poco con el espaciado exacto, pero usar una medida -0.5em
que se ajuste al tamaño de la fuente debería funcionar razonablemente bien.
Kerning automático con LuaLaTeX
Como otros han sugerido, puede hacer esto con macros, pero si desea hacerlo automáticamente, parece que necesita incluir esta información de kerning en la tabla de kerning específica de la fuente. Esto se puede hacer conLuaLaTeXcomo sigue:
Primero crea un archivo:Palatino.fea
languagesystem DFLT dflt;
languagesystem latn dflt;
feature kern {
pos \quotedblright \period -1000;
} kern;
Ahora cargue esta información de fuente usando fontspec
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[FeatureFile=Palatino.fea]{Palatino}
\begin{document}
Here is an automatically kerned quotation mark: ``\dots''.
Here is a manually kerned quotation mark: ``\dots''\kern-0.5em.
\end{document}
Tenga en cuenta que debe compilar esto lualatex
ahora y que deberá agregar la información de interletraje personalizada para cada fuente que desee utilizar.
Respuesta2
Yo establecería esto simplemente como un \rlap
punto -ed (o, en el sentido de LaTeX, \makebox[0pt][l]
), envuelto en una macro:
\documentclass{article}
\newcommand{\qperiod}{\rlap{.}}
\begin{document}
Some text: ``\dots''.
Some text: ``\dots''
Some text: ``\dots\qperiod''
\end{document}
La macroenvoltura permite realizar modificaciones globalmente, cuando sea necesario.
Respuesta3
Aquí uso una pila. Es stacktype
"L" para Largo o "S" para Corto (predeterminado). Si es "L", la "distancia" de apilamiento es de una línea de base a otra. Al configurarlo en 0pt
, dice que los dos componentes comparten la misma línea de base (en contraste, una distancia de pila corta es el espacio vertical entre la parte superior del "ancla" y la parte inferior del elemento apilado). Define stackalignment
la alineación horizontal (predeterminado c=centro). Aquí lo configuré para alineación izquierda.
\documentclass{article}
\usepackage{stackengine}
\renewcommand\stacktype{L}
\renewcommand\stackalignment{l}
\begin{document}
by ``\dots\stackon[0pt]{.}{''}
\end{document}
Se puede lograr el mismo resultado, omitiendo todos los ajustes de parámetros, utilizando la stackengine
macro genérica con 8 argumentos obligatorios:
by ``\dots\stackengine{0pt}{.}{''}{O}{l}{F}{F}{L}
Los ocho argumentos obligatorios son:
- distancia de apilamiento
- elemento de anclaje
- elemento apilado
- Pila O(ver) o U(nder)
- l(izquierda) c(entrar) o r(derecha) alineación horizontal
- T/F para "quietstack" ("T" significa creado pero no impreso)
- T/F para "useanchorwidth" ("T" significa que el ancho del ancla determina el ancho total de la pila)
- Pila S (corta) o L (larga)