XeLaTeX와 함께 작동하도록 hepparticles/hepnames 패키지를 가져오려고 합니다. 저는 Libertine을 serif 글꼴로, Biolinum을 sans 글꼴로 사용하고 있습니다. 입자 이름이 어떻게든 잘못된 글꼴로 렌더링됩니다.
HEP 패키지는 고에너지 물리학에 사용되는 입자 이름에 대한 문자 모양을 삽입합니다. (제 생각엔) 현재 글꼴과 스타일을 사용해야 하는데 실제로 어떤 글꼴을 사용하는지가 일관성이 없습니다. 아래 MWE에서는 문자 B의 일반 렌더링과 \PB 매크로로 삽입된 입자 이름을 비교하기 위해 간단한 입자 이름(B)을 사용했습니다. 이는 동일해야 합니다.
패키지 로딩을 위해 다른 순서를 시도했습니다.
글꼴 사양이 로드되었습니다.~ 전에HEP 패키지
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont{Linux Biolinum}
\usepackage{hepparticles}
\usepackage{hepnames}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
일반 글리프가 잘못된 글꼴을 사용하고, SF 글리프가 잘못된 글꼴을 사용합니다.그리고세리프체이지만 기울임꼴 버전은 모두 정확합니다.
글꼴 사양이 로드되었습니다.~ 후에HEP 패키지
\documentclass{minimal}
\usepackage{hepparticles}
\usepackage{hepnames}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont{Linux Biolinum}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
모든 글리프는 올바른 스타일을 사용하지만 모두 잘못된 글꼴을 사용합니다.제외하고세리프 이탤릭 문자.
다음으로 글꼴 사양 대신 libertine/biolinum 패키지를 사용하고 비교를 위해 pdflatex로 파일을 컴파일했습니다.
로드된 글꼴 패키지~ 후에HEP 패키지
\documentclass{minimal}
\usepackage{hepparticles}
\usepackage{hepnames}
\usepackage{libertineRoman}
\usepackage{biolinum}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textif & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
pdf라텍스
모든 글리프의 스타일은 정확하고 글꼴은 잘못되었습니다.
젤라텍스
모든 글리프는 올바른 스타일을 사용하지만 모두 잘못된 글꼴을 사용합니다.제외하고세리프 이탤릭 문자.
로드된 글꼴 패키지~ 전에HEP 패키지
\documentclass{minimal}
\usepackage{libertineRoman}
\usepackage{biolinum}
\usepackage{hepparticles}
\usepackage{hepnames}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
pdf라텍스
모든 글리프는 올바른 스타일을 사용하고 모두 올바른 글꼴을 가지고 있습니다.제외하고세리프 이탤릭 문자. (xelatex를 사용하고 싶다는 점을 제외하면 이것은 나에게 괜찮을 것입니다.)
젤라텍스
일반 글리프가 잘못된 글꼴을 사용하고, SF 글리프가 잘못된 글꼴을 사용합니다.그리고세리프체이지만 기울임꼴 버전은 모두 정확합니다.
답변1
좋아, 그래서 egreg의 의견은 나에게 올바른 방향을 알려주었습니다. mathspec
운이 좋지 않아 수학 글꼴을 변경하려고 시도했습니다 . 의 매크로를 자세히 살펴본 후 입자 이름을 렌더링하는 데 유사한 매크로를 hepparticles
사용한다는 사실을 발견했습니다 . \mathup
를 사용하여 이를 변경하는 방법을 찾을 수 없었기 때문에 만족스러운 결과를 제공하는 작업 구성으로 mathspec
전환하여 찾았습니다.unicode-math
\documentclass{minimal}
\usepackage{hepparticles}
\usepackage{hepnames}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setsansfont[BoldItalicFont=Linux Biolinum O Bold Oblique]{Linux Biolinum}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont{Linux Libertine}
\setmathfont[range=\mathrm]{Linux Libertine}
\setmathfont[range=\mathup]{Linux Libertine}
\setmathfont[range=\mathit]{Linux Libertine Italic}
\setmathfont[range=\mathbf]{Linux Libertine Bold}
\setmathfont[range=\mathbfit]{Linux Libertine Bold Italic}
\setmathfont[range=\mathsf]{Linux Biolinum}
\setmathfont[range=\mathsfup]{Linux Biolinum}
\setmathfont[range=\mathsfit]{Linux Biolinum Italic}
\setmathfont[range=\mathbfsf]{Linux Biolinum Bold}
\setmathfont[range=\mathbfsfit]{Linux Biolinum O Bold Oblique}
\begin{document}
\begin{tabular}{p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}p{1.5cm}}
~ & Normal & textsf & textit & textsf+textit \\
B & B & \textsf{B} & \textit{B} & \textit{\textsf{B}} \\
PB & \PB & \textsf{\PB} & \textit{\PB} & \textit{\textsf{\PB}} \\
\end{tabular}
\end{document}
편집하다:후속 문제가 발생했습니다. 이에 대해서는 다음에서 논의됩니다.다른 스레드.