Latex/CTex/WinEdt 慎用\begin{center}···\end{center}

本文探讨了在LaTeX环境下使用\begin{center}

工作环境(蓝色粗体字为特别注意内容)
1,系统环境:Win7 Ultimate sp1
2,软件环境:pdfTeX 3.1415926-2.3-1.40.12 (MiKTeX 2.9)、WinEdt 7,编译器:PDFTeXify
3, 参考文献:①https://blog.youkuaiyun.com/jpzhu16/article/details/50699755

我们经常在LaTeX中使用\begin{center}···\end{center}来使得图表居中排布,如果文章排版空间充裕的话无可厚非,但是在文章排版空间紧张的时候,就很有问题了,请看下面的情形:

正文跟表格标题之间有一大块空白,看着很不爽,关于如何去掉LaTeX正文和表格之间空白,这个问题我解决了很久都没解决掉,之前我以为是caption高度太高所致,最后用到一个技巧,就是在sumatraPDF中双击该空白区域,跳转到LaTeX源代码界面中对应的命令代码位置,居然跳转到\begin{center}命令的位置,这让我很疑惑,原来是这个命令导致了大段空白,根据参考文献的思路,在正常的文本里面使用\begin{center}···\end{center}环境去设置居中是非常有用的,因为他会在正文与被居中的文本之间生成空白,这种空白往往是好的。

通过分组去显示\centering的作用域(或者作用范围)是一个十分明智的决定。在一个图或者表环境里面它已经被限制了,但是在一个正常的文本里面你应该使用{}去限制其作用域,如下面的代码:

{\centering text
%在这里设置一个空行
}

正如你上面看到的代码,我在这个分组结束的时候设置了一个空行。如果我不这么做的话,那么在这个分组外面的文本还是会被设置为居中

于是将\begin{center}...\end{center}去掉,空白就减少了!去掉之后表格还是居中的,就先这样了。

 

 

 

 

 

 

I:\91-agi09-do\02code\lecture-notes\05-rag-embeddings>latex This is pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 24.1) (preloaded format=latex.fmt) restricted \write18 enabled. **\documentclass[12pt]{article} entering extended mode LaTeX2e <2023-11-01> patch level 1 L3 programming layer <2024-01-04> *\usepackage{ctex} (C:\MiKTeX\tex/latex/base\article.cls Document Class: article 2023/05/17 v1.4n Standard LaTeX document class (C:\MiKTeX\tex/latex/base\size12.clo)) * (C:\MiKTeX\tex/latex/ctex\ctex.sty (C:\MiKTeX\tex/latex/l3kernel\expl3.sty (C:\MiKTeX\tex/latex/l3backend\l3backend-dvips.def)) (C:\MiKTeX\tex/latex/ctex\ctexhook.sty) (C:\MiKTeX\tex/latex/ctex\ctexpatch.sty ) (C:\MiKTeX\tex/latex/base\fix-cm.sty (C:\MiKTeX\tex/latex/base\ts1enc.def)) (C:\MiKTeX\tex/latex/ctex/config\ctexopts.cfg) Package ctex Warning: UTF8 will be used as the default encoding. (C:\MiKTeX\tex/latex/ctex/engine\ctex-engine-pdftex.def (C:\MiKTeX\tex/latex/cjk\CJKutf8.sty (C:\MiKTeX\tex/generic/iftex\ifpdf.sty (C:\MiKTeX\tex/generic/iftex\iftex.sty)) (C:\MiKTeX\tex/latex/base\inputenc.sty ) (C:\MiKTeX\tex/latex/cjk\CJK.sty (C:\MiKTeX\tex/latex/cjk/mule\MULEenc.sty) (C:\MiKTeX\tex/latex/cjk\CJK.enc)) (C:\MiKTeX\tex/latex/base\fontenc.sty)) (C:\MiKTeX\tex/latex/cjkpunct\CJKpunct.sty (C:\MiKTeX\tex/latex/cjkpunct\CJKpunct.spa)) (C:\MiKTeX\tex/latex/cjk\CJKspace.sty) (C:\MiKTeX\tex/latex/cjk/UTF8\UTF8.bdg) (C:\MiKTeX\tex/latex/ctex\ctexspa.def)) (C:\MiKTeX\tex/latex/zhnumber\zhnumber.sty (C:\MiKTeX\tex/latex/zhnumber\zhnumber-utf8.cfg)) (C:\MiKTeX\tex/latex/ctex/scheme\ctex-scheme-chinese.def (C:\MiKTeX\tex/latex/ctex/config\ctex-name-utf8.cfg)) (C:\MiKTeX\tex/latex/tools\indentfirst.sty) (C:\MiKTeX\tex/latex/ctex/fontset\ctex-fontset-windows.def)) (C:\MiKTeX\tex/latex/ctex/config\ctex.cfg) (Please type a command or say `\end') *\begin{document} (C:\MiKTeX\tex/latex/cjk/UTF8\UTF8.enc) (C:\MiKTeX\tex/latex/cjk/UTF8\UTF8.chr) No file texput.aux. *你好,这是一段中文文本。 ! Package CJK Error: Invalid character code. See the CJK package documentation for explanation. Type H <return> for immediate help. ... <*> ?ã?һ?ı???
07-14
### 3.1 使用 XeLaTeX 或 LuaLaTeX 编译器替代 PdfLaTeX 在处理包含中文字符的 LaTeX 文档时,若使用默认的 `PdfLaTeX` 编译器,可能会遇到 `Package CJK Error: Invalid character code` 错误。该问题的根本原因是 `PdfLaTeX` 不支持直接处理 UTF-8 编码的中文字符。 解决方法是将编译工具链更换为支持 Unicode 的 `XeLaTeX` 或 `LuaLaTeX`。例如,在 TeXstudio 中可通过以下路径更改默认编译器:打开 *Options → Configure TeXstudio → Build*,将 *Default Compiler* 设置为 `XeLaTeX` [^3]。对于其他编辑器如 WinEdt,也应在其配置中选择支持 Unicode 的编译器。 使用 `XeLaTeX` 的示例代码如下: ```latex \documentclass{article} \usepackage{ctex} \usepackage{fontspec} \setmainfont{SimSun} % 设置主字体为宋体 \begin{document} 这是一个包含中文内容的测试文档。 \end{document} ``` ### 3.2 确保文件保存为 UTF-8 编码格式 另一个常见问题是 `.tex` 文件未以 UTF-8 编码保存。即使源代码中正确使用了中文字符,如果文件编码不是 UTF-8,仍然会引发 `Invalid character code` 错误。因此,必须确保文档以 UTF-8 格式存储。 在 WinEdt 中,可以通过 *Options → Preferences* 调整设置,确保在打开或保存 `.tex` 文件时自动识别 UTF-8 编码。此外,在 *Options → Execution Modes* 中启用 UTF-8 支持也是一种有效手段 [^2]。 ### 3.3 使用 CTeX 套件简化中文支持 安装完整的 CTeX 套件是一种更便捷的解决方案,因其预置了对中文的支持,包括合适的字体和编译器配置。相比单独安装 MiKTeX 并手动调整设置,CTeX 套件能够显著减少因字体或编码不兼容导致的问题 [^2]。 ### 3.4 检查并设置正确的字体与编码选项 若仍希望使用 `CJK` 宏包而非 `ctex`,则需要显式加载 `inputenc` 和 `fontenc` 包,并指定编码方式为 `utf8`: ```latex \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{CJK} ``` 同时,在文档正文中使用 `CJK` 环境包裹中文内容: ```latex \begin{CJK}{UTF8}{gbsn} 这是一个中文段落。 \end{CJK} ``` 此方法适用于旧版项目或特定需求,但在现代工作流中推荐优先使用 `ctex` 和 `XeLaTeX` 组合 [^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值