From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- .../latex/contrib/logical-markup-utils/quoted.sty | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 macros/latex/contrib/logical-markup-utils/quoted.sty (limited to 'macros/latex/contrib/logical-markup-utils/quoted.sty') diff --git a/macros/latex/contrib/logical-markup-utils/quoted.sty b/macros/latex/contrib/logical-markup-utils/quoted.sty new file mode 100644 index 0000000000..0d7f8f0226 --- /dev/null +++ b/macros/latex/contrib/logical-markup-utils/quoted.sty @@ -0,0 +1,84 @@ +% Copyright (C) 2009 Michał Masłowski + +% This file is free software: you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This file is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +% General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see . +% +% As a special exception, when this file is read by TeX when +% processing a TeX source document, you may use the result without +% restriction. + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{quoted}[2009/04/17 language-dependent inline quotes] + +% Declare a language for quotes. The arguments are the name of the +% language and all quote commands: outer left, outer right, inner left +% and inner right. +\newcommand{\quoted@declarelanguage}[5]{% + \DeclareOption{#1}{% + \let\quoted@outerleft=#2% + \let\quoted@outerright=#3% + \let\quoted@innerleft=#4% + \let\quoted@innerright=#5}} + +\quoted@declarelanguage{american} + \textquotedblleft\textquotedblright + \textquoteleft\textquoteright + +\quoted@declarelanguage{british} + \textquoteleft\textquoteright + \textquotedblleft\textquotedblright + +\quoted@declarelanguage{german} + \quotedblbase\textquotedblleft + \guillemotright\guillemotleft + +\quoted@declarelanguage{polish} + \quotedblbase\textquotedblright + \guillemotleft\guillemotright + +\ExecuteOptions{american}\relax % The default. +\ProcessOptions\relax + +\newif\ifquoted@inquote\quoted@inquotefalse + +% In English literature multi-paragraph dialogue has unmatched quotes +% -- left one is used on the beginning of each paragraph and right one +% only at the end of the entire speech. Therefore, separate commands +% for left and right quotes are necessary. +\DeclareRobustCommand{\lquote}{% + \ifquoted@inquote + \quoted@innerleft + \else + \quoted@outerleft + \fi} +\DeclareRobustCommand{\rquote}{% + \ifquoted@inquote + \quoted@innerright + \else + \quoted@outerright + \fi} + +% Since quotes inside quotes have different style, it is changed by +% the following command. +\DeclareRobustCommand{\inquote}{% + \ifquoted@inquote + \quoted@inquotefalse + \else + \quoted@inquotetrue + \fi} + +% On the above commands a command which quotes its argument is +% based. +\DeclareRobustCommand*{\quoted}[1]{% + \lquote{\inquote#1}\rquote} -- cgit v1.2.3