翻阅远古提问,我猜测你是想要实现「随机抽题」
既然你已经提到
需要设置随机数生成的种子以确保文档中生成的内容每次编译都相同
言外之意是你已经有一个可以基于randques
实现生成随机内容的文档,请提供这个文档的完整源代码,这样才能找到最合适的固定 random seed 的方法。
另外,关于randques
宏包的官方下载来源,也建议你贴一个链接.是否是: https://www.latexstudio.net/archives/8366.html?
👉 randques.pdf
👉 test.tex
👉 test.pdf
也可以使用luadraw
:
\documentclass[12pt]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage[3d]{luadraw}
\usepackage{fouriernc}
\begin{document}
\begin{luadraw}{name=elippse-circle}
local g = graph3d:new{window={-5,5,-5,5}, viewdir={120,60}, size={12,12}}
g:Linejoin("round"); g:Linewidth(4)
Hiddenlinestyle = "dashed"
local k = 4
local R = 3
local Z0 = 3
local C1 = cone(Origin,k*vecK,R,100,true)
local C2 = cone(Origin, -k*vecK,R,100,true)
local P2 = {M(0,0,-Z0),vecK} -- plan de coupe
local P1 = {M(0,0,Z0-1),vecI + 2*vecK } -- plan de coupe
local I1 = g:Intersection3d(C1,P1)
local I2 = g:Intersection3d(C2,P2)
g:Dcone(Origin,k*vecK,R,{color="orange"}) g:Dcone(Origin,-k*vecK,R,{color="orange"})
g:Lineoptions("solid","Navy",12)
g:Dedges(I1,{hidden=true})
g:Dedges(I2,{hidden=true})
g:Show()
\end{luadraw}
\end{document}
\documentclass[12pt]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage[3d]{luadraw}
\usepackage{fouriernc}
\begin{document}
\begin{luadraw}{name=elippse-cylinder}
local g = graph3d:new{window={-5,5,-5,5}, viewdir={120,60}, size={12,12}}
g:Linejoin("round"); g:Linewidth(6)
Hiddenlinestyle = "dashed"
local k = 6
local R = 3
local Z0 = 2
local C = cylinder(Origin,k*vecK,R,100,true)
local P = {M(0,0,Z0),vecI + 2*vecK} -- plan de coupe
local I1 = g:Intersection3d(C,P)
g:Dcylinder(Origin,k*vecK,R,{color="gray"})
g:Lineoptions("solid","Navy",12)
g:Dedges(I1,{hidden=true})
g:Show()
\end{luadraw}
\end{document}
just curious: 这个链接究竟问了几个问题(?)
在 texhigh
环境中,怎样不打印「显式空格」?我希望能使用「不可见空格」
%\THSetCharReplacement{\ }{\ }%%\textvisiblespace
手册写道:texhigh
已设置。这是什么意思?
在texhigh
使用打字机族时,是否支持两端对齐?
问题一:
对于你的mwe
,直接使用latexmk -pdf --shell-escape
编译即可得到不可见空格
\documentclass{article}
\usepackage{texhigh}
\begin{document}
\begin{texhigh}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{texhigh}
\end{document}
而若根据文档3.3
节中的内容加上char-replacements={\ =\textvisiblespace}
,可以局部设置texhigh
环境显示visable space
\documentclass{article}
\usepackage{texhigh}
\begin{document}
\begin{texhigh}[char-replacements={\ =\textvisiblespace}]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\end{texhigh}
\end{document}
清除所有辅助文件后编译可以得到:
问题二:
你似乎没有指出具体是在文档的哪个部分(?)例如(?):
问题三:
P.S.你上面的提问内容意味着让「每一位潜在的回答者」都要花20积分下载,这会大大打击回答的热情,你显然应该上传文件。(帮你做了...)
latexmk
会同时进行多个操作,并不利于定位问题debug和简化问题,同时压缩包中包含的.latexmkrc
命令默认的配置为pdflatex
,这与模板不契合,且在这里恶行累累,做测试的时候务必不要使用这个.latexmkrc
配置.(到底是哪里在流传这份.latemkrc
配置...)请说明你的两种情况下的编译命令,如有报错信息,也应该提供。由于链接中还包含了latexmkrc
配置,使用latexmk
和xelatex
编译在这个例子里是大不相同的.
在texpage平台使用xelatex
测试的编译结果为:
TL21正常
TL22不正常
TL23不正常
TL24不正常
TL25不正常(不interrupt编译过程,但是编译效果也是不正确的)
首先一个主要的观点是,conbine
模块和combinet
宏包已经和现在的latex2e
内核格格不入,cfr在这里提到:
don't use combine
with current latex.
在combine
的CTAN主页上,这个包已经有十几年没有根据新的内核做适配和更新了...
This Package seems not to be maintaned anymore. It is not working with current distributions (since at least November 2020). See for instance the following comments on github: https://tex.stackexchange.com/questions/591145/extra-endgroup-error-when-using-the-combine-document-class
\contentsline
参数问题:直接使用TL22及以上编译会得到如下错误:
LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.4 \contentsline
{coltocauthor}{\numberline {}钱学森 \hskip 1em\relax 乌家培}{8}
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.
可以看一下编译生成的main.toc
文件:
% main.toc
\contentsline {coltoctitle}{\numberline {}组织管理的技术——系统工程}{1}
\contentsline {coltocauthor}{\numberline {}钱学森 \hskip 1em\relax 许国志 \hskip 1em\relax 王寿云}{1}
\contentsline {coltoctitle}{\numberline {}组织管理社会主义建设的技术——社会工程}{2}
\contentsline {coltocauthor}{\numberline {}钱学森 \hskip 1em\relax 乌家培}{2}
\contentsline {coltoctitle}{\numberline {}军事系统工程}{3}
\contentsline {coltocauthor}{\numberline {}钱学森 \hskip 1em\relax 王寿云 \hskip 1em\relax 柴本良}{3}
注意到这里的\contentsline
只吞下3个参数:
{coltocauthor}
{\numberline {}钱学森 \hskip 1em\relax 乌家培}
{8}
而在source2e.pdf
中提到,在2021-11以后,为了兼容hypperref
,\contentsline
现在已经修改为四参数形式。这也正是在TL21之后不能正确编译的原因。
\begingroup
做patch这也正是上述模板中main.tex
的Line20-22使用的patch:
\makeatletter
\let\document\c@ladocument\begingroup%
\makeatother
fancyhdr
的兼容性不好参考链接:https://tex.stackexchange.com/a/348189/322482
\begin{papers}
\makeatletter\let\@makecol\latex@makecol\makeatother
\import{sub}
\end{papers}
tikz
/newtx
/xcolor
的兼容性同样不好使用TL22及以上编译会得到:
! Undefined control sequence.
\set@color ...\@pdfcolorstack push{\current@color
}\aftergroup \reset@color
l.6 \end{document}
参考链接:https://tex.stackexchange.com/q/723346/322482
..
combine
不可吗?完全有很多方案实现类似的多个\maketitle
的效果(^_^)建议不要再用这个模板,不要再用这个很久无人维护的文档类。@u7867 我来补充点信息吧..
首先你的mwe.tex
中:
% line 13
\begin{table}[htb]
\caption{Title} \label{tab24022314}
\begin{threeparttable}%[htb]
\setlength{\tabcolsep}{1pt}
\begin{tabular}{|c|c|}}%<-多了一个「}」
\hline
a & b \\
c & d \\
\hline
\end{tabular}
\begin{tablenotes}
\item The conditions
\end{tablenotes}
\end{threeparttable}
\end{table}
我猜测你是在这里下载到的模板,在提问时,对于可公开获取的内容,理应贴出来下载链接,这样更方便保证来源的官方性.
从上述的页面可以下载到:
sn-article.tex
文件:sn-article.texuser-manual
!!!同时熟悉模板给的示例问题,并结合手册逐段做理解...我假定你也不想去读Osvert Wang说的源码sn-jnl.cls
文件...
编译你的代码可以得到如下错误:
! Package threeparttable Error: Illegal nested threeparttable environments.
See the threeparttable package documentation for explanation.
Type H <return> for immediate help.
...
l.12 \setlength
{\tabcolsep}{1pt}
?
什么是nested threeparttable environments
呢?
你这里是table
内嵌threeparttable
再内嵌tabular
.
事实上此时table
和threeparttable
都提供了浮动环境来让tabular
浮动...
作为用户,应该始终熟读「User Manual」再使用!!!
其中的7.3节告诉了正确的使用方式,和啸行老师提到的一致:
再在上面的示例中找对应的用法,此时已经自动实现了三线表:
作为用户,如果仔细阅读过「User Manual」和「示例代码」,其实是不会做出手动调用threeparttable
并作神必嵌套这件事的...
你没看sn-jnl.cls
文件,1324行已经有\usepackage{threeparttable}
了,从1332行开始又重新定义了 table 环境,重定义里用了threeparttable
% sn-jnl.cls Line 1323~1350
\usepackage[figuresright]{rotating}%
\usepackage{threeparttable}
\let\tableorg\table%
\let\endtableorg\endtable%
\let\sidewaystableorg\sidewaystable%
\let\endsidewaystableorg\endsidewaystable%
\renewenvironment{table}[1][]%
{\begin{tableorg}[#1]%
\begin{center}
\begin{threeparttable}
\tablebodyfont%
\renewcommand\footnotetext[2][]{{\removelastskip\vskip3pt%
\let\tablebodyfont\tablefootnotefont%
\hskip0pt\if!##1!\else{\smash{$^{##1}$}}\fi##2\par}}%
}{\end{threeparttable}\end{center}\end{tableorg}}
\renewenvironment{sidewaystable}[1][]%
{\begin{sidewaystableorg}[#1]%
\begin{center}
\begin{threeparttable}
\tablebodyfont%
\renewcommand\footnotetext[2][]{{\removelastskip\vskip3pt%
\let\tablebodyfont\tablefootnotefont%
\hskip0pt\if!##1!\else{\smash{$^{##1}$}}\fi##2\par}}%
}{\end{threeparttable}\end{center}\end{sidewaystableorg}}
所以"什么是nested threeparttable environments
呢?"
因为此时的table
内部已经是一个threeparttable
,所以你在table
内部用threeparttable
就是在嵌套threeparttable
环境...
我也来贡献一个答案,如果我来画这个图的「精确形式」的话,我会先搜答案:
答案给了我们一个新的条件:「AB/AD=7/4」
至此我们其实已经可以唯一确定这个图形了
图形的唯一确定是不太难的,此时45°的条件已经和现有的比例条件是可以互推的。但是画图的难点在于,如何让线段BC保持水平,我下面的代码利用了三角函数的方法来确定A/B/C的精确坐标。
\documentclass[border=5pt]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[scale=.5]
\def\c{7}
\def\b{\fpeval{4+4*sqrt(65)/3}}
\def\a{\fpeval{sqrt(\c^2+\b^2)}}
\def\myangle{\fpeval{atan(\b/\c)}}% radians
\tkzDefPoint(0,0){B}
\tkzDefPoint(\c*cos(\myangle),\c*sin(\myangle)){A}
\tkzDefPoint(\a,0){C}
\tkzDrawPolygon[thick](A,B,C)
% 取点「D」,满足「AD」=「4/7AB」= 4
\tkzDefPointWith[linear normed,K=4](A,C) \tkzGetPoint{D}
% ref: https://ask.latexstudio.net/ask/question/17889.html
\tkzDrawSegment[thick](B,D)
% 取点「D」,满足「AD」=「DE」= 4
\tkzDefPointWith[linear normed,K=4](D,B) \tkzGetPoint{E}
\tkzDrawSegment[thick](E,C)
\tkzMarkRightAngle[semithick,size=.6](B,A,C)
\tkzMarkAngle[semithick,size=.6](C,E,D)
\tkzLabelAngle[pos=1.25](C,E,D){$45^\circ$}
\tkzLabelPoint[above](A){$A$}
\tkzLabelPoint[left](B){$B$}
\tkzLabelPoint[right](C){$C$}
\tkzLabelPoint[above right=-2pt](D){$D$}
\tkzLabelPoint[below](E){$E$}
\end{tikzpicture}
\end{document}
从画图的角度来看,个人觉得预先做一些计算会更容易画一些...
另外这题是真难啊,得积累积累做题经验...
off-topic: 在typst中这不是很困难...
Hello, world. #box(baseline: 100%-.75em)[
+ aaaa
+ bbbb
+ cccc
+ dddd
+ eeeee Hello, world. #box(baseline: 100%-.75em)[
+ aaaa
+ bbbb
+ cccc ahahah hahhaha aaaaa #box(baseline: 100%-.75em)[
+ aaaa
+ bbbb
+ cccc
]
]
]
等@雾月 老师做介绍吧
贴个省流版,前几天已经更新了极其友好的中文文档,我个人觉得这个问题可能会得到RTFM的回答...
https://github.com/Sophanatprime/texhigh-rs/blob/main/README-zh_CN.md
https://github.com/Sophanatprime/texhigh/blob/main/texhigh-zh_CN.pdf
另一个方案是基于luadraw
(需要自行安装并用lualatex
编译)
\documentclass[12pt]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage[3d]{luadraw}
\usepackage{fouriernc}
\begin{document}
\begin{luadraw}{name=project_line_3D}
local g = graph3d:new{
window3d={-1,3,-2,3,-2,2},
window={-3,3,-3,2},
viewdir={30,60},
size={10,10},
border=true
}
g:Linejoin("round")
g:Linewidth(4)
Hiddenlines = true
Hiddenlinestyle = "dashed"
local A,B,C = M(0,1,0), M(3,2,0), M(2.5,0,1)
local D = dproj3d(C,{B,A-B}) -- 返回C在直线d:{B,A-B}的投影
g:Ddots3d({A,B,C,D})
g:Dscene3d(
g:addAxes(Origin, {arrows=1,arrowscale=0.75,color="blue"})
)
g:Dpolyline3d({{A,B,C,A}, {C,D}})
g:Dangle3d(C,D,A,0.2)
g:Dlabel3d(
"$A$",A,{pos="N"},
"$B$",B,{pos="S"},
"$C$",C,{pos="N"},
"$D$",D,{pos="E"}
)
g:Show()
\end{luadraw}
\end{document}
更建议从源头上解决问题。
在记笔记时发现有些SQL语言的关键字并未能被 minted 环境识别出来,被当成普通字符处理,输出为黑色。但强迫症让我想去手动修改未被上色的关键字以保证笔记效果。例如DATABASE
关键字无法被SQL
正确识别为高亮。
注意到minted
是基于pygments
的,因此所有支持的语言和关键字应该查看这里。
我没有仔细搜索,但是
DATABASES
不是 SQL
的关键字DATABASES
是 MySQL
的关键字所以可以考虑治本...
\documentclass[fontset=fandol]{ctexart}
\usepackage[margin=1cm]{geometry}
\usepackage[svgnames]{xcolor}
\usepackage{minted}
\begin{document}
\begin{minted}[
bgcolor = gray!10,
breaklines = true
]{MySQL}
DATABASES Explorer
-- 按产品类别和季度统计销售数据
SELECT
product_category, -- 产品类别
quarter, -- 季度(1-4)
total_sales, -- 总销售额
order_count, -- 订单数量
avg_order_value -- 平均客单价(总销售额/订单数)
FROM (
-- 子查询:计算每个订单的销售额,并提取年份和季度
SELECT
product_category,
-- 提取订单日期的年份和季度(兼容 MySQL、PostgreSQL、SQL Server)
DATE_FORMAT(order_date, '%Y') AS year,
QUARTER(order_date) AS quarter,
order_id,
SUM(unit_price * quantity) AS order_sales -- 单订单销售额 = 单价×数量
FROM
sales
WHERE
order_date >= '2023-01-01' -- 筛选2023年数据
AND order_date < '2024-01-01'
AND unit_price > 0 -- 排除异常数据(单价为0的订单)
GROUP BY
product_category, year, quarter, order_id -- 按订单粒度聚合
) AS order_details
-- 外层聚合:按类别和季度统计
GROUP BY
product_category, quarter
-- 按类别升序、季度升序排序
ORDER BY
product_category ASC,
quarter ASC;
\end{minted}
\end{document}
至于如何「自定义minted
的关键字」,按照这里的说法,这似乎不是一个LaTeX的问题,而是一个Python层面的问题....
有空可以研究一下补上,挖坑😀
与TL的版本无关。
此事在此亦有记载。
在comment
宏包的文档中我们可以看到:
comment
的环境内不能有任何前方的空格和后方的内容。上图中\begin{solution}
前有8个空格...
%
是否存在、是否用在正确的位置都可能影响结果。下面的代码去掉前导空格之后即可以正确工作...
\documentclass{ctexart}
\usepackage{zhlipsum}
\newenvironment{solution}{\par
\textbf{答案}\quad
}{\par}
\usepackage{comment}
\excludecomment{solution} % 添加这两句话将注释掉所有的`solution`环境
\begin{document}
\begin{enumerate}
\item 第一题
\begin{solution}
\zhlipsum[1]
\end{solution}
\item 第二题
\begin{solution}
\zhlipsum[2]
\end{solution}
\end{enumerate}
\end{document}
当有多个问题时,请分点描述。
如何选择合适的 LaTeX 编辑器?
Install-Guide-zh-cn的5.6节
TeXStudio样子不够美观,对我来说是在用,但估计很多的技巧我都不会;请问下大佬们有没有这方面使用的资料可以引导我一下。
不要为了学技巧而学技巧。你可以具体提问是否有一些很麻烦的操作,并询问在某个编辑器中是否有高效的办法。非要技巧的话...当然是官方文档,介绍了TXS的所有功能。
BTW,关于配置也只需要下面这段在Install-Guide的附录B.4的配置即可.
作为新手,直接copy即可。对于这种详细配置的方法,没有、也不应该期待有详细的中文介绍如何配置的文章,所有的配置都在LaTeXWorkshop的wiki中,要想真正得其法,只能读文档。
我一直也想像知乎上面那些大佬们设置片段,但不得其法。
要想设置代码片段「a.k.a. "snippets"」,这是vscode作为编辑器提供的功能。可以参见这里的官方介绍。另外你也可以考虑借助大语言模型尝试给你正确的snippets
配置到相关的例如latex.json
文件中。同样的,也有一些网站专门帮助生成snippets
片段。
另外,在texstudio中,Ctrl+B,会把文字加上加粗的标记,在 VS Code 有这样的操作方法么?
所有快捷键和效果可见这个链接里的cheatsheet。
但很遗憾,LaTeXWorkShop没有重载这个快捷键,但你可以通过修改keybindings.json
自行配置。
BTW, LaTeXworkshop插件提供了用来加粗的方式:
需要先按「Ctrl+I」再按「Ctrl+B」....当然你都可以自己改,但要注意和现有的快捷键有冲突要处理....
另外 VS Code 编辑 TeX,有没有学习的资料
...ummm
可以在这里写一篇...
首先要认识到的是,无论使用什么工具,本质上都是用命令行编译。
pdflatex
也好.tex
文件,输入比如说"你好世界"latexmk -pdfxe mwe.tex
」回车即可,同时终端会显示编译的日志就是给你一个页面可以往里面输入代码。
需要注意的的是,只有当你新建了.tex
文件,左侧才会出现对应的"TEX"图标。
settings.json
里配置的recipe
键的值,应该根据代码选择合适的编译方式点击绿色三角,编译就会按照对应的方式(注意,这跟前面在命令行输入代码实际上是完全相同的)自动进行,可在左下角查看状态,在下方的「Problems」面板查看报错信息。
0.精通lshort-zh-cn
,没有基础和一定的debug能力很难做开发
1.找几个同类的「论文模板」作为参照
2.分析其大致需要哪些模块的功能,使用了哪些宏包
3.精读这些宏包的文档并进一步看懂这些模板的源码
4.根据贵校的论文格式规范做修改,完善模板
notes:不用过多涉及plain-tex,是否需要latex3要看个人选择.
It seemly consists two questions:
Noted that, one post should just focused on just one core point. BTW, you'd better provide an MWE, which make it convenient for users on the site to test and start with.
For the first one, you may have a look at chngcntr
package(which has been in the 2e-kernel)
For the second one, maybe you can give a glance on tocbasic
package in koma-script bundle.
此处用tocbasic
似乎不是非常合适,因为这需要exercise
成为浮动体。
最好是模仿\section
里的\@starttoc
功能做类似的实现。
问 能不能细致的讲一下randques.sty包的使用(运行频频出错)?