我这里测试是好的,texlive 2024 版本。
我这里测试是好的,texlive 2024 版本。
明显的错误是:
\titlecontents{chapter}[4em]%
{\heiti\zihao{4}}%
{\contentslabel{4em}}%
{\hspace*{-4em}}%
{\titlerule*[14pt]{.}\contentspage}%
[\addvspace{0pt}]
应该是中括号,不是大括号。
最好,提供下复现的代码,这样更好解决问题。
这些细节的问题,的确需要点精力去做的,如果你对字体设置这些都不熟悉是比较难的。
看看 xeCJK 的文档,看看字体加粗和伪粗体的设置,然后看 tex-fontset-xxx.def 里面的定义
行距的问题,这个是看看这个文章:https://mp.weixin.qq.com/s/q7Pa5QDV8O_4l3376jXu1w
实际使用中,就是凑就好了,这完全是两个世界的软件,尤其是 word不是专业排版软件,我们非要把 LaTeX 伪装成一个非排版软件的样子,这是需要很多额外工作的。
加我微信 t314159265
你没有完整下载文件,不要复制。
看看自带的说明即可:
这个是常见问题了,你的版式变化在 fancyhdr 之后,导致fancyhdr的版式尺寸与你设置的尺寸不一致。换一下顺序即可。
\documentclass[twocolumn,oneside,10pt,a4paper]{ctexbook}
\usepackage[showframe,nomarginpar,hmargin=1.5cm,vmargin=1.5cm]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{}%%留空则不显示
\fancyhead[C]{\rightmark}%%留空则不显示%\rightmark显示当前节标题%\leftmark显示当前章标题
\fancyhead[R]{}%%留空则不显示
\fancyfoot[C]{\thepage}%%留空则不显示
\usepackage[hshift=0mm,vshift=0mm]{fgruler}
\begin{document}
\pagestyle{fancy}
\chapter{第1章}
\null\newpage
\null\newpage
\null\newpage
\null\newpage
\null\newpage
\null\newpage
\null\newpage
\null\newpage
\end{document}
Overleaf 就没有符合中国规范标准的中文字体,还在这样用,谁都救不了。
提供下你的代码。这样不好弄呀。我整理下答案:
有一个方案就是这样的,listings 有个技巧,就是 。literate
参数用于定义如何处理源代码中的特殊字符,它允许用户指定一个字符和相应的替换文本,从而在显示源代码时进行自定义替换或格式化。
效果如下:
\documentclass[UTF8]{ctexart} % 使用 UTF8 编码和 ctexart 文档类
\usepackage[dvipsnames]{xcolor}
\usepackage{minted} % 语法高亮和代码样式设置方面更加强大和灵活
\usemintedstyle{xcode}
\usepackage{listings}% 引入listings包,用于在文档中插入代码,并可自定义代码样式
\lstset{
language=c,
basicstyle=\ttfamily, % 设置字体族
numbers=left, %行号在左侧显示
numberstyle= \tiny, %行号字体
% identifierstyle=\color{black},
keywordstyle=\bfseries\color{NavyBlue}, % 设置关键字为粗体,颜色为NavyBlue
morekeywords={}, % 设置更多的关键字,用逗号分隔
emph={}, % 指定强调词,如果有多个,用逗号隔开
emphstyle=\bfseries\color{Rhodamine}, % 强调词样式设置
commentstyle=\itshape\color{black!50!white}, % 设置注释样式:斜体+浅灰色
columns=flexible %让注释变得紧凑
stringstyle=\bfseries\color[RGB]{128,0,0}, % 设置字符串样式
showstringspaces=false, %不显示代码字符串中间的空格标记
breaklines=true, %代码过长则换行
frame=shadowbox, %阴影效果 + 用方框框住代码块
% backgroundcolor=\color{red!50!green!50!blue!50}, %代码块背景色为浅灰色
rulesepcolor= \color{ red!20!green!20!blue!20}, %代码块边框颜色
escapeinside=``, %英文分号中可写入中文
xleftmargin=2.4em,
xrightmargin=0.5em,
aboveskip=1em,
framexleftmargin=2em,
%directivestyle={},
literate={float.}{float.}6,
}
\usepackage{graphicx}
\title{这是一个中文文章的标题} % 文章标题
\author{作者名} % 作者名字
\date{\today} % 文章日期,使用当前日期
\begin{document}
\maketitle % 生成标题页
\tableofcontents%生成目录
\begin{lstlisting}
#include<stdio.h>
#include<float.h> //这是一个新的库
int main()
float a = 1.0;
#ifdef foo
#else
#endif
printf("Today is a niceday!")
printf("FLT_MIN:%f\n"FLT_MIN);
printf("FLT_MAX:%f\n"FLT_MAX);
printf("DBL_MIN:%f\n"DBL_MIN);
printf("DBL_MAX:%f\n"DBL_MAX);
return0:
\end{lstlisting}
\end{document}
看看 小 L 的文章都解释清楚了:
https://liam.page/2016/12/11/LaTeX-traditional-font-scheme/
.pfb
文件包含了字符的形状,它们决定了字符在打印(或者预览)中是怎样呈现的。这些文件不会被用户直接调取,而是被引擎或者驱动程序调用。当然,也有 .pfa
文件,它和 .pfb
文件储存的信息完全相同,只不过它是用可见的 ASCII 码字符来储存信息的,因此它会比相应的 .pfb
文件要大出不少。
定制化能力强的是 enumitem,使用起来比较随意的是 enumerate,如果你定制样式要求高,你可以用 enumitem,尽量不要一起用。
可以重定义下 \tableofcontents
如下示例:
\documentclass{article}
\usepackage{multicol,xcolor}
\makeatletter
\setlength{\columnseprule}{1pt}
\renewcommand{\columnseprulecolor}{\color{green}}
\renewcommand\tableofcontents{%
\section*{\makebox[\linewidth][c]{\contentsname}%
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\begin{multicols}{2}%
\@starttoc{toc}%
\end{multicols}
}
\makeatother
\begin{document}
\tableofcontents
\section{test}
\section{another test}
\end{document}
效果如下:
问 l3doc文档类中脚注无法正常显示?