Windows 10 1903 用中文名和中文路径的探索
编辑器
2019-11-21 10:22 浏览 :3725
先简述一下设置。
首先建立一个 `主文件.tex`
```tex
\documentclass{ctexart}
\begin{document}
\section{主文件}
主文件内容
\input{./子目录/子文件.tex}
\end{document}
```
接下来建立一个 `子目录` 文件夹,并且在其中建立 `子文件.tex`
```tex
% !TeX root = ../主文件.tex
\section{子文件}
子文件内容
```
接下来使用 `xelatex` 命令编译 `主文件.tex`,命令行结果为
```bash
\> xelatex 主文件.tex
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/W32TeX) (preloaded format=xelatex)
restricted write18 enabled.
entering extended mode
(./主文件.tex
LaTeX2e <2019-10-01> patch level 1
(d:/texlive/2019/texmf-dist/tex/latex/ctex/ctexart.cls
(d:/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3.sty
(d:/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3-code.tex
(d:/texlive/2019/texmf-dist/tex/latex/l3kernel/l3deprecation.def))
(d:/texlive/2019/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def))
Document Class: ctexart 2019/05/29 v2.4.16 Chinese adapter for class article (C
TEX)
(d:/texlive/2019/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(d:/texlive/2019/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty)
(d:/texlive/2019/texmf-dist/tex/latex/ctex/ctexhook.sty)
(d:/texlive/2019/texmf-dist/tex/latex/ctex/ctexpatch.sty)
(d:/texlive/2019/texmf-dist/tex/latex/base/fix-cm.sty
(d:/texlive/2019/texmf-dist/tex/latex/base/ts1enc.def))
(d:/texlive/2019/texmf-dist/tex/latex/ms/everysel.sty)
(d:/texlive/2019/texmf-dist/tex/latex/ctex/config/ctexopts.cfg)
(d:/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/08/27 v1.4j Standard LaTeX document class
(d:/texlive/2019/texmf-dist/tex/latex/base/size10.clo))
(d:/texlive/2019/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def
(d:/texlive/2019/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
(d:/texlive/2019/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty)
(d:/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.sty
(d:/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(d:/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty
(d:/texlive/2019/texmf-dist/tex/latex/base/tuenc.def))
(d:/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(d:/texlive/2019/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg))
(d:/texlive/2019/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
(d:/texlive/2019/texmf-dist/tex/generic/ulem/ulem.sty)
(d:/texlive/2019/texmf-dist/tex/latex/cjk/texinput/CJKfntef.sty)))
(d:/texlive/2019/texmf-dist/tex/latex/zhnumber/zhnumber.sty
(d:/texlive/2019/texmf-dist/tex/latex/zhnumber/zhnumber-utf8.cfg))
(d:/texlive/2019/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.d
ef (d:/texlive/2019/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg))
(d:/texlive/2019/texmf-dist/tex/latex/ctex/ctex-c5size.clo)
(d:/texlive/2019/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def
(d:/texlive/2019/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def)
)) (d:/texlive/2019/texmf-dist/tex/latex/ctex/config/ctex.cfg)
No file 主文件.aux.
ABD: EverySelectfont initializing macros (./子目录/子文件.tex) [1] (./主文件.aux) )
Output written on 主文件.pdf (1 page).
Transcript written on 主文件.log.
```
可以生成 `主文件.pdf`。
接下来使用 `texstudio` 进行实验。
在 `texstudio` 中设置编译命令为
```
latexmk -pdfxe -synctex=1 -interaction=nonstopmode -file-line-error -halt-on-error -silent %
```
编译后,使用内嵌阅读器进行正向搜索,可打开阅读器并高亮相关位置。
在内嵌阅读器上进行反向搜索,点击子文件对应部分,也可以打开 `子文件.tex`。
接下来使用 sumatrapdf 阅读器进行正向搜索。
sumatrapdf 相关设置为
```
"D:\SumatraPDF64\SumatraPDF.exe" -reuse-instance -forward-search ?c:rme" @ -inverse-search "D:\Program Files (x86)\texstudio\texstudio.exe %%f -line %%l" "?m.pdf"
```
正向搜索可打开 pdf 文件并高亮。
同样,反向搜索也没有问题。
特别强调,在目前实验中,`主文件.tex` 上层依然使用了不带空格的英文路径。
一旦该设置被打破,依然不能完美的正反向搜索。