zeuux-universe  - 讨论区

标题:[zeuux-universe] 如何调整纯文本表格宽度

2011年05月24日 星期二 16:42

Zhang Weiwu, Beijing zhangweiwu在realss.com
星期二 五月 24 16:42:24 CST 2011

On 05/24/2011 03:15 PM, 高增琦 wrote:
> 要求总行数最 短?

对呀,这是一个常见需求。你看看各公司文职人员都在做什么,他们在处理表格
时,一半的时间都在调整列宽以使得表格的总行数最少。

-- 
我的博客:
http://zhangweiwu.ixiezi.com/
网站进化论 --写给需要网站或后悔有了网站的人


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月24日 星期二 17:08

高增琦 pgf00a在gmail.com
星期二 五月 24 17:08:45 CST 2011

最少就理解了...我以为最“短”有什么特殊的含义

有个简单的想法:

假设:
1 字符等宽
2 单词可以在任意位置断开(补充连字符)
3 不必十分精确
4 每行至少可以放下所有列

那么:
1 把所有文字连续写,不分列的情况总行数最少
2 要做的就是把所有文字连续写,不过改变一下文字的顺序,产生分列的效果
3 每列的宽度为:行宽*(列字符数/总字符数)
4 算法就是:对于每行,先写第一列,到达第一列列宽后,写第二列 ...
5 你那个例子差不多就是6比1

2011/5/24 Zhang Weiwu, Beijing <zhangweiwu在realss.com>

> On 05/24/2011 03:15 PM, 高增琦 wrote:
> > 要求总行数最 短?
>
> 对呀,这是一个常见需求。你看看各公司文职人员都在做什么,他们在处理表格
> 时,一半的时间都在调整列宽以使得表格的总行数最少。
>
> --
> 我的博客:
> http://zhangweiwu.ixiezi.com/
> 网站进化论 --写给需要网站或后悔有了网站的人
>
>


-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110524/4cbe6690/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 09:11

高增琦 pgf00a在gmail.com
星期三 五月 25 09:11:00 CST 2011

我这个有什么问题?
求指教

2011/5/24 高增琦 <pgf00a在gmail.com>

> 最少就理解了...我以为最“短”有什么特殊的含义
>
> 有个简单的想法:
>
> 假设:
> 1 字符等宽
> 2 单词可以在任意位置断开(补充连字符)
> 3 不必十分精确
> 4 每行至少可以放下所有列
>
> 那么:
> 1 把所有文字连续写,不分列的情况总行数最少
> 2 要做的就是把所有文字连续写,不过改变一下文字的顺序,产生分列的效果
> 3 每列的宽度为:行宽*(列字符数/总字符数)
> 4 算法就是:对于每行,先写第一列,到达第一列列宽后,写第二列 ...
> 5 你那个例子差不多就是6比1
>
> 2011/5/24 Zhang Weiwu, Beijing <zhangweiwu在realss.com>
>
>> On 05/24/2011 03:15 PM, 高增琦 wrote:
>>
>> > 要求总行数最 短?
>>
>> 对呀,这是一个常见需求。你看看各公司文职人员都在做什么,他们在处理表格
>> 时,一半的时间都在调整列宽以使得表格的总行数最少。
>>
>> --
>> 我的博客:
>> http://zhangweiwu.ixiezi.com/
>> 网站进化论 --写给需要网站或后悔有了网站的人
>>
>>
>
>
> --
> GaoZengqi
> pgf00a在gmail.com
> zengqigao在gmail.com
>



-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110525/99a490c0/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 12:32

高增琦 pgf00a在gmail.com
星期三 五月 25 12:32:14 CST 2011

我这个有什么问题?
求指教

ps 回复累死人么?

2011/5/25 高增琦 <pgf00a在gmail.com>

> 我这个有什么问题?
> 求指教
>
>
> 2011/5/24 高增琦 <pgf00a在gmail.com>
>
>> 最少就理解了...我以为最“短”有什么特殊的含义
>>
>> 有个简单的想法:
>>
>> 假设:
>> 1 字符等宽
>> 2 单词可以在任意位置断开(补充连字符)
>> 3 不必十分精确
>> 4 每行至少可以放下所有列
>>
>> 那么:
>> 1 把所有文字连续写,不分列的情况总行数最少
>> 2 要做的就是把所有文字连续写,不过改变一下文字的顺序,产生分列的效果
>> 3 每列的宽度为:行宽*(列字符数/总字符数)
>> 4 算法就是:对于每行,先写第一列,到达第一列列宽后,写第二列 ...
>> 5 你那个例子差不多就是6比1
>>
>> 2011/5/24 Zhang Weiwu, Beijing <zhangweiwu在realss.com>
>>
>>> On 05/24/2011 03:15 PM, 高增琦 wrote:
>>>
>>> > 要求总行数最 短?
>>>
>>> 对呀,这是一个常见需求。你看看各公司文职人员都在做什么,他们在处理表格
>>> 时,一半的时间都在调整列宽以使得表格的总行数最少。
>>>
>>> --
>>> 我的博客:
>>> http://zhangweiwu.ixiezi.com/
>>> 网站进化论 --写给需要网站或后悔有了网站的人
>>>
>>>
>>
>>
>> --
>> GaoZengqi
>> pgf00a在gmail.com
>> zengqigao在gmail.com
>>
>
>
>
> --
> GaoZengqi
> pgf00a在gmail.com
> zengqigao在gmail.com
>



-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110525/e8be5d10/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 12:39

Zhang Weiwu zhangweiwu在realss.com
星期三 五月 25 12:39:30 CST 2011

On 05/25/2011 12:32 PM, 高增琦 wrote:
> 我这个有什么问题?
> 求指教
>
> ps 回复累死人么?

说实话没有看懂你的解法……

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 12:56

高增琦 pgf00a在gmail.com
星期三 五月 25 12:56:17 CST 2011

...不懂就没回复,原来是这么一个机制...
我记得曾经一直询问一本电子书的问题,一直也没有回应,看来也是不懂的原因...
记得曾经回复你封邮件,说招商银行的网银可以在非ie的情况下使用了,也没被“懂”...

抱歉,说的不太清楚,其实是这么个意思:

例如:
输入 ,共两列:
$ printf "column 1\tcolumn 2\n \
The quick brown fox jumps over a lazy dog. \
The quick brown fox jumps over a lazy dog. \
The quick brown fox jumps over a lazy dog. \
The quick brown fox jumps over a lazy dog. \t \
That's it. Thanks reading.\n"
输出
column 1                                                            column 2

The quick brown fox jumps over a lazy dog. The     That's it.
quick brown fox jumps over a lazy dog. The quick   Thanks
brown fox jumps over a lazy dog. The quick brown   reading.
fox jumps over a lazy dog.

行数最少的情况是:
The quick brown fox jumps over a lazy dog.The quick brown
fox jumps over a lazy dog.The quick brown fox jumps over
a lazy dog.The quick brown fox jumps over a lazy dog. That's
it. Thanks reading.
即所有内容连续的输出。

要做的就是把所有文字连续写,*不过改变一下文字的顺序*,*产生分列的效果*。
上例就是将绿色的字,放到蓝色的字的位置。

一行一行的输出
对于每行:
       先写第一列,到达第一列列宽后,
       写第二列,到达第二列的列宽后,
       写第三列,
       ......

列宽的比例,就是字符数的比例(因为假设了字符等宽,否则需要计算实际
宽度的比例)

有问题,或者不懂请问,*讨论远大于100元....*

2011/5/25 Zhang Weiwu <zhangweiwu在realss.com>

> On 05/25/2011 12:32 PM, 高增琦 wrote:
> > 我这个有什么问题?
> > 求指教
> >
> > ps 回复累死人么?
>
> 说实话没有看懂你的解法……
>



-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110525/d968f0da/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 12:58

高增琦 pgf00a在gmail.com
星期三 五月 25 12:58:24 CST 2011

刚才格式有些问题

2011/5/25 高增琦 <pgf00a在gmail.com>

> ...不懂就没回复,原来是这么一个机制...
> 我记得曾经一直询问一本电子书的问题,一直也没有回应,看来也是不懂的原因...
> 记得曾经回复你封邮件,说招商银行的网银可以在非ie的情况下使用了,也没被“懂”...
>
> 抱歉,说的不太清楚,其实是这么个意思:
>
> 例如:
> 输入 ,共两列:
>
> $ printf "column 1\tcolumn 2\n \
> The quick brown fox jumps over a lazy dog. \
> The quick brown fox jumps over a lazy dog. \
> The quick brown fox jumps over a lazy dog. \
> The quick brown fox jumps over a lazy dog. \t \
> That's it. Thanks reading.\n"
> 输出
> column 1                                                            column
> 2
> The quick brown fox jumps over a lazy dog. The     That's it.
> quick brown fox jumps over a lazy dog. The quick   Thanks
> brown fox jumps over a lazy dog. The quick brown   reading.
> fox jumps over a lazy dog.
>
> 行数最少的情况是:
>
> The quick brown fox jumps over a lazy dog.The quick brown
> fox jumps over a lazy dog.The quick brown fox jumps over
>  a lazy dog.The quick brown fox jumps over a lazy dog. That's
> it. Thanks reading.
> 即所有内容连续的输出。
>
> 要做的就是把所有文字连续写,*不过改变一下文字的顺序*,*产生分列的效果*。
> 上例就是将绿色的字,放到蓝色的字的位置。
>
> 一行一行的输出
> 对于每行:
>        先写第一列,到达第一列列宽后,
>        写第二列,到达第二列的列宽后,
>        写第三列,
>        ......
>
> 列宽的比例,就是字符数的比例(因为假设了字符等宽,否则需要计算实际
> 宽度的比例)
>
> 有问题,或者不懂请问,*讨论远大于100元....*
>
>
> 2011/5/25 Zhang Weiwu <zhangweiwu在realss.com>
>
>> On 05/25/2011 12:32 PM, 高增琦 wrote:
>> > 我这个有什么问题?
>> > 求指教
>> >
>> > ps 回复累死人么?
>>
>> 说实话没有看懂你的解法……
>>
>
>
>
> --
> GaoZengqi
> pgf00a在gmail.com
> zengqigao在gmail.com
>



-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110525/cecb522b/attachment-0001.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 13:23

pansz pan.shizhu在gmail.com
星期三 五月 25 13:23:54 CST 2011

2011/5/25 高增琦 <pgf00a在gmail.com>:
> ...不懂就没回复,原来是这么一个机制...
> 我记得曾经一直询问一本电子书的问题,一直也没有回应,看来也是不懂的原因...
> 记得曾经回复你封邮件,说招商银行的网银可以在非ie的情况下使用了,也没被“懂”...

附议,你说的事情我也说过,也没被“懂”。也无任何回复。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 15:43

Zhang Weiwu, Beijing zhangweiwu在realss.com
星期三 五月 25 15:43:00 CST 2011

On 05/25/2011 12:56 PM, 高增琦 wrote:
> 列宽的比例,就是字符数的比例(因为假设了字符等宽,否则需要计算实际
> 宽度的比例)

你的解法,特点是极为简单,如此简单,以致于觉得说清楚这个算法的时间比用之
写一个程序还久。这种解法我感觉即使字都等宽也是一种近似解法,所以 我打算
用几个测试,试一下近似度在各种实例测试中的表现。测试完了发到这个列表上吧。

-- 
我的博客:
http://zhangweiwu.ixiezi.com/
网站进化论 --写给需要网站或后悔有了网站的人


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 15:51

高增琦 pgf00a在gmail.com
星期三 五月 25 15:51:11 CST 2011

恩,如果邮件有几个可以选择的简单的回复选项会好很多。
比如:
like, not like, 懂,不懂,......

2011/5/25 pansz <pan.shizhu在gmail.com>

> 2011/5/25 高增琦 <pgf00a在gmail.com>:
> > ...不懂就没回复,原来是这么一个机制...
> > 我记得曾经一直询问一本电子书的问题,一直也没有回应,看来也是不懂的原因...
> > 记得曾经回复你封邮件,说招商银行的网银可以在非ie的情况下使用了,也没被“懂”...
>
> 附议,你说的事情我也说过,也没被“懂”。也无任何回复。
>



-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110525/2414f57c/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

2011年05月25日 星期三 15:59

高增琦 pgf00a在gmail.com
星期三 五月 25 15:59:41 CST 2011

简单的容易被忽略啊...在_@

这个方法可以扩充的,比如单词不可分的时候,可以动态调整,
每次动态调整幅度逐渐减小,直到找到较为合适的情况。

或者计算列宽时留出空挡,因为大家往往关注的是左边界的对齐。

如果想寻求最优解...要么就列个方程,用最优化的解法,(前面有个回复)
或者想办法看看能不能用动态规划等方法找到,也许可以...

ps,不知道tex里有没有类似的算法...

2011/5/25 Zhang Weiwu, Beijing <zhangweiwu在realss.com>

> On 05/25/2011 12:56 PM, 高增琦 wrote:
> > 列宽的比例,就是字符数的比例(因为假设了字符等宽,否则需要计算实际
> > 宽度的比例)
>
> 你的解法,特点是极为简单,如此简单,以致于觉得说清楚这个算法的时间比用之
> 写一个程序还久。这种解法我感觉即使字都等宽也是一种近似解法,所以 我打算
> 用几个测试,试一下近似度在各种实例测试中的表现。测试完了发到这个列表上吧。
>
> --
> 我的博客:
> http://zhangweiwu.ixiezi.com/
> 网站进化论 --写给需要网站或后悔有了网站的人
>
>


-- 
GaoZengqi
pgf00a在gmail.com
zengqigao在gmail.com
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <http://www.zeuux.org/pipermail/zeuux-universe/attachments/20110525/bd416135/attachment.html>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-universe]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号