一种微调latex电子报模板的方法
文献发布时间:2023-06-19 11:45:49
技术领域
本发明涉及计算机文字处理技术领域,特别涉及了一种微调latex电子报模板的方法。
背景技术
LaTeX是一种基于TeX的排版系统,是当今世界上最流行和使用最为广泛的TeX宏集,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天、甚至几小时内生成很多具有书籍质量的印刷品。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
而随着科学技术的不断发展,电子报已经成为一种趋势。但目前只有LaTeX系统的自动排版生成方法只有关于论文、期刊等学术文件的,电子报的较少,且生成的电子报模板有可能出现留白过多导致页面不美观的问题。如中国专利局2019年02月19日公开了一种名称为一种毕业论文LaTeX模板自动排版的生成方法的发明,其公开号为CN109359286A。该发明公开了一种毕业论文LaTeX模板自动排版的生成方法,包括以下步骤:1)导入宏包;2)自定义宏命令;3)定义页眉和页脚;4)撰写毕业论文封面;5)撰写毕业论文内容,含中文摘要、英文摘要、正文、附录、参考文献、致谢,这六个部分,生成论文目录;6)编译。该发明为LaTeX论文编辑在大学毕业论文中的推广具有重要意义,但仅适用于论文编辑。
发明内容
本发明的目的是克服现有技术中LaTeX电子报模板留白过多、影响美观的问题,提供了一种微调latex电子报模板的方法,由LaTeX排版系统生成电子报模板,将新闻内容填入模板中,并通过微调方法达到最小化区块留白空间的目的。
为了实现上述目的,本发明采用以下技术方案:一种微调latex电子报模板的方法,其特征在于,它包括下列步骤:
S1:建立新闻内容的数据库列表,并对其进行分类;
S2:建立新闻版面模板库;
S3:选择新闻原始素材内容并通过自动排版系统匹配适合的电子报模板;
S4:根据新闻区块版面与分布类型进行版面微调。
自动排版系统是现有技术,将新闻原始素材放进数据列表中相应的位置,建立版面模板库,自动匹配系统则根据新闻素材内容所占面积匹配相应的模板,匹配结束后,按照新闻区块版面与分布类型对版面进行微调。自动排版系统优选为LaTeX排版系统,电子报模板是由LaTeX排版系统生成的pdf文件与TeX文件,包含通过使用TeX命令设计的电子报整体布局,如分栏、分段、页眉页脚形式等规则,还包括新闻内容格式,比如字体、字号、图片大小与位置等规则。新闻区块版面形式有七种:图片与标题单独占一行,正文文字不分栏;标题单独占一行,正文文字与图片环绕且不分栏;图片与标题单独占一行,正文文字分栏;标题单独占一行,正文文字与图片环绕且分栏;标题单独占一列,图片与标题并列,正文文字不分栏;标题单独占一列,图片与标题并列,正文文字分栏;标题为列标题,图片与标题并列,正文文字处于图片下方且与列标题环绕且不分栏。分栏指的是是指在报纸编辑中,将报纸的版面划分为若干栏。由于新闻区块版面的多样性,针对不同版面有着不同的微调方法。
作为优选,所述的步骤S1中,数据库列表具体包括:
S1.1:收集新闻原始素材,包括标题、正文、记者姓名、图片以及这些内容的设计规则;
S1.2:收集新闻内容标准化后得到的新闻篇幅的面积的最大值与最小值,包括正文面积、图片面积、标题面积;
S1.3:将S1.2和S1.3中收集的信息进行分类,并按顺序排列在相应的类别中。
设计规则包括字体、字号、行高、位置等规则,新闻篇幅面积包括正文面积、图片面积、标题面积三部分。将新闻信息进行分类,调用内容时会更加直观、清楚。
作为优选,所述的步骤S1.3中,分类的方式为:每条新闻原始素材按照新闻重要程度进行标记分类,类别包括头条新闻、二条新闻、三条新闻。头条是指新闻中一个版上最重要的稿件,通常都放在最显著的版位,并运用各种编排手段加以突出。二条、三条的重要程度依次递减,按照重要程度对新闻素材进行标记分类,有利于接下来的排版。
作为优选,所述的步骤S2中,建立模板库的具体步骤包括:
S2.1:将多种不同版面的TeX文件作为候选模板;
S2.2:将每个TeX模板文件都预定义好新闻区块的参数信息,参数信息包括数量、形状、大小与位置;
S2.3:将这些TeX模板保存在模板库中。
TeX是一种排版系统,可以通过改变TeX文件中的各项参数进行最佳电子报模板的生成。
作为优选,所述的步骤S4中根据新闻区块版面与分布类型进行版面微调的方法进一步包括:
S4.1:判断新闻内容是否填满当前页面,如果填满当前页面,通过用户建议判断是否进行版面微调,如果需要进行微调,则可以通过后台微调Tex模板功能进行自定义手动微调,如果不需要,直接输出微调后的版面;如果未填满当前页面,进行步骤S4.2;
S4.2:判断该新闻区块是否存在图片,如果不存在,进行步骤S4.5,如果存在,进行步骤S4.3;
S4.3:判断是否是一张图片,如果不是,判断图片集是否在单独一行或者单独一列,如果不是在单独一行或单独一列,按照该图片占整个新闻区块图片区域的比例分配留白空间并进行步骤S4.4,然后输出微调后的版面,如果是在单独一行或单独一列,进行步骤S4.5;如果是一张图片,进行步骤S4.4;
S4.4:判断图片是否单独成行或单独成列,如果不是,则根据留白空间调整图片大小,然后判断调整后的图片大小是否超过阈值,如果超过,进行步骤S4.5,如果没有超过,输出微调后的版面;如果图片单独成列或单独成行,进行步骤S4.5;
S4.5:判断留白面积是否满足最小报花图片插入,如果满足,插入报花图片,然后输出微调后的版面;如果不满足,补充新闻字数,然后输出微调后的版面。
进行版面微调,首先我们需要判断新闻内容是否填满当前页面新闻内容,恰好排满当前页面时,虽然本页面新闻区块全部排满,但也有可能出现页面底部留白过多的情况,为了新闻版面更加美观,我们可以通过用户的建议判断是否进行版面微调。若不需微调则直接输出为pdf格式,若需微调,则根据版面形式(如是否有图片、图片数量、图片位置等)判断如何进行微调。
新闻内容不能排满当前页面时则会出现留白,我们需要对留白进行调整,留白大小为新闻区块的面积与新闻篇幅面积的差值。根据留白大小选择合适的途径来减小留白。如果该新闻区块包含图片内容,且需要对图片进行调整,图片调整也需要分为单张图片调整与多张图片调整,因为有时候只调整一张图片大小可能会影响新闻版面整体的美观程度,所以在这种情况下需要选择多张图片进行调整大小。
判断报花图片是否大于留白面积,如果大于,就将新闻内容发送给编辑补充新闻素材,通过增加字数减少留白;如果小于,就根据留白面积选择合适的报花图片进行插入。
作为优选,所述的步骤S4.3中,对于不是在单独一行或单独一列的图片集,按照该图片占整个新闻区块图片区域的比例分配留白空间的具体步骤为:
每张图片分配的扩展空间为:
Pe
其中n表示该区块的图片张数,P1,P2,…,Pn分别表示每张图片的面积,S2表示新闻区块留白面积。
其中的留白面积为图片调整后增加的面积,这里的调整是按照图片的长宽比例进行适当的扩大。
作为优选,所述的步骤S4.4中,通过调整图片大小来最小化留白的方法进一步为:
A:在不是分栏且只有一张图片的文章中调整图片,由于
pw’≤bw且PS’≤∈2,
pw’/ph’=pw/ph,
pw’*ph’-pw*ph=ew*eh,
可以得到调整后图片的高度为:
调整后图片的宽度为:
其中,pw表示图片宽度,pw’表示调整后图片的宽度,ph表示图片高度,ph’表示调整后图片的高度,PS’表示调整后图片面积,ew表示留白宽度,∈2表示图片大小的阈值;
B:在分栏且只有一张图片的文章中调整图片,由于:
pw’≤bw且PS’≤∈2,
pw’/ph’=pw/ph,
pw’=pc’*cw+(pc’-1)*cd,
pw’*ph’-pw*ph=ew*eh,
可以得到调整后图片的高度为:
调整后图片的宽度为:
图片调整后所占栏数为:
其中pc表示图片调整前所占栏数,pc’表示图片调整后所占栏数,cw表示栏宽,cd表示栏间距;
C:若在分栏且图片不单独成行或成列的文章中,分配的扩展空间不足以按照栏宽调整时,则随机选择图片放弃调整,直至除放弃调整的图片外的每张图片分配的扩展空间足以按照栏宽进行调整,之后再采用B中的方法调整图片。
单张图片所在的环境主要分为以下情况:分栏、不分栏以及分栏且文字环绕。如果图片处于分栏文章中,则需调整图片所占栏数;如果图片处于不分栏的文章中,则可以直接改变图片大小来调整新闻篇幅大小。
作为优选,所述的步骤S4.4中,判断调整后的图片大小是否超过阈值的方法进一步为:
图片调整的最大范围为调整后图片的宽度pw’等于新闻区块的宽度bw,若调整后的图片大小PS’超过所设定的图片大小的阈值∈2,进行步骤S4.5,如果没有超过,输出版面。
为了最小化留白和图片调整后整个新闻篇幅的美观程度,需要设定在不同环境下的图片大小的阈值∈2,防止调整过度,这里图片调整的最大范围为调整后图片的宽度pw’等于新闻区块的宽度bw,因为如果调整后图片宽度pw’大于新闻区块的宽度bw,则会超出新闻版面。
作为优选,所述的步骤S4.5中,插入报花图片的具体步骤为:
通过插入报花图片减少留白,调整后报花图片的宽度为:
npw’=bw,
调整后报花图片的高度为:
nph’=(nph/npw)*npw’,
eh-nph’≤∈1,
其中npw表示原始报花图片的宽度,nph表示原始报花图片的高度,eh表示留白高度,bw表示新闻区块宽度,npw’表示调整后报花图片的宽度,nph’表示调整后报花图片的高度,∈1表示留白高度与报花图片高度相差的阈值。
报花图片为图片库中的预留图片,包括宣传标语图片、广告图片等。由于留白部分通常处于新闻区块的尾部且留白宽度pw为该新闻区块宽度bw,插入报花图片时需要按原始图片的长宽比例进行调整,直到图片的宽度pw与留白宽度ew相同,所以报花图片最好为矢量图。报花图片调整后的宽度npw’已经确定,接下来需要计算报花图片调整后的高度nph’,使之不能超过留白的高度eh且与留白高度eh也不能相差较大。
作为优选,所述的步骤S4.5中,通过增加字数减少留白的具体步骤为:
通过增加字数减少留白,其中增加字数范围为:
[minwc,maxwc],
不分栏文章中一行字的最大字数为:
分栏文章中一行字的最大字数:
留白宽度为:
ew=bw,
留白高度为:
eh=S2/bw,
新闻篇幅面积为:
S1=WS+PS+TS,
能插入的最大行数为:
能插入的最大字数为:
maxwc=maxhc*hwc1,
能插入的最小字数为:
minwc=(maxhc-1)*hwc2+1,
其中,maxwc表示不分栏的文章中能插入的最大字数,minwc表示分栏的文章中能插入的最小字数,hwc表示为一行字数,mf表示正文字号,cc表示分栏数,cd表示栏间距,ew表示留白宽度,eh表示留白高度,bw表示新闻区块宽度,S1表示新闻篇幅面积,S2表示留白面积,WS表示字面积,PS表示图面积,TS表示标题面积,maxhc表示能插入的最大行数,mh表示正文字行高。
对于需要通过增加字数减少留白的版面,首先我们需要确定增加字数的范围,字数范围由分栏和不分栏文章中一行字的最大字数确定。其次需要确定留白宽度与留白高度,以及新闻篇幅面积、能插入的最大行数。
因此,本发明具有如下有益效果:根据基于电子报自动排版系统匹配的电子报模板,将新闻内容填入模板对应的新闻栏目区块中,并通过微调方法,从而达到最小化区块留白空间的目的。
附图说明
图1为本发明的具体操作流程图;
图2本发明的版面微调的流程图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
如图1所示的实施例中,可以看到一种微调latex电子报模板的方法,其操作流程为:
第一步:建立新闻内容的数据库列表,每条新闻原始素材需按照头条、二条、三条等形式进行标记分类。该新闻内容的数据库列表包括两部分内容,一部分是新闻的标题、正文、记者姓名、图片信息以及这些信息内容的设计规则,包括字体、字号、行高、位置规则。另一部分则是经过新闻内容标准化后得到的新闻篇幅的面积的最大值与最小值,包括正文面积、图片面积、标题面积三部分。
第二步:建立新闻版面模板库,该数据库中包括多种不同版面、已预定义好参数信息的TeX文件,参数信息包括新闻区块的数量、形状、大小与位置。
第三步:选择新闻原始素材内容并通过自动排版系统匹配适合的电子报模板。自动排版系统是现有技术,将新闻原始素材放进数据列表中相应的位置,建立版面模板库,自动匹配系统则根据新闻素材内容所占面积匹配相应的模板。
第四步:根据新闻区块版面与分布类型进行版面微调。匹配结束后,结果会出现以下两种分布类型:不能排满当前页面类型、恰好排满当前页面类型。版面形式则包括七种类型:图片与标题单独占一行,正文文字不分栏;标题单独占一行,正文文字与图片环绕且不分栏;图片与标题单独占一行,正文文字分栏;标题单独占一行,正文文字与图片环绕且分栏;标题单独占一列,图片与标题并列,正文文字不分栏;标题单独占一列,图片与标题并列,正文文字分栏;标题为列标题,图片与标题并列,正文文字处于图片下方且与列标题环绕且不分栏。
如图二所示的实施例中,版面微调的流程为:
第一步:进行版面微调,首先需要判断新闻内容是否填满当前页面新闻内容,恰好排满当前页面时,虽然本页面新闻区块全部排满,但也有可能出现页面底部留白过多的情况,为了新闻版面更加美观,我们可以通过用户的建议判断是否进行版面微调。若不需微调则直接输出为pdf格式,若需微调,则可以通过后台微调Tex模板功能进行自定义手动微调;如果不需要,直接输出微调后的版面。新闻内容不能排满当前页面时则会出现留白,我们需要对留白进行调整,进行第二步。留白大小为新闻区块的面积与新闻篇幅面积的差值。根据留白大小选择合适的途径来减小留白。
第二步:确定需要微调后,判断该新闻区块是否存在图片,如果不存在,进行第五步;如果该新闻区块包含图片内容,且需要对图片进行调整,进行第三步。
第三步:图片调整也需要分为单张图片调整与多张图片调整,因为有时候只调整一张图片大小可能会影响新闻版面整体的美观程度,所以在这种情况下需要选择多张图片进行调整大小。所以首先要判断是否是一张图片,如果不是,判断图片集是否在单独一行或者单独一列,如果不是在单独一行或单独一列,按照该图片占整个新闻区块图片区域的比例分配留白空间,然后进行第四步。每张图片分配的扩展空间为:
Pe
其中n表示该区块的图片张数,P1,P2,…,Pn分别表示每张图片的面积,S2表示新闻区块留白面积,
如果是在单独一行或单独一列,进行第五步;如果是一张图片,进行第四步。
第四步:判断图片是否单独成行或单独成列,如果图片不单独成列或单独成行,则根据留白空间调整图片大小,然后判断调整后的图片大小是否超过阈值。根据留白空间调整图片大小时,针对不同的版面样式有不同的调整方法。对于单张图片,其版面样式主要分为以下情况:分栏、不分栏以及分栏且文字环绕。如果图片处于分栏文章中,则需调整图片所占栏数;如果图片处于不分栏的文章中,则可以直接改变图片大小来调整新闻篇幅大小。具体调整方式为:
A:在不是分栏且只有一张图片的文章中调整图片,由于
pw’≤bw且PS’≤∈2,
pw’/ph’=pw/ph,
pw’*ph’-pw*ph=ew*eh,
可以得到调整后图片的高度为:
调整后图片的宽度为:
其中,pw表示图片宽度,pw’表示调整后图片的宽度,ph表示图片高度,ph’表示调整后图片的高度,PS’表示调整后图片面积,ew表示留白宽度,∈2表示图片大小的阈值;
B:在分栏且只有一张图片的文章中调整图片,由于:
pw’≤bw且PS’≤∈2,
pw’/ph’=pw/ph,
pw’=pc’*cw+(pc’-1)*cd,
pw’*ph’-pw*ph=ew*eh,
可以得到调整后图片的高度为:
调整后图片的宽度为:
图片调整后所占栏数为:
其中pc表示图片调整前所占栏数,pc’表示图片调整后所占栏数,cw表示栏宽,cd表示栏间距;
C:若在分栏且图片不单独成行或成列的文章中,分配的扩展空间不足以按照栏宽调整时,则随机选择图片放弃调整,直至除放弃调整的图片外的每张图片分配的扩展空间足以按照栏宽进行调整,之后再采用B中的方法调整图片。
图片调整的最大范围为调整后图片的宽度pw’等于新闻区块的宽度bw,若调整后的图片大小PS’超过所设定的图片大小的阈值∈2,进行第五步,如果没有超过,输出版面。如果图片单独成列或单独成行,进行第五步。
第五步:判断留白面积是否满足最小报花图片插入,如果满足,就根据留白面积选择合适的报花图片进行插入,然后输出微调后的版面。报花图片为图片库中的预留图片,包括宣传标语图片、广告图片等。由于留白部分通常处于新闻区块的尾部且留白宽度pw为该新闻区块宽度bw,插入报花图片时需要按原始图片的长宽比例进行调整,直到图片的宽度pw与留白宽度ew相同,所以报花图片最好为矢量图。
调整后报花图片的宽度为:
npw’=bw,
报花图片调整后的宽度npw’已经确定,接下来需要计算报花图片调整后的高度nph’:
nph’=(nph/npw)*npw’,
eh-nph’≤∈1,
其中npw表示原始报花图片的宽度,nph表示原始报花图片的高度,eh表示留白高度,bw表示新闻区块宽度,npw’表示调整后报花图片的宽度,nph’表示调整后报花图片的高度,∈1表示留白高度与报花图片高度相差的阈值。nph’不能超过留白的高度eh且与留白高度eh也不能相差较大。
如果不满足,就将新闻内容发送给编辑补充新闻素材,通过增加字数减少留白,然后输出微调后的版面。
对于需要通过增加字数减少留白的版面,首先我们需要确定增加字数的范围,字数范围由分栏和不分栏文章中一行字的最大字数确定。其次需要确定留白宽度与留白高度,以及新闻篇幅面积、能插入的最大行数。
具体计算过程为:
通过增加字数减少留白,其中增加字数范围为:
[minwc,maxwc],
不分栏文章中一行字的最大字数为:
分栏文章中一行字的最大字数:
留白宽度为:
ew=bw,
留白高度为:
eh=S2/bw,
新闻篇幅面积为:
S1=WS+PS+TS,
能插入的最大行数为:
能插入的最大字数为:
maxwc=maxhc*hwc1,
能插入的最小字数为:
minwc=(maxhc-1)*hwc2+1,
其中,maxwc表示不分栏的文章中能插入的最大字数,minwc表示分栏的文章中能插入的最小字数,hwc表示为一行字数,mf表示正文字号,cc表示分栏数,cd表示栏间距,ew表示留白宽度,eh表示留白高度,bw表示新闻区块宽度,S1表示新闻篇幅面积,S2表示留白面积,WS表示字面积,PS表示图面积,TS表示标题面积,maxhc表示能插入的最大行数,mh表示正文字行高。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
- 一种微调latex电子报模板的方法
- 一种电子报表模板设计及动态渲染的方法及系统