Tex——有方向的双引号(紫书代码解读)

TeX 是一种由 Donald Knuth 所发展出的一套文书排版软件。 这套软件可以将原始文件文件加上一些像字体等型态后,转成一份很漂亮的文件。 而一份漂亮的文件是需要用 '' 和 ” 来把别人说的话给「引」出来,而不是用大部份键盘上有的“。 虽然键盘里通常不会有这种有方向的双引号键,不过上面有左单引号'(有人叫 backquote ),和右单引号'(有人叫 apostrophe 或 quote )。 你可以在你的键盘上找一下,不过要小心不要将'与( backslash 键)搞混了。 而在 TeX 里,用户可以输入两个左单引号''来构成一个左双引号 '' ,或者是两个右单引号''来构造一个右单引号 '' ,不过呢,通常大家打字时都很习惯用普通的双引号“来引述别人的话。\

换成人话就是:

  • 每一组双引号的第一个“必须用两个`字符(就是``)来代替
  • 每一组双引号的第二个“必须用两个'字符( 就是'')来代替。

 对于双引号出现次数的判断有许多方法,比如紫书的真假:

 q=1;   q=!q;当q为真即双引号第一个,为假即第二个;

当然也可以采取这样;

q=-1; q*=-1;当q为-1XXXX,当q=1XXXXXX;

更直观的是每进行一次q+1,然后条件语句安排上,这样即使有更特殊的情况也能补上去。

#include<cstdio>
using namespace std;
int c,q=1;
int main()
{
	while((c=getchar())!=EOF)
	{
		if(c=='"'){	printf("%s",q?"``":"''");q=!q; }
		else{printf("%c",c);}
	}
	return 0; 
} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值