off-topic...只是好奇,在新华字典中“鉏”字并没有简化写法,为什么可以确定 你所造的字体与原字体是等价的?
off-topic...只是好奇,在新华字典中“鉏”字并没有简化写法,为什么可以确定 你所造的字体与原字体是等价的?
提问需要注意以下几点:
.zip
格式,并且图示具体说明你想调的是哪部分字体3.提问要逻辑清晰,指代准确。“一开始会报错,要把这个tex文件和发的东西放一起”是想表达什么(?)
4.本论坛有"修改问题"和"预览问题"的功能,这都是你要用的
5.一个优秀的tag,应该是能准确的描述和概括该问题的,我严重怀疑zitie
是你乱打的...
P.S.你是否看过lshort-zh-cn的这部分内容(?)
此外,想要修改模板,请你指出相应的规范要求,应该严格按照规范要求来进行你的排版。在模板使用中,你觉得“这个字体太小”等想法是不严谨的,模板制作者一定按照的是美赛的规范来编写的模板。
为什么不看lshort-zh-cn?
A practice is here:
https://tex.stackexchange.com/questions/678477/documentclass14ptextarticle-i-cannot-have-more-that-14pt
总的来说,你可以通过如下设置随意调整尺寸
\RequirePackage{fix-cm}
\usepackage[fontsize=14pt]{fontsize}
但可能导致一些不良后果,但这是模板实现方式的问题,例如:
不禁又要问:为什么你一定要调整字体大小呢?是有什么规范让你必须(MUST)这么做吗?如果没有,不建议修改。
zstar
!!!!!@u134436 关于填空题,可以使用\parbox
内嵌于\phantom
\documentclass[fontset=ubuntu]{ctexart}
\usepackage{xeCJKfntef}
\usepackage[a4paper]{geometry}
\usepackage{xcolor}
\usepackage{tagging}
\usepackage{zhlipsum}
% \usetag{ans}% 注释掉该行语句不显示答案
\newcommand{\answer}[1]{
\par\vspace*{.5ex}
\iftagged{ans}{\parbox[s]{.94\textwidth}{#1}}{\phantom{\parbox[s]{.94\textwidth}{#1}}}
\par\vspace*{.5ex}
}
\begin{document}
\begin{enumerate}
\item 这是第一题的题干第一题的题干第一题的题干第一题的题干第一题的题干
\answer{这是答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案圆是到定点的距离等于定长的点的集合.}
\item 这是第二题的题干这是第二题的题干这是第二题的题干这是第二题的题干这是第二题的题干
\answer{答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案答案圆是到定点的距离等于定长的点的集合到定点的距离等于定长的点的集合到定点的距离等于定长的点的集合.}
\item 这是第三题的题干题干题干这是第三题的题干题干题干这是第三题的题干题干题干这是第三题的题干题干题干这是第三题的题干题干题干
\answer{答案答案答案答案答案答案答案答案答案答案答案答案是到定点的距离等于定长的点的集合到定点的距离等于定长的点的集合.}
\end{enumerate}
\end{document}
Thanks to deepseek(AI论坛秀了属于是),我在他给的答案基础上修改了一下,应该可以满足需求:
\documentclass[fontset=ubuntu]{ctexart}
\usepackage[margin=1in]{geometry}
\usepackage{lipsum,zhlipsum}
\usepackage{atbegshi}
\newif\ifinsertblankpage
\insertblankpagefalse
\let\oldabstract\abstract
\let\endoldabstract\endabstract
% 定义英文摘要环境
\newenvironment{enabstract}{%
\renewcommand\abstractname{Abstract}
\oldabstract
}{%
\endoldabstract \newpage
}
% 定义中文摘要环境,并启用插入空白页
\newenvironment{cnabstract}{%
\renewcommand\abstractname{摘要}
\insertblankpagetrue % 启用插入空白页
\oldabstract
}{%
\endoldabstract \newpage
\insertblankpagefalse % 关闭插入空白页
}
% 页面输出钩子:在中文摘要的每一页后插入空白页
\AtBeginShipout{%
\ifinsertblankpage
\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox % 输出当前页
\AtBeginShipoutOriginalShipout\null % 输出空白页
\fi
}
\begin{document}
% 中文摘要部分:每一页后自动插入空白页
\begin{cnabstract}
\zhlipsum[1-8] % 生成多页中文摘要
\end{cnabstract}
% 英文摘要及其往后部分:正常双面打印
\begin{enabstract}
\lipsum[1-12] % 生成多页英文摘要
\end{enabstract}
\end{document}
上述代码的效果是:
不过上面的代码会报一个警告:
LaTeX: Ignoring void shipout box.
The shipout box was voided by hook code.
应该是\AtBeginShipoutOriginalShipout\null
导致的,不过你原问题中atbegshi宏包作者Heiko Oberdiek都用了类似的实现,想来不是什么问题。
上面代码报错的原因是缺少int(\i+45)
\documentclass[tikz,border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\draw (0,0) circle(2);
\foreach \i in {0,45,...,315}{
\coordinate (A\i) at (\i:2); % 定义点的位置
\draw[fill] (A\i) circle (2pt); % 画点
}
\foreach \i in {0,45,...,315} {
\pgfmathsetmacro{\next}{int(\i+45)}
\ifnum \next=360\relax
\pgfmathsetmacro{\next}{0}
\fi
\draw[->] (A\i) -- (A\next);
}
\end{tikzpicture}
\end{document}
我很想知道这种图的来源,包括它的所在学科,英文名称以及大致含义。
同时你这个图可拓展性较差,下面的实现也很不优雅,我没有兴趣封装成接口。
另外为了论坛问题的neat
,请你删除这一无效问题,想要修改问题可以使用补充问题功能,而不是重新开一个新的问题。
下面是en画的实现过程...
\documentclass[tikz,border=8pt]{standalone}
\usetikzlibrary{arrows.meta,decorations.markings}
\begin{document}
\begin{tikzpicture}[cap = round]
% \draw (0,0) circle(2);
\foreach \i in {30,60,...,150,240,270,300}{
\node[circle,draw,inner sep=1pt,outer sep=0pt,minimum size=2pt] (A\i) at (\i:2) {}; % 画点
}
\foreach \i in {30,60,...,120,240,270} {
\pgfmathsetmacro{\next}{int(\i+30)}
\path[->] (A\i) edge[bend right=8] (A\next);
}
\foreach \angle/\txt in {30/2,60/1,90/0,120/n-1,150/n-2}{
\node[label={[anchor=\angle+180,outer sep=1pt,inner sep=1.5pt,]\scriptsize$\txt$}] at (\angle:2) {};
}
\foreach \i in {180,210,330,0}{
\node[circle,inner sep=0pt,outer sep=0pt,minimum size=0pt] (A\i) at (\i:2) {}; % 画点
}
\foreach \i in {150,210,300,0} {
\pgfmathsetmacro{\next}{int(\i+30)}
\ifnum \next=360 \pgfmathsetmacro{\next}{0} \fi
\path[->] (A\i) edge[bend right=10] (A\next);
}
\path[dotted] (A180) edge[bend right=10] (A210)
(A330) edge[bend right=10] (A0);
\end{tikzpicture}
\end{document}
其实要想优雅一点,可以用rotate
把整个路径划分为:
不过个人觉得意义不是很大。
请你详细准确地表述你的需求和预期效果。
如果你只想把长条状的Logo放在首页的左上角,你可以如下做:
\documentclass{beamer}
\usepackage[UTF8,noindent]{ctexcap}
\usepackage{tikz}
\usepackage{graphicx}
\usetheme{AnnArbor}
\usecolortheme{crane}
\institute[NJUPT]{南京邮电大学}
\author[Robert$\cdot$Charlie]{贺XX}
\title[Beamer模板]{这是文档的大标题}
\date{\today}
\subtitle{这是文档的小标题}
\subject{模板}
% 自定义 logo 的位置
% 在左上角添加校徽
% 设置背景图位置 这里的xshift和yshift可以调节相对位置
\setbeamertemplate{background}{%
\begin{tikzpicture}[overlay, remember picture]
\node[xshift=3em,yshift=-3.3em] at (current page.north west) {\includegraphics[height=.15\paperheight]{NJUPT.png}};
\end{tikzpicture}
}
\begin{document}
\maketitle
\setbeamertemplate{background}{} %还原背景图层
% 不过我觉得更优雅的办法是写入\maketitle里代码会更好一点
\begin{frame}{目录}
\tableofcontents
\end{frame}
\section{这是第一部分}
\begin{frame}{第一节标题}{第一节小标题}
内容...
\end{frame}
\end{document}
效果如下:
补充,你想要实现类似HDUbeamer的效果@u79794 我显然没有手搓一个模板的水平,只能在用户层简单地实现如下的效果:
\documentclass{beamer}
\usepackage[UTF8,noindent]{ctexcap}
\usepackage{tikz}
\usepackage{graphicx}
\usetheme{AnnArbor}
\usecolortheme{crane}
\institute[NJUPT]{南京邮电大学}
\author[Robert$\cdot$Charlie]{贺XX}
\title[Beamer模板]{这是文档的大标题}
\date{\today}
\subtitle{这是文档的小标题}
\subject{模板}
% 设置背景图位置 这里的xshift和yshift可以调节相对位置
\setbeamertemplate{logo}{%
\begin{tikzpicture}[overlay, remember picture]
\node[xshift=15em,yshift=-9em] at (current page.north west) {\includegraphics[height=.1\paperheight]{long-logo.jpg}};
\end{tikzpicture}
}
\begin{document}
\maketitle
\setbeamertemplate{logo}{} %重置logo效果
\setbeamertemplate{background}{
\begin{tikzpicture}[overlay, remember picture]
\node[xshift=-1em,yshift=-1em,opacity=.3] at (current page.east) {\includegraphics[height=.7\paperheight]{NJUPT.png}};
\end{tikzpicture}
}
\begin{frame}{目录}
\tableofcontents
\end{frame}
\section{这是第一部分}
\begin{frame}{第一节标题}{第一节小标题}
内容...
\end{frame}
\end{document}
注意上面的代码需要保证long-long.jpg
和NJUPT.png
的路径,效果如下:
BTW,既然你想实现HDUbeamer的效果,我建议你站在S老师巨人的肩膀上,修改HDUbeamer.cls
会更好,最好不要重复造轮子。
Happy LaTeXing, and welcome to the LaTeX studio!
我想这是你想要的...其实没必要在tcb外面封装成amsthm(这让代码变得很不优雅,既然amsthm要套tcb),tcb
本身也支持计数器的使用,著名的elegantbook模板的fancy样式对定理环境的实现也只是纯tcolorbox
。我同时还把mwe更精简了一丢丢...
P.S. xparse
已经进入latex kernel
,因此不需显式调用。你可以texdoc xparse
看看参数,lshort-zh-cn
其实有简单的介绍,所谓的\NewTColorBox
也不过是tcb
版本的newenvironment
而已。
\documentclass[10pt]{ctexbook}
\usepackage[margin=1in,showframe]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{varwidth}
\usepackage{amsmath}
\usepackage{enumitem}
\setlist[enumerate]{leftmargin=1em}
\definecolor{mygreen}{RGB}{0,166,82}
\NewTColorBox[auto counter,number within=section]{theobox}{O{}}{% o省略可能的参数
enhanced,frame empty,interior empty,
coltitle=white,fonttitle=\bfseries,
colbacktitle=mygreen,rounded corners,
extras broken={frame empty,interior empty},
borderline={0.25mm}{0mm}{mygreen},
breakable,top=4mm,before skip=3.5mm,
attach boxed title to top left={yshift=-3mm,xshift=5mm},boxed title style={boxrule=0pt,sharp corners=all},varwidth boxed title,
title={考点\thetcbcounter\quad{#1}},
}
\newcommand*{\insertxt}{%
\begin{enumerate}
\item 素质教育以提高国民素质为根本宗旨。
\item 素质教育是面向全体学生的教育。
\item 素质教育是促进学生全面地、生动活泼地、可持续地发展的教育。
\item 素质教育是促进学生个性发展的教育。
\item 素质教育要着力提高学生的社会责任感、创新精神和实践能力。素质教育要着力提高学生的社会责任感、创新精神和实践能力。素质教育要着力提高学生的社会责任感、创新精神和实践能力。素质教育要着力提高学生的社会责任感、创新精神和实践能力。
\end{enumerate}
}
\begin{document}
\chapter{你好}
\section{世界}
\begin{theobox}
\insertxt
\end{theobox}
\begin{theobox}[有标题]
\insertxt
\end{theobox}
\section{世界}
\begin{theobox}[有标题盒子]
\insertxt
\end{theobox}
\begin{theobox}
\insertxt
\end{theobox}
\chapter{你好}
\section{世界}
\begin{theobox}[有标题盒子]
\insertxt
\end{theobox}
\begin{theobox}
\insertxt
\end{theobox}
\begin{theobox}[有标题盒子]
\insertxt
\end{theobox}
\begin{theobox}
\insertxt
\end{theobox}
\end{document}
在使用宏包前务必仔细阅读文档!!!通过在命令执行texdoc physics
命令可以看到:
\documentclass[11pt,a4paper]{ctexbook}
\setlength{\parindent}{0pt}
\let\olddiv\div
\usepackage{physics}
\begin{document}
physics包影响div除法:
$2=6\div 3$
$2=6\olddiv 3$
$2=6\divisionsymbol 3$
\end{document}
P.S.有类似需求的话也可以看看ZTX老师的physics2
宏包,更符合中国宝宝体质。
请提供模板链接或者压缩包文件,同时建议你检查TeXStudio
的配置,是否使用了正确的编译命令。
下面的问题都将基于该链接下载的压缩文件。
解压之可以得到一份117行的template_exam_A_utf8.tex
文件
%
% 说明:使用 xelatex 编译,在 texlive 2017 中编译通过
%
\documentclass[UTF8]{ctexart}
\usepackage[a4paper,top=2.0cm,bottom=2.5cm,left=2.8cm,right=2.8cm,%
includehead,includefoot]{geometry}
\usepackage{amsmath,amssymb,amsfonts,bm}
\usepackage{graphicx,xcolor}
\usepackage[xetex,colorlinks,linkcolor=blue]{hyperref}
\usepackage{makecell,interfaces-makecell}
\usepackage{calc}
\renewcommand{\baselinestretch}{1.3}
%%%%% ===== 自定义命令 ===========================================================
\newcommand{\ul}[1]{\underline{\makebox[#1]{}}}
\newcommand{\ull}[2]{\underline{\makebox[#1]{\kaishu #2}}}
\newcommand{\ulaa}[1]{\underline{\makebox[3em]{\Large\textcircled{\normalsize #1}}}}
\newcommand{\dis}{\displaystyle}
\pagestyle{plain}
\begin{document}
\zihao{-4} % 小四号字体
%%%%% ===== 试卷头 ===============================================================
\begin{center}
{\heiti\LARGE 华东师范大学期末试卷 (A)} \bigskip
$20xx-20xx$ 学年第 X 学期
\bigskip\bigskip
%%%%% ===== 课程信息,包括课程名,课程性质等
\setlength{\tabcolsep}{1mm}
\renewcommand{\arraystretch}{1.4}
\begin{tabular}{p{7.5cm}p{6.5cm}}
课程名称:\ull{4.0cm}{\zihao{4} 数~值~分~析} & \\
学生姓名:\ul{4.0cm} &
学\hspace{10.5mm}号:\ul{4.0cm} \\
专\hspace{2em}业:\ull{4.0cm}{数学与应用数学} &
年级/班级:\ull{4.0cm}{20xx级} \\
课程性质:\ {\kaishu 专业X修} \\
\end{tabular}\smallskip
%%%%% ===== 得分表,其中 numexer 表示题号个数,这里设为 8,可根据实际需要修改,其他可以不用修改。
\newcounter{numexer}\setcounter{numexer}{8} % 题号个数,这里为 8
\newcounter{numcol}\setcounter{numcol}{\value{numexer}+2}
\newlength{\cellwidth}\setlength{\cellwidth}{\textwidth*\ratio{0.6pt}{\value{numexer} pt}}
\begin{tabular}{|*{\thenumcol}{c|}} \hline
\repeatcell{\thenumexer}{rows=1,text=\makebox[\cellwidth]{\zhnumber{\column}}}
& \makebox[0.12\textwidth]{总分} &\makebox[0.16\textwidth]{阅卷人签名} \\ \hline
\repeatcell{\thenumcol}{rows=1,end=\\ \hline} \\ \hline
\end{tabular}
\end{center}
\medskip
\noindent\dotfill
\medskip
\linespread{1.5}\selectfont
\noindent{\heiti 一、填充题} (每空 2 分,共 24 分)
\newcounter{forlist}
\begin{list}{\arabic{forlist}.}
{\setlength{\topsep}{2mm}
\setlength{\listparindent}{0pt}
\setlength{\labelsep}{5pt}
\setlength{\itemsep}{0.8em}
\setlength{\parsep}{5pt}
\usecounter{forlist}}
\item
十进制数与二进制数的转换: $(123)_{10}= (\ulaa{1})_2$,
$(110)_2 = (\ulaa{2})_{10}$。
\item
十进制数与二进制数的转换: $(123)_{10}= (\ulaa{3})_2$,
$(110)_2 = (\ulaa{4})_{10}$。
\item
十进制数与二进制数的转换: $(123)_{10}= (\ulaa{5})_2$,
$(110)_2 = (\ulaa{6})_{10}$。
\end{list}
\newpage
\linespread{1.3}\selectfont
\begin{list}{\heiti\Chinese{forlist}、}
{\setlength{\topsep}{1mm}
\setlength{\listparindent}{0pt}
\setlength{\itemsep}{2em}
\setlength{\labelsep}{0pt}
\usecounter{forlist}
\setcounter{forlist}{1}}
\item (15 分) % ========================================================
设 $x_0,x_1,\ldots,x_n$ 为互异节点,求证: \\[1ex]
(1)$\dis\sum\limits_{j=0}^n x_j^k l_j(x) \equiv x^k $\quad ($k=0,1,\ldots,n$); \\
(2)$\dis\sum\limits_{j=0}^n (x_j-x)^k l_j(x) \equiv 0$\quad ($k=0,1,\ldots,n$)。
\item (15 分) % ========================================================
设 $x_0,x_1,\ldots,x_n$ 为互异节点,求证: \\[1ex]
(1)$\dis\sum\limits_{j=0}^n x_j^k l_j(x) \equiv x^k $\quad ($k=0,1,\ldots,n$); \\
(2)$\dis\sum\limits_{j=0}^n (x_j-x)^k l_j(x) \equiv 0$\quad ($k=0,1,\ldots,n$)。
\item (15 分) % ========================================================
设 $x_0,x_1,\ldots,x_n$ 为互异节点,求证: \\[1ex]
(1)$\dis\sum\limits_{j=0}^n x_j^k l_j(x) \equiv x^k $\quad ($k=0,1,\ldots,n$); \\
(2)$\dis\sum\limits_{j=0}^n (x_j-x)^k l_j(x) \equiv 0$\quad ($k=0,1,\ldots,n$)。
\end{list}
\end{document}
按照文档说明: 使用xelatex
在TeXLive2017
下可以顺利编译。但当我们用TeXLive2024
在命令行下用xelatex
编译时却会发现得到如下错误,无法编译成功:
! Package etoolbox Error: \scr@load@hook undefined.
See the etoolbox package documentation for explanation.
Type H <return> for immediate help.
...
l.55 \renewrobustcmd*\scr@load@hook
[2]{%
?
通过反向检索该错误,我们不难发现这是因为interfaces-makecell
宏包因为过期在TeXLive2021
中已经正式弃用,这导致了下面的代码中的\repeatcell
失效:
\begin{tabular}{|*{\thenumcol}{c|}} \hline
\repeatcell{\thenumexer}{rows=1,text=\makebox[\cellwidth]{\zhnumber{\column}}}
& \makebox[0.12\textwidth]{总分} &\makebox[0.16\textwidth]{阅卷人签名} \\ \hline
\repeatcell{\thenumcol}{rows=1,end=\\ \hline} \\ \hline
\end{tabular}
参考了以下两个链接:
https://tex.stackexchange.com/questions/625226/alternative-to-repeatcell-from-the-interfaces-package-since-texlive-2021
https://tex.stackexchange.com/questions/297919/create-tabular-depending-on-counter
我简单封装了一个命令\scorebox
用于绘制得分框(不建议题号数量过大)
\ExplSyntaxOn
\NewDocumentCommand{\scorebox}{m}
{
\newcounter{numexer}\setcounter{numexer}{#1}
\newcounter{numcol}\setcounter{numcol}{\value{numexer}+2}
\dim_new:N \cellwidth
\fp_set:Nn \l_tmpa_fp { .6 * \textwidth / \value{numexer} }
\dim_set:Nn \cellwidth { \fp_to_dim:N \l_tmpa_fp }
\begin{tabular}{|*{\int_eval:n { #1 + 2 }}{c|}} \hline
\int_zero:N \g_tmpa_int
\prg_replicate:nn { #1 } {%
\int_gincr:N \g_tmpa_int \makebox[\cellwidth]{\zhnumber{\int_to_arabic:n { \g_tmpa_int }}} & } \makebox[.12\textwidth]{总分} & \makebox[.16\textwidth]{阅卷人签名}\\
\hline
\prg_replicate:nn { \int_eval:n { #1 + 1 } } {&}\\
\hline
\end{tabular}
}
\ExplSyntaxOff
至此..在TeXLive2024
下可以编译...
\documentclass[UTF8]{ctexart}
\usepackage[a4paper,top=2.0cm,bottom=2.5cm,left=2.8cm,right=2.8cm,includehead,includefoot]{geometry}
\usepackage{amsmath,amssymb,amsfonts,bm}
\usepackage{graphicx,xcolor}
\usepackage[xetex,colorlinks,linkcolor=blue]{hyperref}
\usepackage{makecell}
% \usepackage{interfaces-makecell}
\usepackage{calc}
\renewcommand{\baselinestretch}{1.3}
%%%%% ===== 自定义命令 ===========================================================
\newcommand{\ul}[1]{\underline{\makebox[#1]{}}}
\newcommand{\ull}[2]{\underline{\makebox[#1]{\kaishu #2}}}
\newcommand{\ulaa}[1]{\underline{\makebox[3em]{\Large\textcircled{\normalsize #1}}}}
\newcommand{\dis}{\displaystyle}
% https://tex.stackexchange.com/questions/625226/alternative-to-repeatcell-from-the-interfaces-package-since-texlive-2021
% https://tex.stackexchange.com/questions/297919/create-tabular-depending-on-counter
\ExplSyntaxOn
\NewDocumentCommand{\scorebox}{m}
{
\newcounter{numexer}\setcounter{numexer}{#1}
\newcounter{numcol}\setcounter{numcol}{\value{numexer}+2}
\dim_new:N \cellwidth
\fp_set:Nn \l_tmpa_fp { .6 * \textwidth / \value{numexer} }
\dim_set:Nn \cellwidth { \fp_to_dim:N \l_tmpa_fp }
\begin{tabular}{|*{\int_eval:n { #1 + 2 }}{c|}} \hline
\int_zero:N \g_tmpa_int
\prg_replicate:nn { #1 } {%
\int_gincr:N \g_tmpa_int \makebox[\cellwidth]{\zhnumber{\int_to_arabic:n { \g_tmpa_int }}} & } \makebox[.12\textwidth]{总分} & \makebox[.16\textwidth]{阅卷人签名}\\
\hline
\prg_replicate:nn { \int_eval:n { #1 + 1 } } {&}\\
\hline
\end{tabular}
}
\ExplSyntaxOff
\pagestyle{plain}
\begin{document}
\zihao{-4} % 小四号字体
%%%%% ===== 试卷头 ===============================================================
\begin{center}
{\heiti\LARGE 华东师范大学期末试卷 (A)} \bigskip
$20xx-20xx$ 学年第 X 学期
\bigskip\bigskip
%%%%% ===== 课程信息,包括课程名,课程性质等
\setlength{\tabcolsep}{1mm}
\renewcommand{\arraystretch}{1.4}
\begin{tabular}{p{7.5cm}p{6.5cm}}
课程名称:\ull{4.0cm}{\zihao{4} 数~值~分~析} & \\
学生姓名:\ul{4.0cm} &
学\hspace{10.5mm}号:\ul{4.0cm} \\
专\hspace{2em}业:\ull{4.0cm}{数学与应用数学} &
年级/班级:\ull{4.0cm}{20xx级} \\
课程性质:\ {\kaishu 专业X修} \\
\end{tabular}\smallskip
%%%%% ===== 得分表,其中 numexer 表示题号个数,这里设为 8,可根据实际需要修改,其他可以不用修改。
% \newcounter{numexer}\setcounter{numexer}{8} % 题号个数,这里为 8
% \newcounter{numcol}\setcounter{numcol}{\value{numexer}+2}
% \newlength{\cellwidth}\setlength{\cellwidth}{\textwidth*\ratio{0.6pt}{\value{numexer} pt}}
% \begin{tabular}{|*{\thenumcol}{c|}} \hline
% \repeatcell{\thenumexer}{rows=1,text=\makebox[\cellwidth]{\zhnumber{\column}}}
% & \makebox[0.12\textwidth]{总分} &\makebox[0.16\textwidth]{阅卷人签名} \\ \hline
% \repeatcell{\thenumcol}{rows=1,end=\\ \hline} \\ \hline
% \end{tabular}
%%%%%%%%%%%%%
\scorebox{8}
%%%%%%%%%%%%%
\end{center}
\medskip
\noindent\dotfill
\medskip
%%% The rest of the exercise...
我建议你找个大语言模型帮你,事半功倍。这并不是LaTeX
应该提供的功能。
在ctex
宏包文档的源文件ctex.dtx
中,有如下一段代码:
% Line 924~977
\begin{table}[htbp]
\centering
\begin{threeparttable}
\caption{\CTeX{} 宏集自动配置字体策略}
\label{tab:default-font-select}
\begin{tabular}{*{5}{c}}
\toprule
& macOS Old\tnote{1}
& macOS New\tnote{2}
& Windows\tnote{3}
& 其他 \\
\midrule
\XeLaTeX & \makecell{\pkg{xeCJK}\\华文字库}
& \makecell{\pkg{xeCJK}\\华文字库 + 苹方}
& \makecell{\pkg{xeCJK}\\中易字库 + 微软雅黑}
& \makecell{\pkg{xeCJK}\\Fandol 字库\tnote{4}} \\
\cmidrule(lr){1-5}
\LuaLaTeX\tnote{5}
& \makecell{\pkg{LuaTeX-ja}\\华文字库}
& \makecell{\pkg{LuaTeX-ja}\\华文字库 + 苹方}
& \makecell{\pkg{LuaTeX-ja}\\中易字库 + 微软雅黑}
& \makecell{\pkg{LuaTeX-ja}\\Fandol 字库} \\
\cmidrule(lr){1-5}
\pdfLaTeX
& 不可用
& 不可用
& \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑\tnote{6}}
& 不可用 \\
\cmidrule(lr){1-5}
\makecell{\LaTeX{} + \\\dvipdfmx}
& 不可用
& \makecell{\pkg{CJK} + \pkg{zhmetrics}\\华文字库 + 苹方}
& \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑\tnote{6}}
& \makecell{\pkg{CJK} + \pkg{zhmetrics}\\Fandol 字库} \\
\cmidrule(lr){1-5}
\makecell{\upLaTeX{} + \\\dvipdfmx}
& 不可用
& \makecell{\pkg{zhmetrics-uptex}\\华文字库 + 苹方}
& \makecell{\pkg{zhmetrics-uptex}\\中易字库 + 微软雅黑}
& \makecell{\pkg{zhmetrics-uptex}\\Fandol 字库} \\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item [1] Yosemite (10.10) 及以前的 macOS 系统。
\item [2] El Capitan (10.11) 及以后的 macOS 系统。
\item [3] 仅支持 Windows Vista 及以后的 Windows 操作系统。
\item [4] 由马起园、苏杰、黄晨成等人开发的开源中文字体,
参见:\url{https://www.ctan.org/pkg/fandol}。
\item [5] \LuaLaTeX{} 编译时使用 \pkg{LuaTeX-ja} 宏包。对此,
第 \ref{sec:lualatex-chinese}~节有特别说明。
\item [6] 微软雅黑字体并不总是有效,这和选项 \opt{zhmap} 的取值有关。
\end{tablenotes}
\end{threeparttable}
\end{table}
但实际上这还不够...因为索引和超链接仍未定义,经过一番逆向工程,我们不难在ctxdoc.cls
中找到如下定义的代码,下面的大致重定义了tnote
环境,同时利用hypertarget
设置了索引,抄就完了...
%% line 136~151
%% 重新定义 threeparttable 包的 tablenotes 环境
\renewlist{tablenotes}{description}{1}
\setlist[tablenotes]{%
format=\normalfont\tnote@item,align=right,listparindent=\parindent,
labelindent=\tabcolsep,leftmargin=*,rightmargin=\tabcolsep,
after=\@noparlisttrue}
\AtBeginEnvironment{tablenotes}{%
\setlength\parindent{2\ccwd}%
\normalfont\footnotesize}
\AtBeginEnvironment{threeparttable}{%
\stepcounter{tpt@id}%
\edef\curr@tpt@id{tpt@\arabic{tpt@id}}}
\newcounter{tpt@id}
\def\tnote@item#1{%
\Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}#1}
\def\TPTtagStyle#1{\hyperlink{\curr@tpt@id-#1}{#1}}
那么我们实际上就可以实现如下的效果...
\documentclass[11pt,a4paper,english]{ctexart}
\usepackage{tikz}
\usetikzlibrary{ducks}
\usepackage{enumitem}
\usepackage[font=small,labelfont=bf,tableposition=top]{caption}
\usepackage{threeparttable}
\usepackage{booktabs}
% \usepackage[colorlinks,linkcolor=red,anchorcolor=blue,citecolor=green]{hyperref}
\usepackage[colorlinks]{hyperref}
\makeatletter
%% copy from ctxdoc.cls
%% Line 136~151
%% 重新定义 threeparttable 包的 tablenotes 环境
\renewlist{tablenotes}{description}{1}
\setlist[tablenotes]{%
format=\normalfont\tnote@item,align=right,listparindent=\parindent,
labelindent=\tabcolsep,leftmargin=*,rightmargin=\tabcolsep,
after=\@noparlisttrue}
\AtBeginEnvironment{tablenotes}{%
\setlength\parindent{2\ccwd}%
\normalfont\footnotesize}
\AtBeginEnvironment{threeparttable}{%
\stepcounter{tpt@id}%
\edef\curr@tpt@id{tpt@\arabic{tpt@id}}}
\newcounter{tpt@id}
\def\tnote@item#1{%
%\Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}{#1}
%\Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}{\color{red}\textsuperscript{#1}}}
% modify the \textsuperscript{#1} here and change your ideal font style freely...
\Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}{\begin{tikzpicture}[scale=.5] \duck[signpost=#1] \end{tikzpicture}}} % 你甚至可以在这里画一只鸭子...
\def\TPTtagStyle#1{\hyperlink{\curr@tpt@id-#1}{#1}}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{table}[htbp]
\caption{A table with notes}\label{tab:tablenotes}
\centering
\begin{threeparttable}
\begin{tabular}{*4{c}}\toprule
Table head\tnote{1} & Table head\tnote{1} & Table head\tnote{2} & Table head\tnote{2} \\ \midrule
Some values & Some values & Some values & Some values \\
Some values & Some values & Some values & Some values \\
Some values & Some values & Some values & Some values \\
Some values & Some values & Some values & Some values \\ \bottomrule
\end{tabular}
\begin{tablenotes}
\footnotesize
\item[1] The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
\item[2] The quick brown fox jumps over the lazy dog.
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
请首先使用围栏代码块语法(你需要三个`
)让你的代码正确高亮,否则缺少\
让人怎么帮你debug...
\documentclass[12pt]{article}
\usepackage{ctex}
\usepackage[a4paper]{geometry}%
% \usepackage{setspace} % 设置文档的行距
% \usepackage{caption} % 处理表格和图形的标题
% 表格相关
\usepackage{booktabs} % 三线表
% \usepackage{makecell} % 表格内换行
% \usepackage{float}
% \usepackage{array}
% \usepackage{tabularx} % 设置表格的宽度
% \usepackage{longtable} % 表格跨页
\usepackage{tabularray}
% \usepackage{microtype} % 改善对齐
\DefTblrTemplate{contfoot-text}{default}{textit{Continued on next page}} % 续表
\NewTblrTheme{no-caption}{
\SetTblrTemplate{head}{empty}
\SetTblrTemplate{caption}{empty}
}
\begin{document}
% Panel B
\begin{flushleft}
\textbf{Table B4 (cont.)} \\
Using an Alternative Measure of Social Interaction
\end{flushleft}
\vskip -1cm \vskip 0pt
\begin{longtblr}[
entry=none,
label=none,
]{
width = \linewidth,
rowhead = 3,
colspec = {X[c,4.5cm]X[c,2cm]X[c,2cm]X[c,2cm]X[c,2cm]X[c,2cm]X[c,2cm]},
colsep = 0cm,
cells = {c,m},
stretch = 0.43,
% rowsep = 0pt, %感觉行距大点会更好...
cell{1}{1} = {c=7, r=1}{l},
cell{2}{1} = {c=1, r=2}{c},
hline{1,2,Z} = {0.06em},
hline{3,4} = {0.04em},
row{2,4-Z} = {ht=0.4cm, font=\small},
column{1} = {font=\itshape\small},
row{1} = {ht=0.5cm, font=\normalsize},
row{3} = {ht=1.2cm},%修改行高我感觉观感就可以了...
}
{Panel B: OLS regression} & & & & & & \\
& (1) & (2) & (3) & (4) & (5) & (6) \\
& {Rel\_Rec} & {CAR\\[-1ex]{}[$-1$, $+1$]} & {CAR\\[-1ex]{}[$-2$, $+2$]} & {CAR\\[-1ex]{}[$-3$, $+3$]} & {CAR\\[-1ex]{}[$-5$, $+5$]} & {BHAR\\[-1ex]{}[$+2$, $+30$]} \\
% attention here {CAR\\{}[...]}
% {}不能缺,具体原理我也不确定,似乎会被识别成\[ \]..导致报错
Social Interaction & 0.086*** & 0.546** & 0.740** & 0.659* & 0.807* & 1.270*** \\
& (6.32) & (2.39) & (2.53) & (1.95) & (1.86) & (2.62) \\
\end{longtblr}
金融学..累计超额收益率...挺不错的...
% 下一页
\newpage
\end{document}
关于行距,我没找到tabularray
比较方便的接口...略作修改如上...
可以使用lscape
宏包提供的landscape
环境实现
\documentclass[fontset=ubuntu]{ctexart}
\usepackage{lscape}
\usepackage{graphicx}
\usepackage{zhlipsum}
\begin{document}
\zhlipsum[1-2]
\begin{landscape}
\begin{figure}
\centering
\includegraphics[width=.95\linewidth]{figure.png}
\caption{装修结构平面图}
\end{figure}
\end{landscape}
\zhlipsum[1-2]
\end{document}
不是很优雅...
\documentclass[UTF8]{ctexart}
\usepackage{array,tabularray,geometry,xcolor}
\NewColumnType{W}[1]{>{\centering\arraybackslash}Q[m,wd={#1}]}
\geometry{margin=2pt,papersize={8cm,8cm}}
\pagestyle{empty}
\begin{document}
\vspace*{\fill}\begin{center}
\begin{tblr}{
colspec={W{4\ccwd}m{4\ccwd}W{4.5\ccwd}W{3\ccwd}},
hlines,vlines,
colsep=0pt,
% stretch=0,
cell{1}{3}={red},
}
所想即为所得 & 所想即所得 & {\makebox[4.51\ccwd]{所想} \\即所得}&所想即所得\\
& & 所想即所得 & \\
\end{tblr}
\end{center}\vspace*{\fill}
\end{document}
\exp
本来就应该是正体,我的看法是接受他,你既然选择了mtpro2
,那么就应该接受它优点和缺点。
或者你应该具体描述你想达到什么效果?
问 LaTeX如何用xeCJK调用windows专用字符编辑程序创建的TTE字体?