LaTeX中英双栏对照排版

LaTeX \LaTeX LATEX中可以使用paracol宏包实现双栏/多栏对照排版,并且可以很方便地实现左右对齐,也就可以用来排版中英对照的文档。

效果图

在这里插入图片描述

使用方法

\begin{paracol}{2}
	\switchcolumn[0]*[\section{Section 1 for the test  测试用的第一节}]
	
	\lipsum[1]
	\switchcolumn
	\zhlipsum[1]
	
	\switchcolumn*
	\lipsum[2]
	\switchcolumn
	\zhlipsum[2]
\end{paracol}

代码解释

首先需要在paracol这个环境下,

\switchcolumn命令可以切换左右两栏,每使用一次这个命令就能在左右两栏之间进行切换。使用带*号的\switchcolumn*命令可以让该命令之后的内容与该命令之前的内容的最底部对齐。

*号的\switchcolumn*命令在*之前之后分别有一个可选参数,例如\switchcolumn[0]*[\section{Section 1 for the test 测试用的第一节}]

  • [0]表示的是在多栏之中的哪一栏,从0开始记数
  • [\section{Section 1 for the test 测试用的第一节}]表示的是跨栏命令,section, subsection等命令可以放在这个位置。

存在的问题

使用\switchcolumn*命令跨栏时,不能有公式、代码、图片等环境,这时我们可以自己封装一个\CrossColumnText命令,实现公式、代码、图片的跨栏。

复杂环境跨栏

该命令的定义方法如下:

\newcommand{\CrossColumnText}[1]{\end{paracol} #1 \begin{paracol}{2} \switchcolumn}

原理也很简单,就是直接把paracol环境结束了,等需要跨栏的内容填充之后再新建一个paracol环境。

需要注意的是,可能需要将跨栏的代码等单独放置在一个文件中,使用\input命令导入进来,否则很大概率会报错。

综上,\CrossColumnText命令使用方式如下

\CrossColumnText{
\input{code/square.tex}
}

square.tex的内容如下1

\begin{lstlisting}[language=Python]
>>> def square(x):
	     return mul(x,x)	
\end{lstlisting}

完整的测试代码

\documentclass[10pt,a4paper]{ctexart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{paracol}
\usepackage{zhlipsum}
\usepackage{lipsum}
\usepackage[left=1.5cm, right=1.5cm, top=2.54cm, bottom=0.20cm]{geometry}
\begin{document}
\begin{paracol}{2}
	\switchcolumn[0]*[\section{Section 1 for the test  测试用的第一节}]
	
	\lipsum[1]
	\switchcolumn
	\zhlipsum[1]
	
	\switchcolumn*
	\lipsum[2]
	\switchcolumn
	\zhlipsum[2]
\end{paracol}
\end{document}

参考的是原先GitHub上的bilidoc,但现在原GitHub仓库已经找不到了。


  1. LaTeX \LaTeX LATEX中生成代码环境需要引入listings宏包 ↩︎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值