上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
jessekelighine
註冊時間: 2019-10-28 文章: 5
|
發表於: 星期三 二月 12, 2020 11:08 pm 文章主題: 中文的強調(著重號) |
|
|
老師好~
最近在使用 cwTeX 時想解決一個問題:總覺得想要強調中文一句話時或一句話中的幾個字時用 \underline{} 不是很好看,中文印刷習慣也不會用底線。後來想到有一些比較早的印刷品會習慣用「著重號」([url]https://zh.wikipedia.org/wiki/着重号[/url]),也就是在文字底下打點。
所以我想要嘗試定義一個指令 \underdots{} 使得
代碼 | \underdots{我想強調這個} |
的輸出是跟
代碼 | \d{我}\d{想}\d{強}\d{調}\d{這}\d{個} |
一樣都是長這樣:
我想強調這個
・・・・・・
但是由於我實在是對於 LaTeX 自己創造指令的環境不熟悉,只能在網路上拼拼湊湊出以下半吊子的結果:
代碼 |
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\def\xloop<#1#2>{%
\ifx\relax#1
\else
\d{#1}\xloop<#2>%
\fi}
\def\underdots#1{\xloop<#1\relax>}
\begin{document}
\underdots{我想強調這個}
\end{document}
|
輸出的結果是有點長這樣:
我 想 強 調 這 個
・˙・˙・˙・˙・˙・
就是每個字中間多了一個點。我初步調查的結果是發現 cwTeX 在中文字之間會有個 \z 的指令,所以應該在 loop 時跳過者些 \z 就可以了,但是我找了半天找不到調整 loop 的 step size 的指令,所以就放棄來這裡了...。希望老師可以幫我看一下上面定義的 \underdots{} 該如何修改,也想知道老師對於中文使用著重號的想法。
謝謝~~~~~ |
|
回頂端 |
|
|
tmwu Site Admin
註冊時間: 2003-03-03 文章: 1537
|
發表於: 星期四 二月 13, 2020 11:06 am 文章主題: Re: 中文的強調(著重號) |
|
|
cwtex 程式有一個選項, 可以不加入 \z,
但它的效果是對全文。
我猜你的 macro 可以修改成, 若接下來是 \z, 即跳過。
但我最近較忙, 無時間測試。 |
|
回頂端 |
|
|
jessekelighine
註冊時間: 2019-10-28 文章: 5
|
發表於: 星期四 二月 13, 2020 4:13 pm 文章主題: |
|
|
已解決!解決方式如下:
代碼 |
\usepackage{ifthen}
\def\xloop<#1#2>{%
\ifx\relax#1%
\else
\ifthenelse{\equal{#1}{\z}}{\z}{\d{#1}}\xloop<#2>%
\fi}
\def\underdot#1{\xloop<#1\relax>}
|
的確跳過所有 \z 就大致沒有問題了,只是這個方式會忽略所有空白,所以裡面不能有標點符號或是西文,不然空白都會被吃掉。 |
|
回頂端 |
|
|
|