From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id sGuyDvkpcGcUwwAA62LTzQ:P1 (envelope-from ) for ; Sat, 28 Dec 2024 16:40:25 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id sGuyDvkpcGcUwwAA62LTzQ (envelope-from ) for ; Sat, 28 Dec 2024 17:40:25 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1735404025; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=MeEsK5Lt4JiEWbU3PUZ8B1vMi8nG56U9sO0KutEEMEw=; b=orUsbac3v5TMUeBKVQ6nXj6HIWcf17i7+NlDR1Z5uwpyumk+mxFtt385FeQUMD5h3liGvz CJr93z489IuiiGY3ZFtvx7mrD+vyG8z6UVD0DkQ0UKpZH9WjgBBAp+goN6S/HstJDIOcWP X8YM/4EpAhY6qG0/tgcwUr9cGeDdtRIW+tbdVN9CRDVcaOLWMlhhbma4INFdESD0HcpjLO Ptjv/HzAwOyT4H13F/UQ1h22Te6j7kxeXOays54UK8s4Y8CVYFBgAN55cy03X/hZ3LzZYC Iy7ZBiK5Q6QsWtuC0NYfBv6OKK9q9vu5RwC+7/KvonwJ+blgd1b8pGnhgBl3AA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1735404025; a=rsa-sha256; cv=none; b=nuGDgkRBosjTm9CmqOqDnd3GMupBeSn30VeVy8FW8PM0GfDy6wGgoaL8ueUxnAEjlndJo9 WTKoAh1kPiWxta7NfS366BaaEDEAUpsfeqpnFsyZ0AEvCl4VVdIt6aRj7WC8cn3ISeRNV5 JUVRAPxGXyUScNP64Vn0CLRiKmM4LEbjrj04SxGVANesw52f1UZnoMc25S31FfbwBZhDtY FQhsQo+x4lU204JK74m6ptlomdc5xeyWDPUEQ6BtLfudmfTaEaZpvG5Tj07OtZ5rdwp4j8 ESDDzfe5g84DE5Nxg+F6/lXVRl4GP4jN+NBgnTo+5tyW/uCj64GqavnvvOXPjA== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 044D35F358 for ; Sat, 28 Dec 2024 17:40:24 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tRZqn-0001WV-2Q; Sat, 28 Dec 2024 11:39:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tRZql-0001WF-NQ for emacs-orgmode@gnu.org; Sat, 28 Dec 2024 11:39:39 -0500 Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tRZqk-0001mh-BM for emacs-orgmode@gnu.org; Sat, 28 Dec 2024 11:39:39 -0500 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1tRZqh-00045q-TB for emacs-orgmode@gnu.org; Sat, 28 Dec 2024 17:39:35 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Max Nikulin Subject: Re: The less ambiguous math delimiters in tables Date: Sat, 28 Dec 2024 23:39:28 +0700 Message-ID: References: <87ldw5igab.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit User-Agent: Mozilla Thunderbird Content-Language: en-US, ru-RU In-Reply-To: Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 25 X-Spam_score: 2.5 X-Spam_bar: ++ X-Spam_report: (2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.156, NML_ADSP_CUSTOM_MED=0.9, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Queue-Id: 044D35F358 X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: 1.41 X-Spam-Score: 1.41 X-TUID: XY/IvXiqkVzb On 26/12/2024 00:56, Rudolf Adamkovič wrote: > I thought that, with the noisy \(...\) delimiters, GitHub users faced ambiguities with $...$ delimiters as well, so do not be upset by "noisy" syntax. Alternatives may be painful as well. I have no idea how expensive will be a parser that handles more cases with balanced delimiters. E.g. pandoc uses another approach: printf '%s\n' '| \(|x|\) | \(|x|\) |' | pandoc -f org -t latex \begin{longtable}[]{@{}ll@{}} \toprule \endhead \(|x|\) & \(|x|\) \\ \bottomrule \end{longtable} Likely you would be unhappy if some of you document were exported in a different way due to change of parsing rules. On the other hand, I do not have a collection of pitfalls for pandoc. An extensive test suite is necessary to consider alternatives for parsing rules. Current logic may be roughly describes as the following. When Org recognizes start of some element, it tries to find its end, mostly neglecting opening markers. A fragment is parsed for nested elements *after* boundaries of the parent element are determined. The parser ignores latex fragments when it splits table row into cells. It ignores link markers when it tries to find where emphasis terminates, etc.