code - 我会用 LaTeX 吗你就让我写?

本文介绍了如何在最新TeXLive环境下安装与配置LaTeX,包括VScode的使用以及如何在试卷中添加密封线、阅卷线和表格设计。还涉及了计数器和图片的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最新TeXLive 环境的安装与配置

一小时实践入门 LaTeX

VScode的使用_vscode修改代码不自动编译-CSDN博客

CTAN: Comprehensive TeX Archive Network

用来编写试卷的宏 xkwxdyy/exam-zh

Latex命令速查

唤起中文帮助文档

cmd 中敲 texdoc lshort-zh

密封线

% 开启 latex3 语法
\ExplSyntaxOn

  % 必须先定义, 才能赋值
  % dim 表示 "尺寸"
  \dim_new:N \l__efs_sealing_box_size_dim
  \dim_new:N \l__efs_page_full_size_dim

  % 赋值
  % \textheight 表示页面的文本区域高度
  \dim_set:Nn \l__efs_page_full_size_dim { \textheight + 3.3in }
  \dim_set:Nn \l__efs_sealing_box_size_dim { \textheight + 3.25in}

  % \AddToHook 用于在渲染背景时执行操作
  \AddToHook{shipout/background}
  {
    % 第一页
    \int_compare:nNnTF { \thepage } = { 1 }
    {
      \put (0, - \l__efs_page_full_size_dim )
      {
        % 带背景颜色的盒子 ( 叹号后面设置不透明度 ) :\colorbox {color!opaqueness}
        \colorbox{yellow!0}{\rotatebox{90}{\parbox{\l__efs_sealing_box_size_dim}
        {
          % 设置盒子内文本居中
          \centering

          % 创建高 0.5em 的空白行
          \vspace{0.5em}

          % 换行
          \par

          % 装订线
          % 循环 ( 可用 #1 访问本次循环数字 ) : \int_step_inline:nn {<stop>} {<code>}
          % 循环 ( 可用 #1 访问本次循环数字 ) : \int_step_inline:nnnn {<start>} {<step>} {<stop>} {<code>}
          % 获取字符串长度: \str_count:n {str}
          \int_step_inline:nn {48} {-}
          \int_step_inline:nnnn {\str_count:n {装订线}} {-1} {1}
          {
            
            % 偏移: \raisebox{offset}
            % 旋转: \rotatebox{angle}
            % 按下标访问字符串中的字符 ( 下标从 1 开始 ) : \str_item:Nn {str} {index}
            \raisebox{0.7em}{\rotatebox{-90}
            {
              \str_item:Nn {装订线} {#1}
            }}
            
            \int_step_inline:nn {48} {-}
          }

          % 换行
          \par

          % 创建高 2em 的空白行
          \vspace{2em}

          % 换行
          \par

          % 学生填写信息
          % 长空格: \qquad
          学院 ~ ______ \qquad
          专业 ~ ______ \qquad
          年级 ~ ______ \qquad
          班级 ~ ______ \qquad
          学号 ~ ______ \qquad
          顺序号 ~ ______ \qquad
          姓名 ~ ______

          % 换行
          \par

          % 创建高 0.5em 的空白行
          \vspace{0.5em}

          % 换行
          \par

          % 密封线内不要答题
          (
          \int_step_inline:nnnn {\str_count:n {密封线内不要答题}} {-1} {1}
          {
            \raisebox{0.85em}{\rotatebox{-90}
            {
              \str_item:Nn {密封线内不要答题} {#1}
            }}
          }
          )
          
          % 换行
          \par

          % 阅卷密封线
          \int_step_inline:nn {32} {-}
          \int_step_inline:nnnn {\str_count:n {阅卷密封线}} {-1} {1}
          {
            \raisebox{0.7em}{\rotatebox{-90}
            {
              \str_item:Nn {阅卷密封线} {#1}
            }}
            \int_step_inline:nn {32} {-}
          }

        }}}
      }
    }
    {
      % 非第一页的奇数页
      \int_compare:nNnT { \int_mod:nn { \thepage } { 2 } } = { 1 }
      {
        \put (0, - \l__efs_page_full_size_dim )
        {
          \colorbox{yellow!0}{\rotatebox{90}{\parbox{\l__efs_sealing_box_size_dim}
          {
            % 设置盒子内文本居中
            \centering

            % 创建高 6em 的空白行
            \vspace{6em}

            % 换行
            \par

            % 密封线内不要答题
            (
            \int_step_inline:nnnn {\str_count:n {密封线内不要答题}} {-1} {1}
            {
              \raisebox{0.85em}{\rotatebox{-90}
              {
                \str_item:Nn {密封线内不要答题} {#1}
              }}
            }
            )
            
            % 换行
            \par

            % 阅卷密封线
            \int_step_inline:nn {32} {-}
            \int_step_inline:nnnn {\str_count:n {阅卷密封线}} {-1} {1}
            {
              \raisebox{0.7em}{\rotatebox{-90}
              {
                \str_item:Nn {阅卷密封线} {#1}
              }}
              \int_step_inline:nn {32} {-}
            }

          }}}
        }
      }
    }
  }

\ExplSyntaxOff

表格

% 导言区
\usepackage{array}

% 正文区
% 绘制表格竖线: |
% 绘制表格横线: \hline
% 区分每个单元格: &
% 换行: \\
% 将 xxx 重复 6 次 ( 仅 tabular 适用 ): *{6}{xxx}
% 单元格内居中 ( 通过 array 宏在单元格前追加修饰符 ): >{\centering\arraybackslash}
% 单元格固定 5 字符宽度: p{5em}
\begin{tabular}{|*{6}{>{\centering\arraybackslash}p{5em}|}}
\hline
题序 & 一 & 二 & 三 & 四 & 总分 \\
\hline
得分 & & & & & \\
\hline
阅卷人 & & & & & \\
\hline
\end{tabular}

空格, 空白行, 转义字符

命令解释
\,短空格
\;不短的空格
\quad长空格
\qquad更长的空格
命令解释
\vspace{1cm}高度为 1cm 的空白行
转义命令对应字符
\空格空格
\##
\$$
\%%
\&&
\{{
\}}
\__
\^{}^
\~{}~
\textbackslash\

计数器

% 导言区
% 创建一个名为 countername 的计数器。
\newcounter{countername}

% 正文区
% +1
\stepcounter{countername}

% +n
\addtocounter{countername}{value}

% 重置
\setcounter{countername}{value}

% 取值
\value{countername}

% 没试过
% 将计数器 countername 的值增加 1,并使其能够通过 \label 和 \ref 进行引用。
\refstepcounter{countername}

图片

%导言区
\usepackage{graphicx}

% 正文区
\includegraphics[width=5cm]{image.png}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值