魔术注释似乎在 VScode 中不起作用?

魔术注释似乎在 VScode 中不起作用?

我正在尝试在 VScode 中构建一个 tex 项目。我遇到的一个问题是我需要用中文编写,因此我需要将编译器指定为 xelatex 而不是 pdflatex。当我使用 texshop(我之前使用的默认 IDE)时,这不是问题,因为它允许您手动选择首选编译器。但我不知道如何在 VScode 中做到这一点。所以我所做的是在根文件中添加了一个神奇的注释

% !TEX 程序 = xelatex

这应该可以工作,如果我没记错的话,它以前似乎可以工作。但不知何故,它不再起作用了。当我尝试运行我的 tex 文件时,它抛出了一堆 122(!) 错误,例如

包 inputenc:Unicode 字符 学 (U+5B66) (inputenc) 未设置为用于 LaTeX。

我不确定我的魔术注释出了什么问题,更重要的是,如何强制 VScode 使用 xelatex。

此链接,你可以看到 latex workshop extension 的作者推荐使用 recipe,但说实话我最困惑的是在 FAQ 页面中提到的 recipe 在哪里可以找到以及如何编辑它。

作者还提到魔术注释也应该起作用。

假设根文件中有一行 % !TEX program = xelatex。在构建项目时,LaTeX Workshop 将解析根文件并确定应使用 xelatex。

我在 2014 年中期的 Macbook 上安装了 texlive 2020。如果这有相关性的话。

另外,这是我的源代码。我认为这不太相关,因为我曾尝试使用 texshop 编译源文件,并且它运行良好。所以我确信这是因为我选择的编译器。

% !TEX program = xelatex
\documentclass{article}
\usepackage{ctex}
\usepackage{xcolor}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{adjustbox}
\usepackage{tikz}
\usepackage{adjustbox}
\usepackage[printwatermark]{xwatermark}
\usepackage{biblatex}
%\addbibresource{My literature.bib} 
\usepackage{calc}

\begin{document}
\title{学会学习}
\date{}
\maketitle
\newsavebox\watermarkbox
\lhead{BeyondWorld Education}
\rfoot{学会学习}
\renewcommand{\footrulewidth}{2pt}
\pagestyle{fancy}


 \section{前言}
 \input{./section/preface}


\section{学习的生物学基础}


\section{如何学习}


\section{如何学习英语}
\subsection{单词本}
\input{./section/单词本}

\section{应试技巧}

\end{document}

编辑:reddit 上有人向我指出这个帖子 但是 VScode 仍然会抛出错误,而且我认为我没有成功强制 VScode 使用 xelatex。 在此处输入图片描述 这是我认为需要编辑的 VScode settings.json 文件。 在此处输入图片描述

答案1

由于存在安全风险,魔术评论自 2021 年 12 月 29 日起默认禁用。通过设置启用它:

latex-workshop.latex.build.forceRecipeUsage: false

参考:https://github.com/James-Yu/LaTeX-Workshop/issues/3027

相关内容