![`fontspec` 更改 itemize 的缩进](https://linux22.com/image/311189/%60fontspec%60%20%E6%9B%B4%E6%94%B9%20itemize%20%E7%9A%84%E7%BC%A9%E8%BF%9B.png)
当我添加fontspec
包时,环境中的项目itemize
会得到额外的缩进。您可以在以下示例中找到代码,它主要来自此问题:
\documentclass{scrreprt}
\usepackage{blindtext, enumitem, fontspec}
\newcommand{\myicon}[1]{%
\smash{%
\raisebox{\dimexpr0.5\baselineskip-\height}{#1}%
}
}
\setlist{nosep}
\begin{document}
\blindtext
\begin{itemize}[labelindent=4cm, leftmargin=*]
\item[\myicon{\rule{4cm}{4cm}}] \blindtext
\end{itemize}
\blindtext
\end{document}
正方形rule
与文本不对齐。
当我移除fontspec
包装时,缩进是正确的:
如何使用“fontspec”包保持正确的缩进?
答案1
问题可能在于 em 的值不同;但是您设置的方式itemize
是错误的:
\documentclass{scrreprt}
\usepackage{lipsum, enumitem,adjustbox}
\usepackage{fontspec}
\newcommand{\myicon}[1]{%
\adjustbox{valign=t,set depth=0pt}{#1}%
}
\setlist{nosep}
\begin{document}
\lipsum[1]
\begin{itemize}[labelindent=-4cm, leftmargin=\dimexpr4cm+\labelsep]
\item[\myicon{\rule{4cm}{4cm}}] \lipsum[1]
\end{itemize}
\lipsum[1]
\end{document}
我使用它\adjustbox
,因为它比较容易。
有或没有,输出fontspec
都是一样的。