
Existe uma maneira de escrever uma aspa dupla à direita diretamente acima de um ponto final (se a cotação terminar com um ponto final)? Não à esquerda (por exemplo, .), nem à direita (por exemplo, ".), mas diretamente acima. A foto abaixo é um exemplo deÁrvores, mapas e teoremaspor Jean-Luc Doumont.
Responder1
Uma maneira é adicionar algum "kerning" negativo entre as aspas e o ponto final:
\documentclass{article}
\begin{document}
Here is an unkerned quotation mark: ``\dots''.
Here is a kerned quotation mark: ``\dots''\kern-0.5em.
\end{document}
O comando TeX \kern-0.5em
insere um espaço negativo entre as aspas e o ponto seguinte. Você terá que brincar um pouco com o espaçamento exato, mas usar uma medida como -0.5em
a que será dimensionada com o tamanho da fonte deve funcionar razoavelmente bem.
Kerning automático com LuaLaTeX
Como outros sugeriram, você pode fazer isso com macros, mas se quiser fazer isso automaticamente, parece necessário incluir essas informações de kerning na tabela de kerning específica da fonte. Isso pode ser feito comLuaLaTeXdo seguinte modo:
Primeiro crie um arquivo:Palatino.fea
languagesystem DFLT dflt;
languagesystem latn dflt;
feature kern {
pos \quotedblright \period -1000;
} kern;
Agora carregue essas informações de fonte 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}
Observe que você precisa compilar isso lualatex
agora e adicionar as informações de kerning personalizadas para cada fonte que deseja usar.
Responder2
Eu definiria isso apenas como um \rlap
ponto -ed (ou, no sentido do LaTeX, \makebox[0pt][l]
), envolto em uma macro:
\documentclass{article}
\newcommand{\qperiod}{\rlap{.}}
\begin{document}
Some text: ``\dots''.
Some text: ``\dots''
Some text: ``\dots\qperiod''
\end{document}
O encapsulamento de macro permite modificações globalmente, quando necessário.
Responder3
Aqui eu uso uma pilha. O stacktype
valor é "L" para longo ou "S" para curto (padrão). Se for "L", a "distância" de empilhamento é de linha de base a linha de base. Ao definir como 0pt
, indica que os dois componentes compartilham a mesma linha de base (em contraste, uma distância curta da pilha é a lacuna vertical entre a parte superior da "âncora" e a parte inferior do item empilhado). Define o stackalignment
alinhamento horizontal (padrão c = centro). Aqui, eu configurei para alinhamento à esquerda.
\documentclass{article}
\usepackage{stackengine}
\renewcommand\stacktype{L}
\renewcommand\stackalignment{l}
\begin{document}
by ``\dots\stackon[0pt]{.}{''}
\end{document}
O mesmo resultado pode ser alcançado, ignorando todas as configurações de parâmetros, usando a stackengine
macro genérica com 8 argumentos obrigatórios:
by ``\dots\stackengine{0pt}{.}{''}{O}{l}{F}{F}{L}
Os oito argumentos obrigatórios são:
- distância de empilhamento
- item âncora
- item empilhado
- Pilha O (acima) ou U (abaixo)
- l(esquerda) c(enter) ou r(direita) alinhamento horizontal
- T/F para "quietstack" ("T" significa criado, mas não impresso)
- T/F para "useanchorwidth" ("T" significa que a largura da âncora determina a largura geral da pilha)
- Pilha S (hort) ou L (ong)