Я использую longtable для набора глоссария.
При включении микрошрифта он начинает выглядеть неправильно, так как первая строка переносимого текста в ячейке смещается вправо. MWE:
\documentclass{article}
\usepackage{array}
\usepackage{microtype}
\begin{document}
\begin{tabular}{@{}
>{\raggedleft\arraybackslash}p{3cm}
>{\raggedright\arraybackslash}p{6cm}
@{}}
MWE: & \emph{Why} does microtype break this table? \emph{Why} does microtype break this table? \emph{Why} does microtype break this table? \\
\end{tabular}
\end{document}
Результаты в этом:
Если я прокомментирую \usepackage{microtype}
вышесказанное, то это будет выглядеть хорошо:
это происходит и без \emph, я только что тестировал различные тексты, и этот пример делает проблему особенно заметной.
Это pdflatex из texlive 2024.2
Почему это происходит и как это исправить?
Редактировать: Сейчас я работаю над решением этой проблемы, отключая микротип для таблицы, как указано ниже.этот ответ
решение1
microtype не может применить левый выступ в первой строке. Но вы можете добавить его вручную:
\documentclass{article}
\usepackage{array}
\usepackage{microtype}
\begin{document}
\begin{tabular}{@{}
>{\raggedleft\arraybackslash}p{3cm}
>{\raggedright\arraybackslash}p{6cm}
@{}}
MWE: & \leftprotrusion\emph{Why} does microtype break this table? \emph{Why} does microtype break this table? \emph{Why} does microtype break this table? \\
\end{tabular}
\end{document}