diff --git a/README.md b/README.md index e74c683..dde1832 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,70 @@ -xelatex-guide-book -================== - -## 更新日志 - -### 第三次修订版 - -数学模式内容极大丰富和完善。 - - - -## 补充信息 -临时有些补充信息就先方便放在readme这里了。 - - - -### tikz制图 -tikz制图专门做了一个gallery项目,请点击 [这里](https://github.com/a358003542/tikz_gallery)。 - -### 字体推荐 - -现在 google 和adobe 合作开发的开源字体 思源宋体和思源黑体很火,推荐使用这两个字体,效果还是不错的。读者可以到他们的 [官网](https://source.typekit.com/source-han-serif/cn/) 上看一下,github地址在 [这里](https://github.com/adobe-fonts/source-han-serif) ,不过下载要1G多,也可以到 [百度网盘这里](https://pan.baidu.com/s/1smo7EMD) 下载,这是我整理的一些字体。具体配置如下: - -```latex -\setCJKmainfont[ItalicFont=方正楷体简体]{思源宋体 CN} -\setCJKsansfont{思源黑体 CN} -\setCJKmonofont{方正楷体简体} -``` - -其中思源宋体 CN没有italic shape,如上指定为方正楷体简体,方正楷体简体也是开源的。经过试验效果还是挺好的,整个字体给人的感觉简约大气。经过编译还有一个warning:没有sc shape,什么small caps 字形,这个思源宋体 CN也没有,但那个small caps字形太不常用了,所以不用管也是可以的。 - -**windows 下安装字体记得点击为所有用户安装,新安装字体没发现后来折腾了好久,最后发现是没有选择为所有用户安装。xetex是能够自动使用系统安装好了的字体的,然后记得运行下 fc-cache即可。** - -## 内容简介 - - -我試圖收集整理各方面來的xelatex相關的信息,包括自己的實踐經驗總結,作爲後學者的指南手冊。 - -1. xelatex指南.pdf - -本项目文章主体部分。 - -2. texmf 文件夹 - -整个复制到ubuntu主目录即可使用。 - -3. 制作幻灯片 - -里面有些初步的制作幻灯片的样例。 - - 4. tikz制图 - -有段时间我沉迷于此,里面有很多tikz制图的样例。 - - 5. exam类 - -如何制作试卷,如何制作讲义 - -6. endnotes宏包 - -制作尾注的一个宏包 - - - +xelatex-guide-book +================== + +## 更新日志 + +### 第四次修订版 + +1. 引入epub书籍兼容制作流程。 +2. Texlive升级到2020版,有一两处小bug,已修复。 +3. 其他问题完善 + +### 第三次修订版 + +数学模式内容极大丰富和完善。 + + + +## 补充信息 +临时有些补充信息就先方便放在readme这里了。 + + + +### tikz制图 +tikz制图专门做了一个gallery项目,请点击 [这里](https://github.com/a358003542/tikz_gallery)。 + +### 字体推荐 + +现在 google 和adobe 合作开发的开源字体 思源宋体和思源黑体很火,推荐使用这两个字体,效果还是不错的。读者可以到他们的 [官网](https://source.typekit.com/source-han-serif/cn/) 上看一下,github地址在 [这里](https://github.com/adobe-fonts/source-han-serif) ,不过下载要1G多,也可以到 [百度网盘这里](https://pan.baidu.com/s/1smo7EMD) 下载,这是我整理的一些字体。具体配置如下: + +```latex +\setCJKmainfont[ItalicFont=方正楷体简体]{思源宋体 CN} +\setCJKsansfont{思源黑体 CN} +\setCJKmonofont{方正楷体简体} +``` + +其中思源宋体 CN没有italic shape,如上指定为方正楷体简体,方正楷体简体也是开源的。经过试验效果还是挺好的,整个字体给人的感觉简约大气。经过编译还有一个warning:没有sc shape,什么small caps 字形,这个思源宋体 CN也没有,但那个small caps字形太不常用了,所以不用管也是可以的。 + +**windows 下安装字体记得点击为所有用户安装,新安装字体没发现后来折腾了好久,最后发现是没有选择为所有用户安装。xetex是能够自动使用系统安装好了的字体的,然后记得运行下 fc-cache即可。** + +## 内容简介 + + +我試圖收集整理各方面來的xelatex相關的信息,包括自己的實踐經驗總結,作爲後學者的指南手冊。 + +1. xelatex指南.pdf + +本项目文章主体部分。 + +2. texmf 文件夹 + +整个复制到ubuntu主目录即可使用。 + +3. 制作幻灯片 + +里面有些初步的制作幻灯片的样例。 + + 4. tikz制图 + +有段时间我沉迷于此,里面有很多tikz制图的样例。 + + 5. exam类 + +如何制作试卷,如何制作讲义 + +6. endnotes宏包 + +制作尾注的一个宏包 + + + diff --git a/book_cover.tex b/book_cover.tex new file mode 100644 index 0000000..5baad41 --- /dev/null +++ b/book_cover.tex @@ -0,0 +1,51 @@ +\documentclass[12pt,oneside]{book} + + +\RequirePackage{geometry} +\RequirePackage[CJKecglue={\hskip 0pt}]{xeCJK} +\xeCJKsetup{PunctStyle=plain} +\setCJKmainfont[ItalicFont=方正楷体简体]{思源宋体 CN} +\setCJKsansfont{思源黑体 CN} +\setCJKmonofont{方正楷体简体} + + +\begin{document} +\makeatletter +\renewcommand\title[1]{\def\@title{#1}} +\newcommand\subtitle[1]{\def\@subtitle{#1}} +\renewcommand\author[1]{\def\@author{#1}} +\newcommand\version[1]{\def\@version{#1}} +\renewcommand\date[1]{\def\@date{#1}} + +\renewcommand{\today}{\number\year{}年\number\month{}月\number\day{}日} +\subtitle{} +\date{\today} +\version{} + +\title{XeLaTex指南} +\author{万泽} +%\subtitle{一个简单的封面} +%\date{\today} +\version{第四次修订版} + +\begin{titlepage} +\newgeometry{left=1cm,right=1cm,top=1cm,bottom=1cm} +\begin{center} +\vspace*{120pt} +{\fontsize{80pt}{40pt}\selectfont\sffamily \@title} + +\vspace{40pt} +{\fontsize{40pt}{20pt}\selectfont\sffamily \@subtitle} + +\vspace{200pt} +{\fontsize{40pt}{20pt}\selectfont\sffamily \@author} + +\vspace{150pt} +{\fontsize{30pt}{20pt}\selectfont\ttfamily \@date \@version} + +\end{center} +\end{titlepage} + +\makeatother + +\end{document} \ No newline at end of file diff --git a/main.tex b/main.tex index 0eb277c..137bf59 100644 --- a/main.tex +++ b/main.tex @@ -148,7 +148,9 @@ \lower\ULdepth\hbox{\kern.25em . \kern.045em}% \endgroup}% \ULon} -\renewcommand\emshape{\color{red}} + +\let\oldemph\emph % Save emph in oldemph +\renewcommand{\emph}[1]{\textcolor{red}{#1}} %==================插入圖片=======% \RequirePackage{wrapfig} @@ -220,13 +222,17 @@ \title{XeLaTeX 指南} \author{万泽} \date{第四次修订版} - + +\newcommand{\bookcover}[1]{\tikz[remember picture,overlay]{\node[inner sep=0] at (current page.center) +{\includegraphics[width=\paperwidth,height=\paperheight]{#1}}}} \begin{document} \frontmatter +\thispagestyle{empty} +\bookcover{book_cover.png} -\maketitle +\cleardoublepage \flypage{感谢上天} @@ -237,7 +243,7 @@ \chapter*{第四次修订版前言} 一个总的原则就是不要使用latex那些特有的太过于花哨的特性,本书xelatex基础篇部分讨论的内容基本上latex和epub两边都能兼顾得很好,可能epub那边想要显示的样式会没有,比如你定制了一个自己的罗列环境标签,而在epub那边则总是 \verb+1.+ 之类的,因为epub里面的内容实质上是html,所以这可以通过css来进一步调整,问题不是太大。 -关于这部分工作的详细内容整理将会在附录中的利用pandoc输出epub一章 \ref{sec:pandoc_epub} 中有更详细的讨论说明之。 +关于这部分工作的详细内容整理将会在附录中的利用pandoc输出epub一章 \pageref{ch:pandoc_epub} 中有更详细的讨论说明之。 关于本项目epub的css部分,有些是显示需求然后稍作调整,有些是从bootstrap那里或者不知道是那里抄来的,读者权做参考。 @@ -773,7 +779,7 @@ \subsection{\%} \% ,我们知道这个符号在文档是用来标记注释信息的开始的,所以在文档也不能直接使用。在前面加个\textbackslash 即可。 \subsection{\~{}} -\~ ,这个符号在文档中产生一格空白,如要显示在前面加上\textbackslash 符号。这样显示的波浪号有点小。还可以进入数学模式下输入\textbackslash sim,在texmaker左边的关系符号一栏中也可以找到。所以为了美观的话就用数学模式吧。然后在Rime输入法里面我们看到还有一种符号是全角下的波浪号~。我比较了下这个和前面两个都不相同,简单起见用这个全角的波浪号也是可以的。 +\~ ,这个符号在文档中产生一格空白,如要显示在前面加上\textbackslash 符号。这样显示的波浪号有点小。还可以进入数学模式下输入\textbackslash sim,在texmaker左边的关系符号一栏中也可以找到。所以为了美观的话就用数学模式吧。然后在Rime输入法里面我们看到还有一种符号是全角下的波浪号~。我比较了下这个和前面两个都不相同,简单起见用这个全角的波浪号也是可以的。——这里所谓的Rime输入法意思就是中文输入法下的全角输入。 \subsection{\$} \$ ,美元符号之所以不可以用是因为它标记了数学模式的开始和结束。比如说我要输入字母$\pi$,就是在两个美元符号中间输入\textbackslash pi即可。如果直接从输入法输入希腊字母的符号π,这个也是可以正常显示的,只是没有前面数学模式下的美观。我查了一下,数学模式下的那个$\pi$也是unicode区域里面的那个希腊字母,我想只是字体问题了。\footnote{\href{http://www.johndcook.com/unicode_latex.html}{这个网站}用来查找unicode和\LaTeX 命令的对应关系} @@ -820,11 +826,7 @@ \subsubsection{更加专业的做法:} \end{figure} \subsection{省略号} -this... that\ldots \\ -三个点... ldots命令\ldots \\ -老实说没看出什么区别,所以省略号就跟着点三个点也是可以的,别用中文句号就行了。 - - +英文输入法下直接输入三个小数点和使用 \verb+\ldots+ 命令区别不大,中文省略号请使用中文输入法下的全角模式下的省略号。 @@ -1341,9 +1343,12 @@ \section{emph命令} \section{重新定义emph} \label{sec:emph} -本文档中的emph命令被重新定义了:\\ -\verb+\renewcommand\emshape{\color{red}}+\\ -比如:\emph{我觉得字体设为红色更加起到强调作用} +本文档中的emph命令被重新定义了: +\begin{Verbatim} +\renewcommand{\emph}[1]{\textcolor{red}{#1}} +\end{Verbatim} + +比如:\emph{我觉得字体设为红色更加起到强调作用} 。 \section{underline命令} 这个也是\LaTeX 自带的命令,就是加上下划线,不过在中文中并不能正确换行。所以往下看。 @@ -1959,7 +1964,7 @@ \section{高中数学} \end{itemize} -\subsection{集合的含义和表示} +\subsection{集合的表示} 一般的 $x-7<3$ 直接写就是了,然后有时我们看到中间三个点的应该属于中文的标点符号,不过用数学模式来写问题不大:\verb+$\cdots$+ $\cdots$ 。 1~20以内的的所有质数中间的波浪号应该属于中文符号,数学模式下类似的中间一个波浪号的可以用 \verb+$\sim$+ $\sim$ 来画出来,从命令的名字来看其应该更多的用于描述两个三角形相似性之类的关系上。 @@ -2033,14 +2038,14 @@ \subsection{集合的含义和表示} -\subsubsection{力的矢量表示} -比如物理上力的矢量表示(以区分力的分量$ F_x $),则需要符号加粗。——mathbf显示效果并不是很理想(因为其是跳出数学环境了的,可能设置好mathbf对应的字体显示效果就会变好了。) +\subsection{力的矢量表示} +比如物理上力的矢量表示(以区分力的分量$ F_x $),则需要符号加粗。 $ \boldsymbol{F} $ \verb+\boldsymbol{F}+ $ \mathbf{F} $ \verb+\mathbf{F}+ -总的来说物理学上表示力的矢量推荐用 boldsymbol 命令来封装,而数学意义上的某个向量则推荐用 mathbf 命令来封装。 +总的来说个人推荐物理学上表示力的矢量推荐用 boldsymbol 命令来封装,而数学意义上的某个向量则推荐用 mathbf 命令来封装\footnote{参考amsmath官方文档9.3小节,mathbf通常用于数学环境下的拉丁字母加粗显示,但是对于其他数学符号是没有效果的,正因为如此amsmath宏包才又提供了boldsymbol来应对那些没有效果的情况,如果该符号在你的数学字体集(math font set)下是有粗体的话。}。 描述法来描述一个集合,所有奇数的集合: @@ -2056,7 +2061,7 @@ \subsubsection{力的矢量表示} $$ -\subsubsection{平方根符号} +\subsection{平方根符号} \verb+\sqrt+,如果是\verb+\sqrt[n]+表示n次平方根。 \begin{Verbatim} @@ -2214,7 +2219,7 @@ \subsection{集合的基本运算} 补集 complement set 有的说是要在上面带个C字母, $A^{C}$ 或者 如教材上这种写法: $C_{\mathbb{U}}A$ ,都可以把。 -\subsection{函数及其表示} +\subsection{一般函数的写法} 下面的写法是基本功了,就不多说了,值得一提的具体显示尤其是小写字母的斜斜的那种处理,很美观,也和我们平时看的教材书籍上的显示效果是差不多的。 \begin{Verbatim} @@ -2234,7 +2239,7 @@ \subsection{函数及其表示} \end{Verbatim} 大于和小于直接键盘输入就是了,大于等于之类的符号如下命令输入之。 -\subsubsection{大于等于之类的符号} +\subsection{大于等于之类的符号} 大于等于之类的符号如下所示: \begin{itemize} @@ -2259,7 +2264,7 @@ \subsubsection{大于等于之类的符号} 上面的例子,感觉花括号不够大,那么可以通过如下命令系列来调整花括号的大小: -\subsubsection{调整括号大小} +\subsection{调整括号大小} 如下在花括号前面加上 \verb+\big+ 来增大花括号符号, 当 $a<0$时,$B=\big\{ y|y\geqslant \frac{4ac - b^2}{4a} \big\}$ @@ -2275,7 +2280,7 @@ \subsubsection{调整括号大小} 当 $a<0$时,$B=\bigg\{ y|y\geqslant \frac{4ac - b^2}{4a} \bigg\}$ -\subsubsection{特殊的函数} +\subsection{特殊的函数} 如下这些特殊的函数,用命令会有更好的显示效果。 \begin{Verbatim} @@ -2323,7 +2328,7 @@ \subsubsection{特殊的函数} $$ \end{Verbatim} -\subsubsection{分段函数} +\subsection{分段函数} $ y = |x| = \begin{cases} @@ -2332,7 +2337,7 @@ \subsubsection{分段函数} \end{cases} $ ,cases环境是amsmath包提供的。 -\subsubsection{常用箭头符号} +\subsection{常用箭头符号} 函数定义为从集合A到集合B的一个映射: $f: A \rightarrow B$ ,这几个箭头应该很常用: \begin{itemize} @@ -3592,12 +3597,12 @@ \subsection{阅读宏包代码} 如果有需要的可以阅读这些代码来学习你正在的sty或者cls文件都是怎么编写的。其中base文件夹里面有book,article,report之类文档类型的定义,也许里面有些命令的原始代码是你需要的。 \chapter{利用pandoc输出epub} -\label{sec:pandoc_epub} +\label{ch:pandoc_epub} 一个总的原则就是不要使用太过于花哨的latex特性,请参看本书xelatex基础篇部分,其中讨论的内容基本上latex和epub两边都能兼顾得很好,可能epub那边想要显示的样式会没有,比如你定制了一个自己的罗列环境标签,而在epub那边则总是 \verb+1.+ 之类的,因为epub里面的内容实质上是html,所以这可以通过css来进一步调整,问题不是太大。下面更详细地讨论一些具体的问题。 \begin{itemize} \item 图片格式不要选pdf和svg了,就用png或者jpeg,然后图片类型后缀名不要省略了。 -\item 不要使用 \XeLaTeX \XeTeX epub那边不支持 +\item 不要使用 \XeLaTeX 和 \XeTeX ,epub那边不支持 \item 图表环境下label应该跟在caption后面,否则epub那边工作不正常,原因不明。 \item 数学模式基本上都支持,其在epub中大概是这样的形式 \verb+