可以用 \UseName
接口,以及貌似 2021 还是哪个版本(记不清了)之后 xparse
不需要显示载入。
\documentclass{article}
\expandafter\NewDocumentCommand\csname cmd_1_a\endcsname{m O{}}{123 #1 #2}
\begin{document}
\UseName{cmd_1_a}{4}[6]
\end{document}
可以用 \UseName
接口,以及貌似 2021 还是哪个版本(记不清了)之后 xparse
不需要显示载入。
\documentclass{article}
\expandafter\NewDocumentCommand\csname cmd_1_a\endcsname{m O{}}{123 #1 #2}
\begin{document}
\UseName{cmd_1_a}{4}[6]
\end{document}
问题出在setp-new.cls
的第14行
\LoadClass[fontset=windows,a4paper,oneside,UTF8]{ctexart}
这里调用了 windows 的字体设置,改成 mac:
\LoadClass[fontset=mac,a4paper,oneside,UTF8]{ctexart}
我这是 mactex 2023,xelatex下编译通过
问题来源于想排版长表格,旋转 longtable
环境。因为涉及到浮动体,一般的 rotatebox
这些失效了。目前找到的最佳方案就是结合 landscape
环境。但是效果和上面的 MWE 的效果是一样的,页面被转了,一些人可能要投期刊,他们希望还是保持正常的竖直状态,不旋转页面,只旋转内容。
目前只能拆开长表格为多个表格,比较麻烦。
你没有提供 bib 文件
最起码你要的效果你给张图,比如什么教材上有
\documentclass{ctexbeamer}
\usepackage{tabularray}
\begin{document}
\begin{frame}
\frametitle{表格修饰的主要方法}
\begin{table}
\centering
\begin{tblr}{
cells = {m},
colspec = {Q[c]Q[l,20em]},
hline{1,Z} = {1pt},
hline{2},
row{2} = {cmd = \alert<2>},
row{3} = {cmd = \alert<3>},
row{4} = {cmd = \alert<4>},
row{5} = {cmd = \alert<5>},
row{6} = {cmd = \alert<6>},
row{7} = {cmd = \alert<7>},
}
修饰内容 & 主要属性\\
框线 & 样式、颜色、宽度\\
底纹 & 颜色、图案(样式、颜色)\\
大小 & {自动调整:根据内容、根据窗口 \\指定宽高:指定高度、宽度(厘米、百分比) \\均分行列:分布行、分布列}\\
对齐 & {九宫格对齐:表格其实只控制了上中下对齐,左右对齐是用段落 \\文字方向:简化的页面设置--文字方向 \\单元格边距:内容盒子和格盒子的距离}\\
内容 & 同具体对象的设置一样\\
\end{tblr}
\end{table}
\end{frame}
\end{document}
推荐使用 tabularray
宏包
\documentclass{ctexart}
\usepackage{tabularray}
\usepackage[a4paper]{geometry}
\begin{document}
\begin{tblr}{
hlines,
vline{2-5},
cells = {m, c},
cell{2}{1} = {r = 7}{c},
cell{2}{2} = {r = 4}{c},
cell{6}{2} = {r = 3}{c},
column{3} = {6cm, c},
}
变量 & 维度 & 题项 & 变量类型 & 赋值 \\
子女学业负担 & 学习时间 & 孩子平均每天完成学校布置的作业的时间为? & 连续型变量 & \\
~ & ~ & 孩子平均每周参加补课的时间为?& 连续型变量 & \\
~ & ~ & 孩子平均每周完成课外辅导班(家教、家长)布置的作业的时间为? & 连续型变量 & \\
~ & ~ & 孩子上学期间平均每天的睡眠总时间(包含午睡)为?& 连续型变量 & \\
~ & 学业压力 & 孩子在学习时对自身感到满足和喜悦的程度?& 多分类变量 & {1-程度很高 \\ 2-程度较高 \\ 3-程度一般 \\ 4-程度较低 \\ 5-程度很低 }\\
~ & ~ & 学生在学习中感到焦虑、厌倦的程度?& 多分类变量 & {1-程度很低 \\ 2-程度较低 \\ 3-程度一般 \\ 4-程度较高 \\ 5-程度很高} \\
~ & ~ & 学生在学习时出现对学习的抵触行为?& 多分类变量 & {1-很少 \\ 2-较少 \\ 3-一般 \\ 4-较多 \\ 5-很多}
\end{tblr}
\end{document}
只加黑框的话,可以考虑 empheq
宏包,并且 \tag
改为 \text
(因为加框后整个框看成了整体,tag会出现在下面,如果要保持效果不变的话,使用 \text
,且理论上来说,如果你真需要两端对齐,可以在 \text
的参数里面调整水平间距
\documentclass{ctexart}
\usepackage{empheq}
\usepackage[showframe]{geometry}
\geometry{a4paper,left = 1.5cm, right = 1.5cm, top = 2.6cm, bottom = 3cm}
\begin{document}
\begin{empheq}[box = \fbox]{align*}
c (\mathrm{H_2A}) & = \dfrac{c (\mathrm{H_2A})}{c (\mathrm{H_2A}) + c (\mathrm{HA^-}) + c (\mathrm{A^{2-}})}c_0
\text{\qquad (根据物料守恒:$ c_0=c (\mathrm{H_2A}) + c (\mathrm{HA^-}) + c (\mathrm{A^{2-}})$是常值)}
\\ & = \dfrac{1}
{1 + \dfrac{c (\mathrm{HA^-})}{c (\mathrm{H_2A})} + \dfrac{c (\mathrm{A^{2-}})}{c (\mathrm{H_2A})}}c_0
=\dfrac{1}
{1 + \dfrac{K_{\mathrm{a}1}}{c (\mathrm{H^+})} + \dfrac{K_{\mathrm{a}1}K_{\mathrm{a}2}}{c^2(\mathrm{H^+})}}c_0
\\ & = \dfrac{c^2(\mathrm{H^+})}
{c^2(\mathrm{H^+}) + K_{\mathrm{a}1}c (\mathrm{H^+}) + K_{\mathrm{a}1}K_{\mathrm{a}2}}c_0,
\end{empheq}
\end{document}
你的第一行少了一个&
:
\documentclass{ctexart}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{colspec={|Q[c,0.1\linewidth]|Q[c,0.4\linewidth]|Q[r,0.45\linewidth]|},rowspec={Q[c]Q[l]}}
\hline
\SetCell[c=2]{c} {abcABC} & & DE \\
\hline
ABC & ABC & ABC \\
\hline
\end{tblr}
\end{document}
给个不能嵌套的理由?
你这个“第二段”一定在行首?
想要那样的效果最直接的就是把外面的文字放在表格里:
\documentclass{ctexart}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
cell{1}{1} = {r = 3}{c},
column{2} = {c}
}
2021年 & 哈尔滨师大附中 & \\
& 东北师大附中 & 高三第一次联考 \\
& 辽宁省实验中学
\end{tblr}
\end{document}
用graphbox
宏包(默认加载graphicx
宏包,所以只加载前者即可)
在includegraphics
的可选参数中加入align=c
(我用了自己的图photo.pdf
,替换成自己的即可)
\documentclass{ctexart}
\usepackage{tabularray}
% \usepackage{graphicx}
\usepackage{graphbox}
\begin{document}
\begin{tblr}{vlines,hlines,colspec={X[2]X[2]X[2,m]X[1]X[1]},colspec={Q[c,m]Q[c,m]Q[c,m]Q[c,m]Q[c,m]},rows={1.5cm}}
你好&你好&你好&你好&你好\\
你好&你好&\framebox{\includegraphics[width=2cm,align=c]{photo.pdf}}&你好&你好\\
你好&你好&你好&你好&你好\\
你好&你好&你好&你好&你好\\
\end{tblr}
\end{document}
结合l3和xparse宏包的NewDocumentCommand写了一个
\documentclass{article}
\usepackage{tikz}
\ExplSyntaxOn
\dim_new:N \l_circle_radius_dim
\dim_new:N \l_times_circle_distance_dim
\keys_define:nn {timedot}{
radius.dim_set:N =\l_circle_radius_dim,
radius.initial:n=1pt,
distance.dim_set:N =\l_times_circle_distance_dim,
distance.initial:n=2pt
}
\NewDocumentCommand{\timedot}{O{}}{
\keys_set:nn {timedot}{#1}
\ensuremath{\mathbin{
\tikz[baseline]{
\fill[black] (0,0)node[above=\l_times_circle_distance_dim,inner~sep=0pt,outer~sep=0pt]{\ensuremath{\times}} circle (\l_circle_radius_dim);}}}
}
\ExplSyntaxOff
\begin{document}
$T$\timedot$L$
$T$\timedot[distance=3pt,radius=2pt]$L$
\end{document}
用tikz把LaTeX2e中说的vertical center和 centerline of the adjacent line画出来了,确实是这样的,中文书的说法果然有问题
\documentclass{ctexart}
\usepackage{tabularray}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{minipage}[c]{3em}
\begin{tikzpicture}[baseline]
\node[draw,inner sep=0pt,outer sep=0pt](b){测试};
\draw[fill=black] ([xshift=-2mm]b.west)--([xshift=2mm]b.east);
\end{tikzpicture}
\end{minipage}
\begin{minipage}[c]{3cm}
\begin{tikzpicture}[baseline]
\node[draw,inner sep=0pt,outer sep=0pt](a){\includegraphics[width=30mm]{tx.pdf}};
\draw[fill=black] (a.west) circle (0.5pt);
\end{tikzpicture}
\end{minipage}
\end{document}
问 如何使用 LaTeX3自定义一个命名中包含特殊字符的命令