我想水平对齐下标和上标。我使用的是 XeTex 和 Cambria Math 字体,而且我对 Latex 还不太熟悉,所以我不知道问题出在字体、XeTex 本身还是我使用的某些软件包上……
以下是一个例子:
% !TEX program = xelatex
\documentclass[12pt,twoside]{report}
\usepackage{fontspec,xltxtra,xunicode}
% Set fonts
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Cambria}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}
% Set margins
\usepackage[top=2cm, bottom=2cm, left=2.54cm, right=2.54cm,headheight=14.5pt]{geometry}
\geometry{letterpaper}
\usepackage[]{fancyhdr}
\renewcommand{\headrulewidth}{0pt}
% No alinea
% \usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent (too big in 1.5 spacing)
\setlength{\parindent}{0pt} % No alinea
\date{}
\usepackage{graphicx,amsmath,amssymb,amsthm}
\graphicspath{{../img/}}
\usepackage{float}
\usepackage{setspace}
% 1.5 line spacing
\renewcommand{\baselinestretch}{1.5}
\usepackage{listings}
% \usepackage[autolinebreaks,framed, useliterate]{mcode}
\lstset{
breaklines=true,
breakatwhitespace=false,
literate=::1,
postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}}
}
\usepackage[ % PDF format config.
unicode=true, % Unicode encoding.
bookmarks=true, % Bookmarks in PDF.
bookmarksnumbered=true, % Numberred bookmarks.
bookmarksopenlevel=3, % Shows up to subsections when opening PDF.
pdfborder= {0 0 0}, % Removes the border around links.
backref=page, % Removes the links from bibliography to main text.
colorlinks=false, % Colouring the links.
linktoc=page, % In ToC, only page numbers are links, not section titles.
linkcolor=red, % Colour of links (section numbers, pages, ...).
citecolor=blue, % Colour of links to bibliography (citations).
urlcolor=blue] % Colour of URLs.
{hyperref}
\pagestyle{fancyplain}
\fancyhead[LE]{\slshape \rightmark} %section
\fancyhead[RE]{\thepage}
\fancyhead[RO]{\slshape \leftmark} % chapter
\fancyhead[LO]{\thepage}
\usepackage{caption}
\captionsetup{labelsep=period}
\usepackage{mathtools}
\usepackage{unicode-math}
\setmathfont{Cambria Math}
% ****** BEGIN DOCUMENT *******
\begin{document}
\begin{alignat}{2}
w_0^0(x) &= f(x) \qquad w_0^1(x) &&= f(1-x) \\
w_1^0(x) &= g(x) \qquad w_1^1(x) &&= -g(1-x)
\end{alignat}
\end{document}
如你所见,下标0和上标1没有水平对齐。
答案1
正如 @egreg 指出的那样,你注意到的被认为是好的排版。但是,如果您坚持要使下标和上标水平对齐,那么有一个快速解决方案:只需{}
在右侧添加一个空白即可w
:
\documentclass[12pt,twoside]{report}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Cambria}
\usepackage{mathtools}
\usepackage{unicode-math}
\setmathfont{Cambria Math}
\begin{document}
\begin{alignat}{2}
w{}_0^0(x) &= f(x) & \qquad w{}_0^1(x) &= f(1-x) \\
w{}_1^0(x) &= g(x) & w{}_1^1(x) &= -g(1-x)
\end{alignat}
\end{document}
请注意,我已将您的结构更改alignat
为要使用的结构。我提供此手动解决方案不鼓励你这样做。
补充说明:你的序言中存在很多问题。
- 对于 MWE,您无需向我们提供不相关的包。下次请保持代码简单。
- 如果您已经在使用
\usepackage{setspace}
,请不要使用\renewcommand{\baselinestretch}{1.5}
。相反,请使用\setstretch{1.5}
。 - 最好
hyperref
最后加载该包。