From: "Mark E. Shoulson" <mark@kli.org>
To: emacs-orgmode@gnu.org
Subject: Re: "Smart" quotes
Date: Mon, 28 May 2012 21:30:20 -0400 [thread overview]
Message-ID: <4FC426AC.2030109@kli.org> (raw)
In-Reply-To: <87r4u75tg9.fsf@gmail.com>
On 05/26/2012 02:48 AM, Nicolas Goaziou wrote:
> Hello,
>
> "Mark E. Shoulson"<mark@kli.org> writes:
>
>>> The regexp may be able to tell level 1 from level 2 quotes.
>> Do you mean that the author would use the same characters for both
>> first and second level quotes, and the regexp would be smart enough to
>> distinguish which level each was at? I don't think that's possible,
>> and you probably don't either.
> Actually, I do. Since you can tell an opening quote from a closing one
> by the position of the white space (or parenthesis, beginning/end of
> line) near it, I think you can deduce the quote level. I may be wrong,
> though.
Maybe, if it's all on one line. But if the quote is several lines long,
can you sensibly count the levels? I guess it doesn't actually matter,
but it starts to get weird if you find yourself looking arbitrarily far
back, and then you start building in exceptions for crossing paragraph
boundaries... And then there's the fact that multi-paragraph quotes
usually have an open-quote for each paragraph but only one close-quote
at the end... Actually keeping count of what level you're at,
accurately, is a classic example of a non-regular language; you need a
push-down automaton to keep count, and regular expressions don't cut
it. Then again, Emacs regexps are more powerful than simple regular
expressions, and we only would want to keep track of even vs odd level
anyway.
I'm rambling. In sum, I'm going to start off /not/ trying to solve that
problem, and assume the writer is going to use alternating " and ' as
typography requires and not try to second-guess what level we're at. As
that progresses, maybe I'll come to understand better what can and can't
(and should and shouldn't) be deduced by the regexps.
>> "this is a 'quote', and that's all you need to know."
>>
>> becoming, for instance
>>
>> «this is a ‹quote›, and that’s all you need to know.»
> "this is a "quote", and that's all you need to know" is as parsable to
> me.
>
> As a side note, at least in French, many typographers would recommend
> "this is a /quote/, and that's all you need to know" here. Oh, and
> I know that was just an example.
I see; because I can tell that the second " must be an open-quote and
not closing the first, due to its position relative to the spaces. It
does seem possible, but I think I'm going to try not solving that
problem first.
(And French typography raises other problems, since French puts lots of
space around the quote-marks, to the extent that French typists typing
plain-text will often put a space on both sides of a quote-mark, making
it hard to see whether it opens or closes... another issue, not
necessarily solvable, to watch for.)
~mark
next prev parent reply other threads:[~2012-05-29 1:30 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-22 3:32 "Smart" quotes Mark E. Shoulson
2012-05-23 22:17 ` Nicolas Goaziou
2012-05-24 3:05 ` Mark E. Shoulson
2012-05-25 17:14 ` Nicolas Goaziou
2012-05-25 17:51 ` Jambunathan K
2012-05-25 22:51 ` Mark E. Shoulson
2012-05-26 6:48 ` Nicolas Goaziou
2012-05-29 1:30 ` Mark E. Shoulson [this message]
2012-05-29 17:57 ` Nicolas Goaziou
2012-05-30 0:51 ` Mark E. Shoulson
2012-05-31 1:50 ` (no subject) Mark Shoulson
2012-05-31 13:38 ` Nicolas Goaziou
2012-05-31 23:26 ` Smart Quotes Exporting (Was: Re: (no subject)) Mark E. Shoulson
2012-06-01 17:11 ` Smart Quotes Exporting Nicolas Goaziou
2012-06-01 22:41 ` Mark E. Shoulson
2012-06-03 3:16 ` Mark E. Shoulson
2012-06-06 2:14 ` Mark E. Shoulson
2012-06-07 19:21 ` Nicolas Goaziou
2012-06-11 1:28 ` Mark Shoulson
2012-06-12 13:21 ` Nicolas Goaziou
2012-06-15 16:20 ` Mark Shoulson
2012-06-19 9:26 ` Nicolas Goaziou
2012-08-07 23:18 ` Bastien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FC426AC.2030109@kli.org \
--to=mark@kli.org \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).