今天尝试想在自己的文件中设置题干在左,图片在右
的样式,AI 给出来了用parcolumns
宏包的样例,但编译过程一直出现图片在右上角不和文字对齐的情况。
再次问 AI 后建议使用 paracol
宏包,按照给出的样例,当分两栏自定义栏宽时,一直报错Missing number, treated as zero. ^^I^^I]{2}
,定位就是在分栏的那个{2}
的地方。
\begin{paracol}[
columnwidths={0.6\linewidth 0.4\linewidth}, % 左栏60%,右栏40%
gutter=0.02\linewidth, % 栏间距2%
rulebetween % 显示分栏线(可选)
]{2}
我以为是图片的放置有问题,索性请 AI 帮忙给一个标准的示例:
\documentclass{article}
\usepackage{paracol} % 分栏核心包
\usepackage{graphicx} % 图片支持
\usepackage{lipsum} % 生成示例文本(实际使用时删除)
\begin{document}
% ========== 基础版(自动等宽分栏)==========
\begin{paracol}{2} % 数字2表示分两栏
% 左栏(文字部分)
\begin{leftcolumn}
\section{文字标题}
\lipsum[1][1-4] % 示例文本(替换为实际内容)
\begin{itemize}
\item 项目列表示例1
\item 项目列表示例2
\item 数学公式示例:$E=mc^2$
\end{itemize}
\end{leftcolumn}
% 右栏(图片部分)
\begin{rightcolumn}
\includegraphics[width=\linewidth]{example-image-a} % 使用实际图片路径
\captionof{figure}{图片说明文字} % 需要 \usepackage{caption}
\end{rightcolumn}
\end{paracol}
% ========== 进阶版(自定义栏宽+间距)==========
\begin{paracol}[
columnwidths={0.6\linewidth 0.4\linewidth}, % 左栏60%,右栏40%
gutter=0.02\linewidth, % 栏间距2%
rulebetween % 显示分栏线(可选)
]{2}
\begin{leftcolumn}
\section{自定义宽度标题}
\lipsum[2][1-3]
\end{leftcolumn}
\begin{rightcolumn}
\includegraphics[width=\linewidth, height=5cm]{example-image-b} % 固定高度
\captionof{figure}{自定义宽度布局示例}
\end{rightcolumn}
\end{paracol}
\end{document}
结果仍旧报错,见下图:
可以看出来还是分栏的地方。但是设置为自动等宽分栏后,是可以正常编译的。
百思不得其解!请教各位大佬。
另外还再回到引发这个问题的事情:题干在左,图片在右
的样式,有没有通用的设置方式,我以前用 exam-zh
来做试卷,照猫画虎,可以做出来;但是试卷模板应该是封装了某些命令在一起,想在别的文件里用的时候就不会了。
谢谢大佬们先!
尝试想在自己的文件中设置题干在左,图片在右的样式
“图文排版”可以使用wrapfig
,wrapfig2
以及wrapstuff
宏包等方式实现。
除此之外,在exam-zh-doc
中也提到了text-figure
宏包:
在使用宏包之前必须看文档(问AI你根本无法系统的学习到知识),这意味着你要在终端分别执行:
texdoc wrapfig
texdoc wrapfig2
texdoc wrapstuff
这里只给出一个基于wrapstuff
的例子(请必须看着wrapstuff
的文档来写代码做尝试,而不是无脑问AI最后报错不知所措,或者陷入和AI的扯皮):
\documentclass{ctexart}
\usepackage[a4paper,top=1.5cm,bottom=1.5cm]{geometry}
\usepackage{zhlipsum}
\usepackage{wrapstuff}
\usepackage{graphicx}
\begin{document}
\zhlipsum[2]
\begin{wrapstuff}[r]
\includegraphics[width=6cm,height=10cm]{example-image}
\end{wrapstuff}
\zhlipsum[1]\wrapstuffclear
\zhlipsum[2]
\end{document}
至于paracol
,你为什么会如此轻信AI的做法,texdoc paracol
可以看到,这实际上是用来分栏用的:
我个人不觉得这是用来实现图文环排的最好办法...
回到你的MWE,所谓“请 AI 帮忙给一个标准的示例”:
ctex
宏包(?)caption-of
是Undefined control sequence.
这意味着你需要调用caption
或者capt-of
宏包补上之后,你的AI实际上给了你“基础版”和“进阶版”,理应分别测试:
\documentclass{ctexart}
\usepackage{paracol} % 分栏核心包
\usepackage{graphicx} % 图片支持
\usepackage{lipsum} % 生成示例文本(实际使用时删除)
\usepackage{capt-of}
\begin{document}
% ========== 基础版(自动等宽分栏)==========
\begin{paracol}{2} % 数字2表示分两栏
% 左栏(文字部分)
\begin{leftcolumn}
\section{文字标题}
\lipsum[1][1-4] % 示例文本(替换为实际内容)
\begin{itemize}
\item 项目列表示例1
\item 项目列表示例2
\item 数学公式示例:$E=mc^2$
\end{itemize}
\end{leftcolumn}
% 右栏(图片部分)
\begin{rightcolumn}
\includegraphics[width=\linewidth]{example-image-a} % 使用实际图片路径
\captionof{figure}{图片说明文字} % 需要 \usepackage{caption}
\end{rightcolumn}
\end{paracol}
\end{document}
没什么问题。
\documentclass{ctexart}
\usepackage{paracol} % 分栏核心包
\usepackage{graphicx} % 图片支持
\usepackage{lipsum} % 生成示例文本(实际使用时删除)
\usepackage{capt-of}
\begin{document}
% ========== 进阶版(自定义栏宽+间距)==========
\begin{paracol}[
columnwidths={0.6\linewidth 0.4\linewidth}, % 左栏60%,右栏40%
gutter=0.02\linewidth, % 栏间距2%
rulebetween % 显示分栏线(可选)
]{2}
\begin{leftcolumn}
\section{自定义宽度标题}
\lipsum[2][1-3]
\end{leftcolumn}
\begin{rightcolumn}
\includegraphics[width=\linewidth, height=5cm]{example-image-b} % 固定高度
\captionof{figure}{自定义宽度布局示例}
\end{rightcolumn}
\end{document}
确实出现如下报错:
Missing number, treated as zero.
<to be read again>
这说明你使用\begin{paracol}[xxxx]{2}
的语法(syntax)有问题...
If a \begin{paracol}
has the optional numleft argument to specify the number of leading columns nl together with the total n given by num, columns in the environment are laid out across two adjacent pages.
\begin{paracol}
的第一个可选参数为[<numleft>]
,指的是前导列的数量,需要的是一个数,你的AI放进去的是columnwidths={0.6\linewidth 0.4\linewidth},gutter=0.02\linewidth,rulebetween
,在文档中根本找不到名为gutter
和rulebetween
的key...
你完全陷入AI的幻觉了,要想用好AI,就不能轻信AI。如果你没有自己对问题的判断力,那你就根本不应该使用AI。
如果你需要调整比例,也许可以看一下文档的7.3节,提供了\columnratio
的命令....
回到要实现左文右图的排版上来,我个人觉得这些宏包的实践是要优于paracol
的:wrapfig
,wrapfig2
以及wrapstuff
。要想学好LaTeX
,务必学会看文档,轻信AI只会变成AI的奴隶,并且失去自己的核心竞争力。
wrapfig
,wrapfig2
以及夏老师的text-figure
宏包的使用方法(看文档而不是用AI,比如夏老师的私有宏包text-figure
根本没有上传CTAN,AI会的概率微乎其微),自己给出例子。以上。
尝试提供一个最小工作示例,是要这样的感觉吗?
\documentclass{ctexart}
\usepackage{wrapstuff}
\usepackage{tasks}
\usepackage{mwe}
\usepackage{zhlipsum}
\begin{document}
\begin{wrapstuff}[r,top=0]
\includegraphics[width=\dimeval{\linewidth/3}]{example-image.pdf}
\end{wrapstuff}
\zhlipsum[1]
\begin{tasks}
\task 一
\task 二
\task 三
\task 四
\end{tasks}
\end{document}
哈哈,我今年偶尔求问它几个小的问题,解决了。看来它是真的会让人产生幻觉啊。
@u10189 不够精细的需求确实可以做为参考,但是不能过于相信....