家谱怎么做

家谱怎么做,第1张

一部体例完整的家谱,大致应有以下各项: 1谱名 一般均称为家谱、宗谱、族谱、家乘、世谱、统谱、支谱、祖谱、合谱、联宗谱、大成谱、房谱等,也有的称为谱传、真谱、渊源录、源流考、清芬录、世典、世牒、世恩录、故谱、族谱图、族系、族讲、石谱、世家、私谱、本书、大同谱、乡贤录、传芳集、家传簿、先德传、系谱、谱志略、家谱汇编、家模汇编等,可谓名目繁多。 2谱序 稍具规模的家谱,卷首一定会有一篇至几十篇不等的序文,它是每部家谱不可缺少的内容之一。谱序包括新序、旧序、族外人的客序、跋语、目录和刻印人名以及其它关于本族的记述。 3谱例 又称凡例,主要是阐述家谱的纂修原则和体例。一般而言,一些家谱在每一次续修时都会订出若干条适合社会潮流与需要的规则,以作为修谱时所要遵循的原则。 4谱论 许多家谱都专门辟有谱论一章,专收先贤的谱说、谱论、谱议的篇章和古代经典中的有关论述,对修谱的作用、功能、意义、历史、原理、方法等加以发明和阐述,是研究谱学的宝贵资料。 5恩荣录 主要内容为历代皇帝对家族中的官员及其家谱的敕书、诏命、赐字、赐匾、赐诗、赐联、御谥文、御制碑文以及地方官府的赠谕文字等,以显示和炫耀朝廷对该家庭及其成员的奖励和表彰,同时反映高家族的地位和身份。 6像赞、遗像 祖先及家族中历代英贤、重要人物的图像资料,一般为正面是遗像,背面是像赞。 7姓氏源流 中国家谱素来有“叙本系,述始封”的传统,明清以来各家谱也大多有记姓氏源流的一章,或称姓氏源流,或称宗族源流。它主要是用来记述本姓来源、本族的历史渊源、始祖、世派、迁徙、各支派间关系甚至改姓的原委等。 8族规家法 是宗族家族成员共同制定的、用以约束和教化族人的宗族法规,是家谱中的重要组成部分。其名称各异,种类很多,诸如家规、家约、家戒、家法、家礼 、家典、家仪、家条、族规、族约、祠规、祠约、规范、规条、规矩、条规、戒谕等。 9祠堂 记载宗族、家族祠堂修建的历史,介绍祠堂的建筑规模、地理位置,收录有关祠堂的碑文、诗文、祠联、祠匾、祠堂图,建祠捐资人名,记录祠堂内神位世次、配享、附享、祭祀情况等。 10五服图 又称服制图。所谓五服,就是指古代丧服制度中的五种服色,即斩衰、齐衰、大功、小功、缌麻。丧服是根据生者与死者的远近亲疏关系而穿着的一种服饰。因五服本身就表明生者与死者的亲疏远近关系,同时又表明与死者同有关系的生者与生者之间的远近亲疏关系,所以不仅在执行丧礼时要涉及到,而且在执行宗族、家族事务及执行法律时也必须涉及,所以家谱中一般都载有五服图。 11世系 这是家谱中的主体部分,又称为世系图、世系考、世系记等。这部分内容为所有中国家所共有,因而成为家谱区别于正史、地方志的最明显的标志。世系表除欧阳修、苏洵所发明的欧式图谱和苏式图谱外,还有两种比较常见:(1)宝塔式图谱:这一图谱形式何人所创、创于何时目前尚元定论,不过至迟已在南宋时出现,因此很可能也是北宋人的产品。(2)牒记式图谱:这一图谱的特点是分别按世代以文字叙述先人的事迹,既不用线条,也不用图表。 12传记 家谱中的传记又称行状、行述、行实、事状、志略等,其体裁有传记、行状、寿文、贺序、墓志、祭文以及抄自史传中的资料,主要载录家族成员中“方行可书”的“忠臣孝子”、“节妇义夫”的事迹和传记资料。 13谱系本记 也称作世序、世系录、先世考等,主要内容与世系部分大致相同,记载本族成员的简况即本人名讳、父名讳、排行、字号、生卒年月、寿数等。 14族产 记录家族、宗族的集体财产如祀田、坟地、义庄、学田、义墅、山林、房屋等。 15契据文约 专门登载与记录和族产有关的契据文约、管理制度以及宗族、家族内部关于承嗣、婚姻、分家等的文书及契约。 16坟茔 记载族中公共坟地的情况,包括墓地图、坟向、祖坟及各支派墓地分布等。 17名迹录 记载与本族或族中成员有关的山水桥梁、亭台堂舍、庵寺书院等。 18任宦记 记载族中成员历代官宦名人事迹,其内容与传记部分大致相同,包括履历、科第、政绩、功勋、著作、学说等。 19年谱 是按照年、月、日专门记载一个人生平事迹的一种体裁。 20艺文 收录家族、宗族成员的著述,包括奏疏、殿试文、万言策、诗词和各式文章等。 21字辈谱 又称派语、派行诗、行第、派引、排行等,专门登载族内成员姓名排行的字语。 22领谱字号 中国古代家谱修好后,在派发给族中成员前,对每部谱都编以号码。 23续后篇 或称余庆录。指家谱修完后,专门留空白纸数页,留待后世子孙续,以示绵延不绝。 24纂修、捐资人名 家谱的纂修或续修,是家族、宗族中的一件大事,涉及族中许多人员,且须动员全族成员捐款助修。 以上是家谱的基本格式。一部家谱也许不可能将上述基本格式全部用到,但格式中的主要部分如谱序、凡例、世系图、传记、家规、艺文、字辈谱等肯定会有,家谱也正是任借上述内容将家族的历史渊源、迁徙情况、历代英贤等保存下来,并流传后世。 其实一部完整的家谱就是一部宗族、家族史或宗族、家族百科全书。通过这部家谱,我们可以了解到该家族的历史沿革,世系繁衍,人口变迁,居地变迁,婚姻状况,该家放成员在科第、官职等政治生活中的地位、作用和事迹,该有族的经济情况和丧葬、礼典、家规、家法等典章制度等。而家谱也正是将这些内容以书、图、志、表、史的形式记录下来,从为可与正史与方志并列的又一文史宝库。

看你需要什么类型的家谱:
1、纸质家谱:书籍形式,正式规范,需要采集资料、编辑排版、印刷装订,过程较繁琐,成 本 较高。
2、网络家谱:通过网站或APP修谱,过程简单,甚至不用钱, *** 作简单或有使用说明。

家谱是记载家族人文的核心载体,写家谱要明确采用哪种格式。

比如欧阳修式、苏洵式、宝塔式、牒记式、图文对照式、横排图表式、竖排图文式、表记式、图记式等。
示例:使用 找你家谱 编修 宝塔式 家谱,形象直观,简洁易用。

手机修谱·网络寻根
>看下Binarytreeh是否和当前引入该文件的文件是否在同一文件夹下。 追问: 不太懂,我把程序发给你,帮忙调试一下吧,谢谢啦,万分紧急 追问: #include "Binarytreeh" #include <ctypeh> #include <stdlibh> void menu() { cout<<endl; cout<<" 欢迎使用家谱管理系统"<<endl; cout<<" "<<endl; cout<<" &文件 *** 作功能&"<<" &家谱 *** 作功能& "<<endl; cout<<" "<<endl; cout<<" 家谱记录输入-----------1 "<<" 查找某人记录---------------8 "<<endl; cout<<" 读取存盘记录-----------2 "<<" 查找某人的孩子-------------9 "<<endl; cout<<" 清除家谱存盘记录-------3 "<<" 查找某人的祖先-------------c "<<endl; cout<<" 添加成员---------------4 "<<" 用括号表示法输出家谱-------k "<<endl; cout<<" 存盘-------------------5 "<<" 用凹入表示法输出家谱-------n "<<endl; cout<<" 修改家谱成员信息-------6 "<<" "<<endl; cout<<" 删除家谱成员-----------7 "<<" "<<endl; cout<<" "<<endl; cout<<" 显示菜单-----------------------------------------------m"<<endl; cout<<" 退出---------------------------------------------------0"<<endl; cout<<endl; } void main() { char s; menu(); //显示菜单 string name,str,name2; Binarytree tree; //建立一个 二叉树 对象 node f; //建立一个 单链表 while(1) { cout<<"请选择相应功能的序号按enter进入 *** 作:"<<endl; cin>>str; if(strsize()!=1)s='m'; else s=str[0]; //用于判断用户是否有 错误 *** 作 switch(s) { case '1' : cout<<"输入姓名:"; treeoutroot()=treebulid(NULL,1);break;//输入家谱 case '2' : if(fread()==NULL) cout<<"文件内容为空!无法读取数据!"<<endl;//判断单链表是否为空 else { treeoutroot()=treeload(fread()); cout<<"家谱已载入!"<<endl; }break; //将文件中内容还原为二叉树 case '8' : cout<<"请输入要查找的姓名:"; cin>>name; Binarytnode p; p=treesearchRecord(name); if(p!=NULL)cout<<p->Getname()<<endl;break;//查找某人的信息 case '9' : cout<<"请输入要查找的姓名:"; cin>>name; treesearchChild(name);break;//查找某人孩子的信息 case 'c' : cout<<"请输入要查找的姓名:"; cin>>name; treesearchParent(name);break;//查找某人祖 先信息 case 'k' : treedisplaytree1(treeoutroot());cout<<endl;break;//用括号法表示 case 'n' : treedisplaytree2(treeoutroot(),0);break;//用凹入法表示 case '5' : if(treeoutroot()==NULL) cout<<"你没有输入家谱记录!无法保存家谱记录!"<<endl; else treesave(treeoutroot());break;//家谱保存 case '3' : treeclear(); cout<<"家谱记录清除成功!"<<endl; break;//删除记录文件 case 'm' : menu();break; case '4' : if(treeoutroot()!=NULL) { cout<<"请输入要添加成员的姓字:"<<endl; cin>>name; cout<<"请输入该成员 双亲 的姓名:"<<endl; cin>>name2; treeaddRecord(name2,name); } else cout<<"家谱记录为空!无法完成添加 *** 作!"<<endl;break; case '6' : if(treeoutroot()!=NULL) { cout<<"输入要修改成员的姓名:"<<endl; cin>>name; treechange(name);//调用 } else cout<<"家谱记录为空!无法完成修改 *** 作!"<<endl;break; case '7' : if(treeoutroot()!=NULL) { cout<<"输入要 删除成员 的姓名:"<<endl; cin>>name; treedel(name);//调用删除函数 } else cout<<"家谱记录为空!无法完成删除 *** 作!"<<endl;break; case '0' : exit(0); //退出 default: cout<<"错误 *** 作!"<<endl; menu(); //错误 *** 作后直接显示菜单 } } } 2)家谱记录输入: 主要实现代码: Binarytnode Binarytree::bulid(Binarytnode p,int num) //输入家谱,用 递归 来建立二叉树(功能1的主要实现函数) { char n; Binarytnode m;//定义m指针 m=new Binarytnode; //分配内存,建立一个二叉树结点 string name; cin>>name; //输入姓名 m->Getname()=name; m->parent()=p; //存放双亲结点的地址 m->Getnumber()=num; //获取节点的编号 cout<<m->Getname()<<"是否有左孩子(Y/N):"; cin>>n; if(n=='Y'||n=='y') //判断是否有右子树 { cout<<"输入他左孩子的姓名:"<<endl; m->left()=bulid(m,2num);// 递归调用 建立左子树 } else { m->left()=NULL;//无左子树则左孩子指针赋为空 } cout<<m->Getname()<<"是否有右孩子(Y/N):"<<endl; cin>>n; if(n=='Y'||n=='y')//判断是否有左子树 { cout<<"输入他右孩子的姓名:"<<endl; m->right()=bulid(m,2num+1);//递归调用建立右子树 } else { m->right()=NULL;//无左子树则左孩子指针赋为空 } return m; } 3) 添加成员 主要实现代码 void Binarytree::addRecord(string parent,string name)//(功能4的主要实现函数) //插入家族成员记录, 形参 parent为要插入的家族成员的双亲姓名,形参name为要插入家族成员的姓名 { Binarytnode q; q=searchRecord(parent); if(q!=NULL) { Binarytnode p;//定义指针 p=new Binarytnode; if(q->left()==NULL)//左子树 { q->left()=p; p->Getname()=name;//新加结点的值 p->Getnumber()=2(q->Getnumber());//新加结点编号 p->parent()=q; cout<<"添加成功!"<<endl; } else { if(q->right()==NULL)//右子树 *** 作 { q->right()=p; p->Getname()=name; p->Getnumber()=2(q->Getnumber())+1; p->parent()=q; cout<<"添加成功!"<<endl; } else { if(q->right()!=NULL&&q->left()!=NULL)//左子树不等于空值 { cout<<"无法添加成员!"<<endl; } } } } } 4) 存盘 主要实现代码: void Binarytree::save(Binarytnode root)//以层次 遍历 的顺序保存二叉树各结点(功能5的主要实现函数) { fstream outfile;//定义文件 outfileopen("jiaputxt",ios::out); outfileclose(); system("del jiaputxt");//清空文件内容 queue<Binarytnode>Q;//Q为 队列 ,队列元素是二叉树结点指针 Binarytnode p; if(root!=NULL) { Qpush(root);// 根结点 入队列 while(!Qempty())//判断文件 { p=Qfront();//取队头元素 outfileopen("jiaputxt",ios::app|ios::out); if(!outfile) { cout<<"文件不能打开!"<<endl; abort(); } outfile<<p->Getname()<<" "<<p->Getnumber()<<'\n';//将队头节点信息写入文件 outfileclose(); Qpop();//删除队头元素 if(p->left()!=NULL) Qpush(p->left());//左孩 子结点 入队列 if(p->right()!=NULL) Qpush(p->right());//右孩子节点入队列 } } cout<<"已保 存到文件 !"<<endl; } 5) 修改家谱成员信息 主要实现代码: void Binarytree::change(string name)//修改家谱成员的姓名(功能6的主要实现函数) { string str; Binarytnode p; p=searchRecord(name); if(p!=NULL) { cout<<"请输入修改后的姓名:"<<endl; cin>>str; p->Getname()=str; cout<<"记录修改成功!"<<endl; } } 6) 删除家谱成员的信息 主要实现代码: void Binarytree::del(string name)//删除家谱成员的信息(功能7的主要实现函数) { Binarytnode p,q; p=searchRecord(name); if(p!=NULL) { if(p->left()==NULL&&p->right()==NULL) { q=p->parent(); if(q->left()==p) { q->left()=NULL; } else { q->right()=NULL; } delete p; cout<<"记录已删除!"<<endl; } } } 7)读取存盘记录 主要实现代码: Binarytnode Binarytree::load(node head,Binarytnode parent)//将单链表还原为二叉树(功能2的主要实现函数) { Binarytnode p; p=new Binarytnode; node m; m=head->Getnext(); p->Getname()=head->Getname(); p->Getnumber()=head->Getnumber(); p->parent()=parent; while(m!=NULL&&m->Getnumber()!=2(head->Getnumber())) { m=m->Getnext(); } if(m!=NULL) { p->left()=load(m,p);//用递归建立左子树 } else { p->left()=NULL; } m=head->Getnext(); while(m!=NULL&&m->Getnumber()!=2(head->Getnumber())+1) { m=m->Getnext(); } if(m!=NULL) { p->right()=load(m,p);//用递归建立右子树 } else { p->right()=NULL; } return p; } 8)查找某人记录 主要实现代码: Binarytnode Binarytree::searchRecord(string name)//用层次遍历来查找某个记录(功能8的主要实现函数) { queue<Binarytnode>Q; //Q为队列,队列元素是二叉树结点指针 Binarytnode p; if(this->outroot()!=NULL) { Qpush(this->outroot());//根结点入队列 while(!Qempty()) { p=Qfront();//取队头元素 if(p->Getname()compare(name)==0)//判断是否找到结点的值相同 { return p; } Qpop();//删除队头元素 if(p->left()!=NULL) Qpush(p->left());//左孩子结点入队列 if(p->right()!=NULL) Qpush(p->right());//右孩子节点入队列 } cout<<"未找到相匹的姓名!"<<endl; } return NULL; } 9)查找某人的孩子 主要实现代码: void Binarytree::searchChild(string name)//(功能9的主要实现函数) //形参name要查找的姓名,按姓名查找某人的孩子,若找到记录则显示该节点孩子的姓名,反之,则提示未找到信息 { Binarytnode p; p=searchRecord(name); //查找节点 if(p!=NULL) { if(p->left()!=NULL) { cout<<p->Getname()<<"的左孩子的姓名为:"<<endl; cout<<p->left()->Getname()<<endl;//显示它的左孩子 } else { cout<<p->Getname()<<"无左孩子!"<<endl; } if(p->right()!=NULL) { cout<<p->Getname()<<"的右孩子的姓名为:"<<endl; cout<<p->right()->Getname()<<endl;//显示它的右孩子 } else { cout<<p->Getname()<<"无右孩子!"<<endl; } } } 10)查找某人的祖先 主要实现代码: void Binarytree::searchParent(string name)//(功能c的主要实现函数) //形参name要查找的姓名,按姓名查找某人的祖先,若找到记录则按 辈份 从小到 大显 示该节点的祖先,反之,则提示未找到信息。 { Binarytnode p; p=searchRecord(name);//查找结点 if(p!=NULL) { if(p->parent()==NULL)cout<<"此人没有双亲!"<<endl; else { cout<<"此人的祖先按辈份从小到大排序为:"<<endl; p=p->parent(); while(p!=NULL) { cout<<p->Getname()<<" ";//显示它的双亲 p=p->parent();//指针移动到它的双亲节点 } cout<<endl; } } } 11)括号输出法 主要实现代码: void Binarytree::displaytree1(Binarytnode root) //用递归来实现括号法表示(功能k的主要实现函数) { if(root!=NULL) { cout<<root->Getname();//输出根结点 if(root->right()!=NULL||root->left()!=NULL)//判断左子树或者右子树是否为空 { cout<<"("; displaytree1(root->left()); cout<<","; displaytree1(root->right()); cout<<")"; } } } 12)用凹入法输出家谱 主要实现代码: void Binarytree::displaytree2(Binarytnode root,int n)//用递归来实现凹入法表示(功能n的主要实现函数) { if(root!=NULL) { cout<<setw(3n)<<root->Getname()<<endl; displaytree2(root->left(),n+3); displaytree2(root->right(),n+3); } } 13)清除存盘记录 主要实现代码: void Binarytree::clear()//(功能3的主要实现函数) { fstream file; fileopen("jiaputxt",ios::out);//防止用户删除jiaputxt,造成删除jiaputxt时造 成文 件不存在 fileclose(); system("del jiaputxt"); fileopen("jiaputxt",ios::out); fileclose(); //清空文件内容(删除文件再建立一个空文件) } 回答: 可以,724455494

cdr14 有个增强插件可以插入页码
先排完版后,再执行这个vba宏即可。
选择,“工具/visual basic/执行宏”
下拉选单“Macros in”选“All Standard Projects”
上面“Macros Name”选“Corel macros,PageNumbering”
接着按“执行 ”
接下来的窗口就依你需要而自行设定
"#"表示该页页码
""表示总页数
如果你输入all ;this#
页码即显示all8;this1,(假设文件有8页,在第1页之页码)
注意:版面好像只能设定在 a4 ,其它尺寸好像要自己设定位置!!
“linsong”提供适合Coreldraw12:打开vba编辑器删掉以下这几句,即可适合各尺寸,可以试试看!
dUnit = CoreldrawrInch
dDrawingOriginX = -425
dDrawingOriginY = -55
Coreldraw 9中插入页码
先把整本书排完,页码暂不理。排完后选菜单:工具-visual basic-执行巨集-下拉选单Macros in:选All Standard Projects上面Macros Name:选Corel macros,PageNumbering接著按执行。接下来的d出窗口设置好文字的一些基本属性再确定就可以了。
Coreldraw9中没有此插件,需要自定义SCRIPT。代码如下:
DIM TXT$(10)
DIM ETXT$(10)
For i=1 TO 10
FOR j=1 TO 50
  TXT$(i)=RIGHT("00" & j+(i-1)50,3)
ETXT$(i)=ETXT$(i) +CHR(13) + TXT$(i)
NEXT j
WITHOBJECT "CoreldrawAutomation9"
x&=-873448+(i-1)150000
y&=1280406
CreateArtisticText CHR(64+i)+ETXT(i) ,x&, y&
RecorderEditTextCharAtbributes 0, 0, "Arial", 7, 160, 0, 0, 0, 0, 0, 0, 1000, 800, 0, 0
END WITHOBJECT
Next i

1、电脑打开Word文档。

2、打开Word文档后,点击工具栏中的插入,然后选择智能图形。

3、进入选择图形页面,选择图形后,点击确定。

4、Word正文添加构造图之后,就可以输入名字世谱了。

5、如果表格不够,可以选中一个图标,点击右上角的添加,可以选中在上方或者下方添加项目。

1、先进行内容搜集;

家谱的内容是包括:谱名、谱序、谱例、谱论、恩荣录、遗像、姓氏起源、家训、祠堂、五服图、世系表、家传、谱系本记、族产、契据文约、坟茔、名迹录、仕宦记、年谱、艺文著述、字辈谱、领谱字号、续后篇、捐资人名等共计二十四项内容。

一般来说,家谱的前半部分要交代家族的一些起源、修谱的原因,传承的情况,姓氏的起源,家族的荣光,家族祖先的图像,家族传承下来的家训、祠堂文化等,然后在进行世系表的编排,这是家谱成书后的顺序。

但家谱内容不一定会搜集全部,所以只需把搜集到的内容进行编撰即可,没有办法搜集到资料的内容,可以不出现在的家谱上,尽力而为即可。

2、确定家谱目录;

一般来说,所修家谱都无法把全部内容都编写在家谱上,这是因为每个阶段的家谱都有着自己的时代特点。这就导致现代家谱比较注重内容,而把目录的作用忽视。

其实,家谱是要根据内容来进行资料搜集,这是大方向,在这个基础上可以加入一些自己家族的一些特有内容:家族的风土人情等,当然这种情况是比较少见的。最常见的方式是要根据自己家族所搜集的资料,整理之后,再确定家谱目录。

3、分工撰写;

搜集完内容,确定目录之后,就可以进行编排工作了。一般家谱编修委员会职责划分的比较明确,人员配置有编委会主任、副主任、主编、副主编、编辑等。可以先进行谱序、凡例、艺文、名人传、后记的撰写。

谱序是写在家谱最前面的内容,主要讲述的是修谱的背景,家族的历史,修谱的过程,一般来说谱序是可以找知名人物代为写序的。

凡例就是编修家谱中所制定的修谱规矩。主要介绍的是家谱编修的指导思想,家谱编修的原则,家谱的体载结构,家谱行文规则,和入谱人员要求等内容。

扩展资料:

家谱编辑注意事项:

校对名字是否正确。调查中经常会同这个人叫什么名字,但对这个人的名字具体是哪个字,往往无人注意。因此,特别注意同音字以及字形相似的字。比如清和青,有和友,主和玉,全和金。

校对内容是否完整。修谱时间往往是几十年到几百年不等,是否存在缺代或者断代的现象。对于上次家谱中登记的人,是否还在世。如果已经去世,就要补完亡者死亡时间和舞地。对于未详及失考的部分,要尽可能的去核实,以免后人更难考证。

核对出生年月。旧谱常常以农历纪年、现在公历农历并用。因此,在相互转换的同时,二是要核对其是否准确。一定要问清到底是衣历还是公历。如果家谱中有干支,可以核对年月表,还有结合生肖核实生年的准确性,一般生肖是不会错的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13401038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存