Sagittarius Rover
Sagittarius Rover
我要成为Typst糕手/(ㄒoㄒ)/~~

注册于 3年前

回答
333
文章
0
关注者
14

PLA2.fasta文件您并没有提供😊别人无法进行测试

参考这个链接: https://tex.stackexchange.com/a/650056/322482

目测更新到v1.26即可

请给一个完整的代码例子。

并详细描述「实际效果」和「预期效果」的差异。

请先测试hello, world!!!!

文件配置是全的,完全一样的文件在别人电脑上的运行没有问题

表述很模糊,什么文件配置,又是什么全的,怎么个全法?

需要使用「补充问题」功能进一步修改完善你的问题

请正确使用markdown语法,不会markdown语法不要提问

请提供完整的最小工作示例代码/模板链接

完整——不含任何省略号,从\documentclass开始到\end{document}结束

比如谁会知道siamart220329是什么文档类???在哪里可以获得???

image.png

问题极不明确

你要是不能描述你具体哪里不会排,这看起来更像是「请帮我完成以下排版任务」;与其如此,不如你找这个公众号的主人,给点钱让把源码发你

请不要把提问区当成许愿池,提问需要基本的诚意

这个论坛上活跃答题的就那么几个,要是你总是不遵守论坛规则,估计后面没人愿意回答了

(你好好写label很难吗??令人看着不太舒服,而且多次提醒)


image.png

image.png

image.png

你昨天说「哈哈,我排了没成功,所以问问」

那你的最小工作示例代码呢?作为一门写代码的学问提问不给代码?没有代码让人手工给你造轮子?

要想在论坛获得满意的答案,你首先「必须」付出并展示足够的努力(试问你付出了多少时间,上面的提问看起来就像是看到一个好看的一点尝试都没做就发出来问「如何实现」),让人能看到「他确实花了很多时间,确实在某个地方遇到了障碍」,而不是直接「伸手」....

推荐阅读:提问的智慧


image.png

由于提问极不规范而且缺少诚意...

随便答了,假定你要在enumerate内使用自定义bullet,自己画一个即可:

\documentclass{article}
\usepackage{tikz,enumitem,lipsum}
\newcommand*\mybullet[2][cyan]{%
    \tikz[baseline=(char.base)]{%
        \node[rectangle, fill=#1, inner sep=2pt, minimum height = 1.3em,font=\bfseries\color{white}] (char) {#2};
        \draw[#1,very thin] ([yshift=-.3ex]char.south west) -- ([yshift=-.3ex]char.south east);
    }}
\begin{document}
\begin{enumerate}[label=\protect\mybullet{\arabic*},start=9]
    \item \lipsum[2]
    \item \lipsum[2]    
    \item \lipsum[2]
\end{enumerate}
\end{document}

image.png

⚠⚠⚠⚠⚠望引以为戒,正确规范提问。

本着「不要重复造轮子」的原则,一个比较适合的包是texdox xsim

一个简单的用例在这里

给一个更完整点的例子(注意可能要手动删除.xsim文件以防止错误的结果):

\documentclass{article}
\usepackage{xsim}
\usepackage{lipsum}
\DeclareExerciseCollection[label=A]{A}
\DeclareExerciseCollection[label=B]{B}
\DeclareExerciseCollection[label=C]{C}
\DeclareExerciseCollection[label=D]{D}
\DeclareExerciseTagging{label}
\xsimsetup{collect}
\begin{document}
\begin{exercise}[label=C]
  \textbf{C} \lipsum[2]
\end{exercise}
\begin{exercise}[label={A,B}]
  \textbf{A and B} \lipsum[2]
\end{exercise}
\begin{exercise}[label={B,C,D}]
    \textbf{B and C and D} \lipsum[2]
\end{exercise}
\begin{exercise}[label={D,A}]
    \textbf{D and A} \lipsum[2]
\end{exercise}

\section{AAA}
\printcollection{A}

\section{CCC}
\printcollection{C}

\section{DDD}
\printcollection{D}
\end{document}

image.png

Long Long Ago:

要求不使用参数方程,仍然使用自定义函数的方式

我不太能理解原因,是希望半个柱面用colormapA,另外半个柱面用colormapB吗?如果是,你应该直接说明你的最终需求,而不是中间需求「要求不使用参数方程,仍然使用自定义函数的方式」

图中ABCD四个位置明显渲染效果面积比其它位置大,如果增加样本量,这个现象还是存在。

这是因为采用「y=±√9-x^2」的形式, pgfplots在处理时对x domain行等距离的分划,可以发现在两端对应的半圆切片更大(也就是A、D、B、C面积更大)

而如果采用「{cosx,sinx,y}」的形式,被等距离分划的是圆心角,因此这样的各个子块的面积是相同的

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{colormaps,fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    scale=2,axis equal,
    view={120}{30},samples=20,
    xlabel={$X$},ylabel={$Y$}]
\addplot3[
    colormap/bluered,surf,
    z buffer=sort,
    domain=0:2*pi,
    y domain=-4:0,
    ]
    ({3*cos(deg(x))},{3*sin(deg(x))},{y});
\end{axis}
\end{tikzpicture}
\end{document}

image.png


Editted:两种颜色映射

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{colormaps,fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    scale=2,axis equal,
    view={120}{30},samples=20,
    xlabel={$X$},ylabel={$Y$}]
\addplot3[
        colormap/viridis,surf,
        z buffer=sort,
        domain=pi:2*pi,
        y domain=-4:0,
    ]
    ({3*cos(deg(x))},{3*sin(deg(x))},{y});
\addplot3[
        colormap/bluered,surf,
        z buffer=sort,
        domain=0:pi,
        y domain=-4:0,
    ]
    ({3*cos(deg(x))},{3*sin(deg(x))},{y});
\end{axis}
\end{tikzpicture}
\end{document}

image.png

Claim:不是很懂展开,做了一个(不一定合适)的尝试:

使用\exp_args:Nne 对参数进行e-type展开

\documentclass{exam-zh}
\newcommand{\foo}{a3paper}
% \def\foo{a3paper}
\ExplSyntaxOn
\RenewDocumentCommand \examsetup { m }{ 
    \exp_args:Nne \keys_set:nn {exam-zh} {#1} 
}
\ExplSyntaxOff
\examsetup{
  page/size={\foo},%可展的key-value
  sealline/show=true,%不可展的key-value
}

\begin{document}

花有重开日,人无再少年。花有重开日,人无再少年。

\end{document}

image.png


ctex-kit中,today这一key也是由.choice定义的:

image.png

下面的mwe也有类似的问题:

\documentclass[fontset=ubuntu]{ctexart}
\def\mytodaystyle{big}
\ctexset{
    today=\mytodaystyle,
}
\begin{document}

日期: \today

\end{document}
! Class ctexart Error: Today format `big' is undefined.

For immediate help type H <return>.
 ...

l.8 }

「似乎」也可以做类似的「展开」,但是l3keys默认是进行展开的,这样做是否会造成其他的问题,我不清楚...

\documentclass[fontset=ubuntu]{ctexart}
\def\mytodaystyle{big}
\ExplSyntaxOn
\exp_args:Ne
\ctexset{
    % today=big,
    today=\mytodaystyle,
}
\ExplSyntaxOff
\begin{document}

日期: \today

\end{document}

image.png

始终无法点中正确区域

点击位置不够「精确」,请睁大眼睛,准确点击「待点击对象」的「正中心」。

建议不要用「让代码就像文字一样,从当前页继续,但如果当前页空间不足时自动换页」这种表述,而是用「breakable listings」

太困了,只给例子,个人觉得tcb是比较好的实践了...

你要综合看tcolorboxlistings的文档

几个关键的option为:

  • listing remove caption=false
  • caption={Rust is Genshin Impact of coding}
  • captionpos=t(这是默认值,可调)
  • label={mycode}
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{lipsum}
\usepackage[most]{tcolorbox}
\usepackage{hyperref}
\tcbuselibrary{listings}
\newtcbinputlisting{\mylisting}[2][]{%
    enhanced jigsaw,sharp corners,title={example~code},empty,left=1cm,breakable,%
    listing file={#2},listing only,listing remove caption=false,
    listing options={numbers=left,breaklines,basicstyle=\ttfamily,caption={Rust is Genshin Impact of coding},captionpos=t,label={mycode}},#1%
}
\begin{filecontents*}[overwrite]{temp.rs}
    use std::sync::{mpsc, Arc, Mutex};
    use std::thread;
    use std::time::Duration;
    
    struct ThreadPool {
        workers: Vec<Worker>,
        sender: mpsc::Sender<Message>,
    }
    
    impl ThreadPool {
        fn new(size: usize) -> Result<ThreadPool, PoolCreationError> {
            if size == 0 {
                return Err(PoolCreationError::InvalidSize);
            }
    
            let (sender, receiver) = mpsc::channel();
            let receiver = Arc::new(Mutex::new(receiver));
    
            let mut workers = Vec::with_capacity(size);
            for id in 0..size {
                workers.push(Worker::new(id, Arc::clone(&receiver)));
            }
    
            Ok(ThreadPool { workers, sender })
        }
    
        fn execute<F>(&self, f: F)
        where
            F: FnOnce() + Send + 'static,
        {
            let job = Box::new(f);
            self.sender.send(Message::NewJob(job)).unwrap();
        }
    }
    
    struct Worker {
        id: usize,
        thread: Option<thread::JoinHandle<()>>,
    }
    
    impl Worker {
        fn new(id: usize, receiver: Arc<Mutex<mpsc::Receiver<Message>>>) -> Worker {
            let thread = thread::spawn(move || loop {
                let message = receiver.lock().unwrap().recv().unwrap();
                match message {
                    Message::NewJob(job) => {
                        job();
                    }
                    Message::Terminate => break,
                }
            });
    
            Worker {
                id,
                thread: Some(thread),
            }
        }
    }
    
    enum Message {
        NewJob(Box<dyn FnOnce() + Send + 'static>),
        Terminate,
    }
    
    #[derive(Debug)]
    enum PoolCreationError {
        InvalidSize,
    }
    
    fn is_prime(n: u64) -> bool {
        if n <= 1 {
            return false;
        }
        for i in 2..=(n as f64).sqrt() as u64 {
            if n % i == 0 {
                return false;
            }
        }
        true
    }
    
    fn main() {
        
    }    
\end{filecontents*}
\begin{document}
I want to ref code \ref{mycode} here.
\lipsum[1]
\mylisting{temp.rs}
\lipsum[2]
\end{document}

image.png

算是经典问题吧。

这个代码高亮是LaTeX-Workshop提供的,所以类似的issues等是应该被关心的。


VSCode 目前存在问题, 对于识别类似left{ xxxxright.这样的代码有问题, 不认为是成对的, 导致总是无法正常显示成对的括号。我依稀记得很久以前是没有这个问题的, 不知道是从哪个版本开始变成这样了。一直没有很好的解决方法

先问是不是,再问怎么办。

如果只安装LaTeX workshop的话....

在我这里表现良好,可能你要检查一下版本,以及关注vscode-latex-basics相关的issues,如测试还有漏网之鱼,应该向这里报告。

image.png


注意到你还提到你安装了「HyperScopes、LaTeX Acronyms、LaTeX language support」

我都没装(我也不想装)...

  • 这些插件真的都是你 确实 需要的吗?到处乱装一大堆插件他们的互相作用可能是很复杂的...
  • 如果你探索出某个插件和「LaTeX workshop」 确实 有冲突,同样也最好是向上面的链接报告
  • 关于「LaTeX language support」...他已经很久不维护了...

image.png

无法复现。请提供更多的详细信息(例如OS,系统版本,宏包版本,确保关闭其他应用程序)。

使用WPS是治标不治本的行为。

TeXLive2025
windows11
一切正常

image.png

那个ishort感觉有些已经不够了 所以去哪里找比较好的学习资源呢

首先是L-short不是I-short.

你的这个问题是源自于"自定义表格的需求"

lshort里大致介绍了:

  • tabular环境的用法
  • tabularx控制列宽
  • \multicolumn以及\multirow控制合并单元格
  • 事实上上个问题关于booktabs也做了详细的入门讲解,关键是你没注意到红圈那里的细节...

image.png

那个ishort感觉有些已经不够了

我觉得不是不够,而是你目前阅读的不是太仔细,90%的入门问题都可以通过lshort-zh-cn解决

所以去哪里找比较好的学习资源呢 我现在很多都不知道 都不知道某一个用法对应的宏包 很迷茫

读完入门教程之后,个人觉得合适的路径是结合自己的需求,找针对性的文档去看,例如下面:

image.png

当你需要排版斜线表头,你总可以在互联网上获知diagbox这个包,使用texdoc diagbox你就可以看到详细用法,学习文档并用到你的代码中

当你需要跨页表格,你可能会搜索到longtable。同样的,使用texdoc longtable呼出文档

你可能还会有更细致的表格排版要求,你还会听到“tabularray优雅永不过时”这样的说法,这时你可以去了解下texdoc tabularray看看其效果....例如下面比较fancy的表格效果...

image.png

用好帮助文档这一"第一手资料",用好texdoc命令,多看文档是进一步学习LaTeX的必由之路吧...

image.png

image.png

我也是在lshort-zh-cn中找到你这个case里的合适方法的

\documentclass[12pt]{ctexart}
% \usepackage[showframe]{geometry}
\usepackage{tabularx}
\usepackage{array}
\usepackage{booktabs}
\begin{document}
    \begin{table}[!htbp]
    \centering
    \begin{tabularx}{\textwidth}{*{3}{>{\centering\arraybackslash}X}}
        \toprule[1.5pt]
        符号 & 说明 & 单位\\
        \midrule[1pt]
        5 & 269.8 & 0.04089\\
        10 & 421.0 & 0.04089\\
        20 & 640.2  & 0.04089\\
        \bottomrule[1.5pt]
    \end{tabularx}
    \label{tab:001}
    \end{table}
\end{document}

image.png

提问很规范了,值得表扬。最好牢记markdown语法的围栏代码块。

编译查看报错信息:

! Undefined control sequence.
<inserted text> {Xcc} \toprule
                               [1.5pt] 符号 & 说明 & 单位\\ \midrule [...
l.15     \end{tabularx}

意思是,未定义的控制序列\toprule

为什么LaTeX不认识\toprule,因为需要booktabs宏包

还有,不需要显式写出粗细[1.5pt]等;编译中文需要ctex宏包

\documentclass[12pt]{ctexart}
\usepackage{tabularx} % 需导入宏包
\usepackage{amsmath}
\usepackage{booktabs}
\begin{document}
    \begin{table}[!htbp]
    \centering
    \caption{这是一个三线表}
    \begin{tabularx}{\textwidth}{Xcc}
        \toprule
        符号 & 说明 & 单位\\
        \midrule
        5 & 269.8 & 0.04089\\
        10 & 421.0 & 0.04089\\
        20 & 640.2  & 0.04089\\
        \bottomrule
    \end{tabularx}\label{tab:001}
    \end{table}
    我要索引 表\ref{tab:001} 啊哈啊.
\end{document}

image.png

发布
问题