diff options
259 files changed, 19421 insertions, 14980 deletions
diff --git a/FILES.byname b/FILES.byname index 2cb7155e3e..7bf26b4fdb 100644 --- a/FILES.byname +++ b/FILES.byname @@ -5001,7 +5001,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2020/04/30 | 311591 | FILES.last07days +2020/05/01 | 306161 | FILES.last07days 2018/06/27 | 99883 | fonts/academicons/academicons.pdf 2018/06/27 | 10779 | fonts/academicons/academicons.sty 2018/06/27 | 5774 | fonts/academicons/academicons.tex @@ -127578,405 +127578,439 @@ 1994/02/25 | 18333 | graphics/bm2font/p2clib.c 1994/02/25 | 4402 | graphics/bm2font/README 2006/01/01 | 673751 | graphics/bm2font.zip -2020/02/16 | 1185 | graphics/circuit_macros/boxdims.sty -2020/02/16 | 11927 | graphics/circuit_macros/CHANGES -2020/02/16 | 462 | graphics/circuit_macros/Copying -2020/02/16 | 14346 | graphics/circuit_macros/darrow.m4 -2020/02/16 | 494 | graphics/circuit_macros/doc/AmpTable.m4 -2020/02/16 | 1211 | graphics/circuit_macros/doc/Antennas.m4 -2020/02/16 | 2296 | graphics/circuit_macros/doc/Audio.m4 -2020/02/16 | 131 | graphics/circuit_macros/doc/Axes.m4 -2020/02/16 | 614 | graphics/circuit_macros/doc/BigResistor.m4 -2020/02/16 | 1619 | graphics/circuit_macros/doc/Bip.m4 -2020/02/16 | 1074 | graphics/circuit_macros/doc/bistable.m4 -2020/02/16 | 1860 | graphics/circuit_macros/doc/bi_trans.m4 -2020/02/16 | 130 | graphics/circuit_macros/doc/bitrbody.m4 -2020/02/16 | 50 | graphics/circuit_macros/doc/bitr.m4 -2020/02/16 | 133969 | graphics/circuit_macros/doc/body.tex -2020/02/16 | 1953 | graphics/circuit_macros/doc/Buffer.m4 -2020/02/16 | 25460 | graphics/circuit_macros/doc/Capture.JPG -2020/02/16 | 2670 | graphics/circuit_macros/doc/CctTable.m4 -2020/02/16 | 4073 | graphics/circuit_macros/doc/Circuit_macros.bib -2020/02/16 | 629598 | graphics/circuit_macros/doc/Circuit_macros.pdf -2020/02/16 | 2639 | graphics/circuit_macros/doc/Circuit_macros.tex -2020/02/16 | 1857 | graphics/circuit_macros/doc/Composite.m4 -2020/02/16 | 1120 | graphics/circuit_macros/doc/ConfigA.m4 -2020/02/16 | 1257 | graphics/circuit_macros/doc/ConfigB.m4 -2020/02/16 | 1291 | graphics/circuit_macros/doc/ConfigC.m4 -2020/02/16 | 2161 | graphics/circuit_macros/doc/Conn.m4 -2020/02/16 | 3326 | graphics/circuit_macros/doc/Contact.m4 -2020/02/16 | 1585 | graphics/circuit_macros/doc/Contacts.m4 -2020/02/16 | 1995 | graphics/circuit_macros/doc/Corners.m4 -2020/02/16 | 1329 | graphics/circuit_macros/doc/currents.m4 -2020/02/16 | 2389 | graphics/circuit_macros/doc/Dac.m4 -2020/02/16 | 1151 | graphics/circuit_macros/doc/Darlington.m4 -2020/02/16 | 76409 | graphics/circuit_macros/doc/defines.tex -2020/02/16 | 1485 | graphics/circuit_macros/doc/Demultiplexer.m4 -2020/02/16 | 1467 | graphics/circuit_macros/doc/Diodes.m4 -2020/02/16 | 483 | graphics/circuit_macros/doc/eboxdims.m4 -2020/02/16 | 980 | graphics/circuit_macros/doc/Emarrows.m4 -2020/02/16 | 1229 | graphics/circuit_macros/doc/fbfilter.m4 -2020/02/16 | 4489 | graphics/circuit_macros/doc/fet.m4 -2020/02/16 | 329 | graphics/circuit_macros/doc/FF.m4 -2020/02/16 | 1975 | graphics/circuit_macros/doc/FlipFlop.m4 -2020/02/16 | 960 | graphics/circuit_macros/doc/Flowdiag.m4 -2020/02/16 | 899 | graphics/circuit_macros/doc/Fuses.m4 -2020/02/16 | 707 | graphics/circuit_macros/doc/Grounds.m4 -2020/02/16 | 1020 | graphics/circuit_macros/doc/Headers.m4 -2020/02/16 | 2013 | graphics/circuit_macros/doc/HybridPi.m4 -2020/02/16 | 2362 | graphics/circuit_macros/doc/Jack.m4 -2020/02/16 | 2119 | graphics/circuit_macros/doc/Logic.m4 -2020/02/16 | 269 | graphics/circuit_macros/doc/Loop.m4 -2020/02/16 | 387 | graphics/circuit_macros/doc/lrarrows.m4 -2020/02/16 | 4354 | graphics/circuit_macros/doc/Makefile -2020/02/16 | 1575 | graphics/circuit_macros/doc/mplex.m4 -2020/02/16 | 1400 | graphics/circuit_macros/doc/Multiplexer.m4 -2020/02/16 | 499 | graphics/circuit_macros/doc/NLG.m4 -2020/02/16 | 1128 | graphics/circuit_macros/doc/NPDT.m4 -2020/02/16 | 1040 | graphics/circuit_macros/doc/Nport.m4 -2020/02/16 | 137 | graphics/circuit_macros/doc/oaxbody.m4 -2020/02/16 | 48 | graphics/circuit_macros/doc/oax.m4 -2020/02/16 | 782 | graphics/circuit_macros/doc/Oblique.m4 -2020/02/16 | 1433 | graphics/circuit_macros/doc/Opamp.m4 -2020/02/16 | 835 | graphics/circuit_macros/doc/Opto.m4 -2020/02/16 | 1624 | graphics/circuit_macros/doc/ParSeries.m4 -2020/02/16 | 1654 | graphics/circuit_macros/doc/Pconn.m4 -2020/02/16 | 801 | graphics/circuit_macros/doc/Potentiometers.m4 -2020/02/16 | 774 | graphics/circuit_macros/doc/quick.m4 -2020/02/16 | 1921 | graphics/circuit_macros/doc/relaycoil.m4 -2020/02/16 | 1259 | graphics/circuit_macros/doc/Relay.m4 -2020/02/16 | 404 | graphics/circuit_macros/doc/Series.m4 -2020/02/16 | 1406 | graphics/circuit_macros/doc/ShiftR.m4 -2020/02/16 | 421 | graphics/circuit_macros/doc/Sinus.m4 -2020/02/16 | 2085 | graphics/circuit_macros/doc/Sources.m4 -2020/02/16 | 217 | graphics/circuit_macros/doc/stringdims.m4 -2020/02/16 | 3608 | graphics/circuit_macros/doc/Switches.m4 -2020/02/16 | 1464 | graphics/circuit_macros/doc/Taps.m4 -2020/02/16 | 11 | graphics/circuit_macros/doc/test.tex -2020/02/16 | 1022 | graphics/circuit_macros/doc/Tgate.m4 -2020/02/16 | 144 | graphics/circuit_macros/doc/Thermal.m4 -2020/02/16 | 3321 | graphics/circuit_macros/doc/thyristor.m4 -2020/02/16 | 535 | graphics/circuit_macros/doc/Tline.m4 -2020/02/16 | 165 | graphics/circuit_macros/doc/tranbody.m4 -2020/02/16 | 2097 | graphics/circuit_macros/doc/Ttree.m4 -2020/02/16 | 660 | graphics/circuit_macros/doc/ujt.m4 -2020/02/16 | 756 | graphics/circuit_macros/doc/Variable.m4 -2020/02/16 | 12 | graphics/circuit_macros/doc/Version.tex -2020/02/16 | 3346 | graphics/circuit_macros/doc/Windings.m4 -2020/02/16 | 449 | graphics/circuit_macros/doc/woodchips.m4 -2020/02/16 | 2912 | graphics/circuit_macros/doc/Workflow.m4 -2020/02/16 | 1526 | graphics/circuit_macros/doc/Xform.m4 -2020/02/16 | 19238 | graphics/circuit_macros/dpictools.pic -2020/02/16 | 1730 | graphics/circuit_macros/examples/ABlogix.m4 -2020/02/16 | 2402 | graphics/circuit_macros/examples/Adder.m4 -2020/02/16 | 4205 | graphics/circuit_macros/examples/Alogix.m4 -2020/02/16 | 494 | graphics/circuit_macros/examples/AmpTable.m4 -2020/02/16 | 1211 | graphics/circuit_macros/examples/Antennas.m4 -2020/02/16 | 4909 | graphics/circuit_macros/examples/AntiqueClock.m4 -2020/02/16 | 2296 | graphics/circuit_macros/examples/Audio.m4 -2020/02/16 | 1962 | graphics/circuit_macros/examples/Autologix.m4 -2020/02/16 | 4638 | graphics/circuit_macros/examples/Ball.m4 -2020/02/16 | 1619 | graphics/circuit_macros/examples/Bip.m4 -2020/02/16 | 905 | graphics/circuit_macros/examples/birds.m4 -2020/02/16 | 1075 | graphics/circuit_macros/examples/bistable.m4 -2020/02/16 | 3175 | graphics/circuit_macros/examples/Blogix.m4 -2020/02/16 | 2542 | graphics/circuit_macros/examples/brace.m4 -2020/02/16 | 1024 | graphics/circuit_macros/examples/Btree.m4 -2020/02/16 | 3508 | graphics/circuit_macros/examples/Buttons.m4 -2020/02/16 | 991 | graphics/circuit_macros/examples/Byte.m4 -2020/02/16 | 6371 | graphics/circuit_macros/examples/CanLogic.m4 -2020/02/16 | 2670 | graphics/circuit_macros/examples/CctTable.m4 -2020/02/16 | 233 | graphics/circuit_macros/examples/Ccurve.m4 -2020/02/16 | 1039 | graphics/circuit_macros/examples/chaos.m4 -2020/02/16 | 8955 | graphics/circuit_macros/examples/Chuck.m4 -2020/02/16 | 482 | graphics/circuit_macros/examples/clock.m4 -2020/02/16 | 2161 | graphics/circuit_macros/examples/Conn.m4 -2020/02/16 | 3326 | graphics/circuit_macros/examples/Contact.m4 -2020/02/16 | 1585 | graphics/circuit_macros/examples/Contacts.m4 -2020/02/16 | 4288 | graphics/circuit_macros/examples/control.m4 -2020/02/16 | 551 | graphics/circuit_macros/examples/Counting.m4 -2020/02/16 | 1358 | graphics/circuit_macros/examples/Crossbar.m4 -2020/02/16 | 2520 | graphics/circuit_macros/examples/Crow.m4 -2020/02/16 | 1879 | graphics/circuit_macros/examples/Cruller.m4 -2020/02/16 | 2295 | graphics/circuit_macros/examples/csc.m4 -2020/02/16 | 6003 | graphics/circuit_macros/examples/CSlight.m4 -2020/02/16 | 5890 | graphics/circuit_macros/examples/Csource.m4 -2020/02/16 | 460 | graphics/circuit_macros/examples/debug1.tex -2020/02/16 | 1939 | graphics/circuit_macros/examples/debug2.m4 -2020/02/16 | 655 | graphics/circuit_macros/examples/Decoder.m4 -2020/02/16 | 1485 | graphics/circuit_macros/examples/Demultiplexer.m4 -2020/02/16 | 654 | graphics/circuit_macros/examples/diamond.m4 -2020/02/16 | 6854 | graphics/circuit_macros/examples/Dini.m4 -2020/02/16 | 1467 | graphics/circuit_macros/examples/Diodes.m4 -2020/02/16 | 1966 | graphics/circuit_macros/examples/Drive.m4 -2020/02/16 | 980 | graphics/circuit_macros/examples/Emarrows.m4 -2020/02/16 | 2584 | graphics/circuit_macros/examples/Escher.m4 -2020/02/16 | 4305 | graphics/circuit_macros/examples/Euro.m4 -2020/02/16 | 2412 | graphics/circuit_macros/examples/ex00.m4 -2020/02/16 | 697 | graphics/circuit_macros/examples/ex01.m4 -2020/02/16 | 1100 | graphics/circuit_macros/examples/ex02.m4 -2020/02/16 | 673 | graphics/circuit_macros/examples/ex03.m4 -2020/02/16 | 1654 | graphics/circuit_macros/examples/ex04.m4 -2020/02/16 | 1608 | graphics/circuit_macros/examples/ex05.m4 -2020/02/16 | 2170 | graphics/circuit_macros/examples/ex06.m4 -2020/02/16 | 2556 | graphics/circuit_macros/examples/ex08.m4 -2020/02/16 | 4312 | graphics/circuit_macros/examples/ex09.m4 -2020/02/16 | 1492 | graphics/circuit_macros/examples/ex10.m4 -2020/02/16 | 2361 | graphics/circuit_macros/examples/ex11.m4 -2020/02/16 | 3339 | graphics/circuit_macros/examples/ex12.m4 -2020/02/16 | 1003 | graphics/circuit_macros/examples/ex15.m4 -2020/02/16 | 1865 | graphics/circuit_macros/examples/ex16.m4 -2020/02/16 | 1126 | graphics/circuit_macros/examples/ex17.m4 -2020/02/16 | 865 | graphics/circuit_macros/examples/ex18.m4 -2020/02/16 | 2000 | graphics/circuit_macros/examples/ex21.m4 -2020/02/16 | 879975 | graphics/circuit_macros/examples/examples.pdf -2020/02/16 | 1890 | graphics/circuit_macros/examples/examples.tex -2020/02/16 | 8372 | graphics/circuit_macros/examples/exp.m4 -2020/02/16 | 4489 | graphics/circuit_macros/examples/fet.m4 -2020/02/16 | 16829 | graphics/circuit_macros/examples/files.tex -2020/02/16 | 645 | graphics/circuit_macros/examples/Floor.m4 -2020/02/16 | 5552 | graphics/circuit_macros/examples/FlowchartDefs.m4 -2020/02/16 | 3911 | graphics/circuit_macros/examples/Flow.m4 -2020/02/16 | 899 | graphics/circuit_macros/examples/Fuses.m4 -2020/02/16 | 421 | graphics/circuit_macros/examples/GrayCode.m4 -2020/02/16 | 5478 | graphics/circuit_macros/examples/graysurf.m4 -2020/02/16 | 707 | graphics/circuit_macros/examples/Grounds.m4 -2020/02/16 | 1020 | graphics/circuit_macros/examples/Headers.m4 -2020/02/16 | 1458 | graphics/circuit_macros/examples/header.tex -2020/02/16 | 13026 | graphics/circuit_macros/examples/Heathkit.m4 -2020/02/16 | 2068 | graphics/circuit_macros/examples/I2L.m4 -2020/02/16 | 1668 | graphics/circuit_macros/examples/IC10107.m4 -2020/02/16 | 4841 | graphics/circuit_macros/examples/ics.m4 -2020/02/16 | 32 | graphics/circuit_macros/examples/Incl.eps.bb -2020/02/16 | 45323 | graphics/circuit_macros/examples/Incl.eps.gz -2020/02/16 | 741 | graphics/circuit_macros/examples/Incleps.m4 -2020/02/16 | 29772 | graphics/circuit_macros/examples/Incl.pdf -2020/02/16 | 709 | graphics/circuit_macros/examples/Inclpdf.m4 -2020/02/16 | 2362 | graphics/circuit_macros/examples/Jack.m4 -2020/02/16 | 2696 | graphics/circuit_macros/examples/keyval.m4 -2020/02/16 | 489 | graphics/circuit_macros/examples/Koch.m4 -2020/02/16 | 7113 | graphics/circuit_macros/examples/lcct.m4 -2020/02/16 | 2119 | graphics/circuit_macros/examples/Logic.m4 -2020/02/16 | 2304 | graphics/circuit_macros/examples/Loglog.m4 -2020/02/16 | 8921 | graphics/circuit_macros/examples/Makefile -2020/02/16 | 1393 | graphics/circuit_macros/examples/MC.m4 -2020/02/16 | 94471 | graphics/circuit_macros/examples/mf/cct.mf -2020/02/16 | 776 | graphics/circuit_macros/examples/mf/cct.tfm -2020/02/16 | 4615 | graphics/circuit_macros/examples/mf/font.m4 -2020/02/16 | 1529 | graphics/circuit_macros/examples/mf/Makefile -2020/02/16 | 1076 | graphics/circuit_macros/examples/mf/mftest -2020/02/16 | 3785 | graphics/circuit_macros/examples/Mixer.m4 -2020/02/16 | 1922 | graphics/circuit_macros/examples/MotorControl.m4 -2020/02/16 | 444 | graphics/circuit_macros/examples/mpost/examplesmpost.tex -2020/02/16 | 4237 | graphics/circuit_macros/examples/mpost/Makefile -2020/02/16 | 720 | graphics/circuit_macros/examples/mpost/mptest -2020/02/16 | 604 | graphics/circuit_macros/examples/mpost/README-mpost -2020/02/16 | 453 | graphics/circuit_macros/examples/mpost/tstmpost.tex -2020/02/16 | 1400 | graphics/circuit_macros/examples/Multiplexer.m4 -2020/02/16 | 499 | graphics/circuit_macros/examples/NLG.m4 -2020/02/16 | 1128 | graphics/circuit_macros/examples/NPDT.m4 -2020/02/16 | 1040 | graphics/circuit_macros/examples/Nport.m4 -2020/02/16 | 20234 | graphics/circuit_macros/examples/odistmakefile -2020/02/16 | 2792 | graphics/circuit_macros/examples/OpAmpFilter.m4 -2020/02/16 | 1433 | graphics/circuit_macros/examples/Opamp.m4 -2020/02/16 | 2442 | graphics/circuit_macros/examples/Optoiso.m4 -2020/02/16 | 1852 | graphics/circuit_macros/examples/Orbits.m4 -2020/02/16 | 1654 | graphics/circuit_macros/examples/Pconn.m4 -2020/02/16 | 1375 | graphics/circuit_macros/examples/person.m4 -2020/02/16 | 2674 | graphics/circuit_macros/examples/Planes.m4 -2020/02/16 | 1174 | graphics/circuit_macros/examples/PPA.m4 -2020/02/16 | 750 | graphics/circuit_macros/examples/psfrag/examplespsfrag.tex -2020/02/16 | 4622 | graphics/circuit_macros/examples/psfrag/Makefile -2020/02/16 | 317 | graphics/circuit_macros/examples/psfrag/README-psfrag.txt -2020/02/16 | 406 | graphics/circuit_macros/examples/psfrag/tstpsfrag.tex -2020/02/16 | 3919 | graphics/circuit_macros/examples/PushPull.m4 -2020/02/16 | 2014 | graphics/circuit_macros/examples/pwrsupply.m4 -2020/02/16 | 918 | graphics/circuit_macros/examples/Quantum.m4 -2020/02/16 | 774 | graphics/circuit_macros/examples/quick.m4 -2020/02/16 | 3545 | graphics/circuit_macros/examples/random.m4 -2020/02/16 | 2814 | graphics/circuit_macros/examples/README-examples -2020/02/16 | 6880 | graphics/circuit_macros/examples/Rectifiers.m4 -2020/02/16 | 3825 | graphics/circuit_macros/examples/recycle.m4 -2020/02/16 | 1921 | graphics/circuit_macros/examples/relaycoil.m4 -2020/02/16 | 1259 | graphics/circuit_macros/examples/Relay.m4 -2020/02/16 | 1443 | graphics/circuit_macros/examples/Resolver.m4 -2020/02/16 | 4569 | graphics/circuit_macros/examples/rose.m4 -2020/02/16 | 221 | graphics/circuit_macros/examples/rotate.tex -2020/02/16 | 1525 | graphics/circuit_macros/examples/rotatetext.m4 -2020/02/16 | 518 | graphics/circuit_macros/examples/Rotbox.m4 -2020/02/16 | 365 | graphics/circuit_macros/examples/rotellipse.m4 -2020/02/16 | 1778 | graphics/circuit_macros/examples/Schottky.m4 -2020/02/16 | 2761 | graphics/circuit_macros/examples/sfg.m4 -2020/02/16 | 4751 | graphics/circuit_macros/examples/Shaky.m4 -2020/02/16 | 7529 | graphics/circuit_macros/examples/shapes.m4 -2020/02/16 | 1406 | graphics/circuit_macros/examples/ShiftR.m4 -2020/02/16 | 1331 | graphics/circuit_macros/examples/Sierpinski.m4 -2020/02/16 | 419 | graphics/circuit_macros/examples/Sixpole.m4 -2020/02/16 | 370 | graphics/circuit_macros/examples/snake.m4 -2020/02/16 | 2085 | graphics/circuit_macros/examples/Sources.m4 -2020/02/16 | 1906 | graphics/circuit_macros/examples/SPM.m4 -2020/02/16 | 380 | graphics/circuit_macros/examples/SQUID.m4 -2020/02/16 | 947 | graphics/circuit_macros/examples/squiggle.m4 -2020/02/16 | 1955 | graphics/circuit_macros/examples/svg/ABlogixSVG.m4 -2020/02/16 | 2528 | graphics/circuit_macros/examples/svg/AdderSVG.m4 -2020/02/16 | 4337 | graphics/circuit_macros/examples/svg/AlogixSVG.m4 -2020/02/16 | 538 | graphics/circuit_macros/examples/svg/AmpTableSVG.m4 -2020/02/16 | 1090 | graphics/circuit_macros/examples/svg/AntennasSVG.m4 -2020/02/16 | 5176 | graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 -2020/02/16 | 2350 | graphics/circuit_macros/examples/svg/AudioSVG.m4 -2020/02/16 | 1668 | graphics/circuit_macros/examples/svg/Banking.m4 -2020/02/16 | 1812 | graphics/circuit_macros/examples/svg/BipSVG.m4 -2020/02/16 | 1080 | graphics/circuit_macros/examples/svg/BtreeSVG.m4 -2020/02/16 | 3583 | graphics/circuit_macros/examples/svg/ButtonsSVG.m4 -2020/02/16 | 937 | graphics/circuit_macros/examples/svg/ByteSVG.m4 -2020/02/16 | 6413 | graphics/circuit_macros/examples/svg/CanLogicSVG.m4 -2020/02/16 | 2180 | graphics/circuit_macros/examples/svg/CctTableSVG.m4 -2020/02/16 | 2022 | graphics/circuit_macros/examples/svg/ConnSVG.m4 -2020/02/16 | 1737 | graphics/circuit_macros/examples/svg/ContactsSVG.m4 -2020/02/16 | 3646 | graphics/circuit_macros/examples/svg/ContactSVG.m4 -2020/02/16 | 3206 | graphics/circuit_macros/examples/svg/controlSVG.m4 -2020/02/16 | 793 | graphics/circuit_macros/examples/svg/CountingSVG.m4 -2020/02/16 | 1387 | graphics/circuit_macros/examples/svg/CrossbarSVG.m4 -2020/02/16 | 2525 | graphics/circuit_macros/examples/svg/CrowSVG.m4 -2020/02/16 | 1882 | graphics/circuit_macros/examples/svg/CrullerSVG.m4 -2020/02/16 | 2324 | graphics/circuit_macros/examples/svg/cscSVG.m4 -2020/02/16 | 7418 | graphics/circuit_macros/examples/svg/CsourceSVG.m4 -2020/02/16 | 745 | graphics/circuit_macros/examples/svg/DecoderSVG.m4 -2020/02/16 | 1373 | graphics/circuit_macros/examples/svg/DemultiplexerSVG.m4 -2020/02/16 | 609 | graphics/circuit_macros/examples/svg/diamondSVG.m4 -2020/02/16 | 6854 | graphics/circuit_macros/examples/svg/DiniSVG.m4 -2020/02/16 | 1429 | graphics/circuit_macros/examples/svg/DiodesSVG.m4 -2020/02/16 | 1966 | graphics/circuit_macros/examples/svg/DriveSVG.m4 -2020/02/16 | 1070 | graphics/circuit_macros/examples/svg/EmarrowsSVG.m4 -2020/02/16 | 2443 | graphics/circuit_macros/examples/svg/ex00SVG.m4 -2020/02/16 | 931 | graphics/circuit_macros/examples/svg/ex01SVG.m4 -2020/02/16 | 1093 | graphics/circuit_macros/examples/svg/ex02SVG.m4 -2020/02/16 | 855 | graphics/circuit_macros/examples/svg/ex03SVG.m4 -2020/02/16 | 1891 | graphics/circuit_macros/examples/svg/ex04SVG.m4 -2020/02/16 | 1807 | graphics/circuit_macros/examples/svg/ex05SVG.m4 -2020/02/16 | 2018 | graphics/circuit_macros/examples/svg/ex06SVG.m4 -2020/02/16 | 2559 | graphics/circuit_macros/examples/svg/ex08SVG.m4 -2020/02/16 | 4108 | graphics/circuit_macros/examples/svg/ex09SVG.m4 -2020/02/16 | 1699 | graphics/circuit_macros/examples/svg/ex10SVG.m4 -2020/02/16 | 2685 | graphics/circuit_macros/examples/svg/ex11SVG.m4 -2020/02/16 | 3522 | graphics/circuit_macros/examples/svg/ex12SVG.m4 -2020/02/16 | 970 | graphics/circuit_macros/examples/svg/ex15SVG.m4 -2020/02/16 | 1893 | graphics/circuit_macros/examples/svg/ex16SVG.m4 -2020/02/16 | 1204 | graphics/circuit_macros/examples/svg/ex17SVG.m4 -2020/02/16 | 1065 | graphics/circuit_macros/examples/svg/ex18SVG.m4 -2020/02/16 | 2177 | graphics/circuit_macros/examples/svg/ex21SVG.m4 -2020/02/16 | 12306 | graphics/circuit_macros/examples/svg/examplesSVG.htmx -2020/02/16 | 10589 | graphics/circuit_macros/examples/svg/expSVG.m4 -2020/02/16 | 3836 | graphics/circuit_macros/examples/svg/fetSVG.m4 -2020/02/16 | 9954 | graphics/circuit_macros/examples/svg/FlowSVG.m4 -2020/02/16 | 444 | graphics/circuit_macros/examples/svg/FontsSVG.m4 -2020/02/16 | 869 | graphics/circuit_macros/examples/svg/FusesSVG.m4 -2020/02/16 | 422 | graphics/circuit_macros/examples/svg/GrayCodeSVG.m4 -2020/02/16 | 5537 | graphics/circuit_macros/examples/svg/graysurfSVG.m4 -2020/02/16 | 699 | graphics/circuit_macros/examples/svg/GroundsSVG.m4 -2020/02/16 | 1149 | graphics/circuit_macros/examples/svg/HeadersSVG.m4 -2020/02/16 | 12711 | graphics/circuit_macros/examples/svg/HeathkitSVG.m4 -2020/02/16 | 2171 | graphics/circuit_macros/examples/svg/I2LSVG.m4 -2020/02/16 | 5015 | graphics/circuit_macros/examples/svg/icsSVG.m4 -2020/02/16 | 4003 | graphics/circuit_macros/examples/svg/InclepsSVG.m4 -2020/02/16 | 21384 | graphics/circuit_macros/examples/svg/Incl.jpg -2020/02/16 | 2051 | graphics/circuit_macros/examples/svg/JackSVG.m4 -2020/02/16 | 7203 | graphics/circuit_macros/examples/svg/lcctSVG.m4 -2020/02/16 | 6216 | graphics/circuit_macros/examples/svg/LgateSVG.m4 -2020/02/16 | 63 | graphics/circuit_macros/examples/svg/local_init.m4 -2020/02/16 | 1931 | graphics/circuit_macros/examples/svg/LogicSVG.m4 -2020/02/16 | 2241 | graphics/circuit_macros/examples/svg/LoglogSVG.m4 -2020/02/16 | 3932 | graphics/circuit_macros/examples/svg/Makefile -2020/02/16 | 1593 | graphics/circuit_macros/examples/svg/MCSVG.m4 -2020/02/16 | 3487 | graphics/circuit_macros/examples/svg/MixerSVG.m4 -2020/02/16 | 1953 | graphics/circuit_macros/examples/svg/MotorControlSVG.m4 -2020/02/16 | 1467 | graphics/circuit_macros/examples/svg/MultiplexerSVG.m4 -2020/02/16 | 532 | graphics/circuit_macros/examples/svg/NLGSVG.m4 -2020/02/16 | 1157 | graphics/circuit_macros/examples/svg/NPDTSVG.m4 -2020/02/16 | 748 | graphics/circuit_macros/examples/svg/Np.m4 -2020/02/16 | 1238 | graphics/circuit_macros/examples/svg/NportSVG.m4 -2020/02/16 | 1034 | graphics/circuit_macros/examples/svg/OpampSVG.m4 -2020/02/16 | 2551 | graphics/circuit_macros/examples/svg/OptoisoSVG.m4 -2020/02/16 | 10439 | graphics/circuit_macros/examples/svg/paletteSVG.m4 -2020/02/16 | 1669 | graphics/circuit_macros/examples/svg/PconnSVG.m4 -2020/02/16 | 3779 | graphics/circuit_macros/examples/svg/PushPullSVG.m4 -2020/02/16 | 862 | graphics/circuit_macros/examples/svg/pwrsupplySVG.m4 -2020/02/16 | 947 | graphics/circuit_macros/examples/svg/QuantumSVG.m4 -2020/02/16 | 839 | graphics/circuit_macros/examples/svg/quickSVG.m4 -2020/02/16 | 3573 | graphics/circuit_macros/examples/svg/randomSVG.m4 -2020/02/16 | 7435 | graphics/circuit_macros/examples/svg/RectifiersSVG.m4 -2020/02/16 | 3842 | graphics/circuit_macros/examples/svg/recycleSVG.m4 -2020/02/16 | 2069 | graphics/circuit_macros/examples/svg/relaycoilSVG.m4 -2020/02/16 | 1431 | graphics/circuit_macros/examples/svg/RelaySVG.m4 -2020/02/16 | 4624 | graphics/circuit_macros/examples/svg/roseSVG.m4 -2020/02/16 | 545 | graphics/circuit_macros/examples/svg/RotboxSVG.m4 -2020/02/16 | 1837 | graphics/circuit_macros/examples/svg/SchottkySVG.m4 -2020/02/16 | 3290 | graphics/circuit_macros/examples/svg/sfgSVG.m4 -2020/02/16 | 7526 | graphics/circuit_macros/examples/svg/shapesSVG.m4 -2020/02/16 | 1437 | graphics/circuit_macros/examples/svg/ShiftRSVG.m4 -2020/02/16 | 1331 | graphics/circuit_macros/examples/svg/SierpinskiSVG.m4 -2020/02/16 | 419 | graphics/circuit_macros/examples/svg/SixpoleSVG.m4 -2020/02/16 | 1842 | graphics/circuit_macros/examples/svg/SourcesSVG.m4 -2020/02/16 | 417 | graphics/circuit_macros/examples/svg/SQUIDSVG.m4 -2020/02/16 | 1456 | graphics/circuit_macros/examples/svg/SVGconfig.m4 -2020/02/16 | 3964 | graphics/circuit_macros/examples/svg/SwitchesSVG.m4 -2020/02/16 | 1055 | graphics/circuit_macros/examples/svg/TgateSVG.m4 -2020/02/16 | 1444 | graphics/circuit_macros/examples/svg/ThreeSVG.m4 -2020/02/16 | 3310 | graphics/circuit_macros/examples/svg/thyristorSVG.m4 -2020/02/16 | 1616 | graphics/circuit_macros/examples/svg/TimerSVG.m4 -2020/02/16 | 8094 | graphics/circuit_macros/examples/svg/tstSVG.htmx -2020/02/16 | 1675 | graphics/circuit_macros/examples/svg/TTLnandSVG.m4 -2020/02/16 | 3091 | graphics/circuit_macros/examples/svg/TtreeSVG.m4 -2020/02/16 | 12478 | graphics/circuit_macros/examples/svg/TubediagsSVG.m4 -2020/02/16 | 682 | graphics/circuit_macros/examples/svg/ujtSVG.m4 -2020/02/16 | 888 | graphics/circuit_macros/examples/svg/VariableSVG.m4 -2020/02/16 | 2994 | graphics/circuit_macros/examples/svg/WindingsSVG.m4 -2020/02/16 | 3631 | graphics/circuit_macros/examples/svg/wormSVG.m4 -2020/02/16 | 1559 | graphics/circuit_macros/examples/svg/XformSVG.m4 -2020/02/16 | 1985 | graphics/circuit_macros/examples/svg/XORSVG.m4 -2020/02/16 | 3608 | graphics/circuit_macros/examples/Switches.m4 -2020/02/16 | 591 | graphics/circuit_macros/examples/test.m4 -2020/02/16 | 416 | graphics/circuit_macros/examples/testpdf.tex -2020/02/16 | 1022 | graphics/circuit_macros/examples/Tgate.m4 -2020/02/16 | 1287 | graphics/circuit_macros/examples/Three.m4 -2020/02/16 | 3321 | graphics/circuit_macros/examples/thyristor.m4 -2020/02/16 | 382 | graphics/circuit_macros/examples/tikz.tex -2020/02/16 | 1546 | graphics/circuit_macros/examples/Timer.m4 -2020/02/16 | 219 | graphics/circuit_macros/examples/tst1.tex -2020/02/16 | 613 | graphics/circuit_macros/examples/tst.tex -2020/02/16 | 1558 | graphics/circuit_macros/examples/TTLnand.m4 -2020/02/16 | 2097 | graphics/circuit_macros/examples/Ttree.m4 -2020/02/16 | 9840 | graphics/circuit_macros/examples/tubedefs.m4 -2020/02/16 | 13256 | graphics/circuit_macros/examples/Tubediags.m4 -2020/02/16 | 660 | graphics/circuit_macros/examples/ujt.m4 -2020/02/16 | 756 | graphics/circuit_macros/examples/Variable.m4 -2020/02/16 | 442 | graphics/circuit_macros/examples/Wheat.m4 -2020/02/16 | 3346 | graphics/circuit_macros/examples/Windings.m4 -2020/02/16 | 281 | graphics/circuit_macros/examples/windows.m4 -2020/02/16 | 2799 | graphics/circuit_macros/examples/worm.m4 -2020/02/16 | 337 | graphics/circuit_macros/examples/xfig/Makefile -2020/02/16 | 21204 | graphics/circuit_macros/examples/xfig/xfiglib.fig -2020/02/16 | 5969 | graphics/circuit_macros/examples/xfig/xfiglib.m4 -2020/02/16 | 1526 | graphics/circuit_macros/examples/Xform.m4 -2020/02/16 | 1823 | graphics/circuit_macros/examples/XOR.m4 -2020/02/16 | 656 | graphics/circuit_macros/examples/Zcos.m4 -2020/02/16 | 1019 | graphics/circuit_macros/gpic.m4 -2020/02/16 | 11273 | graphics/circuit_macros/lib3D.m4 -2020/02/16 | 154504 | graphics/circuit_macros/libcct.m4 -2020/02/16 | 78304 | graphics/circuit_macros/libgen.m4 -2020/02/16 | 48452 | graphics/circuit_macros/liblog.m4 -2020/02/16 | 19176 | graphics/circuit_macros/Licence.txt -2020/02/16 | 1639 | graphics/circuit_macros/Makefile -2020/02/16 | 1114 | graphics/circuit_macros/mfpic.m4 -2020/02/16 | 1640 | graphics/circuit_macros/mpost.m4 -2020/02/16 | 2085 | graphics/circuit_macros/pgf.m4 -2020/02/16 | 2834 | graphics/circuit_macros/postscript.m4 -2020/02/16 | 706 | graphics/circuit_macros/psfrag.m4 -2020/02/16 | 2099 | graphics/circuit_macros/pstricks.m4 -2020/02/16 | 20277 | graphics/circuit_macros/README -2020/02/16 | 8309 | graphics/circuit_macros/svg.m4 -2020/02/16 | 1029 | graphics/circuit_macros/xfig.m4 -2020/02/17 | 1990264 | graphics/circuit_macros.zip +2020/05/01 | 1185 | graphics/circuit_macros/boxdims.sty +2020/05/01 | 12244 | graphics/circuit_macros/CHANGES +2020/05/01 | 462 | graphics/circuit_macros/Copying +2020/05/01 | 14346 | graphics/circuit_macros/darrow.m4 +2020/05/01 | 494 | graphics/circuit_macros/doc/AmpTableMan.m4 +2020/05/01 | 1940 | graphics/circuit_macros/doc/AmpTable.tex +2020/05/01 | 1211 | graphics/circuit_macros/doc/AntennasMan.m4 +2020/05/01 | 2634 | graphics/circuit_macros/doc/AudioMan.m4 +2020/05/01 | 10164 | graphics/circuit_macros/doc/Audio.tex +2020/05/01 | 131 | graphics/circuit_macros/doc/Axes.m4 +2020/05/01 | 614 | graphics/circuit_macros/doc/BigResistor.m4 +2020/05/01 | 1619 | graphics/circuit_macros/doc/BipMan.m4 +2020/05/01 | 5545 | graphics/circuit_macros/doc/Bip.tex +2020/05/01 | 1074 | graphics/circuit_macros/doc/bistableMan.m4 +2020/05/01 | 1860 | graphics/circuit_macros/doc/bi_trans.m4 +2020/05/01 | 130 | graphics/circuit_macros/doc/bitrbody.m4 +2020/05/01 | 50 | graphics/circuit_macros/doc/bitr.m4 +2020/05/01 | 136113 | graphics/circuit_macros/doc/body.tex +2020/05/01 | 1953 | graphics/circuit_macros/doc/Buffer.m4 +2020/05/01 | 25460 | graphics/circuit_macros/doc/Capture.JPG +2020/05/01 | 2670 | graphics/circuit_macros/doc/CctTableMan.m4 +2020/05/01 | 29074 | graphics/circuit_macros/doc/CctTable.tex +2020/05/01 | 4073 | graphics/circuit_macros/doc/Circuit_macros.bib +2020/05/01 | 1285894 | graphics/circuit_macros/doc/Circuit_macros.pdf +2020/05/01 | 2639 | graphics/circuit_macros/doc/Circuit_macros.tex +2020/05/01 | 1857 | graphics/circuit_macros/doc/Composite.m4 +2020/05/01 | 1120 | graphics/circuit_macros/doc/ConfigA.m4 +2020/05/01 | 1257 | graphics/circuit_macros/doc/ConfigB.m4 +2020/05/01 | 1291 | graphics/circuit_macros/doc/ConfigC.m4 +2020/05/01 | 2179 | graphics/circuit_macros/doc/ConnMan.m4 +2020/05/01 | 6550 | graphics/circuit_macros/doc/Conn.tex +2020/05/01 | 3326 | graphics/circuit_macros/doc/ContactMan.m4 +2020/05/01 | 1585 | graphics/circuit_macros/doc/ContactsMan.m4 +2020/05/01 | 6067 | graphics/circuit_macros/doc/Contacts.tex +2020/05/01 | 13833 | graphics/circuit_macros/doc/Contact.tex +2020/05/01 | 1995 | graphics/circuit_macros/doc/Corners.m4 +2020/05/01 | 1329 | graphics/circuit_macros/doc/currents.m4 +2020/05/01 | 2389 | graphics/circuit_macros/doc/Dac.m4 +2020/05/01 | 1151 | graphics/circuit_macros/doc/Darlington.m4 +2020/05/01 | 77979 | graphics/circuit_macros/doc/defines.tex +2020/05/01 | 1485 | graphics/circuit_macros/doc/DemultiplexerMan.m4 +2020/05/01 | 4817 | graphics/circuit_macros/doc/Demultiplexer.tex +2020/05/01 | 1467 | graphics/circuit_macros/doc/DiodesMan.m4 +2020/05/01 | 12050 | graphics/circuit_macros/doc/Diodes.tex +2020/05/01 | 483 | graphics/circuit_macros/doc/eboxdims.m4 +2020/05/01 | 980 | graphics/circuit_macros/doc/EmarrowsMan.m4 +2020/05/01 | 5502 | graphics/circuit_macros/doc/Emarrows.tex +2020/05/01 | 1229 | graphics/circuit_macros/doc/fbfilter.m4 +2020/05/01 | 4489 | graphics/circuit_macros/doc/fetMan.m4 +2020/05/01 | 16420 | graphics/circuit_macros/doc/fet.tex +2020/05/01 | 329 | graphics/circuit_macros/doc/FF.m4 +2020/05/01 | 1975 | graphics/circuit_macros/doc/FlipFlop.m4 +2020/05/01 | 960 | graphics/circuit_macros/doc/Flowdiag.m4 +2020/05/01 | 999 | graphics/circuit_macros/doc/FusesMan.m4 +2020/05/01 | 4789 | graphics/circuit_macros/doc/Fuses.tex +2020/05/01 | 815 | graphics/circuit_macros/doc/GroundsMan.m4 +2020/05/01 | 2661 | graphics/circuit_macros/doc/Grounds.tex +2020/05/01 | 1132 | graphics/circuit_macros/doc/HeadersMan.m4 +2020/05/01 | 7503 | graphics/circuit_macros/doc/Headers.tex +2020/05/01 | 2013 | graphics/circuit_macros/doc/HybridPi.m4 +2020/05/01 | 2362 | graphics/circuit_macros/doc/JackMan.m4 +2020/05/01 | 12006 | graphics/circuit_macros/doc/Jack.tex +2020/05/01 | 2119 | graphics/circuit_macros/doc/LogicMan.m4 +2020/05/01 | 7533 | graphics/circuit_macros/doc/Logic.tex +2020/05/01 | 269 | graphics/circuit_macros/doc/Loop.m4 +2020/05/01 | 387 | graphics/circuit_macros/doc/lrarrows.m4 +2020/05/01 | 4483 | graphics/circuit_macros/doc/Makefile +2020/05/01 | 1575 | graphics/circuit_macros/doc/mplex.m4 +2020/05/01 | 1400 | graphics/circuit_macros/doc/MultiplexerMan.m4 +2020/05/01 | 4964 | graphics/circuit_macros/doc/Multiplexer.tex +2020/05/01 | 499 | graphics/circuit_macros/doc/NLGMan.m4 +2020/05/01 | 3183 | graphics/circuit_macros/doc/NLG.tex +2020/05/01 | 1128 | graphics/circuit_macros/doc/NPDTMan.m4 +2020/05/01 | 5137 | graphics/circuit_macros/doc/NPDT.tex +2020/05/01 | 1040 | graphics/circuit_macros/doc/NportMan.m4 +2020/05/01 | 4666 | graphics/circuit_macros/doc/Nport.tex +2020/05/01 | 137 | graphics/circuit_macros/doc/oaxbody.m4 +2020/05/01 | 48 | graphics/circuit_macros/doc/oax.m4 +2020/05/01 | 782 | graphics/circuit_macros/doc/Oblique.m4 +2020/05/01 | 1433 | graphics/circuit_macros/doc/OpampMan.m4 +2020/05/01 | 835 | graphics/circuit_macros/doc/Opto.m4 +2020/05/01 | 1624 | graphics/circuit_macros/doc/ParSeries.m4 +2020/05/01 | 1802 | graphics/circuit_macros/doc/PconnMan.m4 +2020/05/01 | 15033 | graphics/circuit_macros/doc/Pconn.tex +2020/05/01 | 801 | graphics/circuit_macros/doc/Potentiometers.m4 +2020/05/01 | 774 | graphics/circuit_macros/doc/quick.m4 +2020/05/01 | 1921 | graphics/circuit_macros/doc/relaycoilMan.m4 +2020/05/01 | 1259 | graphics/circuit_macros/doc/RelayMan.m4 +2020/05/01 | 7316 | graphics/circuit_macros/doc/Relay.tex +2020/05/01 | 369 | graphics/circuit_macros/doc/sampleIC.m4 +2020/05/01 | 404 | graphics/circuit_macros/doc/Series.m4 +2020/05/01 | 1406 | graphics/circuit_macros/doc/ShiftRMan.m4 +2020/05/01 | 9425 | graphics/circuit_macros/doc/ShiftR.tex +2020/05/01 | 421 | graphics/circuit_macros/doc/Sinus.m4 +2020/05/01 | 2165 | graphics/circuit_macros/doc/SourcesMan.m4 +2020/05/01 | 15388 | graphics/circuit_macros/doc/Sources.tex +2020/05/01 | 217 | graphics/circuit_macros/doc/stringdims.m4 +2020/05/01 | 3973 | graphics/circuit_macros/doc/SwitchesMan.m4 +2020/05/01 | 19142 | graphics/circuit_macros/doc/Switches.tex +2020/05/01 | 1464 | graphics/circuit_macros/doc/Taps.m4 +2020/05/01 | 11 | graphics/circuit_macros/doc/test.tex +2020/05/01 | 1022 | graphics/circuit_macros/doc/TgateMan.m4 +2020/05/01 | 4178 | graphics/circuit_macros/doc/Tgate.tex +2020/05/01 | 144 | graphics/circuit_macros/doc/Thermal.m4 +2020/05/01 | 3321 | graphics/circuit_macros/doc/thyristorMan.m4 +2020/05/01 | 20418 | graphics/circuit_macros/doc/thyristor.tex +2020/05/01 | 535 | graphics/circuit_macros/doc/Tline.m4 +2020/05/01 | 165 | graphics/circuit_macros/doc/tranbody.m4 +2020/05/01 | 660 | graphics/circuit_macros/doc/ujtMan.m4 +2020/05/01 | 2441 | graphics/circuit_macros/doc/ujt.tex +2020/05/01 | 926 | graphics/circuit_macros/doc/VariableMan.m4 +2020/05/01 | 10401 | graphics/circuit_macros/doc/Variable.tex +2020/05/01 | 12 | graphics/circuit_macros/doc/Version.tex +2020/05/01 | 3346 | graphics/circuit_macros/doc/WindingsMan.m4 +2020/05/01 | 449 | graphics/circuit_macros/doc/woodchips.m4 +2020/05/01 | 2912 | graphics/circuit_macros/doc/Workflow.m4 +2020/05/01 | 1526 | graphics/circuit_macros/doc/XformMan.m4 +2020/05/01 | 25849 | graphics/circuit_macros/doc/Xform.tex +2020/05/01 | 19250 | graphics/circuit_macros/dpictools.pic +2020/05/01 | 1730 | graphics/circuit_macros/examples/ABlogix.m4 +2020/05/01 | 2402 | graphics/circuit_macros/examples/Adder.m4 +2020/05/01 | 4205 | graphics/circuit_macros/examples/Alogix.m4 +2020/05/01 | 494 | graphics/circuit_macros/examples/AmpTable.m4 +2020/05/01 | 1211 | graphics/circuit_macros/examples/Antennas.m4 +2020/05/01 | 5042 | graphics/circuit_macros/examples/AntiqueClock.m4 +2020/05/01 | 777 | graphics/circuit_macros/examples/Arrester.m4 +2020/05/01 | 2634 | graphics/circuit_macros/examples/Audio.m4 +2020/05/01 | 1962 | graphics/circuit_macros/examples/Autologix.m4 +2020/05/01 | 4638 | graphics/circuit_macros/examples/Ball.m4 +2020/05/01 | 1619 | graphics/circuit_macros/examples/Bip.m4 +2020/05/01 | 905 | graphics/circuit_macros/examples/birds.m4 +2020/05/01 | 1075 | graphics/circuit_macros/examples/bistable.m4 +2020/05/01 | 3175 | graphics/circuit_macros/examples/Blogix.m4 +2020/05/01 | 2542 | graphics/circuit_macros/examples/brace.m4 +2020/05/01 | 1024 | graphics/circuit_macros/examples/Btree.m4 +2020/05/01 | 3508 | graphics/circuit_macros/examples/Buttons.m4 +2020/05/01 | 991 | graphics/circuit_macros/examples/Byte.m4 +2020/05/01 | 6371 | graphics/circuit_macros/examples/CanLogic.m4 +2020/05/01 | 2670 | graphics/circuit_macros/examples/CctTable.m4 +2020/05/01 | 233 | graphics/circuit_macros/examples/Ccurve.m4 +2020/05/01 | 1039 | graphics/circuit_macros/examples/chaos.m4 +2020/05/01 | 8955 | graphics/circuit_macros/examples/Chuck.m4 +2020/05/01 | 482 | graphics/circuit_macros/examples/clock.m4 +2020/05/01 | 674 | graphics/circuit_macros/examples/Connectors.m4 +2020/05/01 | 2179 | graphics/circuit_macros/examples/Conn.m4 +2020/05/01 | 3326 | graphics/circuit_macros/examples/Contact.m4 +2020/05/01 | 1585 | graphics/circuit_macros/examples/Contacts.m4 +2020/05/01 | 4288 | graphics/circuit_macros/examples/control.m4 +2020/05/01 | 551 | graphics/circuit_macros/examples/Counting.m4 +2020/05/01 | 1358 | graphics/circuit_macros/examples/Crossbar.m4 +2020/05/01 | 2520 | graphics/circuit_macros/examples/Crow.m4 +2020/05/01 | 1879 | graphics/circuit_macros/examples/Cruller.m4 +2020/05/01 | 2295 | graphics/circuit_macros/examples/csc.m4 +2020/05/01 | 6003 | graphics/circuit_macros/examples/CSlight.m4 +2020/05/01 | 5890 | graphics/circuit_macros/examples/Csource.m4 +2020/05/01 | 460 | graphics/circuit_macros/examples/debug1.tex +2020/05/01 | 1959 | graphics/circuit_macros/examples/debug2.m4 +2020/05/01 | 655 | graphics/circuit_macros/examples/Decoder.m4 +2020/05/01 | 1485 | graphics/circuit_macros/examples/Demultiplexer.m4 +2020/05/01 | 654 | graphics/circuit_macros/examples/diamond.m4 +2020/05/01 | 6854 | graphics/circuit_macros/examples/Dini.m4 +2020/05/01 | 1467 | graphics/circuit_macros/examples/Diodes.m4 +2020/05/01 | 1966 | graphics/circuit_macros/examples/Drive.m4 +2020/05/01 | 980 | graphics/circuit_macros/examples/Emarrows.m4 +2020/05/01 | 2584 | graphics/circuit_macros/examples/Escher.m4 +2020/05/01 | 4305 | graphics/circuit_macros/examples/Euro.m4 +2020/05/01 | 2412 | graphics/circuit_macros/examples/ex00.m4 +2020/05/01 | 697 | graphics/circuit_macros/examples/ex01.m4 +2020/05/01 | 1100 | graphics/circuit_macros/examples/ex02.m4 +2020/05/01 | 673 | graphics/circuit_macros/examples/ex03.m4 +2020/05/01 | 1654 | graphics/circuit_macros/examples/ex04.m4 +2020/05/01 | 1608 | graphics/circuit_macros/examples/ex05.m4 +2020/05/01 | 2170 | graphics/circuit_macros/examples/ex06.m4 +2020/05/01 | 2556 | graphics/circuit_macros/examples/ex08.m4 +2020/05/01 | 4312 | graphics/circuit_macros/examples/ex09.m4 +2020/05/01 | 1492 | graphics/circuit_macros/examples/ex10.m4 +2020/05/01 | 2361 | graphics/circuit_macros/examples/ex11.m4 +2020/05/01 | 3339 | graphics/circuit_macros/examples/ex12.m4 +2020/05/01 | 1003 | graphics/circuit_macros/examples/ex15.m4 +2020/05/01 | 1865 | graphics/circuit_macros/examples/ex16.m4 +2020/05/01 | 1126 | graphics/circuit_macros/examples/ex17.m4 +2020/05/01 | 865 | graphics/circuit_macros/examples/ex18.m4 +2020/05/01 | 2000 | graphics/circuit_macros/examples/ex21.m4 +2020/05/01 | 893788 | graphics/circuit_macros/examples/examples.pdf +2020/05/01 | 1766 | graphics/circuit_macros/examples/examples.tex +2020/05/01 | 8372 | graphics/circuit_macros/examples/exp.m4 +2020/05/01 | 4489 | graphics/circuit_macros/examples/fet.m4 +2020/05/01 | 17076 | graphics/circuit_macros/examples/files.tex +2020/05/01 | 645 | graphics/circuit_macros/examples/Floor.m4 +2020/05/01 | 5552 | graphics/circuit_macros/examples/FlowchartDefs.m4 +2020/05/01 | 3911 | graphics/circuit_macros/examples/Flow.m4 +2020/05/01 | 999 | graphics/circuit_macros/examples/Fuses.m4 +2020/05/01 | 421 | graphics/circuit_macros/examples/GrayCode.m4 +2020/05/01 | 5478 | graphics/circuit_macros/examples/graysurf.m4 +2020/05/01 | 815 | graphics/circuit_macros/examples/Grounds.m4 +2020/05/01 | 1132 | graphics/circuit_macros/examples/Headers.m4 +2020/05/01 | 1458 | graphics/circuit_macros/examples/header.tex +2020/05/01 | 13026 | graphics/circuit_macros/examples/Heathkit.m4 +2020/05/01 | 2068 | graphics/circuit_macros/examples/I2L.m4 +2020/05/01 | 1668 | graphics/circuit_macros/examples/IC10107.m4 +2020/05/01 | 9861 | graphics/circuit_macros/examples/ics.m4 +2020/05/01 | 32 | graphics/circuit_macros/examples/Incl.eps.bb +2020/05/01 | 45323 | graphics/circuit_macros/examples/Incl.eps.gz +2020/05/01 | 741 | graphics/circuit_macros/examples/Incleps.m4 +2020/05/01 | 29772 | graphics/circuit_macros/examples/Incl.pdf +2020/05/01 | 709 | graphics/circuit_macros/examples/Inclpdf.m4 +2020/05/01 | 2362 | graphics/circuit_macros/examples/Jack.m4 +2020/05/01 | 2696 | graphics/circuit_macros/examples/keyval.m4 +2020/05/01 | 489 | graphics/circuit_macros/examples/Koch.m4 +2020/05/01 | 7113 | graphics/circuit_macros/examples/lcct.m4 +2020/05/01 | 2119 | graphics/circuit_macros/examples/Logic.m4 +2020/05/01 | 2304 | graphics/circuit_macros/examples/Loglog.m4 +2020/05/01 | 8815 | graphics/circuit_macros/examples/Makefile +2020/05/01 | 2939 | graphics/circuit_macros/examples/MC.m4 +2020/05/01 | 94474 | graphics/circuit_macros/examples/mf/cct.mf +2020/05/01 | 776 | graphics/circuit_macros/examples/mf/cct.tfm +2020/05/01 | 4615 | graphics/circuit_macros/examples/mf/font.m4 +2020/05/01 | 1529 | graphics/circuit_macros/examples/mf/Makefile +2020/05/01 | 1076 | graphics/circuit_macros/examples/mf/mftest +2020/05/01 | 3785 | graphics/circuit_macros/examples/Mixer.m4 +2020/05/01 | 1922 | graphics/circuit_macros/examples/MotorControl.m4 +2020/05/01 | 409 | graphics/circuit_macros/examples/mpost/examplesmpost.tex +2020/05/01 | 4240 | graphics/circuit_macros/examples/mpost/Makefile +2020/05/01 | 685 | graphics/circuit_macros/examples/mpost/mptest +2020/05/01 | 703 | graphics/circuit_macros/examples/mpost/README-mpost +2020/05/01 | 418 | graphics/circuit_macros/examples/mpost/tstmpost.tex +2020/05/01 | 1400 | graphics/circuit_macros/examples/Multiplexer.m4 +2020/05/01 | 499 | graphics/circuit_macros/examples/NLG.m4 +2020/05/01 | 1128 | graphics/circuit_macros/examples/NPDT.m4 +2020/05/01 | 1040 | graphics/circuit_macros/examples/Nport.m4 +2020/05/01 | 2792 | graphics/circuit_macros/examples/OpAmpFilter.m4 +2020/05/01 | 1433 | graphics/circuit_macros/examples/Opamp.m4 +2020/05/01 | 2442 | graphics/circuit_macros/examples/Optoiso.m4 +2020/05/01 | 1852 | graphics/circuit_macros/examples/Orbits.m4 +2020/05/01 | 1802 | graphics/circuit_macros/examples/Pconn.m4 +2020/05/01 | 1375 | graphics/circuit_macros/examples/person.m4 +2020/05/01 | 2674 | graphics/circuit_macros/examples/Planes.m4 +2020/05/01 | 1174 | graphics/circuit_macros/examples/PPA.m4 +2020/05/01 | 715 | graphics/circuit_macros/examples/psfrag/examplespsfrag.tex +2020/05/01 | 4670 | graphics/circuit_macros/examples/psfrag/Makefile +2020/05/01 | 317 | graphics/circuit_macros/examples/psfrag/README-psfrag.txt +2020/05/01 | 371 | graphics/circuit_macros/examples/psfrag/tstpsfrag.tex +2020/05/01 | 3919 | graphics/circuit_macros/examples/PushPull.m4 +2020/05/01 | 2014 | graphics/circuit_macros/examples/pwrsupply.m4 +2020/05/01 | 918 | graphics/circuit_macros/examples/Quantum.m4 +2020/05/01 | 774 | graphics/circuit_macros/examples/quick.m4 +2020/05/01 | 3545 | graphics/circuit_macros/examples/random.m4 +2020/05/01 | 2828 | graphics/circuit_macros/examples/README-examples +2020/05/01 | 7006 | graphics/circuit_macros/examples/Rectifiers.m4 +2020/05/01 | 3825 | graphics/circuit_macros/examples/recycle.m4 +2020/05/01 | 1921 | graphics/circuit_macros/examples/relaycoil.m4 +2020/05/01 | 1259 | graphics/circuit_macros/examples/Relay.m4 +2020/05/01 | 1443 | graphics/circuit_macros/examples/Resolver.m4 +2020/05/01 | 4569 | graphics/circuit_macros/examples/rose.m4 +2020/05/01 | 221 | graphics/circuit_macros/examples/rotate.tex +2020/05/01 | 1525 | graphics/circuit_macros/examples/rotatetext.m4 +2020/05/01 | 518 | graphics/circuit_macros/examples/Rotbox.m4 +2020/05/01 | 365 | graphics/circuit_macros/examples/rotellipse.m4 +2020/05/01 | 740 | graphics/circuit_macros/examples/SampleFlow.m4 +2020/05/01 | 1778 | graphics/circuit_macros/examples/Schottky.m4 +2020/05/01 | 2761 | graphics/circuit_macros/examples/sfg.m4 +2020/05/01 | 4751 | graphics/circuit_macros/examples/Shaky.m4 +2020/05/01 | 7529 | graphics/circuit_macros/examples/shapes.m4 +2020/05/01 | 1406 | graphics/circuit_macros/examples/ShiftR.m4 +2020/05/01 | 1331 | graphics/circuit_macros/examples/Sierpinski.m4 +2020/05/01 | 419 | graphics/circuit_macros/examples/Sixpole.m4 +2020/05/01 | 370 | graphics/circuit_macros/examples/snake.m4 +2020/05/01 | 2165 | graphics/circuit_macros/examples/Sources.m4 +2020/05/01 | 1906 | graphics/circuit_macros/examples/SPM.m4 +2020/05/01 | 380 | graphics/circuit_macros/examples/SQUID.m4 +2020/05/01 | 947 | graphics/circuit_macros/examples/squiggle.m4 +2020/05/01 | 1955 | graphics/circuit_macros/examples/svg/ABlogixSVG.m4 +2020/05/01 | 2528 | graphics/circuit_macros/examples/svg/AdderSVG.m4 +2020/05/01 | 4337 | graphics/circuit_macros/examples/svg/AlogixSVG.m4 +2020/05/01 | 538 | graphics/circuit_macros/examples/svg/AmpTableSVG.m4 +2020/05/01 | 1090 | graphics/circuit_macros/examples/svg/AntennasSVG.m4 +2020/05/01 | 5044 | graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 +2020/05/01 | 2720 | graphics/circuit_macros/examples/svg/AudioSVG.m4 +2020/05/01 | 1812 | graphics/circuit_macros/examples/svg/BipSVG.m4 +2020/05/01 | 1080 | graphics/circuit_macros/examples/svg/BtreeSVG.m4 +2020/05/01 | 3567 | graphics/circuit_macros/examples/svg/ButtonsSVG.m4 +2020/05/01 | 937 | graphics/circuit_macros/examples/svg/ByteSVG.m4 +2020/05/01 | 6413 | graphics/circuit_macros/examples/svg/CanLogicSVG.m4 +2020/05/01 | 2180 | graphics/circuit_macros/examples/svg/CctTableSVG.m4 +2020/05/01 | 726 | graphics/circuit_macros/examples/svg/ConnectorsSVG.m4 +2020/05/01 | 2111 | graphics/circuit_macros/examples/svg/ConnSVG.m4 +2020/05/01 | 1737 | graphics/circuit_macros/examples/svg/ContactsSVG.m4 +2020/05/01 | 3646 | graphics/circuit_macros/examples/svg/ContactSVG.m4 +2020/05/01 | 3206 | graphics/circuit_macros/examples/svg/controlSVG.m4 +2020/05/01 | 793 | graphics/circuit_macros/examples/svg/CountingSVG.m4 +2020/05/01 | 1387 | graphics/circuit_macros/examples/svg/CrossbarSVG.m4 +2020/05/01 | 2525 | graphics/circuit_macros/examples/svg/CrowSVG.m4 +2020/05/01 | 1882 | graphics/circuit_macros/examples/svg/CrullerSVG.m4 +2020/05/01 | 2324 | graphics/circuit_macros/examples/svg/cscSVG.m4 +2020/05/01 | 7418 | graphics/circuit_macros/examples/svg/CsourceSVG.m4 +2020/05/01 | 745 | graphics/circuit_macros/examples/svg/DecoderSVG.m4 +2020/05/01 | 1373 | graphics/circuit_macros/examples/svg/DemultiplexerSVG.m4 +2020/05/01 | 609 | graphics/circuit_macros/examples/svg/diamondSVG.m4 +2020/05/01 | 6854 | graphics/circuit_macros/examples/svg/DiniSVG.m4 +2020/05/01 | 1429 | graphics/circuit_macros/examples/svg/DiodesSVG.m4 +2020/05/01 | 1966 | graphics/circuit_macros/examples/svg/DriveSVG.m4 +2020/05/01 | 1070 | graphics/circuit_macros/examples/svg/EmarrowsSVG.m4 +2020/05/01 | 2443 | graphics/circuit_macros/examples/svg/ex00SVG.m4 +2020/05/01 | 933 | graphics/circuit_macros/examples/svg/ex01SVG.m4 +2020/05/01 | 1093 | graphics/circuit_macros/examples/svg/ex02SVG.m4 +2020/05/01 | 855 | graphics/circuit_macros/examples/svg/ex03SVG.m4 +2020/05/01 | 1891 | graphics/circuit_macros/examples/svg/ex04SVG.m4 +2020/05/01 | 1807 | graphics/circuit_macros/examples/svg/ex05SVG.m4 +2020/05/01 | 2018 | graphics/circuit_macros/examples/svg/ex06SVG.m4 +2020/05/01 | 2559 | graphics/circuit_macros/examples/svg/ex08SVG.m4 +2020/05/01 | 4119 | graphics/circuit_macros/examples/svg/ex09SVG.m4 +2020/05/01 | 1699 | graphics/circuit_macros/examples/svg/ex10SVG.m4 +2020/05/01 | 2685 | graphics/circuit_macros/examples/svg/ex11SVG.m4 +2020/05/01 | 3522 | graphics/circuit_macros/examples/svg/ex12SVG.m4 +2020/05/01 | 970 | graphics/circuit_macros/examples/svg/ex15SVG.m4 +2020/05/01 | 1893 | graphics/circuit_macros/examples/svg/ex16SVG.m4 +2020/05/01 | 1204 | graphics/circuit_macros/examples/svg/ex17SVG.m4 +2020/05/01 | 1065 | graphics/circuit_macros/examples/svg/ex18SVG.m4 +2020/05/01 | 2177 | graphics/circuit_macros/examples/svg/ex21SVG.m4 +2020/05/01 | 13734 | graphics/circuit_macros/examples/svg/examplesSVG.htmx +2020/05/01 | 10589 | graphics/circuit_macros/examples/svg/expSVG.m4 +2020/05/01 | 3836 | graphics/circuit_macros/examples/svg/fetSVG.m4 +2020/05/01 | 9954 | graphics/circuit_macros/examples/svg/FlowSVG.m4 +2020/05/01 | 538 | graphics/circuit_macros/examples/svg/FontsSVG.m4 +2020/05/01 | 959 | graphics/circuit_macros/examples/svg/FusesSVG.m4 +2020/05/01 | 422 | graphics/circuit_macros/examples/svg/GrayCodeSVG.m4 +2020/05/01 | 5521 | graphics/circuit_macros/examples/svg/graysurfSVG.m4 +2020/05/01 | 810 | graphics/circuit_macros/examples/svg/GroundsSVG.m4 +2020/05/01 | 1265 | graphics/circuit_macros/examples/svg/HeadersSVG.m4 +2020/05/01 | 12711 | graphics/circuit_macros/examples/svg/HeathkitSVG.m4 +2020/05/01 | 2171 | graphics/circuit_macros/examples/svg/I2LSVG.m4 +2020/05/01 | 9276 | graphics/circuit_macros/examples/svg/icsSVG.m4 +2020/05/01 | 4003 | graphics/circuit_macros/examples/svg/InclepsSVG.m4 +2020/05/01 | 21384 | graphics/circuit_macros/examples/svg/Incl.jpg +2020/05/01 | 2051 | graphics/circuit_macros/examples/svg/JackSVG.m4 +2020/05/01 | 7203 | graphics/circuit_macros/examples/svg/lcctSVG.m4 +2020/05/01 | 6216 | graphics/circuit_macros/examples/svg/LgateSVG.m4 +2020/05/01 | 63 | graphics/circuit_macros/examples/svg/local_init.m4 +2020/05/01 | 1931 | graphics/circuit_macros/examples/svg/LogicSVG.m4 +2020/05/01 | 2241 | graphics/circuit_macros/examples/svg/LoglogSVG.m4 +2020/05/01 | 4582 | graphics/circuit_macros/examples/svg/Makefile +2020/05/01 | 3421 | graphics/circuit_macros/examples/svg/MCSVG.m4 +2020/05/01 | 3489 | graphics/circuit_macros/examples/svg/MixerSVG.m4 +2020/05/01 | 1953 | graphics/circuit_macros/examples/svg/MotorControlSVG.m4 +2020/05/01 | 1467 | graphics/circuit_macros/examples/svg/MultiplexerSVG.m4 +2020/05/01 | 532 | graphics/circuit_macros/examples/svg/NLGSVG.m4 +2020/05/01 | 1157 | graphics/circuit_macros/examples/svg/NPDTSVG.m4 +2020/05/01 | 748 | graphics/circuit_macros/examples/svg/Np.m4 +2020/05/01 | 1238 | graphics/circuit_macros/examples/svg/NportSVG.m4 +2020/05/01 | 1034 | graphics/circuit_macros/examples/svg/OpampSVG.m4 +2020/05/01 | 2551 | graphics/circuit_macros/examples/svg/OptoisoSVG.m4 +2020/05/01 | 10445 | graphics/circuit_macros/examples/svg/paletteSVG.m4 +2020/05/01 | 1776 | graphics/circuit_macros/examples/svg/PconnSVG.m4 +2020/05/01 | 3779 | graphics/circuit_macros/examples/svg/PushPullSVG.m4 +2020/05/01 | 862 | graphics/circuit_macros/examples/svg/pwrsupplySVG.m4 +2020/05/01 | 947 | graphics/circuit_macros/examples/svg/QuantumSVG.m4 +2020/05/01 | 839 | graphics/circuit_macros/examples/svg/quickSVG.m4 +2020/05/01 | 3573 | graphics/circuit_macros/examples/svg/randomSVG.m4 +2020/05/01 | 7546 | graphics/circuit_macros/examples/svg/RectifiersSVG.m4 +2020/05/01 | 3825 | graphics/circuit_macros/examples/svg/recycleSVG.m4 +2020/05/01 | 2069 | graphics/circuit_macros/examples/svg/relaycoilSVG.m4 +2020/05/01 | 1431 | graphics/circuit_macros/examples/svg/RelaySVG.m4 +2020/05/01 | 4624 | graphics/circuit_macros/examples/svg/roseSVG.m4 +2020/05/01 | 545 | graphics/circuit_macros/examples/svg/RotboxSVG.m4 +2020/05/01 | 1837 | graphics/circuit_macros/examples/svg/SchottkySVG.m4 +2020/05/01 | 3290 | graphics/circuit_macros/examples/svg/sfgSVG.m4 +2020/05/01 | 7526 | graphics/circuit_macros/examples/svg/shapesSVG.m4 +2020/05/01 | 1446 | graphics/circuit_macros/examples/svg/ShiftRSVG.m4 +2020/05/01 | 1331 | graphics/circuit_macros/examples/svg/SierpinskiSVG.m4 +2020/05/01 | 419 | graphics/circuit_macros/examples/svg/SixpoleSVG.m4 +2020/05/01 | 1907 | graphics/circuit_macros/examples/svg/SourcesSVG.m4 +2020/05/01 | 417 | graphics/circuit_macros/examples/svg/SQUIDSVG.m4 +2020/05/01 | 1050 | graphics/circuit_macros/examples/svg/SVGconfig.m4 +2020/05/01 | 4309 | graphics/circuit_macros/examples/svg/SwitchesSVG.m4 +2020/05/01 | 1055 | graphics/circuit_macros/examples/svg/TgateSVG.m4 +2020/05/01 | 1444 | graphics/circuit_macros/examples/svg/ThreeSVG.m4 +2020/05/01 | 3310 | graphics/circuit_macros/examples/svg/thyristorSVG.m4 +2020/05/01 | 1612 | graphics/circuit_macros/examples/svg/TimerSVG.m4 +2020/05/01 | 9198 | graphics/circuit_macros/examples/svg/tstSVG.htmx +2020/05/01 | 1675 | graphics/circuit_macros/examples/svg/TTLnandSVG.m4 +2020/05/01 | 3091 | graphics/circuit_macros/examples/svg/TtreeSVG.m4 +2020/05/01 | 12478 | graphics/circuit_macros/examples/svg/TubediagsSVG.m4 +2020/05/01 | 682 | graphics/circuit_macros/examples/svg/ujtSVG.m4 +2020/05/01 | 988 | graphics/circuit_macros/examples/svg/VariableSVG.m4 +2020/05/01 | 2994 | graphics/circuit_macros/examples/svg/WindingsSVG.m4 +2020/05/01 | 353 | graphics/circuit_macros/examples/svg/windows.m4 +2020/05/01 | 3631 | graphics/circuit_macros/examples/svg/wormSVG.m4 +2020/05/01 | 1559 | graphics/circuit_macros/examples/svg/XformSVG.m4 +2020/05/01 | 1985 | graphics/circuit_macros/examples/svg/XORSVG.m4 +2020/05/01 | 3973 | graphics/circuit_macros/examples/Switches.m4 +2020/05/01 | 591 | graphics/circuit_macros/examples/test.m4 +2020/05/01 | 416 | graphics/circuit_macros/examples/testpdf.tex +2020/05/01 | 1022 | graphics/circuit_macros/examples/Tgate.m4 +2020/05/01 | 1287 | graphics/circuit_macros/examples/Three.m4 +2020/05/01 | 3321 | graphics/circuit_macros/examples/thyristor.m4 +2020/05/01 | 382 | graphics/circuit_macros/examples/tikz.tex +2020/05/01 | 1546 | graphics/circuit_macros/examples/Timer.m4 +2020/05/01 | 219 | graphics/circuit_macros/examples/tst1.tex +2020/05/01 | 613 | graphics/circuit_macros/examples/tst.tex +2020/05/01 | 1558 | graphics/circuit_macros/examples/TTLnand.m4 +2020/05/01 | 2097 | graphics/circuit_macros/examples/Ttree.m4 +2020/05/01 | 9840 | graphics/circuit_macros/examples/tubedefs.m4 +2020/05/01 | 13264 | graphics/circuit_macros/examples/Tubediags.m4 +2020/05/01 | 660 | graphics/circuit_macros/examples/ujt.m4 +2020/05/01 | 926 | graphics/circuit_macros/examples/Variable.m4 +2020/05/01 | 442 | graphics/circuit_macros/examples/Wheat.m4 +2020/05/01 | 3346 | graphics/circuit_macros/examples/Windings.m4 +2020/05/01 | 353 | graphics/circuit_macros/examples/windows.m4 +2020/05/01 | 2799 | graphics/circuit_macros/examples/worm.m4 +2020/05/01 | 337 | graphics/circuit_macros/examples/xfig/Makefile +2020/05/01 | 21230 | graphics/circuit_macros/examples/xfig/xfiglib.fig +2020/05/01 | 5969 | graphics/circuit_macros/examples/xfig/xfiglib.m4 +2020/05/01 | 1526 | graphics/circuit_macros/examples/Xform.m4 +2020/05/01 | 1823 | graphics/circuit_macros/examples/XOR.m4 +2020/05/01 | 656 | graphics/circuit_macros/examples/Zcos.m4 +2020/05/01 | 1019 | graphics/circuit_macros/gpic.m4 +2020/05/01 | 3946 | graphics/circuit_macros/INSTALL +2020/05/01 | 11273 | graphics/circuit_macros/lib3D.m4 +2020/05/01 | 161931 | graphics/circuit_macros/libcct.m4 +2020/05/01 | 78720 | graphics/circuit_macros/libgen.m4 +2020/05/01 | 47768 | graphics/circuit_macros/liblog.m4 +2020/05/01 | 19176 | graphics/circuit_macros/Licence.txt +2020/05/01 | 1639 | graphics/circuit_macros/Makefile +2020/05/01 | 1114 | graphics/circuit_macros/mfpic.m4 +2020/05/01 | 1640 | graphics/circuit_macros/mpost.m4 +2020/05/01 | 2085 | graphics/circuit_macros/pgf.m4 +2020/05/01 | 2834 | graphics/circuit_macros/postscript.m4 +2020/05/01 | 706 | graphics/circuit_macros/psfrag.m4 +2020/05/01 | 2099 | graphics/circuit_macros/pstricks.m4 +2020/05/01 | 16140 | graphics/circuit_macros/README +2020/05/01 | 9902 | graphics/circuit_macros/svg.m4 +2020/05/01 | 1029 | graphics/circuit_macros/xfig.m4 +2020/05/01 | 2533091 | graphics/circuit_macros.zip 2018/09/22 | 49163 | graphics/coloremoji/coloremoji.sty 2018/09/22 | 15169 | graphics/coloremoji/emoji_images/hires/1F004.pdf 2018/09/22 | 24318 | graphics/coloremoji/emoji_images/hires/1F0CF.pdf @@ -136773,15 +136807,15 @@ 2005/11/08 | 13076 | graphics/pstricks/contrib/pst-osci/pst-osci.tex 2002/05/28 | 882 | graphics/pstricks/contrib/pst-osci/README 2005/11/09 | 1338428 | graphics/pstricks/contrib/pst-osci.zip -2017/10/09 | 548 | graphics/pstricks/contrib/pst-ovl/Changes -2017/10/09 | 4881 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib -2017/10/09 | 48866 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf -2017/10/09 | 2855 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex -2017/10/09 | 805 | graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro -2017/10/09 | 569 | graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty -2017/10/09 | 583 | graphics/pstricks/contrib/pst-ovl/README -2017/10/09 | 2192 | graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex -2017/10/09 | 41495 | graphics/pstricks/contrib/pst-ovl.zip +2020/05/01 | 599 | graphics/pstricks/contrib/pst-ovl/Changes +2020/05/01 | 3983 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib +2020/05/01 | 39774 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf +2020/05/01 | 2682 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex +2020/05/01 | 806 | graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro +2020/05/01 | 575 | graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty +2020/05/01 | 370 | graphics/pstricks/contrib/pst-ovl/README +2020/05/01 | 2198 | graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex +2020/05/01 | 34597 | graphics/pstricks/contrib/pst-ovl.zip 2008/08/19 | 682 | graphics/pstricks/contrib/pst-pad/CHANGES 2008/08/19 | 950 | graphics/pstricks/contrib/pst-pad/Makefile 2008/08/19 | 98748 | graphics/pstricks/contrib/pst-pad/pst-pad-docDE.pdf @@ -162188,10 +162222,10 @@ 2013/05/13 | 135206 | install/info/luatex/lualatex-doc.tds.zip 2018/03/19 | 2053336 | install/language/arabic/dad.tds.zip 2016/05/14 | 160646 | install/language/chinese/cjkpunct.tds.zip -2019/05/29 | 1293129 | install/language/chinese/ctex.tds.zip +2020/05/01 | 1555225 | install/language/chinese/ctex.tds.zip 2016/11/23 | 413896 | install/language/chinese/zhmcjk.tds.zip 2017/03/09 | 168862 | install/language/hebrew/cjhebrew.tds.zip -2020/02/08 | 8867813 | install/language/japanese/jlreq.tds.zip +2020/05/01 | 8868938 | install/language/japanese/jlreq.tds.zip 2020/04/12 | 1772665 | install/language/japanese/platex.tds.zip 2020/02/02 | 1012810 | install/language/japanese/uplatex.tds.zip 2013/02/08 | 561424 | install/language/thai/thailatex.tds.zip @@ -162396,7 +162430,7 @@ 2019/12/15 | 404904 | install/macros/latex/contrib/ltxcmds.tds.zip 2011/03/25 | 10183 | install/macros/latex/contrib/ltxdockit.tds.zip 2020/02/26 | 332761 | install/macros/latex/contrib/luacolor.tds.zip -2020/04/25 | 3593178 | install/macros/latex/contrib/lwarp.tds.zip +2020/05/01 | 3595883 | install/macros/latex/contrib/lwarp.tds.zip 2019/11/29 | 336437 | install/macros/latex/contrib/magicnum.tds.zip 2009/09/03 | 125014 | install/macros/latex/contrib/makecmds.tds.zip 2018/08/09 | 330020 | install/macros/latex/contrib/marginnote.tds.zip @@ -162528,20 +162562,20 @@ 2012/04/13 | 261959 | install/macros/latex/contrib/usebib.tds.zip 2014/05/10 | 440916 | install/macros/latex/contrib/verse.tds.zip 2012/04/18 | 16307 | install/macros/latex/contrib/vpe.tds.zip -2019/04/07 | 945801 | install/macros/latex/contrib/xcjk2uni.tds.zip +2020/05/01 | 936344 | install/macros/latex/contrib/xcjk2uni.tds.zip 2016/08/05 | 475695 | install/macros/latex/contrib/xcolor-solarized.tds.zip 2009/02/05 | 111968 | install/macros/latex/contrib/xfor.tds.zip 2012/08/17 | 566590 | install/macros/latex/contrib/xpeek.tds.zip 2015/05/23 | 564970 | install/macros/latex/contrib/xpiano.tds.zip 2012/12/23 | 1365925 | install/macros/latex/contrib/xpicture.tds.zip -2019/04/07 | 571127 | install/macros/latex/contrib/xpinyin.tds.zip +2020/05/01 | 572150 | install/macros/latex/contrib/xpinyin.tds.zip 2020/03/04 | 377976 | install/macros/latex/contrib/xsavebox.tds.zip 2011/07/31 | 387124 | install/macros/latex/contrib/xtab.tds.zip 2009/02/27 | 2323785 | install/macros/latex/contrib/yagusylo.tds.zip 2020/04/13 | 12792590 | install/macros/latex/contrib/yathesis.tds.zip 2012/05/03 | 352839 | install/macros/latex/contrib/ydoc.tds.zip 2020/04/09 | 806385 | install/macros/latex/contrib/zhlipsum.tds.zip -2019/04/07 | 292635 | install/macros/latex/contrib/zhnumber.tds.zip +2020/05/01 | 293478 | install/macros/latex/contrib/zhnumber.tds.zip 2020/03/03 | 723658 | install/macros/latex/contrib/zref.tds.zip 2020/03/06 | 22600138 | install/macros/latex-dev/latex-base-dev.tds.zip 2019/11/18 | 2636412 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip @@ -162578,7 +162612,7 @@ 2020/01/30 | 3775848 | install/macros/xetex/latex/bidi.tds.zip 2015/02/17 | 92757 | install/macros/xetex/latex/interchar.tds.zip 2016/07/11 | 232429 | install/macros/xetex/latex/mynsfc.tds.zip -2020/02/18 | 1822460 | install/macros/xetex/latex/xecjk.tds.zip +2020/05/01 | 1928867 | install/macros/xetex/latex/xecjk.tds.zip 2020/02/01 | 1178383 | install/macros/xetex/latex/xepersian.tds.zip 2008/06/20 | 3954 | install/macros/xetex/plain/xetexfontinfo.tds.zip 2013/01/04 | 36361 | install/support/adhocfilelist.tds.zip @@ -163940,11 +163974,15 @@ 2016/05/14 | 3497 | language/chinese/cjkpunct/setpunct/setpunct-macros.tex 2016/05/14 | 468 | language/chinese/cjkpunct/setpunct/setpunct-main.tex 2016/05/14 | 154735 | language/chinese/cjkpunct.zip -2019/05/29 | 437117 | language/chinese/ctex/ctex.dtx -2019/05/29 | 1061924 | language/chinese/ctex/ctex.pdf -2016/06/02 | 6811 | language/chinese/ctex/ctexpunct.spa -2019/05/29 | 5759 | language/chinese/ctex/README.md -2019/05/29 | 1128392 | language/chinese/ctex.zip +2020/05/01 | 433318 | language/chinese/ctex/ctex.dtx +2020/05/01 | 1097730 | language/chinese/ctex/ctex.pdf +2020/04/18 | 9752 | language/chinese/ctex/ctexpunct.spa +2020/05/01 | 28619 | language/chinese/ctex/ctxdoc.cls +2020/04/20 | 2896 | language/chinese/ctex/ctxdocstrip.tex +2020/05/01 | 5996 | language/chinese/ctex/README.md +2020/05/01 | 6183 | language/chinese/ctex/zhconv.lua +2020/04/19 | 4090 | language/chinese/ctex/zhconv-make.lua +2020/05/01 | 1172690 | language/chinese/ctex.zip 1992/09/26 | 1678 | language/chinese/ftp.sites 1998/12/28 | 219667 | language/chinese/ntu2cjk.tar.gz 1991/04/20 | 5464 | language/chinese/pmtex/wcksa4.300pk @@ -171124,22 +171162,22 @@ 2020/04/25 | 1588000 | language/japanese/jlreq-deluxe/vf/zjlreq--upnmlminr-v.vf 2020/04/26 | 115598843 | language/japanese/jlreq-deluxe.zip 2020/02/08 | 40988 | language/japanese/jlreq/jfm-jlreq.lua -2020/02/08 | 263073 | language/japanese/jlreq/jlreq.cls -2020/02/08 | 23000 | language/japanese/jlreq/jlreq-helpers.sty -2020/02/08 | 359176 | language/japanese/jlreq/jlreq-ja.pdf -2020/02/08 | 116207 | language/japanese/jlreq/jlreq.pdf -2019/04/01 | 7286 | language/japanese/jlreq/jlreq-trimmarks-ja.md -2019/04/01 | 6081 | language/japanese/jlreq/jlreq-trimmarks.md -2019/04/01 | 45573 | language/japanese/jlreq/jlreq-trimmarks.sty +2020/05/01 | 264314 | language/japanese/jlreq/jlreq.cls +2020/05/01 | 23248 | language/japanese/jlreq/jlreq-helpers.sty +2020/05/01 | 359458 | language/japanese/jlreq/jlreq-ja.pdf +2020/05/01 | 116315 | language/japanese/jlreq/jlreq.pdf +2020/05/01 | 7677 | language/japanese/jlreq/jlreq-trimmarks-ja.md +2020/05/01 | 6378 | language/japanese/jlreq/jlreq-trimmarks.md +2020/05/01 | 44853 | language/japanese/jlreq/jlreq-trimmarks.sty 2020/02/08 | 1348 | language/japanese/jlreq/LICENSE 2019/04/01 | 11487 | language/japanese/jlreq/luajfm2pl.lua -2020/02/08 | 6726 | language/japanese/jlreq/Makefile +2020/02/08 | 6683 | language/japanese/jlreq/Makefile 2020/02/08 | 4854 | language/japanese/jlreq/make_variant_jfm.lua -2020/02/08 | 40460 | language/japanese/jlreq/README-ja.md -2020/02/08 | 4897 | language/japanese/jlreq/README.md +2020/05/01 | 41050 | language/japanese/jlreq/README-ja.md +2020/05/01 | 4998 | language/japanese/jlreq/README.md 2019/04/01 | 3094 | language/japanese/jlreq/README-template.html -2020/02/08 | 3315 | language/japanese/jlreq/README-template.tex -2020/02/08 | 576932 | language/japanese/jlreq.zip +2020/03/27 | 3315 | language/japanese/jlreq/README-template.tex +2020/05/01 | 577768 | language/japanese/jlreq.zip 1995/08/05 | 7067 | language/japanese/jtex/00NEWS 1995/07/26 | 1558 | language/japanese/jtex/00README 1995/06/21 | 1825 | language/japanese/jtex/jlatex2e-add1.tar.gz @@ -190153,13 +190191,13 @@ 2014/07/08 | 4071 | macros/latex/contrib/hepnames/mkmacrotables 2012/05/07 | 1678 | macros/latex/contrib/hepnames/README 2014/12/02 | 1462454 | macros/latex/contrib/hepnames.zip -2020/03/13 | 13436 | macros/latex/contrib/hep-paper/bibliography.bib -2020/03/13 | 59640 | macros/latex/contrib/hep-paper/hep-paper.dtx -2020/01/13 | 1424 | macros/latex/contrib/hep-paper/hep-paper.ins -2020/03/13 | 535697 | macros/latex/contrib/hep-paper/hep-paper.pdf -2020/01/13 | 19040 | macros/latex/contrib/hep-paper/license.md -2020/03/13 | 1014 | macros/latex/contrib/hep-paper/README.md -2020/03/13 | 558444 | macros/latex/contrib/hep-paper.zip +2020/05/01 | 16274 | macros/latex/contrib/hep-paper/bibliography.bib +2020/05/01 | 70573 | macros/latex/contrib/hep-paper/hep-paper.dtx +2020/05/01 | 1484 | macros/latex/contrib/hep-paper/hep-paper.ins +2020/05/01 | 525662 | macros/latex/contrib/hep-paper/hep-paper.pdf +2020/05/01 | 19040 | macros/latex/contrib/hep-paper/license.md +2020/05/01 | 1014 | macros/latex/contrib/hep-paper/README.md +2020/05/01 | 550763 | macros/latex/contrib/hep-paper.zip 2014/12/01 | 2025 | macros/latex/contrib/hepparticles/ChangeLog 2014/12/01 | 39760 | macros/latex/contrib/hepparticles/hepparticles.pdf 2014/12/02 | 16682 | macros/latex/contrib/hepparticles/hepparticles.sty @@ -193193,15 +193231,15 @@ 1999/06/10 | 980 | macros/latex/contrib/lucold/t1hlos.fd 1999/05/25 | 407 | macros/latex/contrib/lucold/test.tex 2005/04/30 | 25682 | macros/latex/contrib/lucold.zip -2020/04/25 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps -2020/04/25 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png -2020/04/25 | 2334375 | macros/latex/contrib/lwarp/lwarp.dtx -2020/04/25 | 28197 | macros/latex/contrib/lwarp/lwarp.ins -2020/04/25 | 28778 | macros/latex/contrib/lwarp/lwarpmk.lua -2020/04/25 | 2701656 | macros/latex/contrib/lwarp/lwarp.pdf -2020/04/25 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt -2020/04/25 | 1623 | macros/latex/contrib/lwarp/README.txt -2020/04/25 | 3105406 | macros/latex/contrib/lwarp.zip +2020/05/01 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps +2020/05/01 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png +2020/05/01 | 2337394 | macros/latex/contrib/lwarp/lwarp.dtx +2020/05/01 | 28197 | macros/latex/contrib/lwarp/lwarp.ins +2020/05/01 | 28778 | macros/latex/contrib/lwarp/lwarpmk.lua +2020/05/01 | 2703938 | macros/latex/contrib/lwarp/lwarp.pdf +2020/05/01 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt +2020/05/01 | 1623 | macros/latex/contrib/lwarp/README.txt +2020/05/01 | 3107866 | macros/latex/contrib/lwarp.zip 2006/09/11 | 4093 | macros/latex/contrib/lyx/sikumuna/article-sikumuna.layout 2006/09/11 | 781 | macros/latex/contrib/lyx/sikumuna/README 2006/09/11 | 1806 | macros/latex/contrib/lyx/sikumuna.zip @@ -206078,40 +206116,40 @@ 1998/08/05 | 1143 | macros/latex/contrib/units/units.ins 2005/07/30 | 220961 | macros/latex/contrib/units/units.pdf 2005/07/30 | 216905 | macros/latex/contrib/units.zip -2019/01/21 | 23819 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx -2019/01/21 | 3191 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx -2019/01/15 | 111387 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf -2019/01/15 | 5231 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.tex -2019/01/15 | 106622 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf -2019/01/15 | 4737 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.tex -2019/01/15 | 149271 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf -2019/01/15 | 4367 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.tex -2019/01/15 | 144249 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf -2019/01/15 | 3965 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.tex -2019/01/15 | 173907 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf -2019/01/15 | 4709 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex -2018/09/06 | 2940 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.xmpdata -2019/01/15 | 170172 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf -2019/01/15 | 4256 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex -2018/09/06 | 2942 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.xmpdata -2018/09/06 | 224787 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf -2018/09/06 | 1958 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex -2019/01/21 | 443486 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf -2019/01/21 | 23524 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex -2019/01/21 | 438229 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf -2019/01/21 | 25746 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex -2019/01/21 | 441848 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf -2019/01/21 | 28333 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex -2019/01/21 | 329483 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf -2019/01/21 | 9934 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex -2019/01/21 | 5143 | macros/latex/contrib/univie-ling/README -2019/01/21 | 19635 | macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls -2019/01/21 | 22714 | macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls -2019/01/21 | 21383 | macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls -2019/01/21 | 27739 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls -2018/09/06 | 93530 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf -2018/09/06 | 25365 | macros/latex/contrib/univie-ling/tex/univielogo-sw.pdf -2019/01/21 | 2887107 | macros/latex/contrib/univie-ling.zip +2019/02/16 | 24147 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx +2019/02/15 | 3491 | macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx +2019/02/15 | 111387 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf +2019/02/15 | 5231 | macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.tex +2019/02/15 | 106622 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf +2019/02/15 | 4737 | macros/latex/contrib/univie-ling/doc/templates/template-expose-english.tex +2019/02/15 | 149271 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf +2019/02/15 | 4367 | macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.tex +2019/02/15 | 144249 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf +2019/02/15 | 3965 | macros/latex/contrib/univie-ling/doc/templates/template-paper-english.tex +2019/02/15 | 173907 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf +2019/02/15 | 4709 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex +2018/02/12 | 2940 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.xmpdata +2019/02/15 | 170172 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf +2019/02/15 | 4256 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex +2018/02/12 | 2942 | macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.xmpdata +2018/03/02 | 224787 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf +2018/02/13 | 1958 | macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.tex +2020/05/01 | 443458 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf +2020/05/01 | 23580 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex +2020/05/01 | 438208 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf +2020/05/01 | 25802 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex +2020/05/01 | 441864 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf +2020/05/01 | 28388 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex +2020/05/01 | 329512 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf +2020/05/01 | 10001 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex +2020/05/01 | 5392 | macros/latex/contrib/univie-ling/README +2020/05/01 | 19636 | macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls +2020/05/01 | 22715 | macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls +2020/05/01 | 21384 | macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls +2020/05/01 | 27749 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls +2017/01/25 | 93530 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg-logo.pdf +2016/02/11 | 25365 | macros/latex/contrib/univie-ling/tex/univielogo-sw.pdf +2020/05/01 | 2887365 | macros/latex/contrib/univie-ling.zip 2019/07/14 | 30359 | macros/latex/contrib/unizgklasa/example.pdf 2019/07/14 | 4187 | macros/latex/contrib/unizgklasa/example.tex 2019/07/14 | 1729 | macros/latex/contrib/unizgklasa/README.md @@ -206836,11 +206874,10 @@ 2020/01/21 | 2506 | macros/latex/contrib/xcite/xcite.ins 2020/01/21 | 158232 | macros/latex/contrib/xcite/xcite.pdf 2020/01/21 | 159518 | macros/latex/contrib/xcite.zip -2018/05/13 | 2572 | macros/latex/contrib/xcjk2uni/README.md -2019/04/07 | 29383 | macros/latex/contrib/xcjk2uni/xCJK2uni.dtx -2019/04/07 | 4819 | macros/latex/contrib/xcjk2uni/xCJK2uni.ins -2019/04/07 | 129732 | macros/latex/contrib/xcjk2uni/xCJK2uni.pdf -2019/04/07 | 134968 | macros/latex/contrib/xcjk2uni.zip +2020/05/01 | 2505 | macros/latex/contrib/xcjk2uni/README.md +2020/05/01 | 28842 | macros/latex/contrib/xcjk2uni/xCJK2uni.dtx +2020/05/01 | 126153 | macros/latex/contrib/xcjk2uni/xCJK2uni.pdf +2020/05/01 | 130374 | macros/latex/contrib/xcjk2uni.zip 2018/01/05 | 1236 | macros/latex/contrib/xcntperchap/README 2018/01/05 | 39064 | macros/latex/contrib/xcntperchap/xcntperchap_basicusage.pdf 2018/01/05 | 1805 | macros/latex/contrib/xcntperchap/xcntperchap_basicusage.tex @@ -207012,11 +207049,10 @@ 2012/12/23 | 128220 | macros/latex/contrib/xpicture/xpicture.dtx 2012/12/23 | 403099 | macros/latex/contrib/xpicture/xpicture.pdf 2013/01/02 | 1319655 | macros/latex/contrib/xpicture.zip -2019/04/07 | 1828 | macros/latex/contrib/xpinyin/README.md -2019/04/07 | 42312 | macros/latex/contrib/xpinyin/xpinyin.dtx -2019/04/07 | 4015 | macros/latex/contrib/xpinyin/xpinyin.ins -2019/04/07 | 207276 | macros/latex/contrib/xpinyin/xpinyin.pdf -2019/04/07 | 215213 | macros/latex/contrib/xpinyin.zip +2020/05/01 | 1828 | macros/latex/contrib/xpinyin/README.md +2020/05/01 | 41983 | macros/latex/contrib/xpinyin/xpinyin.dtx +2020/05/01 | 207176 | macros/latex/contrib/xpinyin/xpinyin.pdf +2020/05/01 | 213876 | macros/latex/contrib/xpinyin.zip 2014/12/26 | 32132 | macros/latex/contrib/xprintlen/ex01.png 2014/12/28 | 219 | macros/latex/contrib/xprintlen/LICENSE 2014/12/28 | 1322 | macros/latex/contrib/xprintlen/README @@ -207457,11 +207493,10 @@ 2020/04/09 | 342601 | macros/latex/contrib/zhlipsum/zhlipsum.pdf 2020/04/09 | 222521 | macros/latex/contrib/zhlipsum/zhlipsum-text.dtx 2020/04/10 | 534730 | macros/latex/contrib/zhlipsum.zip -2019/04/07 | 2303 | macros/latex/contrib/zhnumber/README.md -2019/04/07 | 62888 | macros/latex/contrib/zhnumber/zhnumber.dtx -2019/04/07 | 3337 | macros/latex/contrib/zhnumber/zhnumber.ins -2019/04/07 | 270690 | macros/latex/contrib/zhnumber/zhnumber.pdf -2019/04/07 | 280184 | macros/latex/contrib/zhnumber.zip +2020/05/01 | 2303 | macros/latex/contrib/zhnumber/README.md +2020/05/01 | 62951 | macros/latex/contrib/zhnumber/zhnumber.dtx +2020/05/01 | 271657 | macros/latex/contrib/zhnumber/zhnumber.pdf +2020/05/01 | 280101 | macros/latex/contrib/zhnumber.zip 2013/11/26 | 524 | macros/latex/contrib/ziffer/README 2013/11/26 | 3959 | macros/latex/contrib/ziffer/ziffer.sty 2013/11/30 | 2049 | macros/latex/contrib/ziffer.zip @@ -217548,15 +217583,11 @@ 2017/08/03 | 338 | macros/xetex/latex/xechangebar/README 2017/08/03 | 35213 | macros/xetex/latex/xechangebar/xechangebar.sty 2017/08/04 | 9481 | macros/xetex/latex/xechangebar.zip -2020/02/18 | 3395 | macros/xetex/latex/xecjk/README.md -2020/02/18 | 182 | macros/xetex/latex/xecjk/teckit-mapping/full-stop.map -2020/02/18 | 182 | macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map -2020/02/18 | 52847 | macros/xetex/latex/xecjk/teckit-mapping/han-simp.map -2020/02/18 | 52321 | macros/xetex/latex/xecjk/teckit-mapping/han-trad.map -2020/02/18 | 509415 | macros/xetex/latex/xecjk/xeCJK.dtx -2020/02/18 | 1279166 | macros/xetex/latex/xecjk/xeCJK.pdf -2020/02/18 | 292983 | macros/xetex/latex/xecjk/xunicode-symbols.pdf -2020/02/18 | 1644824 | macros/xetex/latex/xecjk.zip +2020/05/01 | 3395 | macros/xetex/latex/xecjk/README.md +2020/05/01 | 509475 | macros/xetex/latex/xecjk/xeCJK.dtx +2020/05/01 | 1280364 | macros/xetex/latex/xecjk/xeCJK.pdf +2020/05/01 | 292884 | macros/xetex/latex/xecjk/xunicode-symbols.pdf +2020/05/01 | 1611875 | macros/xetex/latex/xecjk.zip 2013/04/03 | 1610 | macros/xetex/latex/xecolor/README 2013/04/03 | 5874 | macros/xetex/latex/xecolor/xecolor.sty 2013/04/04 | 2942 | macros/xetex/latex/xecolor.zip @@ -217641,13 +217672,17 @@ 2020/02/01 | 15976 | macros/xetex/latex/xepersian/dkun-0.3.py 2020/02/01 | 15867 | macros/xetex/latex/xepersian/dkun-0.4.py 2020/02/01 | 38725 | macros/xetex/latex/xepersian/ftxe-0.12.py -2020/04/26 | 81523 | macros/xetex/latex/xepersian-hm/kashida-example.pdf -2020/04/26 | 2955 | macros/xetex/latex/xepersian-hm/kashida-example.tex -2020/04/26 | 1230 | macros/xetex/latex/xepersian-hm/README.txt -2020/04/26 | 27642 | macros/xetex/latex/xepersian-hm/xepersian-hm.dtx -2020/04/26 | 1883 | macros/xetex/latex/xepersian-hm/xepersian-hm.ins -2020/04/26 | 75419 | macros/xetex/latex/xepersian-hm/xepersian-hm.pdf -2020/04/26 | 158398 | macros/xetex/latex/xepersian-hm.zip +2020/05/01 | 91744 | macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf +2020/05/01 | 3678 | macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex +2020/05/01 | 90703 | macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf +2020/05/01 | 3634 | macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex +2020/05/01 | 859 | macros/xetex/latex/xepersian-hm/README.txt +2020/05/01 | 6845 | macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx +2020/05/01 | 46065 | macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf +2020/05/01 | 21835 | macros/xetex/latex/xepersian-hm/xepersian-hm.dtx +2020/05/01 | 1937 | macros/xetex/latex/xepersian-hm/xepersian-hm.ins +2020/05/01 | 55345 | macros/xetex/latex/xepersian-hm/xepersian-hm.pdf +2020/05/01 | 281966 | macros/xetex/latex/xepersian-hm.zip 2020/02/01 | 18304 | macros/xetex/latex/xepersian/img/ireland.jpg 2020/02/01 | 13088 | macros/xetex/latex/xepersian/img/weather/clouds.jpg 2020/02/01 | 14616 | macros/xetex/latex/xepersian/img/weather/rain.jpg @@ -254127,9 +254162,9 @@ 2019/02/28 | 2080 | systems/texlive/tlnet/archive/biblatex-shortfields.r45858.tar.xz 2019/02/28 | 112244 | systems/texlive/tlnet/archive/biblatex-socialscienceshuberlin.doc.r47839.tar.xz 2019/02/28 | 2112 | systems/texlive/tlnet/archive/biblatex-socialscienceshuberlin.r47839.tar.xz -2020/04/26 | 287484 | systems/texlive/tlnet/archive/biblatex-software.doc.r54875.tar.xz -2020/04/26 | 2788 | systems/texlive/tlnet/archive/biblatex-software.r54875.tar.xz -2020/04/26 | 916 | systems/texlive/tlnet/archive/biblatex-software.source.r54875.tar.xz +2020/05/01 | 293992 | systems/texlive/tlnet/archive/biblatex-software.doc.r54950.tar.xz +2020/05/01 | 3116 | systems/texlive/tlnet/archive/biblatex-software.r54950.tar.xz +2020/05/01 | 952 | systems/texlive/tlnet/archive/biblatex-software.source.r54950.tar.xz 2019/02/28 | 65448 | systems/texlive/tlnet/archive/biblatex-source-division.doc.r45379.tar.xz 2019/02/28 | 1980 | systems/texlive/tlnet/archive/biblatex-source-division.r45379.tar.xz 2019/02/28 | 70196 | systems/texlive/tlnet/archive/biblatex-subseries.doc.r43330.tar.xz @@ -255237,8 +255272,8 @@ 2019/02/28 | 1796 | systems/texlive/tlnet/archive/context-typearea.r47085.tar.xz 2019/02/28 | 648 | systems/texlive/tlnet/archive/context-typescripts.doc.r47085.tar.xz 2019/02/28 | 9224 | systems/texlive/tlnet/archive/context-typescripts.r47085.tar.xz -2020/04/28 | 7576 | systems/texlive/tlnet/archive/context-vim.doc.r54913.tar.xz -2020/04/28 | 8468 | systems/texlive/tlnet/archive/context-vim.r54913.tar.xz +2020/05/01 | 7812 | systems/texlive/tlnet/archive/context-vim.doc.r54949.tar.xz +2020/05/01 | 8504 | systems/texlive/tlnet/archive/context-vim.r54949.tar.xz 2019/02/28 | 263536 | systems/texlive/tlnet/archive/context-visualcounter.doc.r47085.tar.xz 2019/02/28 | 3992 | systems/texlive/tlnet/archive/context-visualcounter.r47085.tar.xz 2019/02/28 | 6744 | systems/texlive/tlnet/archive/context-visualcounter.source.r47085.tar.xz @@ -256349,8 +256384,8 @@ 2019/02/28 | 3268 | systems/texlive/tlnet/archive/dynamicnumber.source.r38726.tar.xz 2019/02/28 | 377732 | systems/texlive/tlnet/archive/dynblocks.doc.r35193.tar.xz 2019/02/28 | 2084 | systems/texlive/tlnet/archive/dynblocks.r35193.tar.xz -2020/03/23 | 807224 | systems/texlive/tlnet/archive/dynkin-diagrams.doc.r54489.tar.xz -2020/03/23 | 19836 | systems/texlive/tlnet/archive/dynkin-diagrams.r54489.tar.xz +2020/05/01 | 812132 | systems/texlive/tlnet/archive/dynkin-diagrams.doc.r54948.tar.xz +2020/05/01 | 19908 | systems/texlive/tlnet/archive/dynkin-diagrams.r54948.tar.xz 2019/02/28 | 127664 | systems/texlive/tlnet/archive/dyntree.doc.r15878.tar.xz 2019/02/28 | 3120 | systems/texlive/tlnet/archive/dyntree.r15878.tar.xz 2019/02/28 | 8784 | systems/texlive/tlnet/archive/dyntree.source.r15878.tar.xz @@ -258428,8 +258463,8 @@ 2020/02/03 | 927684 | systems/texlive/tlnet/archive/jsclasses.doc.r53641.tar.xz 2020/02/03 | 21952 | systems/texlive/tlnet/archive/jsclasses.r53641.tar.xz 2020/02/03 | 55748 | systems/texlive/tlnet/archive/jsclasses.source.r53641.tar.xz -2020/02/05 | 1180012 | systems/texlive/tlnet/archive/jslectureplanner.doc.r53672.tar.xz -2020/02/05 | 12060 | systems/texlive/tlnet/archive/jslectureplanner.r53672.tar.xz +2020/05/01 | 1180232 | systems/texlive/tlnet/archive/jslectureplanner.doc.r54951.tar.xz +2020/05/01 | 12068 | systems/texlive/tlnet/archive/jslectureplanner.r54951.tar.xz 2019/02/28 | 18444 | systems/texlive/tlnet/archive/js-misc.doc.r16211.tar.xz 2019/02/28 | 13868 | systems/texlive/tlnet/archive/js-misc.r16211.tar.xz 2019/02/28 | 254168 | systems/texlive/tlnet/archive/jumplines.doc.r37553.tar.xz @@ -263589,8 +263624,8 @@ 2020/03/24 | 280 | systems/texlive/tlnet/archive/texlive-cz.r54496.tar.xz 2020/03/29 | 1338300 | systems/texlive/tlnet/archive/texlive-de.doc.r54604.tar.xz 2020/03/29 | 272 | systems/texlive/tlnet/archive/texlive-de.r54604.tar.xz -2020/04/28 | 161528 | systems/texlive/tlnet/archive/texlive-docindex.doc.r54903.tar.xz -2020/04/28 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r54903.tar.xz +2020/05/01 | 161604 | systems/texlive/tlnet/archive/texlive-docindex.doc.r54943.tar.xz +2020/05/01 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r54943.tar.xz 2020/04/16 | 1891392 | systems/texlive/tlnet/archive/texlive-en.doc.r54755.tar.xz 2020/04/16 | 272 | systems/texlive/tlnet/archive/texlive-en.r54755.tar.xz 2020/03/22 | 3090144 | systems/texlive/tlnet/archive/texlive-es.doc.r54465.tar.xz @@ -265277,16 +265312,16 @@ 2020/01/24 | 138180 | systems/texlive/tlnet/archive/zxjatype.doc.r53500.tar.xz 2020/01/24 | 8760 | systems/texlive/tlnet/archive/zxjatype.r53500.tar.xz 2020/04/06 | 107773 | systems/texlive/tlnet/install-tl -2020/04/30 | 5502699 | systems/texlive/tlnet/install-tl-unx.tar.gz -2020/04/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2020/04/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2020/05/01 | 5502663 | systems/texlive/tlnet/install-tl-unx.tar.gz +2020/05/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2020/05/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2020/03/17 | 4641 | systems/texlive/tlnet/install-tl-windows.bat -2020/04/30 | 19386051 | systems/texlive/tlnet/install-tl-windows.exe -2020/04/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2020/04/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2020/04/30 | 24269346 | systems/texlive/tlnet/install-tl.zip -2020/04/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2020/04/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2020/05/01 | 19386083 | systems/texlive/tlnet/install-tl-windows.exe +2020/05/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2020/05/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2020/05/01 | 24269346 | systems/texlive/tlnet/install-tl.zip +2020/05/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2020/05/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2020/03/05 | 1215 | systems/texlive/tlnet/README.md 2020/04/06 | 5961 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg 2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed @@ -265342,12 +265377,12 @@ 2020/03/04 | 20330 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2020/04/25 | 4790 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2017/11/14 | 27560 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2020/04/30 | 16372997 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2020/04/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2020/05/01 | 16373037 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2020/05/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2020/04/06 | 86396 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2020/04/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2020/04/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2020/04/30 | 2194152 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2020/05/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2020/05/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2020/05/01 | 2190540 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2020/04/15 | 58761 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2020/03/20 | 41736 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2020/03/04 | 14970 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -269751,7 +269786,7 @@ 2020/02/04 | 281488 | systems/win32/miktex/tm/packages/filehook.tar.lzma 2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma 2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma -2020/04/30 | 531674 | systems/win32/miktex/tm/packages/files.csv.lzma +2020/05/01 | 531674 | systems/win32/miktex/tm/packages/files.csv.lzma 2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma 2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma 2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma @@ -270892,9 +270927,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2020/04/19 | 39206 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2020/04/19 | 42920 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2020/04/30 | 198820 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2020/04/30 | 1189787 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2020/04/30 | 1108925 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2020/05/01 | 198799 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2020/05/01 | 1189868 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2020/05/01 | 1108833 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2020/04/19 | 13027 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2020/04/19 | 14026 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma 2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma @@ -271046,183 +271081,183 @@ 2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma 2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma 2019/09/11 | 231430 | systems/win32/miktex/tm/packages/newverbs.tar.lzma -2020/04/30 | 531714 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2020/04/30 | 29318 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2020/04/30 | 33432 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2020/04/30 | 941993 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2020/04/30 | 1048379 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2020/04/30 | 28563 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2020/04/30 | 30777 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2020/04/30 | 29333 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2020/04/30 | 34893 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2020/04/30 | 49778 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2020/04/30 | 57245 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2020/04/30 | 84673 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2020/04/30 | 94361 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2020/04/30 | 63007 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2020/04/30 | 70760 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2020/04/30 | 26648 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2020/04/30 | 30231 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2020/04/30 | 328718 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2020/04/30 | 391545 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2020/04/30 | 32361 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2020/04/30 | 36441 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2020/04/30 | 49329 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2020/04/30 | 53987 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2020/04/30 | 203046 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2020/04/30 | 222828 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2020/04/30 | 169320 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2020/04/30 | 184184 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2020/04/30 | 52143 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2020/04/30 | 58841 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2020/04/30 | 20748 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2020/04/30 | 22988 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2020/04/30 | 461129 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma -2020/04/30 | 41145 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2020/04/30 | 45857 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2020/04/30 | 272880 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2020/04/30 | 310426 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2020/04/30 | 40748 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2020/04/30 | 45006 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2020/04/30 | 115870 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2020/04/30 | 130557 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2020/04/30 | 1255691 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2020/04/30 | 1393302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2020/04/30 | 95188 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2020/04/30 | 110185 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2020/04/30 | 43438 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2020/04/30 | 47970 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2020/04/30 | 45602 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2020/04/30 | 50526 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2020/04/30 | 56646 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2020/04/30 | 61672 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2020/04/30 | 133161 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2020/04/30 | 152025 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2020/04/30 | 69793 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2020/04/30 | 72765 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2020/04/30 | 68850 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma -2020/04/30 | 77447 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2020/04/30 | 246463 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma -2020/04/30 | 281656 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2020/04/30 | 25423 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2020/04/30 | 28778 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2020/04/30 | 100614 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2020/04/30 | 116426 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2020/04/30 | 63291 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2020/04/30 | 72537 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2020/04/30 | 94254 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2020/04/30 | 111080 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2020/04/30 | 57804 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2020/04/30 | 64459 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2020/04/30 | 457890 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2020/04/30 | 545004 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2020/04/30 | 137100 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2020/04/30 | 150030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2020/04/30 | 92926 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2020/04/30 | 108885 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2020/04/30 | 15955 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2020/04/30 | 17736 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2020/04/30 | 27840 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2020/04/30 | 29735 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2020/04/30 | 615708 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2020/04/30 | 669806 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2020/04/30 | 498652 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2020/04/30 | 560788 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2020/04/30 | 539769 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma -2020/04/30 | 576470 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2020/04/30 | 93534 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2020/04/30 | 102475 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2020/04/30 | 1698896 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2020/04/30 | 1983879 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2020/04/30 | 67253 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2020/04/30 | 73584 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2020/04/30 | 26935 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2020/04/30 | 31352 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2020/04/30 | 7503 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2020/04/30 | 8472 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2020/04/30 | 167862 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2020/04/30 | 182844 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2020/04/30 | 247854 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2020/04/30 | 281389 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2020/04/30 | 87333 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2020/04/30 | 92021 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2020/04/30 | 77884 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2020/04/30 | 86682 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma -2020/04/30 | 164810 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2020/04/30 | 184652 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2020/04/30 | 148344 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2020/04/30 | 167945 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2020/04/30 | 194976 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2020/04/30 | 177698 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2020/04/30 | 81389 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma -2020/04/30 | 92744 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2020/04/30 | 30988 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2020/04/30 | 34818 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2020/04/30 | 55658 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2020/04/30 | 62800 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2020/04/30 | 42173 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2020/04/30 | 45903 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2020/04/30 | 45664 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2020/04/30 | 52109 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2020/04/30 | 354654 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma -2020/04/30 | 387640 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma -2020/04/30 | 321984 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2020/04/30 | 356404 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2020/04/30 | 186882 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2020/04/30 | 193702 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2020/04/30 | 207033 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2020/04/30 | 243094 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2020/04/30 | 77985 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2020/04/30 | 87138 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2020/04/30 | 932671 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2020/04/30 | 1042544 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2020/04/30 | 19891 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2020/04/30 | 23502 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2020/04/30 | 31156 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2020/04/30 | 36614 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2020/04/30 | 63267 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2020/04/30 | 71673 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2020/04/30 | 42639 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2020/04/30 | 50896 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2020/04/30 | 1123776 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2020/04/30 | 1255976 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2020/04/30 | 41928 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2020/04/30 | 50950 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2020/04/30 | 53375 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma -2020/04/30 | 59494 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma -2020/04/30 | 26809 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2020/04/30 | 29143 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2020/04/30 | 16115 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2020/04/30 | 17826 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2020/04/30 | 63315 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma -2020/04/30 | 69228 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2020/04/30 | 147402 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2020/04/30 | 160739 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2020/04/30 | 74686 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2020/04/30 | 84613 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2020/04/30 | 91291 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2020/04/30 | 96299 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2020/04/30 | 2555295 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2020/04/30 | 2684810 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2020/04/30 | 54842 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2020/04/30 | 61217 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2020/04/30 | 26515 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2020/04/30 | 32345 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2020/04/30 | 61637 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2020/04/30 | 65200 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2020/04/30 | 247465 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2020/04/30 | 277094 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2020/04/30 | 575629 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2020/04/30 | 612250 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2020/04/30 | 38800 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2020/04/30 | 42922 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2020/04/30 | 198837 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2020/04/30 | 1189754 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2020/04/30 | 1108566 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2020/04/30 | 13053 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2020/04/30 | 14039 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2020/05/01 | 531714 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2020/05/01 | 29317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2020/05/01 | 33430 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2020/05/01 | 941992 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2020/05/01 | 1048377 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2020/05/01 | 28564 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2020/05/01 | 30777 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2020/05/01 | 29333 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2020/05/01 | 34893 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2020/05/01 | 49777 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2020/05/01 | 57243 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2020/05/01 | 84669 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2020/05/01 | 94359 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2020/05/01 | 63009 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2020/05/01 | 70759 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2020/05/01 | 26649 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2020/05/01 | 30230 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2020/05/01 | 328719 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2020/05/01 | 391544 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2020/05/01 | 32362 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2020/05/01 | 36440 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2020/05/01 | 49331 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2020/05/01 | 53989 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2020/05/01 | 203048 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2020/05/01 | 222826 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2020/05/01 | 169322 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2020/05/01 | 184184 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2020/05/01 | 52143 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2020/05/01 | 58839 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2020/05/01 | 20748 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2020/05/01 | 22987 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2020/05/01 | 461130 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma +2020/05/01 | 41146 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2020/05/01 | 45856 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2020/05/01 | 272880 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2020/05/01 | 310426 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2020/05/01 | 40749 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2020/05/01 | 45004 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2020/05/01 | 115870 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2020/05/01 | 130557 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2020/05/01 | 1255692 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2020/05/01 | 1393302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2020/05/01 | 95189 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2020/05/01 | 110184 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2020/05/01 | 43440 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2020/05/01 | 47972 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2020/05/01 | 45603 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2020/05/01 | 50525 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2020/05/01 | 56646 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2020/05/01 | 61671 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2020/05/01 | 133160 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2020/05/01 | 152024 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2020/05/01 | 69794 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2020/05/01 | 72763 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2020/05/01 | 68852 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2020/05/01 | 77446 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2020/05/01 | 246464 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2020/05/01 | 281655 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2020/05/01 | 25425 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2020/05/01 | 28775 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2020/05/01 | 100615 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2020/05/01 | 116425 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2020/05/01 | 63292 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2020/05/01 | 72537 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2020/05/01 | 94254 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2020/05/01 | 111079 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2020/05/01 | 57804 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2020/05/01 | 64459 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2020/05/01 | 457890 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2020/05/01 | 545005 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2020/05/01 | 137098 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2020/05/01 | 150030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2020/05/01 | 92926 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2020/05/01 | 108886 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2020/05/01 | 15955 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2020/05/01 | 17736 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2020/05/01 | 27840 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2020/05/01 | 29734 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2020/05/01 | 615707 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2020/05/01 | 669806 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2020/05/01 | 498652 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2020/05/01 | 560788 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2020/05/01 | 539767 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2020/05/01 | 576472 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2020/05/01 | 93532 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2020/05/01 | 102472 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2020/05/01 | 1698894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2020/05/01 | 1983877 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2020/05/01 | 67254 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2020/05/01 | 73583 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2020/05/01 | 26935 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2020/05/01 | 31351 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2020/05/01 | 7505 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2020/05/01 | 8472 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2020/05/01 | 167862 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2020/05/01 | 182845 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2020/05/01 | 247855 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2020/05/01 | 281390 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2020/05/01 | 87333 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2020/05/01 | 92021 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2020/05/01 | 77885 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2020/05/01 | 86681 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2020/05/01 | 164810 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2020/05/01 | 184653 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2020/05/01 | 148344 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2020/05/01 | 167945 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2020/05/01 | 194977 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2020/05/01 | 177698 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2020/05/01 | 81388 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2020/05/01 | 92745 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2020/05/01 | 30988 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2020/05/01 | 34818 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2020/05/01 | 55658 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2020/05/01 | 62799 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2020/05/01 | 42174 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2020/05/01 | 45903 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2020/05/01 | 45665 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2020/05/01 | 52108 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2020/05/01 | 354654 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma +2020/05/01 | 387641 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma +2020/05/01 | 321987 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2020/05/01 | 356404 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2020/05/01 | 186881 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2020/05/01 | 193700 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2020/05/01 | 207034 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2020/05/01 | 243093 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2020/05/01 | 77983 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2020/05/01 | 87137 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2020/05/01 | 932670 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2020/05/01 | 1042546 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2020/05/01 | 19892 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2020/05/01 | 23501 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2020/05/01 | 31155 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2020/05/01 | 36614 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2020/05/01 | 63267 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2020/05/01 | 71672 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2020/05/01 | 42639 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2020/05/01 | 50895 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2020/05/01 | 1123775 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2020/05/01 | 1255977 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2020/05/01 | 41928 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2020/05/01 | 50949 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2020/05/01 | 53376 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma +2020/05/01 | 59494 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma +2020/05/01 | 26809 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2020/05/01 | 29141 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2020/05/01 | 16116 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2020/05/01 | 17826 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2020/05/01 | 63315 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2020/05/01 | 69228 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2020/05/01 | 147403 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2020/05/01 | 160737 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2020/05/01 | 74687 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2020/05/01 | 84612 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2020/05/01 | 91292 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2020/05/01 | 96298 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2020/05/01 | 2555294 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2020/05/01 | 2684809 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2020/05/01 | 54843 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2020/05/01 | 61217 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2020/05/01 | 26516 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2020/05/01 | 32345 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2020/05/01 | 61637 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2020/05/01 | 65198 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2020/05/01 | 247466 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2020/05/01 | 277093 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2020/05/01 | 575628 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2020/05/01 | 612248 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2020/05/01 | 38798 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2020/05/01 | 42922 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2020/05/01 | 198859 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2020/05/01 | 1189752 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2020/05/01 | 1109313 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2020/05/01 | 13052 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2020/05/01 | 14036 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma -2020/04/30 | 652 | systems/win32/miktex/tm/packages/next/pr.ini +2020/05/01 | 652 | systems/win32/miktex/tm/packages/next/pr.ini 2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma 2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma 2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma @@ -271538,7 +271573,7 @@ 2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma 2017/07/26 | 201385 | systems/win32/miktex/tm/packages/preview.tar.lzma 2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma -2020/04/30 | 411 | systems/win32/miktex/tm/packages/pr.ini +2020/05/01 | 411 | systems/win32/miktex/tm/packages/pr.ini 2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma 2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma 2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma @@ -272670,10 +272705,10 @@ 2010/01/14 | 955365 | systems/win32/visualtex/vx-setup-399.exe 2019/08/12 | 14654 | systems/win32/w32tex/00FILES.euc 2019/08/12 | 14654 | systems/win32/w32tex/00FILES.sjis -2020/04/28 | 4933316 | systems/win32/w32tex/aleph-w32.tar.xz +2020/04/29 | 4920304 | systems/win32/w32tex/aleph-w32.tar.xz 2020/04/27 | 66174732 | systems/win32/w32tex/biblatex-biber.tar.xz 2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz -2020/04/28 | 636581 | systems/win32/w32tex/ChangeLog +2020/04/30 | 638356 | systems/win32/w32tex/ChangeLog 2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0 2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1 2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2 @@ -272681,31 +272716,31 @@ 2017/06/24 | 644754 | systems/win32/w32tex/ChangeLog.4 2020/04/27 | 22433136 | systems/win32/w32tex/cjkzr.tar.xz 2013/04/27 | 15858676 | systems/win32/w32tex/context-doc.tar.xz -2020/04/28 | 139818672 | systems/win32/w32tex/context.tar.xz -2020/04/28 | 902780 | systems/win32/w32tex/cweb-w32.tar.xz +2020/04/30 | 139831708 | systems/win32/w32tex/context.tar.xz +2020/04/29 | 902804 | systems/win32/w32tex/cweb-w32.tar.xz 2020/03/02 | 6281164 | systems/win32/w32tex/datetime2.tar.xz 2020/04/28 | 838668 | systems/win32/w32tex/dvi2ps-w32.tar.xz 2020/04/28 | 483852 | systems/win32/w32tex/dvi2tty-w32.tar.xz 2020/04/28 | 4653112 | systems/win32/w32tex/dvipdfm-w32.tar.xz 2020/04/28 | 4555740 | systems/win32/w32tex/dvipsk-w32.tar.xz 2020/04/28 | 2634144 | systems/win32/w32tex/dvitools-w32.tar.xz -2020/03/29 | 1176216 | systems/win32/w32tex/extractpdfmark-w32.tar.xz +2020/04/29 | 1174456 | systems/win32/w32tex/extractpdfmark-w32.tar.xz 2020/04/28 | 17345708 | systems/win32/w32tex/gregorio-w32.tar.xz 2009/08/03 | 1072620 | systems/win32/w32tex/gtftex.zip -2020/04/28 | 1833312 | systems/win32/w32tex/jtex-w32.tar.xz -2020/04/22 | 41460896 | systems/win32/w32tex/latex-dev.tar.xz +2020/04/29 | 1833452 | systems/win32/w32tex/jtex-w32.tar.xz +2020/04/29 | 41437540 | systems/win32/w32tex/latex-dev.tar.xz 2020/04/03 | 29248268 | systems/win32/w32tex/latex.tar.xz 2020/04/28 | 996756 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz 2020/04/05 | 393872496 | systems/win32/w32tex/ltxpkgdocs.tar.xz -2020/04/28 | 34520780 | systems/win32/w32tex/ltxpkgs.tar.xz -2020/04/28 | 3848936 | systems/win32/w32tex/luajittex-dev-w32.tar.xz -2020/04/28 | 3837072 | systems/win32/w32tex/luajittex-exp-w32.tar.xz -2020/04/28 | 3846764 | systems/win32/w32tex/luajittex-w32.tar.xz -2020/04/28 | 17955192 | systems/win32/w32tex/luatex-dev-w32.tar.xz -2020/04/28 | 17957136 | systems/win32/w32tex/luatex-exp-w32.tar.xz +2020/04/30 | 34536388 | systems/win32/w32tex/ltxpkgs.tar.xz +2020/04/29 | 3867708 | systems/win32/w32tex/luajittex-dev-w32.tar.xz +2020/04/29 | 3855344 | systems/win32/w32tex/luajittex-exp-w32.tar.xz +2020/04/29 | 3863904 | systems/win32/w32tex/luajittex-w32.tar.xz +2020/04/29 | 18131976 | systems/win32/w32tex/luatex-dev-w32.tar.xz +2020/04/29 | 17919508 | systems/win32/w32tex/luatex-exp-w32.tar.xz 2020/04/19 | 69190432 | systems/win32/w32tex/luatexja.tar.xz -2020/04/28 | 17947624 | systems/win32/w32tex/luatex-w32.tar.xz -2020/04/28 | 1600068 | systems/win32/w32tex/makeindex-w32.tar.xz +2020/04/29 | 18124320 | systems/win32/w32tex/luatex-w32.tar.xz +2020/04/30 | 1663428 | systems/win32/w32tex/makeindex-w32.tar.xz 2015/05/26 | 1542676 | systems/win32/w32tex/manual.tar.xz 2020/04/28 | 439176 | systems/win32/w32tex/mftools.tar.xz 2020/04/28 | 524672 | systems/win32/w32tex/mftrace-w32.tar.xz @@ -272714,16 +272749,16 @@ 2020/03/04 | 9335848 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz 2020/04/28 | 1228212 | systems/win32/w32tex/omegaj-w32.tar.xz 2020/03/01 | 355876 | systems/win32/w32tex/otfbeta.tar.xz -2020/04/28 | 20648312 | systems/win32/w32tex/pdftex-w32.tar.xz -2020/04/28 | 80601424 | systems/win32/w32tex/pgfcontrib.tar.xz +2020/04/29 | 20690360 | systems/win32/w32tex/pdftex-w32.tar.xz +2020/04/30 | 80601316 | systems/win32/w32tex/pgfcontrib.tar.xz 2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz 2020/04/13 | 2820836 | systems/win32/w32tex/platex.tar.xz 2020/03/20 | 1598792 | systems/win32/w32tex/pmx.tar.xz 2020/04/28 | 1169216 | systems/win32/w32tex/pstoedit-w32.tar.xz 2020/04/19 | 274457068 | systems/win32/w32tex/pstricks.tar.xz 2020/04/28 | 517756 | systems/win32/w32tex/psutils-w32.tar.xz -2020/04/28 | 6452984 | systems/win32/w32tex/ptex-ng-w32.tar.xz -2020/04/28 | 10478744 | systems/win32/w32tex/ptex-w32.tar.xz +2020/04/29 | 6444432 | systems/win32/w32tex/ptex-ng-w32.tar.xz +2020/04/29 | 10471004 | systems/win32/w32tex/ptex-w32.tar.xz 2020/04/10 | 1784316 | systems/win32/w32tex/qpdf-w32.tar.xz 2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz 2020/01/24 | 24929772 | systems/win32/w32tex/t1fonts.tar.xz @@ -272743,22 +272778,22 @@ 2020/01/19 | 5856 | systems/win32/w32tex/txtutil.tar.xz 2013/04/08 | 71588 | systems/win32/w32tex/ums.tar.xz 2012/05/28 | 233472 | systems/win32/w32tex/unzip.exe -2020/04/28 | 8490092 | systems/win32/w32tex/uptex-w32.tar.xz +2020/04/29 | 8478684 | systems/win32/w32tex/uptex-w32.tar.xz 2013/04/08 | 722652 | systems/win32/w32tex/utf.tar.xz 2013/04/08 | 13748 | systems/win32/w32tex/vf-n2bk.tar.xz 2020/03/27 | 38319492 | systems/win32/w32tex/w32tex-src.tar.xz -2020/04/23 | 99146780 | systems/win32/w32tex/web2c-lib.tar.xz -2020/04/28 | 43894756 | systems/win32/w32tex/web2c-w32.tar.xz +2020/04/29 | 99151804 | systems/win32/w32tex/web2c-lib.tar.xz +2020/04/29 | 44047852 | systems/win32/w32tex/web2c-w32.tar.xz 2020/04/28 | 810820 | systems/win32/w32tex/win64/aleph-w64.tar.xz 2019/12/09 | 22317480 | systems/win32/w32tex/win64/biblatex-biber-w64.tar.xz -2020/04/28 | 2116608 | systems/win32/w32tex/win64/context-w64.tar.xz -2020/04/28 | 82764 | systems/win32/w32tex/win64/cweb-w64.tar.xz +2020/04/29 | 2120000 | systems/win32/w32tex/win64/context-w64.tar.xz +2020/04/29 | 82748 | systems/win32/w32tex/win64/cweb-w64.tar.xz 2020/04/28 | 750088 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz 2020/04/28 | 447484 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz 2020/04/28 | 796972 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz 2020/04/28 | 759516 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz 2020/04/28 | 2339012 | systems/win32/w32tex/win64/dvitools-w64.tar.xz -2020/03/29 | 1078840 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz +2020/04/29 | 1079552 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz 2020/04/28 | 304800 | systems/win32/w32tex/win64/gregorio-w64.tar.xz 2020/04/28 | 587640 | systems/win32/w32tex/win64/jtex-w64.tar.xz 2019/11/11 | 2568 | systems/win32/w32tex/win64/latex-dev-w64.tar.xz @@ -272769,12 +272804,12 @@ 2020/04/28 | 3116240 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz 2020/04/28 | 3123760 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz 2020/04/28 | 3120292 | systems/win32/w32tex/win64/luatex-w64.tar.xz -2020/04/28 | 1070276 | systems/win32/w32tex/win64/makeindex-w64.tar.xz +2020/04/30 | 1140760 | systems/win32/w32tex/win64/makeindex-w64.tar.xz 2020/04/28 | 431044 | systems/win32/w32tex/win64/mftools-w64.tar.xz 2020/04/28 | 376324 | systems/win32/w32tex/win64/mftrace-w64.tar.xz 2020/01/18 | 362540 | systems/win32/w32tex/win64/m-tx-w64.tar.xz 2020/04/28 | 407132 | systems/win32/w32tex/win64/omegaj-w64.tar.xz -2020/04/28 | 6280968 | systems/win32/w32tex/win64/pdftex-w64.tar.xz +2020/04/29 | 6278504 | systems/win32/w32tex/win64/pdftex-w64.tar.xz 2015/01/26 | 41440 | systems/win32/w32tex/win64/plain2-2.54-w64.tar.xz 2020/03/20 | 557532 | systems/win32/w32tex/win64/pmx-w64.tar.xz 2020/04/28 | 790040 | systems/win32/w32tex/win64/pstoedit-w64.tar.xz @@ -272788,9 +272823,9 @@ 2020/04/28 | 687688 | systems/win32/w32tex/win64/ttf2pt1-w64.tar.xz 2020/01/18 | 42768 | systems/win32/w32tex/win64/txtutil-w64.tar.xz 2020/04/28 | 1806968 | systems/win32/w32tex/win64/uptex-w64.tar.xz -2020/04/28 | 3388432 | systems/win32/w32tex/win64/web2c-w64.tar.xz -2020/04/28 | 10876356 | systems/win32/w32tex/win64/xetex-w64.tar.xz -2020/04/28 | 49713320 | systems/win32/w32tex/xetex-w32.tar.xz +2020/04/29 | 3387816 | systems/win32/w32tex/win64/web2c-w64.tar.xz +2020/04/30 | 10946380 | systems/win32/w32tex/win64/xetex-w64.tar.xz +2020/04/30 | 49774400 | systems/win32/w32tex/xetex-w32.tar.xz 2019/10/03 | 2936880 | systems/win32/w32tex/xindy-w32.tar.xz 2013/11/19 | 11356248 | systems/win32/w32tex/xymtex.tar.xz 2016/09/09 | 4334636 | systems/win32/w32tex/xypic.tar.xz @@ -272887,7 +272922,7 @@ 2004/06/04 | 404 | tds/tds.sed 2004/06/23 | 65418 | tds/tds.tex 2019/05/29 | 304264 | tds.zip -2020/05/01 | 186 | timestamp +2020/05/02 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex 238b9ac058..12eb410460 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index 1903a4985d..f4f6961a00 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,249 +1,792 @@ +2020/05/01 | 999 | graphics/circuit_macros/examples/Fuses.m4 +2020/05/01 | 999 | graphics/circuit_macros/doc/FusesMan.m4 +2020/05/01 | 9954 | graphics/circuit_macros/examples/svg/FlowSVG.m4 +2020/05/01 | 991 | graphics/circuit_macros/examples/Byte.m4 +2020/05/01 | 9902 | graphics/circuit_macros/svg.m4 +2020/05/01 | 988 | graphics/circuit_macros/examples/svg/VariableSVG.m4 +2020/05/01 | 9861 | graphics/circuit_macros/examples/ics.m4 +2020/05/01 | 9840 | graphics/circuit_macros/examples/tubedefs.m4 +2020/05/01 | 980 | graphics/circuit_macros/examples/Emarrows.m4 +2020/05/01 | 980 | graphics/circuit_macros/doc/EmarrowsMan.m4 +2020/05/01 | 970 | graphics/circuit_macros/examples/svg/ex15SVG.m4 +2020/05/01 | 96298 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2020/05/01 | 960 | graphics/circuit_macros/doc/Flowdiag.m4 +2020/05/01 | 959 | graphics/circuit_macros/examples/svg/FusesSVG.m4 +2020/05/01 | 952 | systems/texlive/tlnet/archive/biblatex-software.source.r54950.tar.xz +2020/05/01 | 95189 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2020/05/01 | 947 | graphics/circuit_macros/examples/svg/QuantumSVG.m4 +2020/05/01 | 947 | graphics/circuit_macros/examples/squiggle.m4 +2020/05/01 | 94474 | graphics/circuit_macros/examples/mf/cct.mf +2020/05/01 | 94359 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2020/05/01 | 9425 | graphics/circuit_macros/doc/ShiftR.tex +2020/05/01 | 94254 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2020/05/01 | 941992 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2020/05/01 | 937 | graphics/circuit_macros/examples/svg/ByteSVG.m4 +2020/05/01 | 936344 | install/macros/latex/contrib/xcjk2uni.tds.zip +2020/05/01 | 93532 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2020/05/01 | 933 | graphics/circuit_macros/examples/svg/ex01SVG.m4 +2020/05/01 | 932670 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2020/05/01 | 92926 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2020/05/01 | 9276 | graphics/circuit_macros/examples/svg/icsSVG.m4 +2020/05/01 | 92745 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2020/05/01 | 926 | graphics/circuit_macros/examples/Variable.m4 +2020/05/01 | 926 | graphics/circuit_macros/doc/VariableMan.m4 +2020/05/01 | 92021 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2020/05/01 | 9198 | graphics/circuit_macros/examples/svg/tstSVG.htmx +2020/05/01 | 918 | graphics/circuit_macros/examples/Quantum.m4 +2020/05/01 | 91744 | macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf +2020/05/01 | 91292 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2020/05/01 | 90703 | macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf +2020/05/01 | 905 | graphics/circuit_macros/examples/birds.m4 +2020/05/01 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png +2020/05/01 | 8955 | graphics/circuit_macros/examples/Chuck.m4 +2020/05/01 | 893788 | graphics/circuit_macros/examples/examples.pdf +2020/05/01 | 8868938 | install/language/japanese/jlreq.tds.zip +2020/05/01 | 8815 | graphics/circuit_macros/examples/Makefile +2020/05/01 | 87333 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2020/05/01 | 87137 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2020/05/01 | 86681 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2020/05/01 | 865 | graphics/circuit_macros/examples/ex18.m4 +2020/05/01 | 862 | graphics/circuit_macros/examples/svg/pwrsupplySVG.m4 +2020/05/01 | 859 | macros/xetex/latex/xepersian-hm/README.txt +2020/05/01 | 855 | graphics/circuit_macros/examples/svg/ex03SVG.m4 +2020/05/01 | 8504 | systems/texlive/tlnet/archive/context-vim.r54949.tar.xz +2020/05/01 | 8472 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2020/05/01 | 84669 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2020/05/01 | 84612 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2020/05/01 | 839 | graphics/circuit_macros/examples/svg/quickSVG.m4 +2020/05/01 | 8372 | graphics/circuit_macros/examples/exp.m4 +2020/05/01 | 835 | graphics/circuit_macros/doc/Opto.m4 +2020/05/01 | 815 | graphics/circuit_macros/examples/Grounds.m4 +2020/05/01 | 815 | graphics/circuit_macros/doc/GroundsMan.m4 +2020/05/01 | 81388 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2020/05/01 | 812132 | systems/texlive/tlnet/archive/dynkin-diagrams.doc.r54948.tar.xz +2020/05/01 | 810 | graphics/circuit_macros/examples/svg/GroundsSVG.m4 +2020/05/01 | 806 | graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro +2020/05/01 | 801 | graphics/circuit_macros/doc/Potentiometers.m4 +2020/05/01 | 793 | graphics/circuit_macros/examples/svg/CountingSVG.m4 +2020/05/01 | 78720 | graphics/circuit_macros/libgen.m4 +2020/05/01 | 782 | graphics/circuit_macros/doc/Oblique.m4 +2020/05/01 | 7812 | systems/texlive/tlnet/archive/context-vim.doc.r54949.tar.xz +2020/05/01 | 77983 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2020/05/01 | 77979 | graphics/circuit_macros/doc/defines.tex +2020/05/01 | 77885 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2020/05/01 | 777 | graphics/circuit_macros/examples/Arrester.m4 +2020/05/01 | 776 | graphics/circuit_macros/examples/mf/cct.tfm +2020/05/01 | 774 | graphics/circuit_macros/examples/quick.m4 +2020/05/01 | 774 | graphics/circuit_macros/doc/quick.m4 +2020/05/01 | 77446 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2020/05/01 | 7677 | language/japanese/jlreq/jlreq-trimmarks-ja.md +2020/05/01 | 7546 | graphics/circuit_macros/examples/svg/RectifiersSVG.m4 +2020/05/01 | 7533 | graphics/circuit_macros/doc/Logic.tex +2020/05/01 | 7529 | graphics/circuit_macros/examples/shapes.m4 +2020/05/01 | 7526 | graphics/circuit_macros/examples/svg/shapesSVG.m4 +2020/05/01 | 7505 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2020/05/01 | 7503 | graphics/circuit_macros/doc/Headers.tex +2020/05/01 | 748 | graphics/circuit_macros/examples/svg/Np.m4 +2020/05/01 | 74687 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2020/05/01 | 745 | graphics/circuit_macros/examples/svg/DecoderSVG.m4 +2020/05/01 | 741 | graphics/circuit_macros/examples/Incleps.m4 +2020/05/01 | 7418 | graphics/circuit_macros/examples/svg/CsourceSVG.m4 +2020/05/01 | 740 | graphics/circuit_macros/examples/SampleFlow.m4 +2020/05/01 | 73583 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2020/05/01 | 7316 | graphics/circuit_macros/doc/Relay.tex +2020/05/01 | 72763 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2020/05/01 | 726 | graphics/circuit_macros/examples/svg/ConnectorsSVG.m4 +2020/05/01 | 72537 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2020/05/01 | 7203 | graphics/circuit_macros/examples/svg/lcctSVG.m4 +2020/05/01 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps +2020/05/01 | 71672 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2020/05/01 | 715 | graphics/circuit_macros/examples/psfrag/examplespsfrag.tex +2020/05/01 | 7113 | graphics/circuit_macros/examples/lcct.m4 +2020/05/01 | 709 | graphics/circuit_macros/examples/Inclpdf.m4 +2020/05/01 | 70759 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2020/05/01 | 706 | graphics/circuit_macros/psfrag.m4 +2020/05/01 | 70573 | macros/latex/contrib/hep-paper/hep-paper.dtx +2020/05/01 | 703 | graphics/circuit_macros/examples/mpost/README-mpost +2020/05/01 | 7006 | graphics/circuit_macros/examples/Rectifiers.m4 +2020/05/01 | 697 | graphics/circuit_macros/examples/ex01.m4 +2020/05/01 | 69794 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2020/05/01 | 69228 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2020/05/01 | 68852 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2020/05/01 | 685 | graphics/circuit_macros/examples/mpost/mptest +2020/05/01 | 6854 | graphics/circuit_macros/examples/svg/DiniSVG.m4 +2020/05/01 | 6854 | graphics/circuit_macros/examples/Dini.m4 +2020/05/01 | 6845 | macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx +2020/05/01 | 682 | graphics/circuit_macros/examples/svg/ujtSVG.m4 +2020/05/01 | 674 | graphics/circuit_macros/examples/Connectors.m4 +2020/05/01 | 673 | graphics/circuit_macros/examples/ex03.m4 +2020/05/01 | 67254 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2020/05/01 | 669806 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2020/05/01 | 660 | graphics/circuit_macros/examples/ujt.m4 +2020/05/01 | 660 | graphics/circuit_macros/doc/ujtMan.m4 +2020/05/01 | 656 | graphics/circuit_macros/examples/Zcos.m4 +2020/05/01 | 655 | graphics/circuit_macros/examples/Decoder.m4 +2020/05/01 | 6550 | graphics/circuit_macros/doc/Conn.tex +2020/05/01 | 654 | graphics/circuit_macros/examples/diamond.m4 +2020/05/01 | 652 | systems/win32/miktex/tm/packages/next/pr.ini +2020/05/01 | 65198 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2020/05/01 | 645 | graphics/circuit_macros/examples/Floor.m4 +2020/05/01 | 64459 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2020/05/01 | 6413 | graphics/circuit_macros/examples/svg/CanLogicSVG.m4 +2020/05/01 | 63 | graphics/circuit_macros/examples/svg/local_init.m4 +2020/05/01 | 6378 | language/japanese/jlreq/jlreq-trimmarks.md +2020/05/01 | 6371 | graphics/circuit_macros/examples/CanLogic.m4 +2020/05/01 | 63315 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2020/05/01 | 63292 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2020/05/01 | 63267 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2020/05/01 | 63009 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2020/05/01 | 62951 | macros/latex/contrib/zhnumber/zhnumber.dtx +2020/05/01 | 62799 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2020/05/01 | 6216 | graphics/circuit_macros/examples/svg/LgateSVG.m4 +2020/05/01 | 6183 | language/chinese/ctex/zhconv.lua +2020/05/01 | 61671 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2020/05/01 | 61637 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2020/05/01 | 615707 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2020/05/01 | 614 | graphics/circuit_macros/doc/BigResistor.m4 +2020/05/01 | 613 | graphics/circuit_macros/examples/tst.tex +2020/05/01 | 612248 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2020/05/01 | 61217 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2020/05/01 | 609 | graphics/circuit_macros/examples/svg/diamondSVG.m4 +2020/05/01 | 6067 | graphics/circuit_macros/doc/Contacts.tex +2020/05/01 | 6003 | graphics/circuit_macros/examples/CSlight.m4 +2020/05/01 | 599 | graphics/pstricks/contrib/pst-ovl/Changes +2020/05/01 | 5996 | language/chinese/ctex/README.md +2020/05/01 | 5969 | graphics/circuit_macros/examples/xfig/xfiglib.m4 +2020/05/01 | 59494 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma +2020/05/01 | 591 | graphics/circuit_macros/examples/test.m4 +2020/05/01 | 5890 | graphics/circuit_macros/examples/Csource.m4 +2020/05/01 | 58839 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2020/05/01 | 57804 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2020/05/01 | 577768 | language/japanese/jlreq.zip +2020/05/01 | 576472 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2020/05/01 | 575 | graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty +2020/05/01 | 575628 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2020/05/01 | 57243 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2020/05/01 | 572150 | install/macros/latex/contrib/xpinyin.tds.zip +2020/05/01 | 56646 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2020/05/01 | 560788 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2020/05/01 | 55658 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2020/05/01 | 5552 | graphics/circuit_macros/examples/FlowchartDefs.m4 +2020/05/01 | 5545 | graphics/circuit_macros/doc/Bip.tex +2020/05/01 | 55345 | macros/xetex/latex/xepersian-hm/xepersian-hm.pdf +2020/05/01 | 5521 | graphics/circuit_macros/examples/svg/graysurfSVG.m4 +2020/05/01 | 551 | graphics/circuit_macros/examples/Counting.m4 +2020/05/01 | 550763 | macros/latex/contrib/hep-paper.zip +2020/05/01 | 5502 | graphics/circuit_macros/doc/Emarrows.tex +2020/05/01 | 5502663 | systems/texlive/tlnet/install-tl-unx.tar.gz +2020/05/01 | 54843 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2020/05/01 | 5478 | graphics/circuit_macros/examples/graysurf.m4 +2020/05/01 | 545 | graphics/circuit_macros/examples/svg/RotboxSVG.m4 +2020/05/01 | 545005 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2020/05/01 | 53989 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2020/05/01 | 539767 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2020/05/01 | 5392 | macros/latex/contrib/univie-ling/README +2020/05/01 | 538 | graphics/circuit_macros/examples/svg/FontsSVG.m4 +2020/05/01 | 538 | graphics/circuit_macros/examples/svg/AmpTableSVG.m4 +2020/05/01 | 535 | graphics/circuit_macros/doc/Tline.m4 +2020/05/01 | 53376 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma +2020/05/01 | 532 | graphics/circuit_macros/examples/svg/NLGSVG.m4 +2020/05/01 | 531714 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2020/05/01 | 531674 | systems/win32/miktex/tm/packages/files.csv.lzma +2020/05/01 | 525662 | macros/latex/contrib/hep-paper/hep-paper.pdf +2020/05/01 | 52143 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2020/05/01 | 52108 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2020/05/01 | 518 | graphics/circuit_macros/examples/Rotbox.m4 +2020/05/01 | 5137 | graphics/circuit_macros/doc/NPDT.tex +2020/05/01 | 50 | graphics/circuit_macros/doc/bitr.m4 +2020/05/01 | 50949 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2020/05/01 | 509475 | macros/xetex/latex/xecjk/xeCJK.dtx +2020/05/01 | 50895 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2020/05/01 | 50525 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2020/05/01 | 5044 | graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 +2020/05/01 | 5042 | graphics/circuit_macros/examples/AntiqueClock.m4 +2020/05/01 | 499 | graphics/circuit_macros/examples/NLG.m4 +2020/05/01 | 499 | graphics/circuit_macros/doc/NLGMan.m4 +2020/05/01 | 4998 | language/japanese/jlreq/README.md +2020/05/01 | 498652 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2020/05/01 | 49777 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2020/05/01 | 4964 | graphics/circuit_macros/doc/Multiplexer.tex +2020/05/01 | 494 | graphics/circuit_macros/examples/AmpTable.m4 +2020/05/01 | 494 | graphics/circuit_macros/doc/AmpTableMan.m4 +2020/05/01 | 49331 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2020/05/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2020/05/01 | 48 | graphics/circuit_macros/doc/oax.m4 +2020/05/01 | 489 | graphics/circuit_macros/examples/Koch.m4 +2020/05/01 | 483 | graphics/circuit_macros/doc/eboxdims.m4 +2020/05/01 | 482 | graphics/circuit_macros/examples/clock.m4 +2020/05/01 | 4817 | graphics/circuit_macros/doc/Demultiplexer.tex +2020/05/01 | 47972 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2020/05/01 | 4789 | graphics/circuit_macros/doc/Fuses.tex +2020/05/01 | 47768 | graphics/circuit_macros/liblog.m4 +2020/05/01 | 4751 | graphics/circuit_macros/examples/Shaky.m4 +2020/05/01 | 4670 | graphics/circuit_macros/examples/psfrag/Makefile +2020/05/01 | 4666 | graphics/circuit_macros/doc/Nport.tex +2020/05/01 | 4638 | graphics/circuit_macros/examples/Ball.m4 +2020/05/01 | 462 | graphics/circuit_macros/Copying +2020/05/01 | 4624 | graphics/circuit_macros/examples/svg/roseSVG.m4 +2020/05/01 | 4615 | graphics/circuit_macros/examples/mf/font.m4 +2020/05/01 | 461130 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma +2020/05/01 | 460 | graphics/circuit_macros/examples/debug1.tex +2020/05/01 | 46065 | macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf +2020/05/01 | 45903 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2020/05/01 | 45856 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2020/05/01 | 4582 | graphics/circuit_macros/examples/svg/Makefile +2020/05/01 | 457890 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2020/05/01 | 4569 | graphics/circuit_macros/examples/rose.m4 +2020/05/01 | 45665 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2020/05/01 | 45603 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2020/05/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2020/05/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2020/05/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2020/05/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2020/05/01 | 45323 | graphics/circuit_macros/examples/Incl.eps.gz +2020/05/01 | 45004 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2020/05/01 | 449 | graphics/circuit_macros/doc/woodchips.m4 +2020/05/01 | 4489 | graphics/circuit_macros/examples/fet.m4 +2020/05/01 | 4489 | graphics/circuit_macros/doc/fetMan.m4 +2020/05/01 | 44853 | language/japanese/jlreq/jlreq-trimmarks.sty +2020/05/01 | 4483 | graphics/circuit_macros/doc/Makefile +2020/05/01 | 443458 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf +2020/05/01 | 442 | graphics/circuit_macros/examples/Wheat.m4 +2020/05/01 | 441864 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf +2020/05/01 | 438208 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf +2020/05/01 | 43440 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2020/05/01 | 4337 | graphics/circuit_macros/examples/svg/AlogixSVG.m4 +2020/05/01 | 433318 | language/chinese/ctex/ctex.dtx +2020/05/01 | 4312 | graphics/circuit_macros/examples/ex09.m4 +2020/05/01 | 4309 | graphics/circuit_macros/examples/svg/SwitchesSVG.m4 +2020/05/01 | 4305 | graphics/circuit_macros/examples/Euro.m4 +2020/05/01 | 42922 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2020/05/01 | 4288 | graphics/circuit_macros/examples/control.m4 +2020/05/01 | 42639 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2020/05/01 | 4240 | graphics/circuit_macros/examples/mpost/Makefile +2020/05/01 | 422 | graphics/circuit_macros/examples/svg/GrayCodeSVG.m4 +2020/05/01 | 421 | graphics/circuit_macros/examples/GrayCode.m4 +2020/05/01 | 421 | graphics/circuit_macros/doc/Sinus.m4 +2020/05/01 | 42174 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2020/05/01 | 4205 | graphics/circuit_macros/examples/Alogix.m4 +2020/05/01 | 419 | graphics/circuit_macros/examples/svg/SixpoleSVG.m4 +2020/05/01 | 419 | graphics/circuit_macros/examples/Sixpole.m4 +2020/05/01 | 41983 | macros/latex/contrib/xpinyin/xpinyin.dtx +2020/05/01 | 41928 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2020/05/01 | 418 | graphics/circuit_macros/examples/mpost/tstmpost.tex +2020/05/01 | 417 | graphics/circuit_macros/examples/svg/SQUIDSVG.m4 +2020/05/01 | 4178 | graphics/circuit_macros/doc/Tgate.tex +2020/05/01 | 416 | graphics/circuit_macros/examples/testpdf.tex +2020/05/01 | 411 | systems/win32/miktex/tm/packages/pr.ini +2020/05/01 | 4119 | graphics/circuit_macros/examples/svg/ex09SVG.m4 +2020/05/01 | 41146 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2020/05/01 | 41050 | language/japanese/jlreq/README-ja.md +2020/05/01 | 409 | graphics/circuit_macros/examples/mpost/examplesmpost.tex +2020/05/01 | 40749 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2020/05/01 | 4073 | graphics/circuit_macros/doc/Circuit_macros.bib +2020/05/01 | 404 | graphics/circuit_macros/doc/Series.m4 +2020/05/01 | 4003 | graphics/circuit_macros/examples/svg/InclepsSVG.m4 +2020/05/01 | 3983 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib +2020/05/01 | 39774 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf +2020/05/01 | 3973 | graphics/circuit_macros/examples/Switches.m4 +2020/05/01 | 3973 | graphics/circuit_macros/doc/SwitchesMan.m4 +2020/05/01 | 3946 | graphics/circuit_macros/INSTALL +2020/05/01 | 3919 | graphics/circuit_macros/examples/PushPull.m4 +2020/05/01 | 391544 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2020/05/01 | 3911 | graphics/circuit_macros/examples/Flow.m4 +2020/05/01 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r54943.tar.xz +2020/05/01 | 387 | graphics/circuit_macros/doc/lrarrows.m4 +2020/05/01 | 38798 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2020/05/01 | 387641 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma +2020/05/01 | 3836 | graphics/circuit_macros/examples/svg/fetSVG.m4 +2020/05/01 | 382 | graphics/circuit_macros/examples/tikz.tex +2020/05/01 | 3825 | graphics/circuit_macros/examples/svg/recycleSVG.m4 +2020/05/01 | 3825 | graphics/circuit_macros/examples/recycle.m4 +2020/05/01 | 380 | graphics/circuit_macros/examples/SQUID.m4 +2020/05/01 | 3785 | graphics/circuit_macros/examples/Mixer.m4 +2020/05/01 | 3779 | graphics/circuit_macros/examples/svg/PushPullSVG.m4 +2020/05/01 | 371 | graphics/circuit_macros/examples/psfrag/tstpsfrag.tex +2020/05/01 | 370 | graphics/pstricks/contrib/pst-ovl/README +2020/05/01 | 370 | graphics/circuit_macros/examples/snake.m4 +2020/05/01 | 369 | graphics/circuit_macros/doc/sampleIC.m4 +2020/05/01 | 3678 | macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex +2020/05/01 | 36614 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2020/05/01 | 365 | graphics/circuit_macros/examples/rotellipse.m4 +2020/05/01 | 3646 | graphics/circuit_macros/examples/svg/ContactSVG.m4 +2020/05/01 | 36440 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2020/05/01 | 3634 | macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex +2020/05/01 | 3631 | graphics/circuit_macros/examples/svg/wormSVG.m4 +2020/05/01 | 3595883 | install/macros/latex/contrib/lwarp.tds.zip +2020/05/01 | 359458 | language/japanese/jlreq/jlreq-ja.pdf +2020/05/01 | 3573 | graphics/circuit_macros/examples/svg/randomSVG.m4 +2020/05/01 | 3567 | graphics/circuit_macros/examples/svg/ButtonsSVG.m4 +2020/05/01 | 356404 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2020/05/01 | 354654 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma +2020/05/01 | 3545 | graphics/circuit_macros/examples/random.m4 +2020/05/01 | 353 | graphics/circuit_macros/examples/windows.m4 +2020/05/01 | 353 | graphics/circuit_macros/examples/svg/windows.m4 +2020/05/01 | 3522 | graphics/circuit_macros/examples/svg/ex12SVG.m4 +2020/05/01 | 3508 | graphics/circuit_macros/examples/Buttons.m4 +2020/05/01 | 3489 | graphics/circuit_macros/examples/svg/MixerSVG.m4 +2020/05/01 | 34893 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2020/05/01 | 34818 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2020/05/01 | 34597 | graphics/pstricks/contrib/pst-ovl.zip +2020/05/01 | 3421 | graphics/circuit_macros/examples/svg/MCSVG.m4 +2020/05/01 | 3395 | macros/xetex/latex/xecjk/README.md +2020/05/01 | 337 | graphics/circuit_macros/examples/xfig/Makefile +2020/05/01 | 3346 | graphics/circuit_macros/examples/Windings.m4 +2020/05/01 | 3346 | graphics/circuit_macros/doc/WindingsMan.m4 +2020/05/01 | 33430 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2020/05/01 | 3339 | graphics/circuit_macros/examples/ex12.m4 +2020/05/01 | 3326 | graphics/circuit_macros/examples/Contact.m4 +2020/05/01 | 3326 | graphics/circuit_macros/doc/ContactMan.m4 +2020/05/01 | 3321 | graphics/circuit_macros/examples/thyristor.m4 +2020/05/01 | 3321 | graphics/circuit_macros/doc/thyristorMan.m4 +2020/05/01 | 3310 | graphics/circuit_macros/examples/svg/thyristorSVG.m4 +2020/05/01 | 32 | graphics/circuit_macros/examples/Incl.eps.bb +2020/05/01 | 329 | graphics/circuit_macros/doc/FF.m4 +2020/05/01 | 329512 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf +2020/05/01 | 3290 | graphics/circuit_macros/examples/svg/sfgSVG.m4 +2020/05/01 | 328719 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2020/05/01 | 32362 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2020/05/01 | 32345 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2020/05/01 | 321987 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2020/05/01 | 3206 | graphics/circuit_macros/examples/svg/controlSVG.m4 +2020/05/01 | 3183 | graphics/circuit_macros/doc/NLG.tex +2020/05/01 | 317 | graphics/circuit_macros/examples/psfrag/README-psfrag.txt +2020/05/01 | 3175 | graphics/circuit_macros/examples/Blogix.m4 +2020/05/01 | 31351 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2020/05/01 | 3116 | systems/texlive/tlnet/archive/biblatex-software.r54950.tar.xz +2020/05/01 | 31155 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2020/05/01 | 3107866 | macros/latex/contrib/lwarp.zip +2020/05/01 | 310426 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2020/05/01 | 30988 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2020/05/01 | 3091 | graphics/circuit_macros/examples/svg/TtreeSVG.m4 +2020/05/01 | 30777 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2020/05/01 | 30230 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2020/05/01 | 2994 | graphics/circuit_macros/examples/svg/WindingsSVG.m4 +2020/05/01 | 29772 | graphics/circuit_macros/examples/Incl.pdf +2020/05/01 | 29734 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2020/05/01 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt +2020/05/01 | 2939 | graphics/circuit_macros/examples/MC.m4 +2020/05/01 | 293992 | systems/texlive/tlnet/archive/biblatex-software.doc.r54950.tar.xz +2020/05/01 | 293478 | install/macros/latex/contrib/zhnumber.tds.zip +2020/05/01 | 29333 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2020/05/01 | 29317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2020/05/01 | 292884 | macros/xetex/latex/xecjk/xunicode-symbols.pdf +2020/05/01 | 29141 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2020/05/01 | 2912 | graphics/circuit_macros/doc/Workflow.m4 +2020/05/01 | 29074 | graphics/circuit_macros/doc/CctTable.tex +2020/05/01 | 2887365 | macros/latex/contrib/univie-ling.zip +2020/05/01 | 28842 | macros/latex/contrib/xcjk2uni/xCJK2uni.dtx +2020/05/01 | 28778 | macros/latex/contrib/lwarp/lwarpmk.lua +2020/05/01 | 28775 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2020/05/01 | 28619 | language/chinese/ctex/ctxdoc.cls +2020/05/01 | 28564 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2020/05/01 | 28388 | macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex +2020/05/01 | 2834 | graphics/circuit_macros/postscript.m4 +2020/05/01 | 2828 | graphics/circuit_macros/examples/README-examples +2020/05/01 | 28197 | macros/latex/contrib/lwarp/lwarp.ins +2020/05/01 | 281966 | macros/xetex/latex/xepersian-hm.zip +2020/05/01 | 281655 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2020/05/01 | 281390 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2020/05/01 | 280101 | macros/latex/contrib/zhnumber.zip +2020/05/01 | 2799 | graphics/circuit_macros/examples/worm.m4 +2020/05/01 | 2792 | graphics/circuit_macros/examples/OpAmpFilter.m4 +2020/05/01 | 27840 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2020/05/01 | 27749 | macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls +2020/05/01 | 277093 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2020/05/01 | 2761 | graphics/circuit_macros/examples/sfg.m4 +2020/05/01 | 272880 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2020/05/01 | 2720 | graphics/circuit_macros/examples/svg/AudioSVG.m4 +2020/05/01 | 271657 | macros/latex/contrib/zhnumber/zhnumber.pdf +2020/05/01 | 2703938 | macros/latex/contrib/lwarp/lwarp.pdf +2020/05/01 | 269 | graphics/circuit_macros/doc/Loop.m4 +2020/05/01 | 2696 | graphics/circuit_macros/examples/keyval.m4 +2020/05/01 | 26935 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2020/05/01 | 2685 | graphics/circuit_macros/examples/svg/ex11SVG.m4 +2020/05/01 | 2684809 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2020/05/01 | 2682 | graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex +2020/05/01 | 26809 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2020/05/01 | 2674 | graphics/circuit_macros/examples/Planes.m4 +2020/05/01 | 2670 | graphics/circuit_macros/examples/CctTable.m4 +2020/05/01 | 2670 | graphics/circuit_macros/doc/CctTableMan.m4 +2020/05/01 | 26649 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2020/05/01 | 2661 | graphics/circuit_macros/doc/Grounds.tex +2020/05/01 | 26516 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2020/05/01 | 264314 | language/japanese/jlreq/jlreq.cls +2020/05/01 | 2639 | graphics/circuit_macros/doc/Circuit_macros.tex +2020/05/01 | 2634 | graphics/circuit_macros/examples/Audio.m4 +2020/05/01 | 2634 | graphics/circuit_macros/doc/AudioMan.m4 +2020/05/01 | 2584 | graphics/circuit_macros/examples/Escher.m4 +2020/05/01 | 25849 | graphics/circuit_macros/doc/Xform.tex +2020/05/01 | 25802 | macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex +2020/05/01 | 2559 | graphics/circuit_macros/examples/svg/ex08SVG.m4 +2020/05/01 | 2556 | graphics/circuit_macros/examples/ex08.m4 +2020/05/01 | 2555294 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2020/05/01 | 2551 | graphics/circuit_macros/examples/svg/OptoisoSVG.m4 +2020/05/01 | 25460 | graphics/circuit_macros/doc/Capture.JPG +2020/05/01 | 2542 | graphics/circuit_macros/examples/brace.m4 +2020/05/01 | 25425 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2020/05/01 | 2533091 | graphics/circuit_macros.zip +2020/05/01 | 2528 | graphics/circuit_macros/examples/svg/AdderSVG.m4 +2020/05/01 | 2525 | graphics/circuit_macros/examples/svg/CrowSVG.m4 +2020/05/01 | 2520 | graphics/circuit_macros/examples/Crow.m4 +2020/05/01 | 2505 | macros/latex/contrib/xcjk2uni/README.md +2020/05/01 | 247855 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2020/05/01 | 247466 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2020/05/01 | 246464 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2020/05/01 | 2443 | graphics/circuit_macros/examples/svg/ex00SVG.m4 +2020/05/01 | 2442 | graphics/circuit_macros/examples/Optoiso.m4 +2020/05/01 | 2441 | graphics/circuit_macros/doc/ujt.tex +2020/05/01 | 243093 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2020/05/01 | 24269346 | systems/texlive/tlnet/install-tl.zip +2020/05/01 | 2412 | graphics/circuit_macros/examples/ex00.m4 +2020/05/01 | 2402 | graphics/circuit_macros/examples/Adder.m4 +2020/05/01 | 2389 | graphics/circuit_macros/doc/Dac.m4 +2020/05/01 | 2362 | graphics/circuit_macros/examples/Jack.m4 +2020/05/01 | 2362 | graphics/circuit_macros/doc/JackMan.m4 +2020/05/01 | 2361 | graphics/circuit_macros/examples/ex11.m4 +2020/05/01 | 23580 | macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex +2020/05/01 | 23501 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2020/05/01 | 233 | graphics/circuit_macros/examples/Ccurve.m4 +2020/05/01 | 2337394 | macros/latex/contrib/lwarp/lwarp.dtx +2020/05/01 | 2324 | graphics/circuit_macros/examples/svg/cscSVG.m4 +2020/05/01 | 23248 | language/japanese/jlreq/jlreq-helpers.sty +2020/05/01 | 2304 | graphics/circuit_macros/examples/Loglog.m4 +2020/05/01 | 2303 | macros/latex/contrib/zhnumber/README.md +2020/05/01 | 22987 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2020/05/01 | 2295 | graphics/circuit_macros/examples/csc.m4 +2020/05/01 | 22715 | macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls +2020/05/01 | 2241 | graphics/circuit_macros/examples/svg/LoglogSVG.m4 +2020/05/01 | 222826 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2020/05/01 | 221 | graphics/circuit_macros/examples/rotate.tex +2020/05/01 | 219 | graphics/circuit_macros/examples/tst1.tex +2020/05/01 | 2198 | graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex +2020/05/01 | 2190540 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2020/05/01 | 21835 | macros/xetex/latex/xepersian-hm/xepersian-hm.dtx +2020/05/01 | 2180 | graphics/circuit_macros/examples/svg/CctTableSVG.m4 +2020/05/01 | 217 | graphics/circuit_macros/doc/stringdims.m4 +2020/05/01 | 2179 | graphics/circuit_macros/examples/Conn.m4 +2020/05/01 | 2179 | graphics/circuit_macros/doc/ConnMan.m4 +2020/05/01 | 2177 | graphics/circuit_macros/examples/svg/ex21SVG.m4 +2020/05/01 | 2171 | graphics/circuit_macros/examples/svg/I2LSVG.m4 +2020/05/01 | 2170 | graphics/circuit_macros/examples/ex06.m4 +2020/05/01 | 2165 | graphics/circuit_macros/examples/Sources.m4 +2020/05/01 | 2165 | graphics/circuit_macros/doc/SourcesMan.m4 +2020/05/01 | 213876 | macros/latex/contrib/xpinyin.zip +2020/05/01 | 21384 | macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls +2020/05/01 | 21384 | graphics/circuit_macros/examples/svg/Incl.jpg +2020/05/01 | 21230 | graphics/circuit_macros/examples/xfig/xfiglib.fig +2020/05/01 | 2119 | graphics/circuit_macros/examples/Logic.m4 +2020/05/01 | 2119 | graphics/circuit_macros/doc/LogicMan.m4 +2020/05/01 | 2111 | graphics/circuit_macros/examples/svg/ConnSVG.m4 +2020/05/01 | 2099 | graphics/circuit_macros/pstricks.m4 +2020/05/01 | 2097 | graphics/circuit_macros/examples/Ttree.m4 +2020/05/01 | 2085 | graphics/circuit_macros/pgf.m4 +2020/05/01 | 20748 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2020/05/01 | 207176 | macros/latex/contrib/xpinyin/xpinyin.pdf +2020/05/01 | 207034 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2020/05/01 | 2069 | graphics/circuit_macros/examples/svg/relaycoilSVG.m4 +2020/05/01 | 2068 | graphics/circuit_macros/examples/I2L.m4 +2020/05/01 | 2051 | graphics/circuit_macros/examples/svg/JackSVG.m4 +2020/05/01 | 20418 | graphics/circuit_macros/doc/thyristor.tex +2020/05/01 | 203048 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2020/05/01 | 2018 | graphics/circuit_macros/examples/svg/ex06SVG.m4 +2020/05/01 | 2014 | graphics/circuit_macros/examples/pwrsupply.m4 +2020/05/01 | 2013 | graphics/circuit_macros/doc/HybridPi.m4 +2020/05/01 | 2000 | graphics/circuit_macros/examples/ex21.m4 +2020/05/01 | 1995 | graphics/circuit_macros/doc/Corners.m4 +2020/05/01 | 19908 | systems/texlive/tlnet/archive/dynkin-diagrams.r54948.tar.xz +2020/05/01 | 19892 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2020/05/01 | 198859 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2020/05/01 | 198799 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2020/05/01 | 1985 | graphics/circuit_macros/examples/svg/XORSVG.m4 +2020/05/01 | 1983877 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2020/05/01 | 1975 | graphics/circuit_macros/doc/FlipFlop.m4 +2020/05/01 | 1966 | graphics/circuit_macros/examples/svg/DriveSVG.m4 +2020/05/01 | 1966 | graphics/circuit_macros/examples/Drive.m4 +2020/05/01 | 19636 | macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls +2020/05/01 | 1962 | graphics/circuit_macros/examples/Autologix.m4 +2020/05/01 | 1959 | graphics/circuit_macros/examples/debug2.m4 +2020/05/01 | 1955 | graphics/circuit_macros/examples/svg/ABlogixSVG.m4 +2020/05/01 | 1953 | graphics/circuit_macros/examples/svg/MotorControlSVG.m4 +2020/05/01 | 1953 | graphics/circuit_macros/doc/Buffer.m4 +2020/05/01 | 194977 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2020/05/01 | 1940 | graphics/circuit_macros/doc/AmpTable.tex +2020/05/01 | 19386083 | systems/texlive/tlnet/install-tl-windows.exe +2020/05/01 | 1937 | macros/xetex/latex/xepersian-hm/xepersian-hm.ins +2020/05/01 | 193700 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2020/05/01 | 1931 | graphics/circuit_macros/examples/svg/LogicSVG.m4 +2020/05/01 | 1928867 | install/macros/xetex/latex/xecjk.tds.zip +2020/05/01 | 19250 | graphics/circuit_macros/dpictools.pic +2020/05/01 | 1922 | graphics/circuit_macros/examples/MotorControl.m4 +2020/05/01 | 1921 | graphics/circuit_macros/examples/relaycoil.m4 +2020/05/01 | 1921 | graphics/circuit_macros/doc/relaycoilMan.m4 +2020/05/01 | 19176 | graphics/circuit_macros/Licence.txt +2020/05/01 | 19142 | graphics/circuit_macros/doc/Switches.tex +2020/05/01 | 1907 | graphics/circuit_macros/examples/svg/SourcesSVG.m4 +2020/05/01 | 1906 | graphics/circuit_macros/examples/SPM.m4 +2020/05/01 | 19040 | macros/latex/contrib/hep-paper/license.md +2020/05/01 | 1893 | graphics/circuit_macros/examples/svg/ex16SVG.m4 +2020/05/01 | 1891 | graphics/circuit_macros/examples/svg/ex04SVG.m4 +2020/05/01 | 1882 | graphics/circuit_macros/examples/svg/CrullerSVG.m4 +2020/05/01 | 1879 | graphics/circuit_macros/examples/Cruller.m4 +2020/05/01 | 186881 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2020/05/01 | 1865 | graphics/circuit_macros/examples/ex16.m4 +2020/05/01 | 1860 | graphics/circuit_macros/doc/bi_trans.m4 +2020/05/01 | 1857 | graphics/circuit_macros/doc/Composite.m4 +2020/05/01 | 1852 | graphics/circuit_macros/examples/Orbits.m4 +2020/05/01 | 184653 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2020/05/01 | 184184 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2020/05/01 | 1837 | graphics/circuit_macros/examples/svg/SchottkySVG.m4 +2020/05/01 | 1828 | macros/latex/contrib/xpinyin/README.md +2020/05/01 | 182845 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2020/05/01 | 1823 | graphics/circuit_macros/examples/XOR.m4 +2020/05/01 | 1812 | graphics/circuit_macros/examples/svg/BipSVG.m4 +2020/05/01 | 1807 | graphics/circuit_macros/examples/svg/ex05SVG.m4 +2020/05/01 | 1802 | graphics/circuit_macros/examples/Pconn.m4 +2020/05/01 | 1802 | graphics/circuit_macros/doc/PconnMan.m4 +2020/05/01 | 17826 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2020/05/01 | 1778 | graphics/circuit_macros/examples/Schottky.m4 +2020/05/01 | 1776 | graphics/circuit_macros/examples/svg/PconnSVG.m4 +2020/05/01 | 177698 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2020/05/01 | 17736 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2020/05/01 | 1766 | graphics/circuit_macros/examples/examples.tex +2020/05/01 | 1737 | graphics/circuit_macros/examples/svg/ContactsSVG.m4 +2020/05/01 | 1730 | graphics/circuit_macros/examples/ABlogix.m4 +2020/05/01 | 17076 | graphics/circuit_macros/examples/files.tex +2020/05/01 | 1699 | graphics/circuit_macros/examples/svg/ex10SVG.m4 +2020/05/01 | 1698894 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2020/05/01 | 169322 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2020/05/01 | 167945 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2020/05/01 | 167862 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2020/05/01 | 1675 | graphics/circuit_macros/examples/svg/TTLnandSVG.m4 +2020/05/01 | 1668 | graphics/circuit_macros/examples/IC10107.m4 +2020/05/01 | 165 | graphics/circuit_macros/doc/tranbody.m4 +2020/05/01 | 1654 | graphics/circuit_macros/examples/ex04.m4 +2020/05/01 | 164810 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2020/05/01 | 16420 | graphics/circuit_macros/doc/fet.tex +2020/05/01 | 1640 | graphics/circuit_macros/mpost.m4 +2020/05/01 | 1639 | graphics/circuit_macros/Makefile +2020/05/01 | 16373037 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2020/05/01 | 16274 | macros/latex/contrib/hep-paper/bibliography.bib +2020/05/01 | 1624 | graphics/circuit_macros/doc/ParSeries.m4 +2020/05/01 | 1623 | macros/latex/contrib/lwarp/README.txt +2020/05/01 | 1619 | graphics/circuit_macros/examples/Bip.m4 +2020/05/01 | 1619 | graphics/circuit_macros/doc/BipMan.m4 +2020/05/01 | 161931 | graphics/circuit_macros/libcct.m4 +2020/05/01 | 161604 | systems/texlive/tlnet/archive/texlive-docindex.doc.r54943.tar.xz +2020/05/01 | 16140 | graphics/circuit_macros/README +2020/05/01 | 1612 | graphics/circuit_macros/examples/svg/TimerSVG.m4 +2020/05/01 | 1611875 | macros/xetex/latex/xecjk.zip +2020/05/01 | 16116 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2020/05/01 | 1608 | graphics/circuit_macros/examples/ex05.m4 +2020/05/01 | 160737 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2020/05/01 | 15955 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2020/05/01 | 1585 | graphics/circuit_macros/examples/Contacts.m4 +2020/05/01 | 1585 | graphics/circuit_macros/doc/ContactsMan.m4 +2020/05/01 | 1575 | graphics/circuit_macros/doc/mplex.m4 +2020/05/01 | 1559 | graphics/circuit_macros/examples/svg/XformSVG.m4 +2020/05/01 | 1558 | graphics/circuit_macros/examples/TTLnand.m4 +2020/05/01 | 1555225 | install/language/chinese/ctex.tds.zip +2020/05/01 | 1546 | graphics/circuit_macros/examples/Timer.m4 +2020/05/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2020/05/01 | 15388 | graphics/circuit_macros/doc/Sources.tex +2020/05/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2020/05/01 | 1529 | graphics/circuit_macros/examples/mf/Makefile +2020/05/01 | 1526 | graphics/circuit_macros/examples/Xform.m4 +2020/05/01 | 1526 | graphics/circuit_macros/doc/XformMan.m4 +2020/05/01 | 1525 | graphics/circuit_macros/examples/rotatetext.m4 +2020/05/01 | 152024 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2020/05/01 | 15033 | graphics/circuit_macros/doc/Pconn.tex +2020/05/01 | 150030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2020/05/01 | 1492 | graphics/circuit_macros/examples/ex10.m4 +2020/05/01 | 1485 | graphics/circuit_macros/examples/Demultiplexer.m4 +2020/05/01 | 1485 | graphics/circuit_macros/doc/DemultiplexerMan.m4 +2020/05/01 | 1484 | macros/latex/contrib/hep-paper/hep-paper.ins +2020/05/01 | 148344 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2020/05/01 | 147403 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2020/05/01 | 1467 | graphics/circuit_macros/examples/svg/MultiplexerSVG.m4 +2020/05/01 | 1467 | graphics/circuit_macros/examples/Diodes.m4 +2020/05/01 | 1467 | graphics/circuit_macros/doc/DiodesMan.m4 +2020/05/01 | 1464 | graphics/circuit_macros/doc/Taps.m4 +2020/05/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2020/05/01 | 1458 | graphics/circuit_macros/examples/header.tex +2020/05/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2020/05/01 | 144 | graphics/circuit_macros/doc/Thermal.m4 +2020/05/01 | 1446 | graphics/circuit_macros/examples/svg/ShiftRSVG.m4 +2020/05/01 | 1444 | graphics/circuit_macros/examples/svg/ThreeSVG.m4 +2020/05/01 | 1443 | graphics/circuit_macros/examples/Resolver.m4 +2020/05/01 | 14346 | graphics/circuit_macros/darrow.m4 +2020/05/01 | 1433 | graphics/circuit_macros/examples/Opamp.m4 +2020/05/01 | 1433 | graphics/circuit_macros/doc/OpampMan.m4 +2020/05/01 | 1431 | graphics/circuit_macros/examples/svg/RelaySVG.m4 +2020/05/01 | 1429 | graphics/circuit_macros/examples/svg/DiodesSVG.m4 +2020/05/01 | 1406 | graphics/circuit_macros/examples/ShiftR.m4 +2020/05/01 | 1406 | graphics/circuit_macros/doc/ShiftRMan.m4 +2020/05/01 | 14036 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2020/05/01 | 1400 | graphics/circuit_macros/examples/Multiplexer.m4 +2020/05/01 | 1400 | graphics/circuit_macros/doc/MultiplexerMan.m4 +2020/05/01 | 1393302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2020/05/01 | 1387 | graphics/circuit_macros/examples/svg/CrossbarSVG.m4 +2020/05/01 | 13833 | graphics/circuit_macros/doc/Contact.tex +2020/05/01 | 137 | graphics/circuit_macros/doc/oaxbody.m4 +2020/05/01 | 1375 | graphics/circuit_macros/examples/person.m4 +2020/05/01 | 1373 | graphics/circuit_macros/examples/svg/DemultiplexerSVG.m4 +2020/05/01 | 13734 | graphics/circuit_macros/examples/svg/examplesSVG.htmx +2020/05/01 | 137098 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2020/05/01 | 136113 | graphics/circuit_macros/doc/body.tex +2020/05/01 | 1358 | graphics/circuit_macros/examples/Crossbar.m4 +2020/05/01 | 1331 | graphics/circuit_macros/examples/svg/SierpinskiSVG.m4 +2020/05/01 | 1331 | graphics/circuit_macros/examples/Sierpinski.m4 +2020/05/01 | 133160 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2020/05/01 | 1329 | graphics/circuit_macros/doc/currents.m4 +2020/05/01 | 13264 | graphics/circuit_macros/examples/Tubediags.m4 +2020/05/01 | 131 | graphics/circuit_macros/doc/Axes.m4 +2020/05/01 | 130 | graphics/circuit_macros/doc/bitrbody.m4 +2020/05/01 | 130557 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2020/05/01 | 13052 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2020/05/01 | 130374 | macros/latex/contrib/xcjk2uni.zip +2020/05/01 | 13026 | graphics/circuit_macros/examples/Heathkit.m4 +2020/05/01 | 12 | graphics/circuit_macros/doc/Version.tex +2020/05/01 | 1291 | graphics/circuit_macros/doc/ConfigC.m4 +2020/05/01 | 1287 | graphics/circuit_macros/examples/Three.m4 +2020/05/01 | 1285894 | graphics/circuit_macros/doc/Circuit_macros.pdf +2020/05/01 | 1280364 | macros/xetex/latex/xecjk/xeCJK.pdf +2020/05/01 | 12711 | graphics/circuit_macros/examples/svg/HeathkitSVG.m4 +2020/05/01 | 1265 | graphics/circuit_macros/examples/svg/HeadersSVG.m4 +2020/05/01 | 126153 | macros/latex/contrib/xcjk2uni/xCJK2uni.pdf +2020/05/01 | 1259 | graphics/circuit_macros/examples/Relay.m4 +2020/05/01 | 1259 | graphics/circuit_macros/doc/RelayMan.m4 +2020/05/01 | 1257 | graphics/circuit_macros/doc/ConfigB.m4 +2020/05/01 | 1255977 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2020/05/01 | 1255692 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2020/05/01 | 12478 | graphics/circuit_macros/examples/svg/TubediagsSVG.m4 +2020/05/01 | 1238 | graphics/circuit_macros/examples/svg/NportSVG.m4 +2020/05/01 | 1229 | graphics/circuit_macros/doc/fbfilter.m4 +2020/05/01 | 12244 | graphics/circuit_macros/CHANGES +2020/05/01 | 1211 | graphics/circuit_macros/examples/Antennas.m4 +2020/05/01 | 1211 | graphics/circuit_macros/doc/AntennasMan.m4 +2020/05/01 | 12068 | systems/texlive/tlnet/archive/jslectureplanner.r54951.tar.xz +2020/05/01 | 12050 | graphics/circuit_macros/doc/Diodes.tex +2020/05/01 | 1204 | graphics/circuit_macros/examples/svg/ex17SVG.m4 +2020/05/01 | 12006 | graphics/circuit_macros/doc/Jack.tex +2020/05/01 | 11 | graphics/circuit_macros/doc/test.tex +2020/05/01 | 1189868 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2020/05/01 | 1189752 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2020/05/01 | 1185 | graphics/circuit_macros/boxdims.sty +2020/05/01 | 1180232 | systems/texlive/tlnet/archive/jslectureplanner.doc.r54951.tar.xz +2020/05/01 | 1174 | graphics/circuit_macros/examples/PPA.m4 +2020/05/01 | 1172690 | language/chinese/ctex.zip +2020/05/01 | 116425 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2020/05/01 | 116315 | language/japanese/jlreq/jlreq.pdf +2020/05/01 | 115870 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2020/05/01 | 1157 | graphics/circuit_macros/examples/svg/NPDTSVG.m4 +2020/05/01 | 1151 | graphics/circuit_macros/doc/Darlington.m4 +2020/05/01 | 1132 | graphics/circuit_macros/examples/Headers.m4 +2020/05/01 | 1132 | graphics/circuit_macros/doc/HeadersMan.m4 +2020/05/01 | 1128 | graphics/circuit_macros/examples/NPDT.m4 +2020/05/01 | 1128 | graphics/circuit_macros/doc/NPDTMan.m4 +2020/05/01 | 11273 | graphics/circuit_macros/lib3D.m4 +2020/05/01 | 1126 | graphics/circuit_macros/examples/ex17.m4 +2020/05/01 | 1123775 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2020/05/01 | 1120 | graphics/circuit_macros/doc/ConfigA.m4 +2020/05/01 | 1114 | graphics/circuit_macros/mfpic.m4 +2020/05/01 | 111079 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2020/05/01 | 1109313 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2020/05/01 | 1108833 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2020/05/01 | 110184 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2020/05/01 | 1100 | graphics/circuit_macros/examples/ex02.m4 +2020/05/01 | 1097730 | language/chinese/ctex/ctex.pdf +2020/05/01 | 1093 | graphics/circuit_macros/examples/svg/ex02SVG.m4 +2020/05/01 | 1090 | graphics/circuit_macros/examples/svg/AntennasSVG.m4 +2020/05/01 | 108886 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2020/05/01 | 1080 | graphics/circuit_macros/examples/svg/BtreeSVG.m4 +2020/05/01 | 1076 | graphics/circuit_macros/examples/mf/mftest +2020/05/01 | 1075 | graphics/circuit_macros/examples/bistable.m4 +2020/05/01 | 1074 | graphics/circuit_macros/doc/bistableMan.m4 +2020/05/01 | 1070 | graphics/circuit_macros/examples/svg/EmarrowsSVG.m4 +2020/05/01 | 1065 | graphics/circuit_macros/examples/svg/ex18SVG.m4 +2020/05/01 | 10589 | graphics/circuit_macros/examples/svg/expSVG.m4 +2020/05/01 | 1055 | graphics/circuit_macros/examples/svg/TgateSVG.m4 +2020/05/01 | 1050 | graphics/circuit_macros/examples/svg/SVGconfig.m4 +2020/05/01 | 1048377 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2020/05/01 | 10445 | graphics/circuit_macros/examples/svg/paletteSVG.m4 +2020/05/01 | 1042546 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2020/05/01 | 1040 | graphics/circuit_macros/examples/Nport.m4 +2020/05/01 | 1040 | graphics/circuit_macros/doc/NportMan.m4 +2020/05/01 | 10401 | graphics/circuit_macros/doc/Variable.tex +2020/05/01 | 1039 | graphics/circuit_macros/examples/chaos.m4 +2020/05/01 | 1034 | graphics/circuit_macros/examples/svg/OpampSVG.m4 +2020/05/01 | 1029 | graphics/circuit_macros/xfig.m4 +2020/05/01 | 1024 | graphics/circuit_macros/examples/Btree.m4 +2020/05/01 | 102472 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2020/05/01 | 1022 | graphics/circuit_macros/examples/Tgate.m4 +2020/05/01 | 1022 | graphics/circuit_macros/doc/TgateMan.m4 +2020/05/01 | 1019 | graphics/circuit_macros/gpic.m4 +2020/05/01 | 10164 | graphics/circuit_macros/doc/Audio.tex +2020/05/01 | 1014 | macros/latex/contrib/hep-paper/README.md +2020/05/01 | 100615 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2020/05/01 | 1003 | graphics/circuit_macros/examples/ex15.m4 +2020/05/01 | 10001 | macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex 2020/04/30 | 9804 | macros/latex/contrib/jslectureplanner/README -2020/04/30 | 96299 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2020/04/30 | 95188 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2020/04/30 | 94361 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2020/04/30 | 94254 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2020/04/30 | 941993 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2020/04/30 | 93534 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2020/04/30 | 932671 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2020/04/30 | 92926 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2020/04/30 | 92744 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2020/04/30 | 92021 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2020/04/30 | 91291 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2020/04/30 | 87333 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2020/04/30 | 87138 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2020/04/30 | 86682 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma 2020/04/30 | 85488 | macros/latex/contrib/jslectureplanner/examples/German/lecturebib.pdf 2020/04/30 | 85104 | macros/latex/contrib/jslectureplanner/examples/English/lecturebib-english.pdf 2020/04/30 | 84992 | macros/latex/contrib/jslectureplanner/examples/German/lecturepresentation.pdf -2020/04/30 | 8472 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2020/04/30 | 84673 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2020/04/30 | 84613 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma 2020/04/30 | 84606 | macros/latex/contrib/jslectureplanner/examples/English/lecturepresentation-english.pdf 2020/04/30 | 832865 | graphics/pgf/contrib/dynkin-diagrams.zip -2020/04/30 | 81389 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2020/04/30 | 80601316 | systems/win32/w32tex/pgfcontrib.tar.xz 2020/04/30 | 802985 | graphics/pgf/contrib/dynkin-diagrams/dynkin-diagrams.pdf 2020/04/30 | 7900 | systems/texlive/tlnet/archive/hu-berlin-bundle.r54938.tar.xz -2020/04/30 | 77985 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2020/04/30 | 77884 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2020/04/30 | 77447 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2020/04/30 | 7503 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2020/04/30 | 74686 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2020/04/30 | 73584 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2020/04/30 | 72765 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2020/04/30 | 72537 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2020/04/30 | 71673 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2020/04/30 | 70760 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2020/04/30 | 69793 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2020/04/30 | 69228 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2020/04/30 | 68850 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma 2020/04/30 | 68649 | macros/latex/contrib/jslectureplanner/jslectureplanner.tex -2020/04/30 | 67253 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2020/04/30 | 669806 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma 2020/04/30 | 6540 | systems/texlive/tlnet/archive/tkz-tab.r54940.tar.xz -2020/04/30 | 652 | systems/win32/miktex/tm/packages/next/pr.ini -2020/04/30 | 65200 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2020/04/30 | 64459 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2020/04/30 | 63315 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma -2020/04/30 | 63291 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2020/04/30 | 63267 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2020/04/30 | 63007 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2020/04/30 | 62800 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2020/04/30 | 61672 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2020/04/30 | 638356 | systems/win32/w32tex/ChangeLog 2020/04/30 | 616672 | systems/texlive/tlnet/archive/pgfornament.r54941.tar.xz -2020/04/30 | 61637 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2020/04/30 | 615708 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2020/04/30 | 612250 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2020/04/30 | 61217 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2020/04/30 | 59940 | graphics/pgf/contrib/dynkin-diagrams/dynkin-diagrams.tex -2020/04/30 | 59494 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma 2020/04/30 | 59148 | macros/latex/contrib/jslectureplanner/examples/German/lecturehandout.pdf -2020/04/30 | 58841 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma 2020/04/30 | 57923 | macros/latex/contrib/jslectureplanner/examples/English/lecturehandout-english.pdf 2020/04/30 | 57899 | macros/latex/contrib/jslectureplanner/examples/German/lectureprogram.pdf -2020/04/30 | 57804 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2020/04/30 | 576470 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2020/04/30 | 575629 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2020/04/30 | 57245 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma 2020/04/30 | 56905 | macros/latex/contrib/jslectureplanner/examples/English/lectureprogram-english.pdf -2020/04/30 | 56646 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2020/04/30 | 560788 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2020/04/30 | 55658 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2020/04/30 | 5502699 | systems/texlive/tlnet/install-tl-unx.tar.gz -2020/04/30 | 54842 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2020/04/30 | 545004 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2020/04/30 | 53987 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2020/04/30 | 539769 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma 2020/04/30 | 536456 | systems/texlive/tlnet/archive/xlop.doc.r54936.tar.xz -2020/04/30 | 53375 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma -2020/04/30 | 531714 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2020/04/30 | 531674 | systems/win32/miktex/tm/packages/files.csv.lzma -2020/04/30 | 52143 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2020/04/30 | 52109 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2020/04/30 | 50950 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2020/04/30 | 50896 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2020/04/30 | 50526 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2020/04/30 | 498652 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2020/04/30 | 49778 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2020/04/30 | 49329 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2020/04/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2020/04/30 | 49774400 | systems/win32/w32tex/xetex-w32.tar.xz 2020/04/30 | 47982 | macros/latex/contrib/jslectureplanner/jslectureplanner.sty -2020/04/30 | 47970 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2020/04/30 | 461129 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma -2020/04/30 | 45903 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2020/04/30 | 45857 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2020/04/30 | 457890 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma 2020/04/30 | 457635 | macros/latex/contrib/jslectureplanner/jslectureplanner.pdf -2020/04/30 | 45664 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2020/04/30 | 45602 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2020/04/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2020/04/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2020/04/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2020/04/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc -2020/04/30 | 45006 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2020/04/30 | 43438 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2020/04/30 | 42922 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2020/04/30 | 42639 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2020/04/30 | 42173 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2020/04/30 | 41928 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2020/04/30 | 411 | systems/win32/miktex/tm/packages/pr.ini -2020/04/30 | 41145 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma 2020/04/30 | 40832 | systems/texlive/tlnet/archive/acro.r54937.tar.xz -2020/04/30 | 40748 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2020/04/30 | 391545 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2020/04/30 | 38800 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2020/04/30 | 387640 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma -2020/04/30 | 36614 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2020/04/30 | 36441 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma 2020/04/30 | 364176 | systems/texlive/tlnet/archive/tkz-tab.doc.r54940.tar.xz 2020/04/30 | 3584 | systems/texlive/tlnet/archive/expkv-cs.r54939.tar.xz -2020/04/30 | 356404 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2020/04/30 | 354654 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma -2020/04/30 | 34893 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2020/04/30 | 34818 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma 2020/04/30 | 34772 | macros/latex/contrib/jslectureplanner/examples/German/lecturescript.pdf 2020/04/30 | 34575 | macros/latex/contrib/jslectureplanner/examples/English/lecturescript-english.pdf +2020/04/30 | 34536388 | systems/win32/w32tex/ltxpkgs.tar.xz 2020/04/30 | 341 | graphics/pgf/contrib/dynkin-diagrams/README -2020/04/30 | 33432 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2020/04/30 | 328718 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2020/04/30 | 32361 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2020/04/30 | 32345 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2020/04/30 | 321984 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2020/04/30 | 31352 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2020/04/30 | 31156 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2020/04/30 | 310426 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2020/04/30 | 30988 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma 2020/04/30 | 308552 | systems/texlive/tlnet/archive/expkv-cs.doc.r54939.tar.xz -2020/04/30 | 30777 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2020/04/30 | 30231 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma 2020/04/30 | 302214 | macros/latex/contrib/biblatex-contrib/biblatex-software.zip -2020/04/30 | 29735 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2020/04/30 | 29333 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2020/04/30 | 29318 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2020/04/30 | 29143 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2020/04/30 | 28778 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2020/04/30 | 28563 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma 2020/04/30 | 28509 | macros/latex/contrib/jslectureplanner/examples/German/membertable-filled.pdf 2020/04/30 | 28450 | macros/latex/contrib/jslectureplanner/examples/English/membertable-filled-english.pdf 2020/04/30 | 28442 | macros/latex/contrib/jslectureplanner/examples/English/membertable-blank-english.pdf 2020/04/30 | 28387 | macros/latex/contrib/jslectureplanner/examples/German/membertable-blank.pdf -2020/04/30 | 281656 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2020/04/30 | 281389 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma 2020/04/30 | 27974 | macros/latex/contrib/jslectureplanner/examples/English/presencetable-blank-english.pdf 2020/04/30 | 27896 | macros/latex/contrib/jslectureplanner/examples/German/presencetable-blank.pdf -2020/04/30 | 27840 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2020/04/30 | 277094 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2020/04/30 | 272880 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2020/04/30 | 26935 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma 2020/04/30 | 26864 | macros/latex/contrib/jslectureplanner/examples/German/presentation-list.pdf -2020/04/30 | 2684810 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2020/04/30 | 26809 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma 2020/04/30 | 26784 | macros/latex/contrib/jslectureplanner/examples/German/presencetable-filled.pdf 2020/04/30 | 26752 | macros/latex/contrib/jslectureplanner/examples/English/presencetable-filled-english.pdf -2020/04/30 | 26648 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2020/04/30 | 26515 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma 2020/04/30 | 25688 | macros/latex/contrib/jslectureplanner/examples/English/presentation-list-english.pdf -2020/04/30 | 2555295 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2020/04/30 | 25423 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2020/04/30 | 247854 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2020/04/30 | 247465 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2020/04/30 | 246463 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma 2020/04/30 | 2438572 | systems/texlive/tlnet/archive/pgfornament.doc.r54941.tar.xz -2020/04/30 | 243094 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2020/04/30 | 24269346 | systems/texlive/tlnet/install-tl.zip 2020/04/30 | 238008 | systems/texlive/tlnet/archive/hu-berlin-bundle.doc.r54938.tar.xz 2020/04/30 | 23626 | macros/latex/contrib/jslectureplanner/jsmembertable.sty -2020/04/30 | 23502 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2020/04/30 | 22988 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2020/04/30 | 222828 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2020/04/30 | 2194152 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2020/04/30 | 219376 | systems/texlive/tlnet/archive/texlive-scripts.doc.r54932.tar.xz -2020/04/30 | 20748 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2020/04/30 | 207033 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma 2020/04/30 | 20642 | macros/context/contrib/context-vim.zip -2020/04/30 | 203046 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2020/04/30 | 19891 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2020/04/30 | 198837 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2020/04/30 | 198820 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2020/04/30 | 1983879 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2020/04/30 | 194976 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2020/04/30 | 19386051 | systems/texlive/tlnet/install-tl-windows.exe -2020/04/30 | 193702 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2020/04/30 | 186882 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2020/04/30 | 184652 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2020/04/30 | 184184 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2020/04/30 | 182844 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2020/04/30 | 17826 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2020/04/30 | 177698 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2020/04/30 | 17736 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2020/04/30 | 1698896 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2020/04/30 | 169320 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma 2020/04/30 | 16800 | systems/texlive/tlnet/archive/hu-berlin-bundle.source.r54938.tar.xz -2020/04/30 | 167945 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2020/04/30 | 167862 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2020/04/30 | 164810 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2020/04/30 | 16372997 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2020/04/30 | 1663428 | systems/win32/w32tex/makeindex-w32.tar.xz 2020/04/30 | 16208 | systems/texlive/tlnet/archive/xlop.r54936.tar.xz -2020/04/30 | 16115 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2020/04/30 | 160739 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2020/04/30 | 15955 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2020/04/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2020/04/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2020/04/30 | 152025 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2020/04/30 | 150030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma 2020/04/30 | 149412 | graphics/pgf/contrib/dynkin-diagrams/dynkin-diagrams.sty -2020/04/30 | 148344 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2020/04/30 | 147402 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2020/04/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2020/04/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2020/04/30 | 14292 | systems/texlive/tlnet/archive/expkv-cs.source.r54939.tar.xz 2020/04/30 | 1426922 | macros/latex/contrib/jslectureplanner.zip 2020/04/30 | 141264 | systems/texlive/tlnet/archive/texlive-msg-translations.r54933.tar.xz -2020/04/30 | 14039 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma -2020/04/30 | 1393302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2020/04/30 | 137100 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2020/04/30 | 133161 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2020/04/30 | 139831708 | systems/win32/w32tex/context.tar.xz 2020/04/30 | 132412 | systems/texlive/tlnet/archive/texlive-scripts.r54932.tar.xz -2020/04/30 | 130557 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2020/04/30 | 13053 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2020/04/30 | 1255976 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2020/04/30 | 1255691 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2020/04/30 | 1189787 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2020/04/30 | 1189754 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2020/04/30 | 116426 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2020/04/30 | 115870 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2020/04/30 | 1123776 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2020/04/30 | 1140760 | systems/win32/w32tex/win64/makeindex-w64.tar.xz 2020/04/30 | 1123288 | systems/texlive/tlnet/archive/acro.doc.r54937.tar.xz -2020/04/30 | 111080 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2020/04/30 | 1108925 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2020/04/30 | 1108566 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2020/04/30 | 110185 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2020/04/30 | 108885 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2020/04/30 | 1048379 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2020/04/30 | 1042544 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2020/04/30 | 102475 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2020/04/30 | 100614 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2020/04/30 | 10946380 | systems/win32/w32tex/win64/xetex-w64.tar.xz 2020/04/29 | 99933 | systems/texlive/tlnet/tlpkg/translations/fr.po +2020/04/29 | 99151804 | systems/win32/w32tex/web2c-lib.tar.xz 2020/04/29 | 983 | macros/latex/contrib/acro/examples/acro.example.issue-119.tex 2020/04/29 | 96351 | systems/texlive/tlnet/tlpkg/translations/vi.po 2020/04/29 | 95845 | macros/latex/contrib/acro/acro-manual.tex @@ -254,6 +797,7 @@ 2020/04/29 | 92 | systems/win32/miktex/setup/deb/dists/stretch/universe/binary-amd64/Release 2020/04/29 | 911 | systems/win32/miktex/setup/rpm/fedora/28/repodata/ea186766bcba0ddc6a28b5f9a81c6724f219e952e92e13653d4e527f689fbda7-other.sqlite.bz2 2020/04/29 | 90 | macros/generic/xlop/tex/xlop.sty +2020/04/29 | 902804 | systems/win32/w32tex/cweb-w32.tar.xz 2020/04/29 | 89 | systems/win32/miktex/setup/deb/dists/xenial/universe/binary-amd64/Release 2020/04/29 | 89 | systems/win32/miktex/setup/deb/dists/buster/universe/binary-amd64/Release 2020/04/29 | 89 | systems/win32/miktex/setup/deb/dists/bionic/universe/binary-amd64/Release @@ -268,6 +812,8 @@ 2020/04/29 | 86136 | systems/texlive/tlnet/tlpkg/translations/es.po 2020/04/29 | 8550 | macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkii 2020/04/29 | 851941 | macros/latex/contrib/acro/acro-manual.pdf +2020/04/29 | 8478684 | systems/win32/w32tex/uptex-w32.tar.xz +2020/04/29 | 82748 | systems/win32/w32tex/win64/cweb-w64.tar.xz 2020/04/29 | 8175 | macros/latex/contrib/acro/examples/acro.example.issue-119.pdf 2020/04/29 | 8034 | macros/latex/contrib/biblatex-contrib/biblatex-software/software.bbx 2020/04/29 | 7907 | macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-highlight.mkiv @@ -282,7 +828,9 @@ 2020/04/29 | 706 | macros/latex/contrib/acro/examples/acro.example.issue-111.tex 2020/04/29 | 65310 | macros/latex/contrib/acro/examples/acro.example.units.pdf 2020/04/29 | 644544 | systems/texlive/tlnet/archive/babel.source.r54930.tar.xz +2020/04/29 | 6444432 | systems/win32/w32tex/ptex-ng-w32.tar.xz 2020/04/29 | 63360 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po +2020/04/29 | 6278504 | systems/win32/w32tex/win64/pdftex-w64.tar.xz 2020/04/29 | 6185 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2020/04/29 | 608836 | macros/generic/xlop.zip 2020/04/29 | 5881 | macros/latex/contrib/tkz/tkz-tab/doc/latex/TKZdoc-tab-main.tex @@ -292,6 +840,7 @@ 2020/04/29 | 5577 | macros/context/contrib/context-vim/tex/context/third/vim/2context.vim 2020/04/29 | 53160 | macros/generic/expkv-def/expkv-def.dtx 2020/04/29 | 506904 | systems/texlive/tlnet/archive/translations.doc.r54929.tar.xz +2020/04/29 | 4920304 | systems/win32/w32tex/aleph-w32.tar.xz 2020/04/29 | 488 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/repomd.xml.asc 2020/04/29 | 488 | systems/win32/miktex/setup/rpm/fedora/30/repodata/repomd.xml.asc 2020/04/29 | 488 | systems/win32/miktex/setup/rpm/fedora/28/repodata/repomd.xml.asc @@ -303,16 +852,22 @@ 2020/04/29 | 4697184 | systems/texlive/tlnet/archive/tcolorbox.doc.r54928.tar.xz 2020/04/29 | 4467 | macros/latex/contrib/biblatex-contrib/biblatex-software/manual.bib 2020/04/29 | 440 | systems/texlive/tlnet/archive/tlshell.doc.r54921.tar.xz +2020/04/29 | 44047852 | systems/win32/w32tex/web2c-w32.tar.xz 2020/04/29 | 44004 | systems/texlive/tlnet/archive/fontools.r54926.tar.xz +2020/04/29 | 41437540 | systems/win32/w32tex/latex-dev.tar.xz 2020/04/29 | 4071 | macros/context/contrib/context-vim/tex/context/third/vim/t-syntax-groups.tex 2020/04/29 | 406 | systems/win32/miktex/setup/rpm/fedora/28/repodata/8d2495520d907b62581db4ee1d81efc9e55ff387c66e433376bde385724d0eea-other.xml.gz 2020/04/29 | 404 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/fcde7e11d2dfc8233ba28ce3a7301f53cc6bdee7cf1eeceb3759384652d60b2e-other.xml.gz 2020/04/29 | 394072 | macros/generic/xlop/doc/xlop-doc-fr.pdf +2020/04/29 | 3867708 | systems/win32/w32tex/luajittex-dev-w32.tar.xz +2020/04/29 | 3863904 | systems/win32/w32tex/luajittex-w32.tar.xz +2020/04/29 | 3855344 | systems/win32/w32tex/luajittex-exp-w32.tar.xz 2020/04/29 | 381096 | macros/latex/contrib/tkz/tkz-tab.zip 2020/04/29 | 373942 | macros/generic/xlop/doc/xlop-doc.pdf 2020/04/29 | 3502 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/280a3e5276d80e6481dc48b2fc02ab4a5309b1b9137ff1c16fe0416dffb9b5b5-filelists.sqlite.bz2 2020/04/29 | 346429 | macros/latex/contrib/tkz/tkz-tab/doc/TKZdoc-tab.pdf 2020/04/29 | 3440 | macros/latex/contrib/biblatex-contrib/biblatex-software/biblio.bib +2020/04/29 | 3387816 | systems/win32/w32tex/win64/web2c-w64.tar.xz 2020/04/29 | 33721 | macros/latex/contrib/acro/examples/acro.example.texsx-507726.pdf 2020/04/29 | 329 | macros/latex/contrib/acro/examples/acro.example.issue-109.tex 2020/04/29 | 326277 | install/macros/generic/expkv-cs.tds.zip @@ -351,8 +906,10 @@ 2020/04/29 | 22919244 | systems/win32/miktex/setup/rpm/fedora/28/miktex-2.9.7400-1.fc28.x86_64.rpm 2020/04/29 | 22360 | macros/context/contrib/context-vim/doc/context/third/vim/vim.txt 2020/04/29 | 21224 | macros/latex/contrib/acro/examples/acro.example.acflike.pdf +2020/04/29 | 2120000 | systems/win32/w32tex/win64/context-w64.tar.xz 2020/04/29 | 21151664 | systems/win32/miktex/setup/rpm/opensuse/15/miktex-2.9.7400-1.x86_64.rpm 2020/04/29 | 20811036 | systems/win32/miktex/setup/rpm/fedora/30/miktex-2.9.7400-1.fc30.x86_64.rpm +2020/04/29 | 20690360 | systems/win32/w32tex/pdftex-w32.tar.xz 2020/04/29 | 2050 | macros/latex/contrib/acro/examples/acro.example.units.tex 2020/04/29 | 2038 | systems/win32/miktex/setup/deb/dists/stretch/InRelease 2020/04/29 | 2034 | systems/win32/miktex/setup/deb/dists/xenial/InRelease @@ -360,7 +917,11 @@ 2020/04/29 | 2034 | systems/win32/miktex/setup/deb/dists/bionic/InRelease 2020/04/29 | 1917 | macros/generic/xlop/README 2020/04/29 | 1904 | macros/latex/contrib/acro/README +2020/04/29 | 1833452 | systems/win32/w32tex/jtex-w32.tar.xz +2020/04/29 | 18131976 | systems/win32/w32tex/luatex-dev-w32.tar.xz +2020/04/29 | 18124320 | systems/win32/w32tex/luatex-w32.tar.xz 2020/04/29 | 1795 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/c303e5ca93bd0e6be7c07b97be6d29a57de04beb39a11713f8fc72da5e888070-filelists.xml.gz +2020/04/29 | 17919508 | systems/win32/w32tex/luatex-exp-w32.tar.xz 2020/04/29 | 169749 | macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdf 2020/04/29 | 163824 | systems/texlive/tlnet/archive/babel.r54930.tar.xz 2020/04/29 | 158998 | macros/latex/contrib/acro/acro.sty @@ -390,6 +951,7 @@ 2020/04/29 | 12256 | systems/texlive/tlnet/archive/translations.r54929.tar.xz 2020/04/29 | 120432 | systems/texlive/tlnet/archive/abnt.doc.r54927.tar.xz 2020/04/29 | 11 | macros/context/contrib/context-vim/VERSION +2020/04/29 | 1174456 | systems/win32/w32tex/extractpdfmark-w32.tar.xz 2020/04/29 | 11638 | systems/win32/miktex/setup/rpm/fedora/30/repodata/06258324fb706bd9ece7eca5e904bbbe4a74cc579ef5fb94b1e139d415c7f09d-primary.sqlite.bz2 2020/04/29 | 11606 | systems/win32/miktex/setup/rpm/fedora/28/repodata/b2adeb7f59747951b8caa932abaabf8d76891c3354865869e0e48bce305bbc61-primary.sqlite.bz2 2020/04/29 | 11533 | systems/win32/miktex/setup/rpm/opensuse/15/repodata/16331f160f05f229eb85d1d446f95ef241f6288d499bb440f96433319fa645b1-primary.sqlite.bz2 @@ -399,9 +961,11 @@ 2020/04/29 | 11236 | macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex 2020/04/29 | 110048 | systems/texlive/tlnet/tlpkg/translations/sr.po 2020/04/29 | 1084 | systems/win32/miktex/setup/deb/dists/buster/universe/binary-amd64/Packages.bz2 +2020/04/29 | 1079552 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz 2020/04/29 | 107439 | macros/generic/xlop/doc/xlop-doc-fr.tex 2020/04/29 | 1069 | systems/win32/miktex/setup/deb/dists/stretch/universe/binary-amd64/Packages.bz2 2020/04/29 | 10567 | macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.tex +2020/04/29 | 10471004 | systems/win32/w32tex/ptex-w32.tar.xz 2020/04/29 | 1043 | systems/win32/miktex/setup/deb/dists/xenial/universe/binary-amd64/Packages.bz2 2020/04/29 | 1038 | systems/win32/miktex/setup/deb/dists/bionic/universe/binary-amd64/Packages.bz2 2020/04/29 | 10074 | systems/win32/miktex/setup/rpm/fedora/28/repodata/6da87e174699f0405723275cd0850f21062d5e8715b3f3204f9c9d938a148860-filelists.xml.gz @@ -409,7 +973,6 @@ 2020/04/28 | 996756 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz 2020/04/28 | 9899 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex 2020/04/28 | 9792 | systems/texlive/tlnet/archive/quantikz.r54911.tar.xz -2020/04/28 | 902780 | systems/win32/w32tex/cweb-w32.tar.xz 2020/04/28 | 9020 | macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex 2020/04/28 | 9002 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex 2020/04/28 | 8922 | macros/latex/contrib/tcolorbox/tcbraster.code.tex @@ -418,16 +981,12 @@ 2020/04/28 | 85438 | macros/latex/contrib/tcolorbox/tcolorbox.sty 2020/04/28 | 8512 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex 2020/04/28 | 84989 | macros/latex/contrib/tcolorbox/tcbskins.code.tex -2020/04/28 | 8490092 | systems/win32/w32tex/uptex-w32.tar.xz -2020/04/28 | 8468 | systems/texlive/tlnet/archive/context-vim.r54913.tar.xz 2020/04/28 | 838668 | systems/win32/w32tex/dvi2ps-w32.tar.xz 2020/04/28 | 8354 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex 2020/04/28 | 830804 | systems/win32/w32tex/ttf2pt1-w32.tar.xz -2020/04/28 | 82764 | systems/win32/w32tex/win64/cweb-w64.tar.xz 2020/04/28 | 818536 | systems/win32/w32tex/ttf2pk-w32.tar.xz 2020/04/28 | 8118 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex 2020/04/28 | 810820 | systems/win32/w32tex/win64/aleph-w64.tar.xz -2020/04/28 | 80601424 | systems/win32/w32tex/pgfcontrib.tar.xz 2020/04/28 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc 2020/04/28 | 800220 | systems/win32/w32tex/win64/lcdf-typetools-w64.tar.xz 2020/04/28 | 796972 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz @@ -437,7 +996,6 @@ 2020/04/28 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png 2020/04/28 | 7628 | fonts/utilities/fontools/bin/splitttc 2020/04/28 | 759516 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz -2020/04/28 | 7576 | systems/texlive/tlnet/archive/context-vim.doc.r54913.tar.xz 2020/04/28 | 755233 | macros/latex/required/babel/base/locale.zip 2020/04/28 | 750088 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz 2020/04/28 | 7392 | macros/latex/required/babel/base/babel.ins @@ -452,12 +1010,9 @@ 2020/04/28 | 6656 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty 2020/04/28 | 6484 | systems/texlive/tlnet/archive/context-filter.r54912.tar.xz 2020/04/28 | 647028 | macros/latex/required/babel/base/babel.dtx -2020/04/28 | 6452984 | systems/win32/w32tex/ptex-ng-w32.tar.xz 2020/04/28 | 6424 | macros/latex/contrib/tcolorbox/tcolorbox.doc.beamer.tex 2020/04/28 | 6386 | macros/latex/contrib/tcolorbox/tcolorbox.doc.recording.tex -2020/04/28 | 636581 | systems/win32/w32tex/ChangeLog 2020/04/28 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png -2020/04/28 | 6280968 | systems/win32/w32tex/win64/pdftex-w64.tar.xz 2020/04/28 | 62648 | macros/latex/contrib/hu-berlin-bundle/hu-berlin-bundle.dtx 2020/04/28 | 6140897 | macros/latex/contrib/tcolorbox.zip 2020/04/28 | 6129 | macros/latex/contrib/translations/dicts/translations-basic-dictionary-catalan.trsl @@ -483,8 +1038,6 @@ 2020/04/28 | 518456 | systems/texlive/tlnet/archive/scratch3.doc.r54916.tar.xz 2020/04/28 | 517756 | systems/win32/w32tex/psutils-w32.tar.xz 2020/04/28 | 500132 | macros/latex/contrib/translations/translations_en.pdf -2020/04/28 | 49713320 | systems/win32/w32tex/xetex-w32.tar.xz -2020/04/28 | 4933316 | systems/win32/w32tex/aleph-w32.tar.xz 2020/04/28 | 48588 | systems/texlive/tlnet/tlpkg/installer/config.guess 2020/04/28 | 483852 | systems/win32/w32tex/dvi2tty-w32.tar.xz 2020/04/28 | 4653112 | systems/win32/w32tex/dvipdfm-w32.tar.xz @@ -495,16 +1048,11 @@ 2020/04/28 | 442583 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf 2020/04/28 | 44097 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex 2020/04/28 | 439176 | systems/win32/w32tex/mftools.tar.xz -2020/04/28 | 43894756 | systems/win32/w32tex/web2c-w32.tar.xz 2020/04/28 | 431044 | systems/win32/w32tex/win64/mftools-w64.tar.xz 2020/04/28 | 42907 | macros/latex/contrib/translations/translations.sty 2020/04/28 | 419676 | systems/win32/w32tex/win64/tex4htk-w64.tar.xz 2020/04/28 | 407132 | systems/win32/w32tex/win64/omegaj-w64.tar.xz -2020/04/28 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r54903.tar.xz 2020/04/28 | 386172 | systems/win32/w32tex/win64/psutils-w64.tar.xz -2020/04/28 | 3848936 | systems/win32/w32tex/luajittex-dev-w32.tar.xz -2020/04/28 | 3846764 | systems/win32/w32tex/luajittex-w32.tar.xz -2020/04/28 | 3837072 | systems/win32/w32tex/luajittex-exp-w32.tar.xz 2020/04/28 | 38317 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex 2020/04/28 | 376324 | systems/win32/w32tex/win64/mftrace-w64.tar.xz 2020/04/28 | 3760 | macros/latex/contrib/hu-berlin-bundle/makefile @@ -518,11 +1066,9 @@ 2020/04/28 | 3478432 | systems/win32/w32tex/win64/luajittex-dev-w64.tar.xz 2020/04/28 | 3472748 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz 2020/04/28 | 3465712 | systems/win32/w32tex/win64/luajittex-w64.tar.xz -2020/04/28 | 34520780 | systems/win32/w32tex/ltxpkgs.tar.xz 2020/04/28 | 3448 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex 2020/04/28 | 343797 | macros/latex/contrib/hu-berlin-bundle.zip 2020/04/28 | 3412 | macros/latex/contrib/tcolorbox/tcblistings.code.tex -2020/04/28 | 3388432 | systems/win32/w32tex/win64/web2c-w64.tar.xz 2020/04/28 | 33368 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex 2020/04/28 | 332620 | systems/texlive/tlnet/archive/simplekv.doc.r54915.tar.xz 2020/04/28 | 32893 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex @@ -562,36 +1108,27 @@ 2020/04/28 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png 2020/04/28 | 21932 | macros/latex/required/babel/base/bbcompat.dtx 2020/04/28 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png -2020/04/28 | 2116608 | systems/win32/w32tex/win64/context-w64.tar.xz 2020/04/28 | 2065340 | systems/texlive/tlnet/archive/chemfig.doc.r54914.tar.xz -2020/04/28 | 20648312 | systems/win32/w32tex/pdftex-w32.tar.xz 2020/04/28 | 20529 | fonts/utilities/fontools/doc/splitttc.pdf 2020/04/28 | 20274 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex 2020/04/28 | 20178 | macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex 2020/04/28 | 19944 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex 2020/04/28 | 195706 | fonts/utilities/fontools.zip 2020/04/28 | 1880560 | systems/win32/w32tex/win64/ptex-w64.tar.xz -2020/04/28 | 1833312 | systems/win32/w32tex/jtex-w32.tar.xz 2020/04/28 | 1806968 | systems/win32/w32tex/win64/uptex-w64.tar.xz 2020/04/28 | 17997 | fonts/utilities/fontools/GPLv2.txt -2020/04/28 | 17957136 | systems/win32/w32tex/luatex-exp-w32.tar.xz -2020/04/28 | 17955192 | systems/win32/w32tex/luatex-dev-w32.tar.xz -2020/04/28 | 17947624 | systems/win32/w32tex/luatex-w32.tar.xz 2020/04/28 | 175350 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex 2020/04/28 | 17345708 | systems/win32/w32tex/gregorio-w32.tar.xz 2020/04/28 | 1700101 | macros/latex/required/babel/base.zip 2020/04/28 | 1689700 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz 2020/04/28 | 164925 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex 2020/04/28 | 1645 | macros/latex/contrib/translations/README -2020/04/28 | 161528 | systems/texlive/tlnet/archive/texlive-docindex.doc.r54903.tar.xz -2020/04/28 | 1600068 | systems/win32/w32tex/makeindex-w32.tar.xz 2020/04/28 | 15166 | macros/latex/contrib/tcolorbox/pink_marble.png 2020/04/28 | 14903 | macros/latex/contrib/hu-berlin-bundle/img/texografie-logo.pdf 2020/04/28 | 148 | macros/latex/contrib/tcolorbox/tcolorbox.doc.references.tex 2020/04/28 | 14602 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex 2020/04/28 | 14415 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex 2020/04/28 | 1412 | macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex -2020/04/28 | 139818672 | systems/win32/w32tex/context.tar.xz 2020/04/28 | 13905 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex 2020/04/28 | 13613 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex 2020/04/28 | 13334 | fonts/utilities/fontools/bin/afm2afm @@ -604,9 +1141,6 @@ 2020/04/28 | 112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.index.tex 2020/04/28 | 11163 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty 2020/04/28 | 1106 | macros/latex/contrib/tcolorbox/tcolorbox.doc.picturecredits.tex -2020/04/28 | 10876356 | systems/win32/w32tex/win64/xetex-w64.tar.xz -2020/04/28 | 1070276 | systems/win32/w32tex/win64/makeindex-w64.tar.xz -2020/04/28 | 10478744 | systems/win32/w32tex/ptex-w32.tar.xz 2020/04/28 | 10328 | systems/texlive/tlnet/archive/context-filter.doc.r54912.tar.xz 2020/04/28 | 10004 | macros/latex/contrib/tcolorbox/tcbxparse.code.tex 2020/04/27 | 8905 | macros/generic/simplekv/simplekv.tex @@ -683,7 +1217,6 @@ 2020/04/26 | 9240 | fonts/sourcesanspro/fonts/SourceSansPro-Semibold-osf-ot1.tfm 2020/04/26 | 9204 | fonts/sourcesanspro/fonts/SourceSansPro-Semibold-lf-ot1.tfm 2020/04/26 | 91839 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test-references.bib -2020/04/26 | 916 | systems/texlive/tlnet/archive/biblatex-software.source.r54875.tar.xz 2020/04/26 | 9153 | macros/latex/contrib/biblatex-contrib/biblatex-apa/nynorsk-apa.lbx 2020/04/26 | 9143 | macros/latex/contrib/biblatex-contrib/biblatex-apa/brazilian-apa.lbx 2020/04/26 | 9137 | macros/latex/contrib/biblatex-contrib/biblatex-apa/norwegian-apa.lbx @@ -737,7 +1270,6 @@ 2020/04/26 | 8195 | macros/luatex/optex/slides.opm 2020/04/26 | 8164 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-osf-ot1.tfm 2020/04/26 | 8154 | macros/luatex/optex/fnotes.opm -2020/04/26 | 81523 | macros/xetex/latex/xepersian-hm/kashida-example.pdf 2020/04/26 | 8136 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-lf-ot1.tfm 2020/04/26 | 8136 | fonts/sourcesanspro/fonts/SourceSansPro-Black-tosf-ot1.tfm 2020/04/26 | 8136 | fonts/sourcesanspro/fonts/SourceSansPro-Black-tlf-ot1.tfm @@ -776,7 +1308,6 @@ 2020/04/26 | 7560 | fonts/sourcesanspro/fonts/SourceSansPro-BoldIt-tlf-ot1.tfm 2020/04/26 | 7556 | fonts/sourcesanspro/fonts/SourceSansPro-BoldIt-tosf-ot1.tfm 2020/04/26 | 754 | systems/stanford/pkware/README -2020/04/26 | 75419 | macros/xetex/latex/xepersian-hm/xepersian-hm.pdf 2020/04/26 | 7512 | fonts/sourcesanspro/fonts/SourceSansPro-Regular-tosf-sc-ot1.tfm 2020/04/26 | 7472 | fonts/sourcesanspro/fonts/SourceSansPro-BlackIt-osf-ot1.tfm 2020/04/26 | 7472 | fonts/sourcesanspro/fonts/SourceSansPro-BlackIt-lf-ot1.tfm @@ -1173,7 +1704,6 @@ 2020/04/26 | 29592 | fonts/sourcesanspro/fonts/SourceSansPro-Light-tlf-sc-lgr.tfm 2020/04/26 | 2957 | fonts/comicneue/fonts/a_upn2ip.enc 2020/04/26 | 2956 | fonts/sourcesanspro/fonts/a_kjpvhx.enc -2020/04/26 | 2955 | macros/xetex/latex/xepersian-hm/kashida-example.tex 2020/04/26 | 295500 | fonts/sourcesanspro/fonts/SourceSansPro-Black.otf 2020/04/26 | 2940 | fonts/comicneue/fonts/ComicNeue-Italic-tlf-ot1.tfm 2020/04/26 | 29320 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-osf-lgr.tfm @@ -1196,7 +1726,6 @@ 2020/04/26 | 28968 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-tlf-lgr.tfm 2020/04/26 | 28952 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-tosf-sc-lgr.tfm 2020/04/26 | 2878 | fonts/comicneue/fonts/a_trnund.enc -2020/04/26 | 287484 | systems/texlive/tlnet/archive/biblatex-software.doc.r54875.tar.xz 2020/04/26 | 28728 | fonts/sourcesanspro/fonts/SourceSansPro-BoldIt-tlf-lgr.tfm 2020/04/26 | 28724 | fonts/sourcesanspro/fonts/SourceSansPro-BoldIt-tosf-lgr.tfm 2020/04/26 | 28628 | fonts/sourcesanspro/fonts/SourceSansPro-BlackIt-lf-lgr.tfm @@ -1210,8 +1739,6 @@ 2020/04/26 | 282200 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight.otf 2020/04/26 | 27948 | fonts/sourcesanspro/fonts/SourceSansPro-Semibold-osf-ly1.tfm 2020/04/26 | 27916 | fonts/sourcesanspro/fonts/SourceSansPro-Semibold-lf-ly1.tfm -2020/04/26 | 2788 | systems/texlive/tlnet/archive/biblatex-software.r54875.tar.xz -2020/04/26 | 27642 | macros/xetex/latex/xepersian-hm/xepersian-hm.dtx 2020/04/26 | 275939 | fonts/sourcesanspro/fonts/SourceSansPro-SemiboldIt.pfb 2020/04/26 | 27444 | fonts/sourcesanspro/fonts/SourceSansPro-Regular-osf-ly1.tfm 2020/04/26 | 27424 | fonts/sourcesanspro/fonts/SourceSansPro-Semibold-tosf-ly1.tfm @@ -1394,7 +1921,6 @@ 2020/04/26 | 1884 | fonts/sourcesanspro/fonts/SourceSansPro-LightIt-osf-ly1--base.tfm 2020/04/26 | 1884 | fonts/sourcesanspro/fonts/SourceSansPro-It-numr-t1.tfm 2020/04/26 | 1884 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLightIt-sup-ly1--base.tfm -2020/04/26 | 1883 | macros/xetex/latex/xepersian-hm/xepersian-hm.ins 2020/04/26 | 18832 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.cbx 2020/04/26 | 18813 | macros/luatex/optex/graphics.opm 2020/04/26 | 1880 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLightIt-sup-t1.tfm @@ -2199,7 +2725,6 @@ 2020/04/26 | 1588 | fonts/sourcesanspro/fonts/SourceSansPro-Bold-sup-lgr--base.tfm 2020/04/26 | 1584 | fonts/sourcesanspro/fonts/SourceSansPro-Black-inf-lgr.tfm 2020/04/26 | 1584 | fonts/sourcesanspro/fonts/SourceSansPro-Black-inf-lgr--base.tfm -2020/04/26 | 158398 | macros/xetex/latex/xepersian-hm.zip 2020/04/26 | 1580 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-lf-sc-lgr--base.tfm 2020/04/26 | 1580 | fonts/sourcesanspro/fonts/SourceSansPro-ExtraLight-lf-lgr--base.tfm 2020/04/26 | 1580 | fonts/sourcesanspro/fonts/SourceSansPro-Black-dnom-lgr.tfm @@ -2452,7 +2977,6 @@ 2020/04/26 | 1232 | fonts/sourcesanspro/fonts/SourceSansPro-Black-numr-ot1.tfm 2020/04/26 | 1232 | fonts/sourcesanspro/fonts/SourceSansPro-Black-inf-ot1.tfm 2020/04/26 | 1232 | fonts/sourcesanspro/fonts/SourceSansPro-Black-dnom-ot1.tfm -2020/04/26 | 1230 | macros/xetex/latex/xepersian-hm/README.txt 2020/04/26 | 12305 | macros/latex/contrib/biblatex-contrib/biblatex-apa/nswissgerman-apa.lbx 2020/04/26 | 12297 | macros/latex/contrib/biblatex-contrib/biblatex-apa/naustrian-apa.lbx 2020/04/26 | 12281 | macros/latex/contrib/biblatex-contrib/biblatex-apa/austrian-apa.lbx @@ -2488,12 +3012,10 @@ 2020/04/25 | 931 | macros/latex/contrib/biblatex-contrib/biblatex-software/LICENSE 2020/04/25 | 9231 | macros/luatex/optex/math-preload.opm 2020/04/25 | 9000 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty -2020/04/25 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png 2020/04/25 | 86852 | systems/texlive/tlnet/archive/pxjahyper.doc.r54863.tar.xz 2020/04/25 | 848530 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf 2020/04/25 | 8467 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex 2020/04/25 | 83630 | macros/latex/contrib/animate/animate.tex -2020/04/25 | 83272 | language/japanese/pxjahyper/pxjahyper.pdf 2020/04/25 | 822678 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf 2020/04/25 | 819233 | macros/latex/contrib/knowledge.zip 2020/04/25 | 815850 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf @@ -2502,7 +3024,6 @@ 2020/04/25 | 755 | macros/latex/contrib/biblatex-contrib/biblatex-software/english-software.lbx 2020/04/25 | 7553 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty 2020/04/25 | 729897 | macros/latex/contrib/knowledge/knowledge.pdf -2020/04/25 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps 2020/04/25 | 6914959 | macros/latex/contrib/tuda-ci.zip 2020/04/25 | 688 | macros/latex/contrib/kvmap/README.md 2020/04/25 | 687625 | fonts/libertinus-otf/doc/libertinus-otf-doc.pdf @@ -2521,7 +3042,6 @@ 2020/04/25 | 58704 | fonts/libertinus-otf/doc/libertinus-otf-doc.tex 2020/04/25 | 586726 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf 2020/04/25 | 5861 | macros/luatex/optex/alloc.opm -2020/04/25 | 5839 | language/japanese/pxjahyper/pxjahyper.tex 2020/04/25 | 583232 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf 2020/04/25 | 5817 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex 2020/04/25 | 574095 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf @@ -2542,7 +3062,6 @@ 2020/04/25 | 4328 | macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty 2020/04/25 | 411130 | systems/win32/miktex/tm/packages/embedfile.tar.lzma 2020/04/25 | 408 | fonts/libertinus-otf/README.md -2020/04/25 | 3929576 | systems/win32/w32tex/texinfo-w32.tar.xz 2020/04/25 | 392868 | systems/texlive/tlnet/archive/embedfile.doc.r54865.tar.xz 2020/04/25 | 3927 | macros/luatex/optex/optex.ini 2020/04/25 | 3911070 | macros/latex/contrib/animate/animate.pdf @@ -2550,27 +3069,19 @@ 2020/04/25 | 36582 | macros/latex/contrib/tuda-ci/tex/tudapub.cls 2020/04/25 | 3622 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco 2020/04/25 | 359 | macros/latex/contrib/biblatex-contrib/biblatex-software/stublist -2020/04/25 | 3593178 | install/macros/latex/contrib/lwarp.tds.zip -2020/04/25 | 35850 | language/japanese/pxjahyper/pxjahyper.sty 2020/04/25 | 3300 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty 2020/04/25 | 3235087 | install/macros/latex/contrib/animate.tds.zip 2020/04/25 | 3232815 | macros/latex/contrib/animate.zip -2020/04/25 | 3105406 | macros/latex/contrib/lwarp.zip 2020/04/25 | 30508 | macros/latex/contrib/kvmap/kvmap.dtx 2020/04/25 | 303384 | systems/texlive/tlnet/archive/picture.doc.r54867.tar.xz -2020/04/25 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt 2020/04/25 | 2931 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex -2020/04/25 | 28778 | macros/latex/contrib/lwarp/lwarpmk.lua -2020/04/25 | 28197 | macros/latex/contrib/lwarp/lwarp.ins 2020/04/25 | 2788 | macros/latex/contrib/biblatex-contrib/biblatex-software/README.md 2020/04/25 | 2724 | systems/texlive/tlnet/archive/changelog.r54864.tar.xz -2020/04/25 | 2701656 | macros/latex/contrib/lwarp/lwarp.pdf 2020/04/25 | 26432416 | systems/win32/miktex/source/miktex-2.9.7400.tar.xz 2020/04/25 | 2614 | macros/latex/contrib/knowledge/makefile 2020/04/25 | 2565 | macros/latex/contrib/biblatex-contrib/biblatex-software/sample.tex 2020/04/25 | 25167 | fonts/libertinus-otf/latex/libertinus-otf.sty 2020/04/25 | 24286148 | systems/win32/miktex/tm/packages/willowtreebook.tar.lzma -2020/04/25 | 24248 | language/japanese/pxjahyper/pxjahyper-ajm.def 2020/04/25 | 24221768 | systems/texlive/tlnet/archive/willowtreebook.doc.r54866.tar.xz 2020/04/25 | 2368 | language/japanese/jlreq-deluxe/tfm/bzjlreq--upnmlminr-v.tfm 2020/04/25 | 2368 | language/japanese/jlreq-deluxe/tfm/bzjlreq--upnmlminrn-v.tfm @@ -2685,7 +3196,6 @@ 2020/04/25 | 2340 | language/japanese/jlreq-deluxe/tfm/zjlreq--upexpgothbn-v.tfm 2020/04/25 | 2340 | language/japanese/jlreq-deluxe/tfm/zjlreq--upexpgothbn-h.tfm 2020/04/25 | 2340 | language/japanese/jlreq-deluxe/tfm/zjlreq--upexpgothb-h.tfm -2020/04/25 | 2334375 | macros/latex/contrib/lwarp/lwarp.dtx 2020/04/25 | 2332 | language/japanese/jlreq-deluxe/tfm/bjlreq--upnmlminr-v.tfm 2020/04/25 | 2332 | language/japanese/jlreq-deluxe/tfm/bjlreq--upnmlminrn-v.tfm 2020/04/25 | 2332 | language/japanese/jlreq-deluxe/tfm/bjlreq--upnmlminrn-h.tfm @@ -2801,7 +3311,6 @@ 2020/04/25 | 2304 | language/japanese/jlreq-deluxe/tfm/jlreq--upexpgothb-h.tfm 2020/04/25 | 23021 | macros/luatex/optex/parameters.opm 2020/04/25 | 2300 | systems/texlive/tlnet/archive/picture.r54867.tar.xz -2020/04/25 | 2235 | language/japanese/pxjahyper/README-ja.md 2020/04/25 | 2227 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty 2020/04/25 | 2175 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty 2020/04/25 | 2097 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex @@ -3048,7 +3557,6 @@ 2020/04/25 | 1668 | macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo 2020/04/25 | 164948 | systems/texlive/tlnet/archive/changelog.doc.r54864.tar.xz 2020/04/25 | 1639083 | systems/win32/miktex/tm/packages/garamond-libre.tar.lzma -2020/04/25 | 1623 | macros/latex/contrib/lwarp/README.txt 2020/04/25 | 161813 | macros/latex/contrib/knowledge/knowledge.tex 2020/04/25 | 159871 | macros/latex/contrib/knowledge/knowledge-code.dtx 2020/04/25 | 1588348 | language/japanese/jlreq-deluxe/vf/jlreq--upexpmgothrn-h.vf @@ -3506,111 +4014,9 @@ 2020/04/25 | 135531 | macros/latex/contrib/animate/animate.sty 2020/04/25 | 13340 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls 2020/04/25 | 13236 | systems/texlive/tlnet/archive/embedfile.source.r54865.tar.xz -2020/04/25 | 1224 | language/japanese/pxjahyper/README.md 2020/04/25 | 11663 | macros/latex/contrib/animate/ChangeLog 2020/04/25 | 1149383 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma 2020/04/25 | 110023 | macros/latex/contrib/kvmap/kvmap.pdf -2020/04/25 | 1091 | language/japanese/pxjahyper/LICENSE 2020/04/25 | 10474 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex 2020/04/25 | 10367 | macros/luatex/optex/table.opm 2020/04/25 | 100867 | systems/win32/miktex/tm/packages/pxjahyper.tar.lzma -2020/04/24 | 97896 | systems/texlive/tlnet/archive/tlcockpit.source.r54857.tar.xz -2020/04/24 | 956271 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf -2020/04/24 | 94217 | graphics/pgf/contrib/circuitikz/tex/pgfcirc.defines.tex -2020/04/24 | 938 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.tex -2020/04/24 | 900592 | systems/texlive/tlnet/archive/tex4ht.r54854.tar.xz -2020/04/24 | 890 | macros/latex/contrib/changelog/README.md -2020/04/24 | 841461 | graphics/pgf/contrib/circuitikz/tex/circuitikz-1.0.sty -2020/04/24 | 834142 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-1.0.tex -2020/04/24 | 8120 | macros/latex/contrib/changelog/changelog.sty -2020/04/24 | 7916 | systems/texlive/tlnet/archive/hyphen-spanish.source.r54857.tar.xz -2020/04/24 | 7749 | graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex -2020/04/24 | 761 | fonts/garamond-libre/COPYING -2020/04/24 | 758990 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.6.sty -2020/04/24 | 751663 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.6.tex -2020/04/24 | 7477 | graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex -2020/04/24 | 716 | systems/stanford/patgen/README -2020/04/24 | 71652184 | systems/texlive/tlnet/archive/tlcockpit.r54857.tar.xz -2020/04/24 | 690730 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.9.3.sty -2020/04/24 | 683433 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.9.3.tex -2020/04/24 | 678768 | fonts/garamond-libre/fonts/GaramondLibre-Regular.otf -2020/04/24 | 672912 | systems/texlive/tlnet/archive/pkfix-helper.doc.r54855.tar.xz -2020/04/24 | 65374 | systems/win32/miktex/tm/packages/tpic2pdftex.tar.lzma -2020/04/24 | 634920 | fonts/garamond-libre/fonts/GaramondLibre-Bold.otf -2020/04/24 | 617888 | fonts/garamond-libre/fonts/GaramondLibre-Italic.otf -2020/04/24 | 61192 | systems/texlive/tlnet/archive/tex4ht.doc.r54854.tar.xz -2020/04/24 | 6064 | systems/texlive/tlnet/archive/collection-latexextra.r54851.tar.xz -2020/04/24 | 59284 | graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex -2020/04/24 | 58213 | macros/latex/contrib/embedfile/embedfile.dtx -2020/04/24 | 5687 | graphics/pgf/contrib/circuitikz/doc/ctikzmanutils.sty -2020/04/24 | 55360 | systems/texlive/tlnet/archive/tikz-planets.doc.r54857.tar.xz -2020/04/24 | 47093 | macros/latex/contrib/changelog/changelog.pdf -2020/04/24 | 46195 | graphics/pgf/contrib/circuitikz/tex/pgfcircmonopoles.tex -2020/04/24 | 422268 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.8.3.sty -2020/04/24 | 4201 | macros/latex/contrib/willowtreebook/willowtreebook.tex -2020/04/24 | 418 | graphics/pgf/contrib/circuitikz/doc/compatibility.tex -2020/04/24 | 416850 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz-0.8.3.tex -2020/04/24 | 412474 | install/macros/latex/contrib/embedfile.tds.zip -2020/04/24 | 403539 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.7.sty -2020/04/24 | 403072 | macros/latex/contrib/embedfile.zip -2020/04/24 | 397270 | macros/latex/contrib/embedfile/embedfile.pdf -2020/04/24 | 393856 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.6.sty -2020/04/24 | 386 | macros/latex/contrib/willowtreebook/README -2020/04/24 | 364086 | graphics/pgf/contrib/circuitikz/tex/circuitikz-0.4.sty -2020/04/24 | 3590 | graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex -2020/04/24 | 34841 | graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex -2020/04/24 | 317756 | graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex -2020/04/24 | 3156 | graphics/pgf/contrib/circuitikz/README.md -2020/04/24 | 315068 | systems/texlive/tlnet/archive/epigraph.doc.r54857.tar.xz -2020/04/24 | 314994 | systems/win32/miktex/tm/packages/epigraph-keys.tar.lzma -2020/04/24 | 311424 | systems/texlive/tlnet/archive/epigraph-keys.doc.r54851.tar.xz -2020/04/24 | 311094 | systems/win32/miktex/tm/packages/picture.tar.lzma -2020/04/24 | 3102 | macros/luatex/optex/others.opm -2020/04/24 | 3098 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-legacy.tex -2020/04/24 | 30851 | graphics/pgf/contrib/circuitikz/tex/pgfcircshapes.tex -2020/04/24 | 2868 | systems/texlive/tlnet/archive/tikz-planets.r54857.tar.xz -2020/04/24 | 28646 | macros/luatex/optex/fonts-select.opm -2020/04/24 | 280 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-example.tex -2020/04/24 | 2710557 | fonts/garamond-libre.zip -2020/04/24 | 2544372 | fonts/garamond-libre/fonts/GaramondLibre-BoldItalic.otf -2020/04/24 | 24307 | systems/stanford/patgen.zip -2020/04/24 | 24264069 | macros/latex/contrib/willowtreebook.zip -2020/04/24 | 235397 | graphics/pgf/contrib/circuitikz/tex/pgfcirctripoles.tex -2020/04/24 | 23460 | graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex -2020/04/24 | 23453 | graphics/pgf/contrib/circuitikz/doc/changelog.tex -2020/04/24 | 2305 | graphics/pgf/contrib/circuitikz/tex/pgfcircutils.tex -2020/04/24 | 2000 | systems/texlive/tlnet/archive/epigraph.r54857.tar.xz -2020/04/24 | 194691 | graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex -2020/04/24 | 19106 | macros/latex/contrib/changelog/LICENSE.txt -2020/04/24 | 1875 | graphics/pgf/contrib/circuitikz/tex/ctikzstyle-romano.tex -2020/04/24 | 18620 | systems/texlive/tlnet/archive/pkfix-helper.r54855.tar.xz -2020/04/24 | 1836 | systems/texlive/tlnet/archive/epigraph-keys.r54851.tar.xz -2020/04/24 | 1820863 | install/graphics/pgf/contrib/circuitikz.tds.zip -2020/04/24 | 1808267 | graphics/pgf/contrib/circuitikz.zip -2020/04/24 | 17750 | graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf -2020/04/24 | 17641 | fonts/garamond-libre/doc/garamond-libre.tex -2020/04/24 | 17618 | macros/latex/contrib/willowtreebook/willowtreebook.cls -2020/04/24 | 176180 | macros/latex/contrib/changelog.zip -2020/04/24 | 175151 | systems/win32/miktex/tm/packages/emojicite.tar.lzma -2020/04/24 | 173308 | systems/texlive/tlnet/archive/emojicite.doc.r54857.tar.xz -2020/04/24 | 1722400 | systems/texlive/tlnet/archive/arara.doc.r54857.tar.xz -2020/04/24 | 1690 | fonts/garamond-libre/README -2020/04/24 | 16753 | macros/latex/contrib/changelog/example.pdf -2020/04/24 | 16504 | systems/texlive/tlnet/archive/hyphen-spanish.r54857.tar.xz -2020/04/24 | 16121073 | systems/win32/miktex/tm/packages/arara.tar.lzma -2020/04/24 | 145670 | fonts/garamond-libre/doc/garamond-libre.pdf -2020/04/24 | 14338296 | systems/texlive/tlnet/archive/arara.r54857.tar.xz -2020/04/24 | 14053 | graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex -2020/04/24 | 13983793 | macros/latex/contrib/willowtreebook/willowtreebook.pdf -2020/04/24 | 137093 | graphics/pgf/contrib/circuitikz/tex/pgfcircmultipoles.tex -2020/04/24 | 1316 | systems/texlive/tlnet/archive/emojicite.r54857.tar.xz -2020/04/24 | 128796 | systems/texlive/tlnet/archive/hyphen-spanish.doc.r54857.tar.xz -2020/04/24 | 12224 | macros/latex/contrib/changelog/changelog.tex -2020/04/24 | 121744 | macros/luatex/optex/uni-lcuc.opm -2020/04/24 | 10910 | graphics/pgf/contrib/circuitikz/tex/circuitikz.sty -2020/04/24 | 108064 | macros/latex/contrib/changelog/screenshot.png -2020/04/24 | 10580 | systems/texlive/tlnet/archive/epigraph.source.r54857.tar.xz -2020/04/24 | 103087 | language/japanese/pxjahyper.zip -2020/04/24 | 102980 | systems/texlive/tlnet/archive/arara.source.r54857.tar.xz -2020/04/24 | 1023876 | systems/texlive/tlnet/archive/tlcockpit.doc.r54857.tar.xz -2020/04/24 | 1020 | macros/latex/contrib/changelog/example.tex diff --git a/dviware/dvidvi/ChangeLog b/dviware/dvidvi/ChangeLog index 4ed58dad48..44c29fbb83 100644 --- a/dviware/dvidvi/ChangeLog +++ b/dviware/dvidvi/ChangeLog @@ -1,6 +1,12 @@ +2020-05-02 TANAKA Takuji <ttk@t-lab.opal.ne.jp> + + * configure.ac, config.h.in, dvidvi.c: + Add TL version to banner and bug report address to usage. + * tests/playout.2, tests/playout.3: Adapt. + 2018-05-16 Akira Kakuto <kakuto@fuk.kindai.ac.jp> - * tests/palyout.2, tests/palyout.3: Adapt. + * tests/playout.2, tests/playout.3: Adapt. 2018-05-15 Karl Berry <karl@freefriends.org> diff --git a/dviware/dvidvi/config.h.in b/dviware/dvidvi/config.h.in index 60c484e6ee..4bacecd3cf 100644 --- a/dviware/dvidvi/config.h.in +++ b/dviware/dvidvi/config.h.in @@ -127,6 +127,9 @@ /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS +/* Define to the current TeX Live version string. */ +#undef TL_VERSION + /* Version number of package */ #undef VERSION diff --git a/dviware/dvidvi/configure.ac b/dviware/dvidvi/configure.ac index 5524d5cd0a..82b2064b6a 100644 --- a/dviware/dvidvi/configure.ac +++ b/dviware/dvidvi/configure.ac @@ -17,6 +17,10 @@ KPSE_COMMON([dvidvi]) AC_CONFIG_HEADERS([config.h]) +m4_include([../../version.ac])[] dnl define tex_live_version +AC_DEFINE([TL_VERSION], ["TeX Live tex_live_version()"], + [Define to the current TeX Live version string.]) + # We don't use libpathsea, so add '-DNO_DEBUG' not to overload fopen. KPSE_KPATHSEA_FLAGS([no-debug]) KPSE_COND_WIN32 diff --git a/dviware/dvidvi/configure.texk b/dviware/dvidvi/configure.texk index 1b1a8c8015..e01e71e79a 100755 --- a/dviware/dvidvi/configure.texk +++ b/dviware/dvidvi/configure.texk @@ -741,6 +741,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -827,6 +828,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1079,6 +1081,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1216,7 +1227,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1369,6 +1380,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -12686,7 +12698,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -12732,7 +12744,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -12756,7 +12768,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -12801,7 +12813,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -12825,7 +12837,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -13469,6 +13481,11 @@ fi ac_config_headers="$ac_config_headers config.h" + + +$as_echo "#define TL_VERSION \"TeX Live 2021/dev\"" >>confdefs.h + + # We don't use libpathsea, so add '-DNO_DEBUG' not to overload fopen. kpse_save_CPPFLAGS=$CPPFLAGS kpse_save_LIBS=$LIBS diff --git a/dviware/dvidvi/dvidvi.c b/dviware/dvidvi/dvidvi.c index a48890338f..86988cce8e 100644 --- a/dviware/dvidvi/dvidvi.c +++ b/dviware/dvidvi/dvidvi.c @@ -34,8 +34,10 @@ #define SEEK_CUR 1 #define SEEK_END 2 -#define BANNER "\nThis is dvidvi 1.1, Copyright 1988-1991 Radical Eye Software\n" \ +#define BANNER "\nThis is dvidvi " VERSION " (" TL_VERSION ")," \ + " Copyright 1988-1991 Radical Eye Software\n" \ "Improved from 1.0 to 1.1, 1994, Markus Kohm\n" +#define BUG_ADDRESS PACKAGE_BUGREPORT #define STRINGSIZE (500L) /* maximum number of strings in program */ #ifdef HAVE_CONFIG_H @@ -359,6 +361,7 @@ static void usage(void) { (void)fprintf(stderr," [-q] quiet mode [-r] reverse pages\n"); (void)fprintf(stderr," [-m modulo:pagespecs] [-j] jumping pages\n"); (void)fprintf(stderr," [-p pagemodulo]\n"); + (void)fprintf(stderr,"\nEmail bug reports to %s.\n", BUG_ADDRESS); #ifndef VMS exit(1) ; #else /* VMS */ diff --git a/dviware/dvidvi/tests/playout.2 b/dviware/dvidvi/tests/playout.2 index 891e526906..5d014b465d 100644 --- a/dviware/dvidvi/tests/playout.2 +++ b/dviware/dvidvi/tests/playout.2 @@ -1,5 +1,5 @@ -This is dvidvi 1.1, Copyright 1988-1991 Radical Eye Software +This is dvidvi 1.1 (TeX Live 2021/dev), Copyright 1988-1991 Radical Eye Software Improved from 1.0 to 1.1, 1994, Markus Kohm play.dvi -> playout.dvi [5] [12] [9] [8] [13] diff --git a/dviware/dvidvi/tests/playout.3 b/dviware/dvidvi/tests/playout.3 index ec694bb5c0..37c9ab793d 100644 --- a/dviware/dvidvi/tests/playout.3 +++ b/dviware/dvidvi/tests/playout.3 @@ -1,5 +1,5 @@ -This is dvidvi 1.1, Copyright 1988-1991 Radical Eye Software +This is dvidvi 1.1 (TeX Live 2021/dev), Copyright 1988-1991 Radical Eye Software Improved from 1.0 to 1.1, 1994, Markus Kohm playtate.dvi -> playout.dvi [5] [12] [9] [8] [13] diff --git a/graphics/circuit_macros/CHANGES b/graphics/circuit_macros/CHANGES index 8713597bf9..5427774e17 100644 --- a/graphics/circuit_macros/CHANGES +++ b/graphics/circuit_macros/CHANGES @@ -1,5 +1,10 @@ CHANGES +Version 9.2.x: New macro ACsymbol, Proxim, Magn, options for mosfet, ground, + microphone, consource. Bugfix for the source macro. Tweaked examples, + macro svg_font. Added a short discussion of integrated circuits + and connectors. Removed compression of the manual to restore broken + internal links. Version 9.2: New options for macros contact, dswitch, FlipFlop, FlipFlopX. New macros pvcell, contacts, relaycoil. Modified cbreaker and relay. New file Licence.txt. Change from siunits to siunitx.sty. @@ -10,12 +15,14 @@ Version 9.1: Corrected two examples; added others including vacuum tubes. Version 9.0: Tweaked svg_sub, svg_sup, lamp. New macros cm__, px__. New option for source. Obsolete Autologic and stackpromote_ removed. Version 8.9: Tweaked lswitch, contact, rotbox, parallel_, darrow. - Uniform open-arrowhead option for diode, thyristor. New macros reed, lamp. + Uniform open-arrowhead option for diode, thyristor. New macros reed, + lamp. Version 8.8: Tweaks for source macro. Change to svg.m4 for compatibility with dpic Version 2018.05.15 or later. Macros for embedding pic diagrams into Tikz pictures. Changed the name of the manual from CMman.pdf to Circuit_macros.pdf. Option for dswitch. -Version 8.7: Fixes for more robust nested macros and SVG color. Options for +Version 8.7: Fixes for more robust nested macros and SVG color. Options +for the source macro. Version 8.6: Options for switch, lswitch. Simplified Quick Start section of the manual. Added WARNING to m4 output for default configuration @@ -33,21 +40,23 @@ Version 8.3: A simpler CTAN distribution and several examples reworked for Version 8.2: Tweaks to round, bi_tr, bi_trans, Darlington, along_. New Along_, lin_ang, mitre_. Version 8.1: Additions to dpictools.pic. New macros parallel_, rgbstring, - series_, stackdo_, Vsprod, sbs, scs, sus. Options for diode. - Thyristor options and minor changes of functionality. Bugfix in winding macro. -Version 8.0: New options for capacitor, cbreaker, diode, inductor, lswitch, Mux, - resistor, rotbox, transformer. New macros addtaps, binary_, Demux, Header, - HeaderPin, hex_digit, hexadecimal_, Pr_xy, Pr_xz, Pr_yz, SQUID, KelvinR, - FTcap, tconn, and tapped. - Tweaked setrgb for svg output. Generalized setview in lib3D. + series_, stackdo_, Vsprod, sbs, scs, sus. Options for diode. Thyristor + options and minor changes of functionality. Bugfix in winding macro. +Version 8.0: New options for capacitor, cbreaker, diode, inductor, +lswitch, Mux, + resistor, rotbox, transformer. New macros addtaps, binary_, Demux, + Header, HeaderPin, hex_digit, hexadecimal_, Pr_xy, Pr_xz, Pr_yz, SQUID, + KelvinR, FTcap, tconn, and tapped. Tweaked setrgb for svg output. + Generalized setview in lib3D. Version 7.9: Added accessibility features to the documentation. Replaced Autologic with Autologix to allow multiple outputs and simplified expressions. New macros savem4dir, restorem4dir. Options for vperp and Vperp. Bug fix in source macro. Tweaked stacksplit_. Removed a name clash between libcct and liblog. -Version 7.8: Logic gate options for arbitrary negated inputs; lg_pin options. - New macro FlipFlopX for simplicity and generality; new macros Cintersect, - LCintersect, LCtangent, stacksplit_; modified Loopover_. +Version 7.8: Logic gate options for arbitrary negated inputs; lg_pin +options. + New macro FlipFlopX for simplicity and generality; new macros + Cintersect, LCintersect, LCtangent, stacksplit_; modified Loopover_. Version 7.7: SVG macro tweaks. Tweaked BOX_gate and bugfix in IOdefs in liblog.m4. Version 7.6: New macro NPDT; new option for contact and relay; Autologic @@ -62,11 +71,13 @@ Version 7.5: Usage has been simplified by making the initialization macros in composite macros. Bugfix in calls to BUFFER_gen. Tweaked Point_ for simpler output for common arguments. Reordered the arguments of round for consistency. -Version 7.4: New macro lthick. Simplified shadebox. The ifroff macro renamed - to iftpic. New configuration file m4defaults.m4. Reworked darrow library - for consistency with solid lines and arrows; new macro darc and wrappers - Darc, Darrow, Dline; old version included in olddarrow.m4 to ease transition. - Macros and examples fixed and made more robust for gpic (where possible). +Version 7.4: New macro lthick. Simplified shadebox. The ifroff macro +renamed + to iftpic. New configuration file m4defaults.m4. Reworked darrow + library for consistency with solid lines and arrows; new macro darc and + wrappers Darc, Darrow, Dline; old version included in olddarrow.m4 to + ease transition. Macros and examples fixed and made more robust for + gpic (where possible). Version 7.3: Options for sinusoid. Bug fix for switch(,,D). Heater macro. Modified Loopover_ Version 7.2: Tweaked crossover macro. Size options for inductor, resistor, @@ -90,16 +101,16 @@ Version 6.6: New macros memristor, centerline. Revised PSTricks patch. Options in mosfet, capacitor. Opamp .C defined. Tweaks to avoid potential name conflicts. Fix for dashline. Version 6.5: New macros Loopover_, m4xpand, showbox_, gyrator, norator, - nullator, nterm, rotellipse, rotbox. Logic gate examples. - Customization arguments for non-2-terminal elements. Signal - flow-graph macros tuned to allow large nodes; bug fix in sfgarc. A - patch for PSTricks to work around the context dependency of \psbezier - within \pscustom. + nullator, nterm, rotellipse, rotbox. Logic gate examples. Customization + arguments for non-2-terminal elements. Signal flow-graph macros tuned + to allow large nodes; bug fix in sfgarc. A patch for PSTricks to work + around the context dependency of \psbezier within \pscustom. Version 6.4: New macros Equidist3, f_box, rs_box, Darlington, View3D. Options for diode, inductor, transformer, consource. Moved arrowhead initialization in pstricks.m4 and libcct.m4 for for more flexibility with diagrams embedded in latex files. -Version 6.3: New options for mosfet, diode, earphone. Better color support. +Version 6.3: New options for mosfet, diode, earphone. Better color +support. Fixed system-dependent OR_gate problems. New macro cintersect. Version 6.2: Replaced scr with a variant of thyristor. Bug fix in bi_trans. Options for source. @@ -108,14 +119,18 @@ Version 6.1: New macros ttmotor, thyristor. Options for source, bi_trans, Version 6.0: TikZ PGF compatibility. Added transformer labels, optional FlipFlop labels. New macros dswitch, winding. Tweaked nport, source, bi_trans, AND_gen, OR_gen, sinusoid, resistor. -Version 5.9: Simplified internal flags for pic processor and postprocessor. +Version 5.9: Simplified internal flags for pic processor and +postprocessor. New antenna, cbreaker, dturn, and lbox macros. Several changes to allow sprintf string arguments. New options for buzzer, capacitor, dimension_, ebox, fuse, mosfet, source, and switch. Fix of drjust. - Better compatibility with pic macros. Numerous changes to documentation. -Version 5.8: Simplified installation. Revised and augmented logic-gate library. - Cleaner libgen macro output. Improved b_current, bi_trans, ground, dtee. - Dline and darrow corrected for gpic. New macros dashline, m4xtract. + Better compatibility with pic macros. Numerous changes to + documentation. +Version 5.8: Simplified installation. Revised and augmented logic-gate +library. + Cleaner libgen macro output. Improved b_current, bi_trans, ground, + dtee. Dline and darrow corrected for gpic. New macros dashline, + m4xtract. Version 5.7: Psfrag examples. Improved dline. Added option and label in igbt. Bug fix in tr_xy. Multiple-emitter option in bi_trans. Version 5.6: Better MetaPost, PDFLaTeX, and xfig support. PDF examples. @@ -125,7 +140,8 @@ Version 5.6: Better MetaPost, PDFLaTeX, and xfig support. PDF examples. microphone, buzzer. Negated logic gate inputs and IEEE box logic gates. Version 5.5: New macros potentiometer, variable, igbt, tline. Optional negated logic gate inputs. Options for diode, source. -Version 5.4: New Mux, for_, arca. Reworked gate macros FlipFlop, AND_gate, +Version 5.4: New Mux, for_, arca. Reworked gate macros FlipFlop, +AND_gate, OR_gate, NOT_gate. Improved lg_pintxt, boxdim, s_box, s_ht, s_wd, s_dp, nport, resistor, opamp. Completely reworked bi_tr, mosfet; deleted smosfet. Minor additions and changes to the manual. @@ -133,52 +149,58 @@ Version 5.3: New macros arcr, arcd, beginshade, endshade, larrow, rarrow, s_sp, s_ht, s_wd, Max, Min, sfgself. Improved ground, sfgnode, diode, resistor. Version 5.2: New macros arrowline, nport, vlength, boxcoord, reversed. - Improved s_box, sfg_init, cross, fitcurve, sinusoid, transformer, darrow, - mosfet, psset_, battery, diode, capacitor. + Improved s_box, sfg_init, cross, fitcurve, sinusoid, transformer, + darrow, mosfet, psset_, battery, diode, capacitor. Version 5.1: Signal-flow graph (directed graph) macros. More consistent rot3Dz. Work-around for a bug in some pic processors invoked by the battery macro and for an arc instability invoked by the fuse macro. Modified ground, dimension_, par_, label macros, b_current, diode, - transformer. New macros gpar_, ujt, scr, contact, relay. - Document fixes and additions. Changes to examples for portability. -Version 5.0: Macros fuse, lpop, sinc; dpic-only sinusoid and fitcurve macros. + transformer. New macros gpar_, ujt, scr, contact, relay. Document + fixes and additions. Changes to examples for portability. +Version 5.0: Macros fuse, lpop, sinc; dpic-only sinusoid and fitcurve +macros. More robust mosfet, smosfet, b_current, bi_tr, j_fet, intersect_. Editorial changes to the manual. Examples in Xfig version 3.2 format. Web-based examples and updated links. -Version 4.9: More robust NOT_gate. Function pmod(), macro shade(). Tweaks - to diode, dend, crossover. Newer manual and web references. Binary - tree and flowchart macros. +Version 4.9: More robust NOT_gate. Function pmod(), macro shade(). +Tweaks + to diode, dend, crossover. Newer manual and web references. Binary tree + and flowchart macros. Version 4.8: More robust ebox, source, shadebox, gap. Modified d_fet and - e_fet. Macros mosfet and smosfet. More examples in the manual. Bug - fixes in Fector, transformer, BUFFER_gate and in sum_, abs_, neg_, sign_ (!). -Version 4.7: Fixed the excess-space bug in boxdims.sty. Added Macros s_box, - s_init, scale changes to make the package more metric-friendly. Reworked - amp, integrator, opamp, diode, battery and a few other macros for robustness - and clarity. Minor document changes. + e_fet. Macros mosfet and smosfet. More examples in the manual. + Bug fixes in Fector, transformer, BUFFER_gate and in sum_, abs_, neg_, + sign_ (!). +Version 4.7: Fixed the excess-space bug in boxdims.sty. Added Macros +s_box, + s_init, scale changes to make the package more metric-friendly. + Reworked amp, integrator, opamp, diode, battery and a few other macros + for robustness and clarity. Minor document changes. Version 4.6: Percent-signs at the end of pstricks-generated lines. Index in the manual. New copyright notices. Version 4.5: Options for several 2-terminal macros. Minor bug fixes and - better robustness. Documents edited for friendlier PC installation and use. -Version 4.3: Macros pt__ and boxdim. Additions to the manual. More robust + better robustness. Documents edited for friendlier PC installation + and use. +Version 4.3: Macros pt__ and boxdim. Additions to the manual. +More robust dimension_, tuned FlipFlop for xfig. PC installation information. Version 4.2: Friendlier manual. New Xfig prototype file to allow correct scaling. Cleaned up b_current, added line_leng. Changes and additions to logic gates. Version 4.1: Xfig prototype file included. Minor document changes. Fixed - recursive call bug and blank line bug. Changed argument for dend - macro. Better arrowheads in circuit elements. + recursive call bug and blank line bug. Changed argument for dend macro. + Better arrowheads in circuit elements. Version 4: Simplified library use. Added capabilities and flexibility to several devices, added _init macros, modified b_current. Updated font.m4, cosmetic changes to inductor. Made gamp, amp, opamp, - integrator more robust. Deleted edel_ macro. Fixed elen_ bug in - darrow.m4. Removed Capacitor, Inductor and others in favour of + integrator more robust. Deleted edel_ macro. Fixed elen_ bug + in darrow.m4. Removed Capacitor, Inductor and others in favour of parameterized macros. Iron-core inductors. Re-worked use of arcs in basic elements for better robustness. Edited examples document and the manual. Version 3: Document changes, minor changes to dimension_, switch, - ground, battery. Added flexibility for several elements. New - diodes, Capacitor, transistors, hop, transformer. Experimental - Metafont version of basic elements. + ground, battery. Added flexibility for several elements. New diodes, + Capacitor, transistors, hop, transformer. Experimental Metafont + version of basic elements. Version 2.2: Replaced definitions of two-terminal elements with current arrow by an arrow-labelling macro. Version 2.1: one or two examples simplified, and logic gates added. diff --git a/graphics/circuit_macros/Copying b/graphics/circuit_macros/Copying index 4359dd7830..30acd259ab 100644 --- a/graphics/circuit_macros/Copying +++ b/graphics/circuit_macros/Copying @@ -1,4 +1,4 @@ -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/INSTALL b/graphics/circuit_macros/INSTALL new file mode 100644 index 0000000000..73ccc6bd3e --- /dev/null +++ b/graphics/circuit_macros/INSTALL @@ -0,0 +1,76 @@ +INSTALLATION: + 1. Decide where you will be installing the .m4 library files. In + principle, they can go anywhere; for example, $HOME/texmf/Circuit_macros, + c:\localtexmf\Circuit_macros, /usr/local/share/Circuit_macros, + or ~/texmf/tex/latex/Circuit_macros. Copy the files from the + top-level directory of the distribution to the installation + directory, or simply expand the .tar.gz or .zip distribution file + and rename the result to create the installation directory, which + will then include the doc and examples subdirectories. + + 2. Copy boxdims.sty (see Section 9 of the manual) from the top + distribution directory to where LaTeX will find it; directory + ~/texmf/tex/latex/boxdims for example, and refresh the LaTeX + filename database (the exact command depends on your LaTeX + distribution and may not be necessary). + + 3. Define the environment variable M4PATH to point to the installation + directory determined in Step 1. For the bash shell, for + example, add the following to your .bashrc file: + export M4PATH='.:~/texmf/tex/latex/Circuit_macros:' + but modify the path to the installation directory as necessary. + + 4. This is optional. For historical reasons, the default configuration file + as distributed is gpic.m4. You can change it to pgf.m4 or pstricks.m4 + for use with dpic by editing the include command near the top of + libgen.m4. To do this automatically, go to the installation directory + and type + "make pgfdefault" to set the default processor to dpic with Tikz pgf + "make psdefault" to set the default processor to dpic with PSTricks + "make gpicdefault" to restore gpic as the default. + + You might develop your own set of macros that are combinations + or variations of those provided here. You can put them in a file, + mymacros.m4 say, and copy it to the installation directory. Then the + line include(mymacros.m4) in a diagram source will you make your + macros available. + + In case of difficulty, go to the examples directory, look at debug1.tex + and debug2.m4, and follow instructions. + +TESTING: + To test your installation, go to the examples directory (or copy the + files Makefile, tst.tex, and any .m4 sources you might like to test + to a working directory) and create a test circuit in the + file test.m4. Copy ex01.m4, for example, or quick.m4 from the doc + directory into test.m4. + + On a system with a "make" facility, first check the definitions at + the top of the Makefile, and then type "make tst1" to produce the + file tst.ps. If the source requires processing twice, type "make + tst" instead. To process one of the example .m4 files in the + examples directory, simply type "make name.ps" to process name.m4. + If these tests work to your satisfaction, try typing simply "make" to + produce examples.ps. To test .pdf files, go to the pgf directory, + copy name.m4 there, and type either "make name.ps" or "make name.pdf" + to test the file under pdflatex and TikZ PGF. + + The .m4 files in the examples directory can serve as models for your + diagrams but keep in mind that some of them contain details that allow + the source to be used with a variety of postprocessors. Sticking to one + postprocessor such as tikz or PStricks allows for the simplest source. + You might also wish to browse some of the included files that are not + used to make examples.ps. + + A few of the sources in the examples directory are copies of files + from the doc directory. They are duplicated to provide flexibility + of directory structure and independency of sources. + + No "make" facility? You have to test by hand (but see below for + diagram production software). Copy a test file as above into + test.m4. Assuming you have dpic installed, type the following: + + m4 -I <path> pstricks.m4 test.m4 > test.pic + dpic -p test.pic > test.tex + latex tst + dvips tst -o tst.ps diff --git a/graphics/circuit_macros/README b/graphics/circuit_macros/README index 3d31e4eb61..982ea2a097 100644 --- a/graphics/circuit_macros/README +++ b/graphics/circuit_macros/README @@ -1,5 +1,5 @@ -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -13,9 +13,9 @@ included with several tools and examples of other types of diagrams. Elements can be scaled or drawn in any orientation and are easy to modify. The advantages and disadvantages of such a system in its - basic form are similar to those of TeX itself, which is macro-based and - non-WYSIWYG; however, graphical interfaces are available for specific - operating systems as mentioned below. + basic form are similar to those of TeX itself, which is macro-based + and non-WYSIWYG. Graphical interfaces are available for specific + operating systems. The macros are to be processed by an m4 macro processor, and evaluate to drawing commands in the pic "little language," which is easy to read and @@ -100,11 +100,7 @@ USAGE \usepackage{pstricks}, pstricks.m4 is read instead of pgf.m4, and the dpic option is -p, so the command is - m4 pstricks.m4 cct.m4 | dpic -p > cct.tex - - or, if include(pstricks.m4) is the first line of cct.m4, - - m4 cct.m4 | dpic -p > cct.tex + m4 pstricks.m4 cct.m4 | dpic -p > cct.tex or m4 cct.m4 | dpic -p > cct.tex Read Section 2 of the manual to see how to process the diagram source from within the main .tex source file. @@ -114,99 +110,16 @@ USAGE m4 gpic.m4 cct.m4 | gpic -t > cct.tex - with the -I <path> option added if M4PATH has not been defined. - -INSTALLATION: - 1. Decide where you will be installing the .m4 library files. In - principle, they can go anywhere; for example, $HOME/Circuit_macros, - c:\localtexmf\Circuit_macros, /usr/local/share/Circuit_macros, - or ~/texmf/tex/latex/Circuit_macros. Copy the files from the - top-level directory of the distribution to the installation - directory, or simply expand the .tar.gz or .zip distribution file - and rename the result to create the installation directory, which - will then include the doc and examples subdirectories. - - 2. Copy boxdims.sty (see Section 9 of the manual) from the top - distribution directory to where LaTeX will find it; directory - ~/texmf/tex/latex/boxdims for example, and refresh the LaTeX - filename database (the exact command depends on your LaTeX - distribution and may not be necessary). - - 3. Define the environment variable M4PATH to point to the installation - directory determined in Step 1. For the bash shell, for - example, add the following to your .bashrc file: - export M4PATH='.:~/texmf/tex/latex/Circuit_macros:' - but modify the path to the installation directory as necessary. - - 4. This is optional. For historical reasons, the default configuration file - as distributed is gpic.m4. You can change it to pgf.m4 or pstricks.m4 - for use with dpic by editing the include command near the top of - libgen.m4. To do this automatically, go to the installation directory - and type - "make pgfdefault" to set the default processor to dpic with Tikz pgf - "make psdefault" to set the default processor to dpic with PSTricks - "make gpicdefault" to restore gpic as the default. - - In case of difficulty, go to the examples directory, look at debug1.tex - and debug2.m4, and follow instructions. - -WORKFLOW: The basic commands given above suffice for documents of moderate - size and complexity; otherwise, a "make" facility or equivalent should be - used or, for modest documents, diagram processing can be controlled from - within the tex document source as described in the manual. For near-immediate - viewing, three windows can be kept open: one in which to edit the source, one - to process the source and produce postscript or pdf, and GSview 5.0, which - updates when clicked. The Okular viewer also re-loads automatically. - - Special-purpose editors and GUI-based project tools such as TeXnicCenter - can also be employed, or a scripting language can automate the steps as - done by Latexmk or several other similar tools; see, for example, - http://tex.stackexchange.com/questions/64/tools-for-automating-document-compilation + The basic commands given above suffice for documents of moderate + size and complexity; otherwise, a "make" facility or equivalent should + be used or, for modest documents, diagram processing can be controlled + from within the tex document source as described in the manual. For + near-immediate viewing of the basic process, three windows can be kept + open: one in which to edit the source, one to process the source and + produce postscript or pdf, and Okular or GSview 5.0, which updates + when clicked. - NOTE: One of the configuration files (gpic.m4, pstricks.m4, pgf.m4, - pdf.m4, postscript.m4, psfrag.m4, mpost.m4, mfpic.m4, svg.m4, or - xfig.m4) must be read by m4 before (or at the beginning of) the diagram - source file, depending on the required form of pic output. Otherwise, - libgen.m4 can be read first but it will invoke the default configuration - file, which is gpic.m4 in the distribution unless it has been changed - during installation. - -TESTING: - To test your installation, go to the examples directory (or copy the - files Makefile, tst.tex, and any .m4 sources you might like to test - to a working directory) and create a test circuit in the - file test.m4. Copy ex01.m4, for example, or quick.m4 from the doc - directory into test.m4. - - On a system with a "make" facility, first check the definitions at - the top of the Makefile, and then type "make tst1" to produce the - file tst.ps. If the source requires processing twice, type "make - tst" instead. To process one of the example .m4 files in the - examples directory, simply type "make name.ps" to process name.m4. - If these tests work to your satisfaction, try typing simply "make" to - produce examples.ps. To test .pdf files, go to the pgf directory, - copy name.m4 there, and type either "make name.ps" or "make name.pdf" - to test the file under pdflatex and TikZ PGF. - - The .m4 files in the examples directory can serve as models for your - diagrams but keep in mind that some of them contain details that allow - the source to be used with a variety of postprocessors. Sticking to one - postprocessor such as tikz or PStricks allows for the simplest source. - You might also wish to browse some of the included files that are not - used to make examples.ps. - - A few of the sources in the examples directory are copies of files - from the doc directory. They are duplicated to provide flexibility - of directory structure and independency of sources. - - No "make" facility? You have to test by hand (but see below for - diagram production software). Copy a test file as above into - test.m4. Assuming you have dpic installed, type the following: - - m4 -I <path> pstricks.m4 test.m4 > test.pic - dpic -p test.pic > test.tex - latex tst - dvips tst -o tst.ps +INSTALLATION AND TESTING: See the INSTALL file. SOURCES AND MANUALS: View or print Circuit_macros.pdf in the doc directory. @@ -223,7 +136,6 @@ SOURCES AND MANUALS: http://gnuwin32.sourceforge.net/packages/m4.htm (m4 for Windows) http://www.gnu.org/software/m4/manual/ (GNU m4 manual) https://mbreen.com/m4.html (m4 by example) - https://www.seindal.dk/rene/gnu/ (development site) The m4 (computer language) article in Wikipedia gives a concise overview. An academic discussion of the language can be found in http://www.cs.stir.ac.uk/~kjt/research/pdf/expl-m4.pdf. @@ -232,10 +144,6 @@ SOURCES AND MANUALS: (Do not read this manual first). Autoconf uses quote characters [ and ] instead of the default ` and ' which work well with the pic language. - A video "Drawing Circuit Diagrams with Circuits Macros" by James Green - showing how to use Circuit_macros with his setup is at - https://www.youtube.com/watch?time_continue=53&v=pFRIBvUJHS4 - Gpic is part of the GNU groff distribution, for which the source and documentation is available from http://ftp.gnu.org/gnu/groff/ but there are mirror sites as well. The original AT&T pic manual @@ -259,15 +167,14 @@ DPIC: The best advice is to obtain the newest version. The dpic distribution includes a manual dpic-doc.pdf containing a summary - of the pic language and descriptions of features unique to dpic. + of the pic language and of features unique to dpic. -EXAMPLES AND INTEGRATION WITH OTHER TOOLS: +EXAMPLES A set of examples is included in this distribution, showing electric - circuits, block diagrams, flow charts, signal-flow graphs, basic use - of colour and fill, and other applications. - - Read the manual Circuit_macros.pdf and view or print the file - examples.ps in the examples directory. There are a few other source + circuits, block diagrams, flow charts, signal-flow graphs, basic + use of colour and fill, and other applications. Read the manual + Circuit_macros.pdf and view or print the file examples.pdf in the + examples directory. For the curious, There are additional source files in the examples directory that are not shown in examples.pdf. For the possibly unstable development version of these macros, try http://ece.uwaterloo.ca/~aplevich/Circuit_macros/ @@ -277,48 +184,71 @@ EXAMPLES AND INTEGRATION WITH OTHER TOOLS: examples directory are for testing metafont, metapost, pgf, psfrag, pdf, and xfig examples. - Installation and usage of the macros have evolved a little since the - beginning so archived instructions on the net may be slightly more - complicated than currently necessary. However, a number of people - have developed tools that simplify workflow for their circumstances, - which are beyond the scope of this distribution. +INTEGRATION WITH OTHER TOOLS: + Installation and usage of the macros have evolved smewhat since the + beginning, so archived instructions on the net may be slightly more + complicated than currently necessary. Because I was producing books, + I simply added commands to the appropriate Makefiles. However, others + have developed tools that simplify workflow for their circumstances. + The following are representative but keep in mind that systems and + installations evolve ovr time: + + A Python-based GUI called PyCirkuit is + at https://pypi.org/project/pycirkuit/ and + https://github.com/orestesmas/pycirkuit. For an + introduction, look at the FOSDEM video by Orestes Mas: + https://ftp.osuosl.org/pub/fosdem/2020/H.2215/pycirkuit.webm + + A python build-automation tool, m4cm, by Peter Jan Randewijk is at + https://m4cmpy.wordpress.com/ + with very clear instructions about getting started with Circuit_macros at + https://m4cmpy.wordpress.com/2020/02/23/getting-started-with-m4-circuit-macros/ + + Fabrice Salvaire has a blog and a useful bash script at + https://www.fabrice-salvaire.fr/en/blog/electronic-circuit-diagrams/ A set of examples and hints intended for his colleagues has been produced by Alan Robert Clark at http://ytdp.ee.wits.ac.za/cct.html - A Python-based GUI called PyCirkuit is at - https://pypi.org/project/pycirkuit/ and - https://github.com/orestesmas/pycirkuit. - For an introduction, look at the FOSDEM video by Orestes Mas: - https://ftp.osuosl.org/pub/fosdem/2020/H.2215/pycirkuit.webm + A video "Drawing Circuit Diagrams with Circuits Macros" by James Green + showing how to use Circuit_macros with his setup is at + https://www.youtube.com/watch?time_continue=53&v=pFRIBvUJHS4 - A KDE interface created by Matteo Agostinelli can be found at - http://wwwu.uni-klu.ac.at/magostin/cirkuit.html. A git repository - of a newer version of cirkuit by Andrew G. for Linux is at - https://github.com/ag-ckt/cirkuit/tree/V0.5.0. Because of changes - in library dependencies, there is uncertainty about installation - possibilities. + A KDE interface created by Matteo Agostinelli can be found + at http://wwwu.uni-klu.ac.at/magostin/cirkuit.html. A git + repository of a newer version of cirkuit by Andrew G. for Linux + is at https://github.com/ag-ckt/cirkuit/tree/V0.5.0. There is + uncertainty about installation possibilities because of changes in + library dependencies. A wiki offering examples and tips is at http://swwiki.e-dschungel.de/circuit_macros It is in German but Google translate works well on the page. - Variations: - See eschpic on Github for IEC-style electrical drawings. + LaTeX automation tools are discussed at, for example, + http://tex.stackexchange.com/questions/64/tools-for-automating-document-compilation Mac users: A previewer app for Mac OS X written by Collin J. Delker is available at http://www.collindelker.com/wp/2013/04/circuit_macros_previewer/ - For an example of the use of dpic in a wiki (thanks to Jason Grout), see - http://jasongrout.org/software/dokuwiki/format-plugin - A Windows batch file for Circuit_macros is found at http://someonehasdonethis.blogspot.ca/2012/12/a-solution-for-drawing-circuit-diagrams.html - The examples in the current distribution include some flowchart elements - in Flow.m4. For a pic-only version that does not require m4, look at - http://web.ing.puc.cl/~mtorrest/downloads.htm#TeX +VARIATIONS + Macros such as these inevitably will be modified to suit individual + needs and taste. They continue to evolve in my own library as I use + them and as others send comments. No such collection can hope to + include all possible circuit-related symbols, so you will probably + find yourself writing your own macros or adapting some of these. Be + careful to rename modified macros to avoid confusion. The learning + curve compares well to other packages, but there is no trivially easy + way to produce high-quality graphics. + + See eschpic on Github for IEC-style electrical drawings. + + For an example of the use of dpic in a wiki (thanks to Jason Grout), see + http://jasongrout.org/software/dokuwiki/format-plugin Pic dates from the 1980s and was first developed as a preprocessor for the *roff family of Unix word processors. Some additional libraries such @@ -329,10 +259,11 @@ EXAMPLES AND INTEGRATION WITH OTHER TOOLS: http://www.math.uiuc.edu/~west/gpic.html After minor adaptation to dpic syntax, many of them can be simplified. - A collection of pic resources and related material is available at - http://www.kohala.com/start/troff/troff.html In particular, W. Richard - Stevens illustrated his books on Unix and TCP/IP using pic macros. Some - of the sources found there need minor tuning to work under dpic. + A collection of traditional pic resources and related material is + available at http://www.kohala.com/start/troff/troff.html In particular, + W. Richard Stevens illustrated his books on Unix and TCP/IP using + pic macros. Some of the sources found there need minor tuning to work + under dpic. MetaPost examples: Go to the examples/mpost directory. Check the Makefile as described in the README file, type "make", and stand well back. @@ -398,16 +329,6 @@ LIBRARIES: for drawing double-line arrows are in darrow.m4. The file dpictools.pic contains pic macros and is read automatically by some of the examples. -MODIFICATIONS: - Macros such as these inevitably will be modified to suit individual - needs and taste. They continue to evolve in my own library as I use - them and as others send comments. No such collection can hope to - include all possible circuit-related symbols, so you will probably - find yourself writing your own macros or adapting some of these. Be - careful to rename modified macros to avoid confusion. The learning - curve compares well to other packages, but there is no trivially easy - way to produce high-quality graphics. - Feel free to contact me with comments or questions. I have retired from full-time work but continue the hobby of maintaining these files. I may now be able to spend more time on individual requests but I may diff --git a/graphics/circuit_macros/darrow.m4 b/graphics/circuit_macros/darrow.m4 index 590760c081..c2742857af 100644 --- a/graphics/circuit_macros/darrow.m4 +++ b/graphics/circuit_macros/darrow.m4 @@ -1,7 +1,7 @@ divert(-1) darrow.m4 Macros for double lines and arrows -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/doc/AmpTable.tex b/graphics/circuit_macros/doc/AmpTable.tex new file mode 100644 index 0000000000..79bbf3bb66 --- /dev/null +++ b/graphics/circuit_macros/doc/AmpTable.tex @@ -0,0 +1,73 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0.125,0)\dpicstop +\dpicdraw (0.625,0) + --(0.125,0.25) + --(0.125,-0.25) + --(0.625,0) + --(0.75,0)\dpicstop +\draw (0.777674,0) node[right=-2bp]{{\tt amp}}; +\dpicdraw (0,-0.4) + --(0.225,-0.4)\dpicstop +\dpicdraw (0.525,-0.4) + --(0.225,-0.25) + --(0.225,-0.55) + --(0.525,-0.4) + --(0.75,-0.4)\dpicstop +\draw (0.777674,-0.4) node[right=-2bp]{{\tt amp(,0.3)}}; +\dpicdraw (2,0) + --(2.229167,0)\dpicstop +\dpicdraw (2.345833,-0.175) + --(2.229167,-0.175) + --(2.229167,0.175) + --(2.345833,0.175)\dpicstop +\dpicdraw (2.345833,0.175) + ..controls (2.442483,0.175) and (2.520833,0.09665) + ..(2.520833,0) + ..controls (2.520833,-0.09665) and (2.442483,-0.175) + ..(2.345833,-0.175)\dpicstop +\dpicdraw (2.520833,0) + --(2.75,0)\dpicstop +\draw (2.777674,0) node[right=-2bp]{{\tt delay}}; +\dpicdraw (2,-0.4) + --(2.291667,-0.4)\dpicstop +\dpicdraw (2.358333,-0.5) + --(2.291667,-0.5) + --(2.291667,-0.3) + --(2.358333,-0.3)\dpicstop +\dpicdraw (2.358333,-0.3) + ..controls (2.413562,-0.3) and (2.458333,-0.344772) + ..(2.458333,-0.4) + ..controls (2.458333,-0.455228) and (2.413562,-0.5) + ..(2.358333,-0.5)\dpicstop +\dpicdraw (2.458333,-0.4) + --(2.75,-0.4)\dpicstop +\draw (2.777674,-0.4) node[right=-2bp]{{\tt delay(,0.2)}}; +\dpicdraw (4.125,0.25) + --(4,0.25) + --(4,-0.25) + --(4.125,-0.25)\dpicstop +\dpicdraw (4.625,0) + --(4.125,0.25) + --(4.125,-0.25) + --(4.625,0) + --(4.75,0)\dpicstop +\draw (4.777674,0) node[right=-2bp]{{\tt integrator}}; +\dpicdraw (4.075,-0.35) + --(4,-0.35) + --(4,-0.65) + --(4.075,-0.65)\dpicstop +\dpicdraw (4.375,-0.5) + --(4.075,-0.35) + --(4.075,-0.65) + --(4.375,-0.5) + --(4.75,-0.5)\dpicstop +\draw (4.777674,-0.5) node[right=-2bp]{{\tt integrator(,0.3)}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/AmpTable.m4 b/graphics/circuit_macros/doc/AmpTableMan.m4 index c94f682cbc..c94f682cbc 100644 --- a/graphics/circuit_macros/doc/AmpTable.m4 +++ b/graphics/circuit_macros/doc/AmpTableMan.m4 diff --git a/graphics/circuit_macros/doc/Antennas.m4 b/graphics/circuit_macros/doc/AntennasMan.m4 index 6053cd2e3f..6053cd2e3f 100644 --- a/graphics/circuit_macros/doc/Antennas.m4 +++ b/graphics/circuit_macros/doc/AntennasMan.m4 diff --git a/graphics/circuit_macros/doc/Audio.tex b/graphics/circuit_macros/doc/Audio.tex new file mode 100644 index 0000000000..9531f8b0dc --- /dev/null +++ b/graphics/circuit_macros/doc/Audio.tex @@ -0,0 +1,295 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.61348,0.294444) + --(0.849182,0.461111) + --(0.849182,-0.205556) + --(0.61348,-0.038889)\dpicstop +\dpicdraw (0.61348,0.127778) + --(0.61348,0.294444) + --(0.377778,0.294444) + --(0.377778,-0.038889) + --(0.61348,-0.038889) + --(0.61348,0.127778)\dpicstop +\draw (0.61348,-0.405556) node{\tt speaker}; +\dpiclw=0.4bp +\filldraw[line width=0bp](0.308208,0.213219) + --(0.377778,0.211111) + --(0.320857,0.251167) --cycle\dpicstop +\dpicdraw (0.359436,0.217225) + --(0.227778,0.261111)\dpicstop +\draw (0.227778,0.261111) node[above left=-2bp]{{\sl In1}}; +\filldraw[line width=0bp](0.311111,0.107778) + --(0.377778,0.127778) + --(0.311111,0.147778) --cycle\dpicstop +\dpicdraw (0.358444,0.127778) + --(0.227778,0.127778)\dpicstop +\draw (0.227778,0.127778) node[left=-2bp]{{\sl In2}}; +\filldraw[line width=0bp](0.320857,0.004389) + --(0.377778,0.044444) + --(0.308208,0.042336) --cycle\dpicstop +\dpicdraw (0.359436,0.038331) + --(0.227778,-0.005556)\dpicstop +\draw (0.227778,-0.005556) node[below left=-2bp]{{\sl In3}}; +\dpiclw=0.8bp +\dpiclw=0.4bp +\filldraw[line width=0bp](0.396648,0.351365) + --(0.436703,0.294444) + --(0.434595,0.364015) --cycle\dpicstop +\dpicdraw (0.430589,0.312786) + --(0.386703,0.444444)\dpicstop +\draw (0.386703,0.444444) node[above left=-2bp]{{\sl In4}}; +\filldraw[line width=0bp](0.556663,0.364015) + --(0.554554,0.294444) + --(0.59461,0.351365) --cycle\dpicstop +\dpicdraw (0.560668,0.312786) + --(0.604554,0.444444)\dpicstop +\draw (0.604554,0.444444) node[above=-2bp]{{\sl In5}}; +\filldraw[line width=0bp](0.434595,-0.108459) + --(0.436703,-0.038889) + --(0.396648,-0.09581) --cycle\dpicstop +\dpicdraw (0.430589,-0.057231) + --(0.386703,-0.188889)\dpicstop +\draw (0.386703,-0.188889) node[below left=-2bp]{{\sl In6}}; +\filldraw[line width=0bp](0.59461,-0.09581) + --(0.554554,-0.038889) + --(0.556663,-0.108459) --cycle\dpicstop +\dpicdraw (0.560668,-0.057231) + --(0.604554,-0.188889)\dpicstop +\draw (0.604554,-0.188889) node[below=-2bp]{{\sl In7}}; +\filldraw[line width=0bp](0.66905,0.219687) + --(0.61348,0.177778) + --(0.682943,0.182177) --cycle\dpicstop +\dpicdraw (0.63161,0.184493) + --(0.757545,0.231135) + ..controls (0.841502,0.26223) and (0.900147,0.311111) + ..(0.93348,0.377778) + --(0.98348,0.477778)\dpicstop +\draw (0.98348,0.477778) node[above=-2bp]{\sl Box}; +\dpiclw=0.8bp +\dpicdraw (1.469182,0.044444) + --(1.587033,0.106944) + --(1.587033,-0.184722) + --(1.469182,-0.122222)\dpicstop +\dpicdraw (1.469182,-0.038889) + --(1.469182,0.127778) + --(1.23348,0.127778) + --(1.23348,-0.205556) + --(1.469182,-0.205556) + --(1.469182,-0.038889)\dpicstop +\draw (1.410257,-0.505556) node{\tt speaker(,{,}H)}; +\dpicdraw (2.214811,0.511111) + --(2.214811,0.636111) + --(1.964811,0.636111) + --(1.964811,0.386111) + --(2.214811,0.386111) + --(2.214811,0.511111)\dpicstop +\dpicdraw (2.339811,0.511111) circle (0.049213in)\dpicstop +\draw (2.214811,0.186111) node{\tt bell}; +\dpiclw=0.4bp +\filldraw[line width=0bp](1.895241,0.575719) + --(1.964811,0.573611) + --(1.90789,0.613667) --cycle\dpicstop +\dpicdraw (1.946469,0.579725) + --(1.814811,0.623611)\dpicstop +\draw (1.814811,0.623611) node[above left=-2bp]{{\sl In1}}; +\filldraw[line width=0bp](1.898145,0.491111) + --(1.964811,0.511111) + --(1.898145,0.531111) --cycle\dpicstop +\dpicdraw (1.945477,0.511111) + --(1.814811,0.511111)\dpicstop +\draw (1.814811,0.511111) node[left=-2bp]{{\sl In2}}; +\filldraw[line width=0bp](1.90789,0.408556) + --(1.964811,0.448611) + --(1.895241,0.446503) --cycle\dpicstop +\dpicdraw (1.946469,0.442497) + --(1.814811,0.398611)\dpicstop +\draw (1.814811,0.398611) node[below left=-2bp]{{\sl In3}}; +\dpiclw=0.8bp +\dpiclw=0.4bp +\filldraw[line width=0bp](1.93619,0.680487) + --(1.989811,0.636111) + --(1.969472,0.702675) --cycle\dpicstop +\dpicdraw (1.979087,0.652198) + --(1.889811,0.786111)\dpicstop +\draw (1.889811,0.786111) node[above=-2bp]{\sl Box}; +\filldraw[line width=0bp](2.319811,0.702778) + --(2.339811,0.636111) + --(2.359811,0.702778) --cycle\dpicstop +\dpicdraw (2.339811,0.655445) + --(2.339811,0.786111)\dpicstop +\draw (2.339811,0.786111) node[above=-2bp]{\sl Circle}; +\dpiclw=0.8bp +\dpicdraw (3.492589,0.386111) + --(3.492589,0.636111)\dpicstop +\dpicdraw (3.367589,0.511111) circle (0.049213in)\dpicstop +\draw (3.367589,0.186111) node{\tt microphone}; +\dpiclw=0.4bp +\filldraw[line width=0bp](3.189766,0.575719) + --(3.259336,0.573611) + --(3.202415,0.613667) --cycle\dpicstop +\dpicdraw (3.240994,0.579725) + --(3.109336,0.623611)\dpicstop +\draw (3.109336,0.623611) node[above left=-2bp]{{\sl In1}}; +\filldraw[line width=0bp](3.175922,0.491111) + --(3.242589,0.511111) + --(3.175922,0.531111) --cycle\dpicstop +\dpicdraw (3.223255,0.511111) + --(3.092589,0.511111)\dpicstop +\draw (3.092589,0.511111) node[left=-2bp]{{\sl In2}}; +\filldraw[line width=0bp](3.202415,0.408556) + --(3.259336,0.448611) + --(3.189766,0.446503) --cycle\dpicstop +\dpicdraw (3.240994,0.442497) + --(3.109336,0.398611)\dpicstop +\draw (3.109336,0.398611) node[below left=-2bp]{{\sl In3}}; +\dpiclw=0.8bp +\dpiclw=0.4bp +\filldraw[line width=0bp](3.347589,0.702778) + --(3.367589,0.636111) + --(3.387589,0.702778) --cycle\dpicstop +\dpicdraw (3.367589,0.655445) + --(3.367589,0.786111)\dpicstop +\draw (3.367589,0.786111) node[above=-2bp]{\sl Circle}; +\dpiclw=0.8bp +\dpicdraw (4.520367,0.511111) + --(4.520367,0.636111) + --(4.270367,0.636111) + --(4.270367,0.386111) + --(4.520367,0.386111) + --(4.520367,0.511111)\dpicstop +\dpicdraw (4.520367,0.636111) + --(4.585072,0.39463)\dpicstop +\draw (4.427719,0.186111) node{\tt buzzer}; +\dpiclw=0.4bp +\filldraw[line width=0bp](4.200797,0.575719) + --(4.270367,0.573611) + --(4.213446,0.613667) --cycle\dpicstop +\dpicdraw (4.252025,0.579725) + --(4.120367,0.623611)\dpicstop +\draw (4.120367,0.623611) node[above left=-2bp]{{\sl In1}}; +\filldraw[line width=0bp](4.2037,0.491111) + --(4.270367,0.511111) + --(4.2037,0.531111) --cycle\dpicstop +\dpicdraw (4.251033,0.511111) + --(4.120367,0.511111)\dpicstop +\draw (4.120367,0.511111) node[left=-2bp]{{\sl In2}}; +\filldraw[line width=0bp](4.213446,0.408556) + --(4.270367,0.448611) + --(4.200797,0.446503) --cycle\dpicstop +\dpicdraw (4.252025,0.442497) + --(4.120367,0.398611)\dpicstop +\draw (4.120367,0.398611) node[below left=-2bp]{{\sl In3}}; +\dpiclw=0.8bp +\dpiclw=0.4bp +\filldraw[line width=0bp](4.375367,0.702778) + --(4.395367,0.636111) + --(4.415367,0.702778) --cycle\dpicstop +\dpicdraw (4.395367,0.655445) + --(4.395367,0.786111)\dpicstop +\draw (4.395367,0.786111) node[above=-2bp]{\sl Box}; +\dpiclw=0.8bp +\dpicdraw (5.529516,0.386111) + --(5.529516,0.719444)\dpicstop +\dpicdraw (5.529516,0.719444) + ..controls (5.437469,0.719444) and (5.362849,0.644825) + ..(5.362849,0.552778) + ..controls (5.362849,0.46073) and (5.437469,0.386111) + ..(5.529516,0.386111)\dpicstop +\draw (5.446183,0.186111) node{\tt buzzer(,{,}C)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](5.302811,0.610442) + --(5.372381,0.608333) + --(5.31546,0.648389) --cycle\dpicstop +\dpicdraw (5.354039,0.614447) + --(5.222381,0.658333)\dpicstop +\draw (5.222381,0.658333) node[above left=-2bp]{{\sl In1}}; +\filldraw[line width=0bp](5.296183,0.532778) + --(5.362849,0.552778) + --(5.296183,0.572778) --cycle\dpicstop +\dpicdraw (5.343515,0.552778) + --(5.212849,0.552778)\dpicstop +\draw (5.212849,0.552778) node[left=-2bp]{{\sl In2}}; +\filldraw[line width=0bp](5.31546,0.457167) + --(5.372381,0.497222) + --(5.302811,0.495114) --cycle\dpicstop +\dpicdraw (5.354039,0.491108) + --(5.222381,0.447222)\dpicstop +\draw (5.222381,0.447222) node[below left=-2bp]{{\sl In3}}; +\dpiclw=0.8bp +\dpiclw=0.4bp +\filldraw[line width=0bp](5.589341,0.68835) + --(5.529516,0.652778) + --(5.599043,0.649544) --cycle\dpicstop +\dpicdraw (5.548273,0.657467) + --(5.605561,0.671789) + ..controls (5.643753,0.681337) and (5.671183,0.711111) + ..(5.687849,0.761111) + --(5.712849,0.836111)\dpicstop +\draw (5.712849,0.836111) node[above=-2bp]{\sl Face}; +\dpiclw=0.8bp +\dpicdraw (3.065693,-0.216667) + --(3.065693,-0.091667) + --(2.899026,-0.091667) + --(2.899026,-0.341667) + --(3.065693,-0.341667) + --(3.065693,-0.216667)\dpicstop +\dpicdraw[line width=1.6bp](3.076762,-0.383333) + --(3.076762,-0.05)\dpicstop +\draw (2.987894,-0.583333) node{\tt earphone}; +\dpiclw=0.4bp +\filldraw[line width=0bp](2.829456,-0.152058) + --(2.899026,-0.154167) + --(2.842105,-0.114111) --cycle\dpicstop +\dpicdraw (2.880684,-0.148053) + --(2.749026,-0.104167)\dpicstop +\draw (2.749026,-0.104167) node[above left=-2bp]{{\sl In1}}; +\filldraw[line width=0bp](2.832359,-0.236667) + --(2.899026,-0.216667) + --(2.832359,-0.196667) --cycle\dpicstop +\dpicdraw (2.879692,-0.216667) + --(2.749026,-0.216667)\dpicstop +\draw (2.749026,-0.216667) node[left=-2bp]{{\sl In2}}; +\filldraw[line width=0bp](2.842105,-0.319222) + --(2.899026,-0.279167) + --(2.829456,-0.281275) --cycle\dpicstop +\dpicdraw (2.880684,-0.285281) + --(2.749026,-0.329167)\dpicstop +\draw (2.749026,-0.329167) node[below left=-2bp]{{\sl In3}}; +\dpiclw=0.8bp +\dpiclw=0.4bp +\filldraw[line width=0bp](2.921077,-0.058668) + --(2.982359,-0.091667) + --(2.949361,-0.030384) --cycle\dpicstop +\dpicdraw (2.968688,-0.077996) + --(2.832359,0.058333)\dpicstop +\draw (2.832359,0.058333) node[above=-2bp]{\sl Box}; +\dpiclw=0.8bp +\dpicdraw (3.85454,-0.283333) circle (0.03937in)\dpicstop +\dpicdraw (4.35454,-0.283333) circle (0.03937in)\dpicstop +\dpicdraw (3.87454,-0.185354) + ..controls (3.960887,0.01734) and (4.248193,0.01734) + ..(4.33454,-0.185354)\dpicstop +\draw (4.10454,-0.583333) node{\tt earphone(,{,}C)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](3.793257,-0.250335) + --(3.85454,-0.283333) + --(3.821542,-0.222051) --cycle\dpicstop +\dpicdraw (3.840869,-0.269662) + --(3.70454,-0.133333)\dpicstop +\draw (3.70454,-0.133333) node[left=-2bp]{\sl L}; +\filldraw[line width=0bp](4.387538,-0.222051) + --(4.35454,-0.283333) + --(4.415823,-0.250335) --cycle\dpicstop +\dpicdraw (4.368211,-0.269662) + --(4.50454,-0.133333)\dpicstop +\draw (4.50454,-0.133333) node[right=-2bp]{\sl R}; +\draw (4.10454,-0.033333) node[above=-2bp]{\sl N}; +\draw (4.10454,-0.283333) node{\sl C}; +\dpiclw=0.8bp +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Audio.m4 b/graphics/circuit_macros/doc/AudioMan.m4 index 722a2434d8..662c6d0c99 100644 --- a/graphics/circuit_macros/doc/Audio.m4 +++ b/graphics/circuit_macros/doc/AudioMan.m4 @@ -46,14 +46,6 @@ L:[ thicklines_ ] with .w at last [].e+(0.0,0.5) [ - M: microphone - `"\tt microphone"' at M.s+(0,-0.2) #below - In123(M) - thinlines_ - arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above - thicklines_ - ] with .sw at last [].se+(0.4,0) -[ Z: buzzer `"\tt buzzer"' at Z.s+(0,-0.2) #below In123(Z) @@ -71,6 +63,24 @@ R:[ "\sl Face" above thicklines_ ] with .sw at last [].se+(0.4,0) +[ + M: microphone + `"\tt microphone"' at M.s+(0,-0.2) #below + In123(M) + thinlines_ + arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above + thicklines_ + ] with .sw at last [].se+(0.4,0) +[ + M: microphone(A) + `"\tt microphone(A)"' at M.s+(0,-0.2) #below + thinlines_ + arrow <- from M.Head.e+(0,0.05) right 0.2; "\sl Head" ljust + spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1 + "\sl Head.b" ljust + arrow <- from M.Stand.s right 0.2; "\sl Stand.s" ljust + thicklines_ + ] with .n at last [].s+(0,-0.05) [[ E: earphone `"\tt earphone"' at E.s+(0,-0.2) #below @@ -89,6 +99,6 @@ R:[ "\sl C" at E.C thicklines_ ] with .sw at last [].se+(0.6,0) -] with .n at (0.6 between L and R, R.s)+(0,0.1-ifdpic(0.2,0.25)) +] with .n at (0.6 between L and R, R.s)+(0.5,0.1-ifdpic(0.2,0.25)) .PE diff --git a/graphics/circuit_macros/doc/Bip.tex b/graphics/circuit_macros/doc/Bip.tex new file mode 100644 index 0000000000..d44b0376e6 --- /dev/null +++ b/graphics/circuit_macros/doc/Bip.tex @@ -0,0 +1,175 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.1625,0) + --(0.1625,0.1) + --(0.158796,0.101667)\dpicstop +\dpicdraw (0.1625,0.5) + --(0.1625,0.4) + --(0.158796,0.398333)\dpicstop +\dpicdraw (-0.0375,0.15) + --(-0.0375,0.35)\dpicstop +\dpicdraw (-0.1625,0.25) + --(-0.0375,0.25)\dpicstop +\dpicdraw (0.1625,0.1) + --(-0.0375,0.19)\dpicstop +\filldraw[line width=0bp](0.025108,0.131366) + --(0.1125,0.1225) + --(0.047906,0.182028) --cycle\dpicstop +\dpicdraw (0.096479,0.129709) + --(0.0125,0.1675)\dpicstop +\dpicdraw (0.1625,0.4) + --(-0.0375,0.31)\dpicstop +\dpiclw=0.4bp +\dpicdraw[dotted](-0.1625,0) rectangle (0.1625,0.5)\dpicstop +\dpiclw=0.8bp +\draw (0.1625,-0.05) node[below=-2bp]{\hbox{\sl E}}; +\draw (-0.1625,0.25) node[left=-2bp]{\hbox{\sl B}}; +\draw (0.1625,0.5) node[above=-2bp]{\hbox{\sl C}}; +\draw (0,-0.35) node[below=-2bp]{{\tt bi\_tr(up\_ dimen\_)}}; +\dpicdraw (0.6125,0.05) + --(0.6125,0.25)\dpicstop +\dpicdraw (0.7375,0.15) + --(0.6125,0.15)\dpicstop +\dpicdraw (0.4125,0) + --(0.6125,0.09)\dpicstop +\filldraw[line width=0bp](0.527094,0.082028) + --(0.4625,0.0225) + --(0.549892,0.031366) --cycle\dpicstop +\dpicdraw (0.478521,0.029709) + --(0.5625,0.0675)\dpicstop +\dpicdraw (0.4125,0.3) + --(0.6125,0.21)\dpicstop +\dpiclw=0.4bp +\dpicdraw[dotted](0.4125,0) rectangle (0.7375,0.3)\dpicstop +\dpiclw=0.8bp +\draw (0.4125,-0.05) node[below=-2bp]{\hbox{\sl E}}; +\draw (0.7375,0.15) node[right=-2bp]{\hbox{\sl B}}; +\draw (0.4125,0.3) node[above=-2bp]{\hbox{\sl C}}; +\draw (0.575,-0.2) node[below=-2bp]{{\tt bi\_tr(,R)}}; +\dpicdraw (1.3625,0.05) + --(1.3625,0.25)\dpicstop +\dpicdraw (1.2375,0.15) + --(1.3625,0.15)\dpicstop +\dpicdraw (1.5625,0) + --(1.3625,0.09)\dpicstop +\filldraw[line width=0bp](1.499892,0.058634) + --(1.4125,0.0675) + --(1.477094,0.007972) --cycle\dpicstop +\dpicdraw (1.5125,0.0225) + --(1.428521,0.060291)\dpicstop +\dpicdraw (1.5625,0.3) + --(1.3625,0.21)\dpicstop +\dpiclw=0.4bp +\dpicdraw[dotted](1.2375,0) rectangle (1.5625,0.3)\dpicstop +\dpiclw=0.8bp +\draw (1.5625,-0.05) node[below=-2bp]{\hbox{\sl E}}; +\draw (1.2375,0.15) node[left=-2bp]{\hbox{\sl B}}; +\draw (1.5625,0.3) node[above=-2bp]{\hbox{\sl C}}; +\draw (1.4,-0.35) node[below=-2bp]{{\tt bi\_tr(,{,}P)}}; +\dpicdraw (2.2625,0.05) + --(2.2625,0.25)\dpicstop +\dpicdraw (2.1375,0.15) + --(2.2625,0.15)\dpicstop +\dpicdraw (2.4625,0) + --(2.2625,0.09)\dpicstop +\filldraw[line width=0bp](2.325108,0.031366) + --(2.4125,0.0225) + --(2.347906,0.082028) --cycle\dpicstop +\dpicdraw (2.396479,0.029709) + --(2.3125,0.0675)\dpicstop +\dpicdraw (2.4625,0.3) + --(2.2625,0.21)\dpicstop +\dpicdraw (2.1375,0.15) + ..controls (2.1375,0.260457) and (2.227043,0.35) + ..(2.3375,0.35) + ..controls (2.447957,0.35) and (2.5375,0.260457) + ..(2.5375,0.15)\dpicstop +\dpicdraw (2.5375,0.15) + --(2.5375,0.15)\dpicstop +\dpicdraw (2.5375,0.15) + ..controls (2.5375,0.039543) and (2.447957,-0.05) + ..(2.3375,-0.05) + ..controls (2.227043,-0.05) and (2.1375,0.039543) + ..(2.1375,0.15)\dpicstop +\dpicdraw (2.1375,0.15) + --(2.1375,0.15)\dpicstop +\dpiclw=0.4bp +\dpicdraw[dotted](2.1375,-0.05) rectangle (2.5375,0.35)\dpicstop +\dpiclw=0.8bp +\draw (2.4625,-0.05) node[below=-2bp]{\hbox{\sl E}}; +\draw (2.1375,0.15) node[left=-2bp]{\hbox{\sl B}}; +\draw (2.4625,0.3) node[above=-2bp]{\hbox{\sl C}}; +\draw (2.3375,-0.2) node[below=-2bp]{{\tt bi\_tr(,{,},E)}}; +\dpicdraw (2.9125,0.05) + --(2.9125,0.25)\dpicstop +\dpicdraw (3.1125,0) + --(2.9125,0.09)\dpicstop +\filldraw[line width=0bp](2.975108,0.031366) + --(3.0625,0.0225) + --(2.997906,0.082028) --cycle\dpicstop +\dpicdraw (3.046479,0.029709) + --(2.9625,0.0675)\dpicstop +\dpicdraw (3.1125,0.3) + --(2.9125,0.21)\dpicstop +\dpicdraw (2.7875,0.15) + --(2.8775,0.15)\dpicstop +\dpicdraw (2.8775,0.05) + --(2.8775,0.25)\dpicstop +\dpiclw=0.4bp +\dpicdraw[dotted](2.7875,0) rectangle (3.1125,0.3)\dpicstop +\dpiclw=0.8bp +\draw (3.1125,-0.05) node[below=-2bp]{\hbox{\sl E}}; +\draw (2.7875,0.15) node[left=-2bp]{\hbox{\sl G}}; +\draw (3.1125,0.3) node[above=-2bp]{\hbox{\sl C}}; +\draw (2.95,-0.35) node[below=-2bp]{{\tt igbt}}; +\dpicdraw (3.4625,0.15) + --(3.4625,0.35)\dpicstop +\dpicdraw (3.6625,0.1) + --(3.4625,0.19)\dpicstop +\filldraw[line width=0bp](3.525108,0.131366) + --(3.6125,0.1225) + --(3.547906,0.182028) --cycle\dpicstop +\dpicdraw (3.596479,0.129709) + --(3.5125,0.1675)\dpicstop +\dpicdraw (3.6625,0.4) + --(3.4625,0.31)\dpicstop +\dpicdraw (3.3525,0.175) + --(3.4275,0.175) + --(3.4275,0.325)\dpicstop +\dpicdraw (3.6625,0) + --(3.8625,0)\dpicstop +\dpicdraw (3.6625,0.5) + --(3.8625,0.5)\dpicstop +\dpicdraw (3.8625,0) + --(3.8625,0.213916)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (3.8625,0.213916) + --(3.820833,0.213916) + --(3.8625,0.28055) + --(3.904167,0.213916) + --(3.8625,0.213916)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (3.908218,0.286084) + --(3.816782,0.286084)\dpicstop +\dpicdraw (3.8625,0.286084) + --(3.8625,0.5)\dpicstop +\dpicdraw (3.6625,0) + --(3.6625,0.1)\dpicstop +\dpicdraw (3.6625,0.5) + --(3.6625,0.4)\dpicstop +\dpiclw=0.4bp +\dpicdraw[dotted](3.3525,0) rectangle (3.913753,0.5)\dpicstop +\dpiclw=0.8bp +\draw (3.6625,-0.05) node[below=-2bp]{\hbox{\sl E}}; +\draw (3.3525,0.175) node[left=-2bp]{\hbox{\sl G}}; +\draw (3.6625,0.5) node[above=-2bp]{\hbox{\sl C}}; +\draw (3.633127,-0.2) node[below=-2bp]{{\tt igbt(,{,}LD)}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Bip.m4 b/graphics/circuit_macros/doc/BipMan.m4 index 121517d16d..121517d16d 100644 --- a/graphics/circuit_macros/doc/Bip.m4 +++ b/graphics/circuit_macros/doc/BipMan.m4 diff --git a/graphics/circuit_macros/doc/CctTable.tex b/graphics/circuit_macros/doc/CctTable.tex new file mode 100644 index 0000000000..ee442a4f3b --- /dev/null +++ b/graphics/circuit_macros/doc/CctTable.tex @@ -0,0 +1,858 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0.25,0) + --(0.270833,0.041667) + --(0.3125,-0.041667) + --(0.354167,0.041667) + --(0.395833,-0.041667) + --(0.4375,0.041667) + --(0.479167,-0.041667) + --(0.5,0) + --(0.75,0)\dpicstop +\draw (0.777674,0) node[right=-2bp]{{\tt resistor}}; +\dpicdraw (2.05,0) + --(2.3,0) + --(2.341667,0.083333) + --(2.383333,0) + --(2.425,0.083333) + --(2.466667,0) + --(2.508333,0.083333) + --(2.55,0) + --(2.55,0) + --(2.8,0)\dpicstop +\draw (2.827674,0) node[right=-2bp]{\tt resistor(,{,}Q) }; +\dpicdraw (4.1,0) + --(4.35,0)\dpicstop +\dpicdraw (4.6,0) + --(4.6,0.05) + --(4.35,0.05) + --(4.35,-0.05) + --(4.6,-0.05) + --(4.6,0)\dpicstop +\dpicdraw (4.6,0) + --(4.85,0)\dpicstop +\draw (4.877674,0) node[right=-2bp]{\shortstack[l]{\tt resistor(,{,}E)\\ {\tt $\equiv$ ebox}}}; +\dpicdraw (0,-0.28) + --(0.25,-0.28)\dpicstop +\dpicdraw (0.5,-0.28) + --(0.5,-0.23) + --(0.25,-0.23) + --(0.25,-0.33) + --(0.5,-0.33) + --(0.5,-0.28)\dpicstop +\dpicdraw (0.5,-0.28) + --(0.75,-0.28)\dpicstop +\dpicdraw (0.45,-0.23) + --(0.3,-0.33)\dpicstop +\draw (0.777674,-0.28) node[right=-2bp]{\tt resistor(,{,}ES) }; +\dpicdraw (2.05,-0.28) + --(2.3,-0.28) + --(2.3,-0.221667) + --(2.35,-0.221667) + --(2.35,-0.28) + --(2.4,-0.28) + --(2.4,-0.221667) + --(2.45,-0.221667) + --(2.45,-0.28) + --(2.5,-0.28) + --(2.5,-0.221667) + --(2.55,-0.221667) + --(2.55,-0.28) + --(2.55,-0.28) + --(2.8,-0.28)\dpicstop +\draw (2.827674,-0.28) node[right=-2bp]{\tt resistor(,{,}H) }; +\dpicdraw (4.1,-0.28) + --(4.35,-0.28)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!50!black] +\dpicdraw (4.6,-0.28) + --(4.6,-0.23) + --(4.35,-0.23) + --(4.35,-0.33) + --(4.6,-0.33) + --(4.6,-0.28)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.6,-0.28) + --(4.85,-0.28)\dpicstop +\draw (4.877674,-0.28) node[right=-2bp]{{\tt ebox(,{,},0.5)}}; +\dpicdraw (0,-0.56) + --(0.25,-0.56)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.25,-0.56) + --(0.25,-0.6225) + --(0.375,-0.56) + --(0.25,-0.56)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.5,-0.56) + --(0.5,-0.4975) + --(0.375,-0.56) + --(0.5,-0.56)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.5,-0.56) + --(0.75,-0.56)\dpicstop +\draw (0.777674,-0.56) node[right=-2bp]{{\tt resistor(,{,}V)}}; +\dpicdraw (2.05,-0.61) + --(2.375,-0.61) + --(2.375,-0.41) + --(2.425,-0.36) + --(2.475,-0.41) + --(2.475,-0.61) + --(2.8,-0.61)\dpicstop +\dpicdraw[fill=black](2.425,-0.36) circle (0.007874in)\dpicstop +\draw (2.827674,-0.61) node[right=-2bp]{{\tt thermocouple}}; +\dpicdraw (4.1,-0.56) + --(4.225,-0.56)\dpicstop +\dpicdraw (4.725,-0.56) + --(4.725,-0.41) + --(4.225,-0.41) + --(4.225,-0.71) + --(4.725,-0.71) + --(4.725,-0.56)\dpicstop +\dpicdraw (4.725,-0.56) + --(4.85,-0.56)\dpicstop +\draw (4.877674,-0.56) node[right=-2bp]{{\tt ebox(,0.5,0.3)}}; +\dpicdraw (0,-0.84) + --(0.25,-0.84)\dpicstop +\dpicdraw (0.25,-0.84) + --(0.25,-0.845556)\dpicstop +\dpicdraw (0.25,-0.84) + ..controls (0.25,-0.822741) and (0.263991,-0.80875) + ..(0.28125,-0.80875) + ..controls (0.298509,-0.80875) and (0.3125,-0.822741) + ..(0.3125,-0.84)\dpicstop +\dpicdraw (0.3125,-0.84) + --(0.3125,-0.845556)\dpicstop +\dpicdraw (0.3125,-0.84) + ..controls (0.3125,-0.822741) and (0.326491,-0.80875) + ..(0.34375,-0.80875) + ..controls (0.361009,-0.80875) and (0.375,-0.822741) + ..(0.375,-0.84)\dpicstop +\dpicdraw (0.375,-0.84) + --(0.375,-0.845556)\dpicstop +\dpicdraw (0.375,-0.84) + ..controls (0.375,-0.822741) and (0.388991,-0.80875) + ..(0.40625,-0.80875) + ..controls (0.423509,-0.80875) and (0.4375,-0.822741) + ..(0.4375,-0.84)\dpicstop +\dpicdraw (0.4375,-0.84) + --(0.4375,-0.845556)\dpicstop +\dpicdraw (0.4375,-0.84) + ..controls (0.4375,-0.822741) and (0.451491,-0.80875) + ..(0.46875,-0.80875) + ..controls (0.486009,-0.80875) and (0.5,-0.822741) + ..(0.5,-0.84)\dpicstop +\dpicdraw (0.5,-0.84) + --(0.5,-0.845556)\dpicstop +\dpicdraw (0.5,-0.84) + --(0.75,-0.84)\dpicstop +\draw (0.777674,-0.84) node[right=-2bp]{{\tt inductor}}; +\dpicdraw (2.05,-0.84) + --(2.283266,-0.84)\dpicstop +\dpicdraw[line width=0.4bp](2.283266,-0.84) circle (0.00109in)\dpicstop +\dpicdraw (2.283266,-0.84) + ..controls (2.265746,-0.802428) and (2.298931,-0.761082) + ..(2.339404,-0.770054) + ..controls (2.379877,-0.779027) and (2.392478,-0.830524) + ..(2.360721,-0.857171)\dpicstop +\dpicdraw[line width=0.4bp](2.360721,-0.857171) circle (0.00109in)\dpicstop +\dpicdraw (2.360721,-0.857171) + ..controls (2.324962,-0.827166) and (2.34618,-0.768869) + ..(2.392861,-0.768869) + ..controls (2.439541,-0.768869) and (2.460759,-0.827166) + ..(2.425,-0.857171)\dpicstop +\dpicdraw[line width=0.4bp](2.425,-0.857171) circle (0.00109in)\dpicstop +\dpicdraw (2.425,-0.857171) + ..controls (2.389241,-0.827166) and (2.410459,-0.768869) + ..(2.457139,-0.768869) + ..controls (2.50382,-0.768869) and (2.525038,-0.827166) + ..(2.489279,-0.857171)\dpicstop +\dpicdraw[line width=0.4bp](2.489279,-0.857171) circle (0.00109in)\dpicstop +\dpicdraw (2.489279,-0.857171) + ..controls (2.457522,-0.830524) and (2.470123,-0.779027) + ..(2.510596,-0.770054) + ..controls (2.551069,-0.761082) and (2.584254,-0.802428) + ..(2.566734,-0.84)\dpicstop +\dpicdraw[line width=0.4bp](2.566734,-0.84) circle (0.00109in)\dpicstop +\dpicdraw (2.566734,-0.84) + --(2.8,-0.84)\dpicstop +\draw (2.827674,-0.84) node[right=-2bp]{{\tt inductor(,W)}}; +\dpicdraw (4.1,-0.84) + --(4.35,-0.84)\dpicstop +\dpicdraw[line width=0.4bp](4.35,-0.84) circle (0.00109in)\dpicstop +\dpicdraw (4.35,-0.84) + ..controls (4.35,-0.805625) and (4.364625,-0.7775) + ..(4.3825,-0.7775) + ..controls (4.400375,-0.7775) and (4.415,-0.797188) + ..(4.415,-0.82125) + ..controls (4.415,-0.845313) and (4.40825,-0.865) + ..(4.4,-0.865) + ..controls (4.39175,-0.865) and (4.385,-0.845313) + ..(4.385,-0.82125) + ..controls (4.385,-0.797188) and (4.403,-0.7775) + ..(4.425,-0.7775) + ..controls (4.447,-0.7775) and (4.465,-0.797188) + ..(4.465,-0.82125) + ..controls (4.465,-0.845313) and (4.45825,-0.865) + ..(4.45,-0.865) + ..controls (4.44175,-0.865) and (4.435,-0.845313) + ..(4.435,-0.82125) + ..controls (4.435,-0.797188) and (4.453,-0.7775) + ..(4.475,-0.7775) + ..controls (4.497,-0.7775) and (4.515,-0.797188) + ..(4.515,-0.82125) + ..controls (4.515,-0.845313) and (4.50825,-0.865) + ..(4.5,-0.865) + ..controls (4.49175,-0.865) and (4.485,-0.845313) + ..(4.485,-0.82125) + ..controls (4.485,-0.797188) and (4.503,-0.7775) + ..(4.525,-0.7775) + ..controls (4.547,-0.7775) and (4.565,-0.797188) + ..(4.565,-0.82125) + ..controls (4.565,-0.845313) and (4.55825,-0.865) + ..(4.55,-0.865) + ..controls (4.54175,-0.865) and (4.535,-0.845313) + ..(4.535,-0.82125) + ..controls (4.535,-0.797188) and (4.549625,-0.7775) + ..(4.5675,-0.7775) + ..controls (4.585375,-0.7775) and (4.6,-0.805625) + ..(4.6,-0.84)\dpicstop +\dpicdraw[line width=0.4bp](4.6,-0.84) circle (0.00109in)\dpicstop +\dpicdraw (4.6,-0.84) + --(4.85,-0.84)\dpicstop +\draw (4.877674,-0.84) node[right=-2bp]{{\tt inductor(,L)}}; +\dpicdraw (0,-1.12) + --(0.25,-1.12)\dpicstop +\dpicdraw (0.25,-1.12) + --(0.25,-1.125556)\dpicstop +\dpicdraw (0.25,-1.12) + ..controls (0.25,-1.102741) and (0.263991,-1.08875) + ..(0.28125,-1.08875) + ..controls (0.298509,-1.08875) and (0.3125,-1.102741) + ..(0.3125,-1.12)\dpicstop +\dpicdraw (0.3125,-1.12) + --(0.3125,-1.125556)\dpicstop +\dpicdraw (0.3125,-1.12) + ..controls (0.3125,-1.102741) and (0.326491,-1.08875) + ..(0.34375,-1.08875) + ..controls (0.361009,-1.08875) and (0.375,-1.102741) + ..(0.375,-1.12)\dpicstop +\dpicdraw (0.375,-1.12) + --(0.375,-1.125556)\dpicstop +\dpicdraw (0.375,-1.12) + ..controls (0.375,-1.102741) and (0.388991,-1.08875) + ..(0.40625,-1.08875) + ..controls (0.423509,-1.08875) and (0.4375,-1.102741) + ..(0.4375,-1.12)\dpicstop +\dpicdraw (0.4375,-1.12) + --(0.4375,-1.125556)\dpicstop +\dpicdraw (0.4375,-1.12) + ..controls (0.4375,-1.102741) and (0.451491,-1.08875) + ..(0.46875,-1.08875) + ..controls (0.486009,-1.08875) and (0.5,-1.102741) + ..(0.5,-1.12)\dpicstop +\dpicdraw (0.5,-1.12) + --(0.5,-1.125556)\dpicstop +\dpicdraw (0.5,-1.12) + --(0.75,-1.12)\dpicstop +\dpicdraw (0.25,-1.067917) + --(0.5,-1.067917)\dpicstop +\dpicdraw (0.25,-1.036667) + --(0.5,-1.036667)\dpicstop +\draw (0.777674,-1.12) node[right=-2bp]{{\tt inductor(,{,},M)}}; +\dpicdraw (2.05,-1.12) + --(2.218988,-1.12)\dpicstop +\dpicdraw[line width=0.4bp](2.218988,-1.12) circle (0.00109in)\dpicstop +\dpicdraw (2.218988,-1.12) + ..controls (2.201468,-1.082428) and (2.234652,-1.041082) + ..(2.275125,-1.050054) + ..controls (2.315598,-1.059027) and (2.3282,-1.110524) + ..(2.296442,-1.137171)\dpicstop +\dpicdraw[line width=0.4bp](2.296442,-1.137171) circle (0.00109in)\dpicstop +\dpicdraw (2.296442,-1.137171) + ..controls (2.260683,-1.107166) and (2.281901,-1.048869) + ..(2.328582,-1.048869) + ..controls (2.375262,-1.048869) and (2.396481,-1.107166) + ..(2.360721,-1.137171)\dpicstop +\dpicdraw[line width=0.4bp](2.360721,-1.137171) circle (0.00109in)\dpicstop +\dpicdraw (2.360721,-1.137171) + ..controls (2.324962,-1.107166) and (2.34618,-1.048869) + ..(2.392861,-1.048869) + ..controls (2.439541,-1.048869) and (2.460759,-1.107166) + ..(2.425,-1.137171)\dpicstop +\dpicdraw[line width=0.4bp](2.425,-1.137171) circle (0.00109in)\dpicstop +\dpicdraw (2.425,-1.137171) + ..controls (2.389241,-1.107166) and (2.410459,-1.048869) + ..(2.457139,-1.048869) + ..controls (2.50382,-1.048869) and (2.525038,-1.107166) + ..(2.489279,-1.137171)\dpicstop +\dpicdraw[line width=0.4bp](2.489279,-1.137171) circle (0.00109in)\dpicstop +\dpicdraw (2.489279,-1.137171) + ..controls (2.453519,-1.107166) and (2.474738,-1.048869) + ..(2.521418,-1.048869) + ..controls (2.568099,-1.048869) and (2.589317,-1.107166) + ..(2.553558,-1.137171)\dpicstop +\dpicdraw[line width=0.4bp](2.553558,-1.137171) circle (0.00109in)\dpicstop +\dpicdraw (2.553558,-1.137171) + ..controls (2.5218,-1.110524) and (2.534402,-1.059027) + ..(2.574875,-1.050054) + ..controls (2.615348,-1.041082) and (2.648532,-1.082428) + ..(2.631012,-1.12)\dpicstop +\dpicdraw[line width=0.4bp](2.631012,-1.12) circle (0.00109in)\dpicstop +\dpicdraw (2.631012,-1.12) + --(2.8,-1.12)\dpicstop +\dpicdraw[dash pattern=on 0.032415in off 0.032415in](2.214303,-1.028036) + --(2.635697,-1.028036)\dpicstop +\dpicdraw[dash pattern=on 0.032415in off 0.032415in](2.214303,-0.996786) + --(2.635697,-0.996786)\dpicstop +\draw (2.827674,-1.12) node[right=-2bp]{{\tt inductor(,W,6,P)}}; +\dpicdraw (4.3,-1.12) + --(4.51875,-1.12)\dpicstop +\dpicdraw (4.553969,-1.08875) + --(4.51875,-1.08875) + --(4.51875,-1.15125) + --(4.553969,-1.15125)\dpicstop +\dpicdraw (4.675,-1.12) circle (0.049213in)\dpicstop +\draw (4.675,-1.12) node{G}; +\dpicdraw (4.796031,-1.08875) + --(4.83125,-1.08875) + --(4.83125,-1.15125) + --(4.796031,-1.15125)\dpicstop +\dpicdraw (4.83125,-1.12) + --(5.05,-1.12)\dpicstop +\draw (5.077674,-1.12) node[right=-2bp]{{\tt ttmotor(,G)}}; +\dpicdraw (0,-1.4) + --(0.35,-1.4)\dpicstop +\dpicdraw (0.35,-1.483333) + --(0.35,-1.316667)\dpicstop +\dpicdraw (0.4,-1.483333) + --(0.4,-1.316667)\dpicstop +\dpicdraw (0.4,-1.4) + --(0.75,-1.4)\dpicstop +\draw (0.777674,-1.4) node[right=-2bp]{{\tt capacitor}}; +\dpicdraw (2.05,-1.4) + --(2.4,-1.4)\dpicstop +\dpicdraw (2.4,-1.4625) + --(2.4,-1.3375)\dpicstop +\dpicdraw (2.45,-1.4625) + ..controls (2.427671,-1.423825) and (2.427671,-1.376175) + ..(2.45,-1.3375)\dpicstop +\dpicdraw (2.433253,-1.4) + --(2.8,-1.4)\dpicstop +\draw (2.827674,-1.4) node[right=-2bp]{{\tt capacitor(,C)}}; +\dpicdraw (4.1,-1.4) + --(4.45,-1.4)\dpicstop +\dpicdraw (4.45,-1.4625) + --(4.45,-1.3375)\dpicstop +\dpicdraw (4.5,-1.4625) + ..controls (4.477671,-1.423825) and (4.477671,-1.376175) + ..(4.5,-1.3375)\dpicstop +\dpicdraw (4.483253,-1.4) + --(4.85,-1.4)\dpicstop +\dpicdraw[line width=0.5bp](4.429167,-1.441667) + --(4.3875,-1.441667)\dpicstop +\dpicdraw[line width=0.5bp](4.408333,-1.420833) + --(4.408333,-1.4625)\dpicstop +\draw (4.877674,-1.4) node[right=-2bp]{{\tt capacitor(,C+)}}; +\dpicdraw (0,-1.68) + --(0.35,-1.68)\dpicstop +\dpicdraw (0.4,-1.7425) + --(0.35,-1.7425) + --(0.35,-1.6175) + --(0.4,-1.6175)\dpicstop +\dpicdraw (0.383333,-1.726875) + --(0.383333,-1.633125)\dpicstop +\dpicdraw (0.383333,-1.68) + --(0.75,-1.68)\dpicstop +\draw (0.777674,-1.68) node[right=-2bp]{{\tt capacitor(,P)}}; +\dpicdraw (2.05,-1.68) + --(2.375,-1.68)\dpicstop +\dpiclw=0.4bp +\dpicdraw (2.40625,-1.68) + --(2.40625,-1.63) + --(2.375,-1.63) + --(2.375,-1.73) + --(2.40625,-1.73) + --(2.40625,-1.68)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.44375,-1.68) + --(2.44375,-1.63) + --(2.475,-1.63) + --(2.475,-1.73) + --(2.44375,-1.73) + --(2.44375,-1.68)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpicdraw (2.475,-1.68) + --(2.8,-1.68)\dpicstop +\draw (2.827674,-1.68) node[right=-2bp]{{\tt capacitor(,E)}}; +\dpicdraw (4.1,-1.68) + --(4.425,-1.68)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.45625,-1.68) + --(4.45625,-1.63) + --(4.425,-1.63) + --(4.425,-1.73) + --(4.45625,-1.73) + --(4.45625,-1.68)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.49375,-1.68) + --(4.49375,-1.63) + --(4.525,-1.63) + --(4.525,-1.73) + --(4.49375,-1.73) + --(4.49375,-1.68)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.525,-1.68) + --(4.85,-1.68)\dpicstop +\draw (4.877674,-1.68) node[right=-2bp]{{\tt capacitor(,K)}}; +\dpicdraw (0,-1.93) + --(0.325,-1.93)\dpicstop +\dpiclw=0.4bp +\dpicdraw (0.35625,-1.93) + --(0.35625,-1.88) + --(0.325,-1.88) + --(0.325,-1.98) + --(0.35625,-1.98) + --(0.35625,-1.93)\dpicstop +\dpicdraw (0.39375,-1.93) + --(0.39375,-1.88) + --(0.425,-1.88) + --(0.425,-1.98) + --(0.39375,-1.98) + --(0.39375,-1.93)\dpicstop +\dpiclw=0.8bp +\dpicdraw (0.425,-1.93) + --(0.75,-1.93)\dpicstop +\draw (0.777674,-1.93) node[right=-2bp]{{\tt capacitor(,M)}}; +\dpicdraw (2.05,-1.93) + --(2.391667,-1.93)\dpicstop +\dpicdraw (2.422917,-1.93) + --(2.422917,-1.88) + --(2.391667,-1.88) + --(2.391667,-1.98) + --(2.422917,-1.98) + --(2.422917,-1.93)\dpicstop +\dpicdraw (2.458333,-1.88) + --(2.458333,-1.98)\dpicstop +\dpicdraw (2.458333,-1.93) + --(2.8,-1.93)\dpicstop +\draw (2.827674,-1.93) node[right=-2bp]{{\tt capacitor(,N)}}; +\dpicdraw (4.1,-1.93) + --(4.433333,-1.93)\dpicstop +\dpicdraw (4.433333,-1.971667) + --(4.433333,-1.888333)\dpicstop +\dpicdraw (4.454167,-1.93) + --(4.454167,-1.8675) + --(4.495833,-1.8675) + --(4.495833,-1.9925) + --(4.454167,-1.9925) + --(4.454167,-1.93)\dpicstop +\dpicdraw (4.516667,-1.971667) + --(4.516667,-1.888333)\dpicstop +\dpicdraw (4.516667,-1.93) + --(4.85,-1.93)\dpicstop +\draw (4.877674,-1.93) node[right=-2bp]{{\tt xtal}}; +\dpicdraw (0,-2.18) + --(0.25,-2.18)\dpicstop +\dpicdraw (0.5,-2.18) + --(0.5,-2.13) + --(0.25,-2.13) + --(0.25,-2.23) + --(0.5,-2.23) + --(0.5,-2.18)\dpicstop +\dpicdraw (0.25,-2.18) + --(0.29,-2.18) + --(0.29,-2.155) + --(0.33,-2.155) + --(0.33,-2.205) + --(0.37,-2.205) + --(0.37,-2.155) + --(0.41,-2.155) + --(0.41,-2.18) + --(0.45,-2.18)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.5125,-2.18) + --(0.5125,-2.13) + --(0.45,-2.13) + --(0.45,-2.23) + --(0.5125,-2.23) + --(0.5125,-2.18)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.5125,-2.18) + --(0.7625,-2.18)\dpicstop +\draw (0.777674,-2.18) node[right=-2bp]{{\tt memristor}}; +\dpicdraw (2.05,-2.18) + --(2.3,-2.18)\dpicstop +\dpicdraw (2.55,-2.18) + --(2.55,-2.13) + --(2.3,-2.13) + --(2.3,-2.23) + --(2.55,-2.23) + --(2.55,-2.18)\dpicstop +\dpicdraw (2.3625,-2.13) + --(2.3625,-2.23)\dpicstop +\dpicdraw (2.425,-2.13) + --(2.425,-2.23)\dpicstop +\dpicdraw (2.4875,-2.13) + --(2.4875,-2.23)\dpicstop +\dpicdraw (2.55,-2.18) + --(2.8,-2.18)\dpicstop +\draw (2.827674,-2.18) node[right=-2bp]{{\tt heater}}; +\dpicdraw (4.6625,-2.18) + --(4.85,-2.18)\dpicstop +\dpicdraw (4.1,-2.18) + --(4.308333,-2.18)\dpicstop +\dpicdraw[line width=0.4bp](4.308333,-2.18) circle (0.00109in)\dpicstop +\dpicdraw (4.308333,-2.221667) + --(4.641667,-2.221667)\dpicstop +\dpicdraw (4.641667,-2.221667) + ..controls (4.653173,-2.221667) and (4.6625,-2.203012) + ..(4.6625,-2.18) + ..controls (4.6625,-2.156988) and (4.653173,-2.138333) + ..(4.641667,-2.138333)\dpicstop +\dpicdraw (4.641667,-2.138333) + --(4.308333,-2.138333)\dpicstop +\dpicdraw (4.308333,-2.138333) + ..controls (4.296827,-2.138333) and (4.2875,-2.156988) + ..(4.2875,-2.18) + ..controls (4.2875,-2.203012) and (4.296827,-2.221667) + ..(4.308333,-2.221667) + ..controls (4.31984,-2.221667) and (4.329167,-2.203012) + ..(4.329167,-2.18) + ..controls (4.329167,-2.156988) and (4.31984,-2.138333) + ..(4.308333,-2.138333)\dpicstop +\draw (4.877674,-2.18) node[right=-2bp]{{\tt tline}}; +\dpicdraw[fill=black](0,-2.38) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](0.75,-2.38) circle (0.007874in)\dpicstop +\draw (0.777674,-2.38) node[right=-2bp]{{\tt gap}}; +\dpicdraw[fill=black](2.05,-2.43) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](2.8,-2.43) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](2.64,-2.455) + --(2.74,-2.43) + --(2.64,-2.405) --cycle\dpicstop +\dpicdraw (2.11,-2.43) + --(2.717094,-2.43)\dpicstop +\draw (2.827674,-2.43) node[right=-2bp]{{\tt gap(,{,}A)}}; +\dpicdraw (4.1,-2.43) + --(4.85,-2.43)\dpicstop +\filldraw[line width=0bp](4.425,-2.455) + --(4.525,-2.43) + --(4.425,-2.405) --cycle\dpicstop +\dpicdraw (4.425,-2.43) + --(4.502094,-2.43)\dpicstop +\draw (4.877674,-2.43) node[right=-2bp]{{\tt arrowline}}; +\dpicdraw (0,-2.68) + --(0.325,-2.68) + --(0.325,-2.52375)\dpicstop +\dpicdraw (0.325,-2.52375) + ..controls (0.325,-2.489264) and (0.339567,-2.46125) + ..(0.3575,-2.46125) + ..controls (0.375433,-2.46125) and (0.39,-2.480859) + ..(0.39,-2.505) + ..controls (0.39,-2.529141) and (0.383277,-2.54875) + ..(0.375,-2.54875) + ..controls (0.366723,-2.54875) and (0.36,-2.529141) + ..(0.36,-2.505) + ..controls (0.36,-2.480859) and (0.374567,-2.46125) + ..(0.3925,-2.46125) + ..controls (0.410433,-2.46125) and (0.425,-2.489264) + ..(0.425,-2.52375)\dpicstop +\dpicdraw (0.425,-2.52375) + --(0.425,-2.68) + --(0.75,-2.68)\dpicstop +\dpicdraw (0.375,-2.52375) circle (0.03937in)\dpicstop +\draw (0.777674,-2.68) node[right=-2bp]{{\tt lamp}}; +\dpicdraw (2.05,-2.68) + --(2.225,-2.68)\dpicstop +\dpicdraw (2.625,-2.68) + ..controls (2.624554,-2.672786) and (2.623417,-2.664086) + ..(2.622464,-2.660589) + ..controls (2.621511,-2.657091) and (2.619497,-2.651585) + ..(2.617969,-2.648304) + ..controls (2.616442,-2.645022) and (2.613514,-2.639948) + ..(2.611437,-2.636982) + ..controls (2.609359,-2.634016) and (2.605593,-2.629528) + ..(2.603033,-2.626967) + ..controls (2.600472,-2.624407) and (2.595984,-2.620641) + ..(2.593018,-2.618563) + ..controls (2.590052,-2.616486) and (2.584978,-2.613558) + ..(2.581696,-2.612031) + ..controls (2.578415,-2.610503) and (2.572909,-2.608489) + ..(2.569411,-2.607536) + ..controls (2.565914,-2.606583) and (2.560143,-2.605628) + ..(2.556537,-2.605404) + ..controls (2.55293,-2.605181) and (2.493973,-2.605) + ..(2.425,-2.605) + ..controls (2.356027,-2.605) and (2.29707,-2.605181) + ..(2.293463,-2.605404) + ..controls (2.289857,-2.605628) and (2.284086,-2.606583) + ..(2.280589,-2.607536) + ..controls (2.277091,-2.608489) and (2.271585,-2.610503) + ..(2.268304,-2.612031) + ..controls (2.265022,-2.613558) and (2.259948,-2.616486) + ..(2.256982,-2.618563) + ..controls (2.254016,-2.620641) and (2.249528,-2.624407) + ..(2.246967,-2.626967) + ..controls (2.244407,-2.629528) and (2.240641,-2.634016) + ..(2.238563,-2.636982) + ..controls (2.236486,-2.639948) and (2.233558,-2.645022) + ..(2.232031,-2.648304) + ..controls (2.230503,-2.651585) and (2.228489,-2.657091) + ..(2.227536,-2.660589) + ..controls (2.226583,-2.664086) and (2.225628,-2.669857) + ..(2.225404,-2.673463) + ..controls (2.225181,-2.67707) and (2.225,-2.68) + ..(2.225,-2.68) + ..controls (2.225,-2.68) and (2.225181,-2.68293) + ..(2.225404,-2.686537) + ..controls (2.225628,-2.690143) and (2.226583,-2.695914) + ..(2.227536,-2.699411) + ..controls (2.228489,-2.702909) and (2.230503,-2.708415) + ..(2.232031,-2.711696) + ..controls (2.233558,-2.714978) and (2.236486,-2.720052) + ..(2.238563,-2.723018) + ..controls (2.240641,-2.725984) and (2.244407,-2.730472) + ..(2.246967,-2.733033) + ..controls (2.249528,-2.735593) and (2.254016,-2.739359) + ..(2.256982,-2.741437) + ..controls (2.259948,-2.743514) and (2.265022,-2.746442) + ..(2.268304,-2.747969) + ..controls (2.271585,-2.749497) and (2.277091,-2.751511) + ..(2.280589,-2.752464) + ..controls (2.284086,-2.753417) and (2.289857,-2.754372) + ..(2.293463,-2.754596) + ..controls (2.29707,-2.754819) and (2.356027,-2.755) + ..(2.425,-2.755) + ..controls (2.493973,-2.755) and (2.55293,-2.754819) + ..(2.556537,-2.754596) + ..controls (2.560143,-2.754372) and (2.565914,-2.753417) + ..(2.569411,-2.752464) + ..controls (2.572909,-2.751511) and (2.578415,-2.749497) + ..(2.581696,-2.747969) + ..controls (2.584978,-2.746442) and (2.590052,-2.743514) + ..(2.593018,-2.741437) + ..controls (2.595984,-2.739359) and (2.600472,-2.735593) + ..(2.603033,-2.733033) + ..controls (2.605593,-2.730472) and (2.609359,-2.725984) + ..(2.611437,-2.723018) + ..controls (2.613514,-2.720052) and (2.616442,-2.714978) + ..(2.617969,-2.711696) + ..controls (2.619497,-2.708415) and (2.621511,-2.702909) + ..(2.622464,-2.699411) + ..controls (2.623417,-2.695914) and (2.624372,-2.690143) + ..(2.624596,-2.686537) + ..controls (2.624819,-2.68293) and (2.625,-2.68) + ..(2.625,-2.68)\dpicstop +\dpicdraw (2.225,-2.68) + --(2.305,-2.68) + --(2.465,-2.63)\dpicstop +\dpicdraw (2.425,-2.68) + --(2.625,-2.68)\dpicstop +\dpicdraw (2.625,-2.68) + --(2.8,-2.68)\dpicstop +\draw (2.827674,-2.68) node[right=-2bp]{{\tt reed}}; +\dpicdraw (4.1,-2.68) + --(4.275,-2.68)\dpicstop +\fill[fill=white!90!black,line width=0bp](4.675,-2.68) + ..controls (4.674554,-2.672786) and (4.673417,-2.664086) + ..(4.672464,-2.660589) + ..controls (4.671511,-2.657091) and (4.669497,-2.651585) + ..(4.667969,-2.648304) + ..controls (4.666442,-2.645022) and (4.663514,-2.639948) + ..(4.661437,-2.636982) + ..controls (4.659359,-2.634016) and (4.655593,-2.629528) + ..(4.653033,-2.626967) + ..controls (4.650472,-2.624407) and (4.645984,-2.620641) + ..(4.643018,-2.618563) + ..controls (4.640052,-2.616486) and (4.634978,-2.613558) + ..(4.631696,-2.612031) + ..controls (4.628415,-2.610503) and (4.622909,-2.608489) + ..(4.619411,-2.607536) + ..controls (4.615914,-2.606583) and (4.610143,-2.605628) + ..(4.606537,-2.605404) + ..controls (4.60293,-2.605181) and (4.543973,-2.605) + ..(4.475,-2.605) + ..controls (4.406027,-2.605) and (4.34707,-2.605181) + ..(4.343463,-2.605404) + ..controls (4.339857,-2.605628) and (4.334086,-2.606583) + ..(4.330589,-2.607536) + ..controls (4.327091,-2.608489) and (4.321585,-2.610503) + ..(4.318304,-2.612031) + ..controls (4.315022,-2.613558) and (4.309948,-2.616486) + ..(4.306982,-2.618563) + ..controls (4.304016,-2.620641) and (4.299528,-2.624407) + ..(4.296967,-2.626967) + ..controls (4.294407,-2.629528) and (4.290641,-2.634016) + ..(4.288563,-2.636982) + ..controls (4.286486,-2.639948) and (4.283558,-2.645022) + ..(4.282031,-2.648304) + ..controls (4.280503,-2.651585) and (4.278489,-2.657091) + ..(4.277536,-2.660589) + ..controls (4.276583,-2.664086) and (4.275628,-2.669857) + ..(4.275404,-2.673463) + ..controls (4.275181,-2.67707) and (4.275,-2.68) + ..(4.275,-2.68) + ..controls (4.275,-2.68) and (4.275181,-2.68293) + ..(4.275404,-2.686537) + ..controls (4.275628,-2.690143) and (4.276583,-2.695914) + ..(4.277536,-2.699411) + ..controls (4.278489,-2.702909) and (4.280503,-2.708415) + ..(4.282031,-2.711696) + ..controls (4.283558,-2.714978) and (4.286486,-2.720052) + ..(4.288563,-2.723018) + ..controls (4.290641,-2.725984) and (4.294407,-2.730472) + ..(4.296967,-2.733033) + ..controls (4.299528,-2.735593) and (4.304016,-2.739359) + ..(4.306982,-2.741437) + ..controls (4.309948,-2.743514) and (4.315022,-2.746442) + ..(4.318304,-2.747969) + ..controls (4.321585,-2.749497) and (4.327091,-2.751511) + ..(4.330589,-2.752464) + ..controls (4.334086,-2.753417) and (4.339857,-2.754372) + ..(4.343463,-2.754596) + ..controls (4.34707,-2.754819) and (4.406027,-2.755) + ..(4.475,-2.755) + ..controls (4.543973,-2.755) and (4.60293,-2.754819) + ..(4.606537,-2.754596) + ..controls (4.610143,-2.754372) and (4.615914,-2.753417) + ..(4.619411,-2.752464) + ..controls (4.622909,-2.751511) and (4.628415,-2.749497) + ..(4.631696,-2.747969) + ..controls (4.634978,-2.746442) and (4.640052,-2.743514) + ..(4.643018,-2.741437) + ..controls (4.645984,-2.739359) and (4.650472,-2.735593) + ..(4.653033,-2.733033) + ..controls (4.655593,-2.730472) and (4.659359,-2.725984) + ..(4.661437,-2.723018) + ..controls (4.663514,-2.720052) and (4.666442,-2.714978) + ..(4.667969,-2.711696) + ..controls (4.669497,-2.708415) and (4.671511,-2.702909) + ..(4.672464,-2.699411) + ..controls (4.673417,-2.695914) and (4.674372,-2.690143) + ..(4.674596,-2.686537) + ..controls (4.674819,-2.68293) and (4.675,-2.68) + ..(4.675,-2.68) --cycle\dpicstop +\dpicdraw (4.675,-2.68) + ..controls (4.674554,-2.672786) and (4.673417,-2.664086) + ..(4.672464,-2.660589) + ..controls (4.671511,-2.657091) and (4.669497,-2.651585) + ..(4.667969,-2.648304) + ..controls (4.666442,-2.645022) and (4.663514,-2.639948) + ..(4.661437,-2.636982) + ..controls (4.659359,-2.634016) and (4.655593,-2.629528) + ..(4.653033,-2.626967) + ..controls (4.650472,-2.624407) and (4.645984,-2.620641) + ..(4.643018,-2.618563) + ..controls (4.640052,-2.616486) and (4.634978,-2.613558) + ..(4.631696,-2.612031) + ..controls (4.628415,-2.610503) and (4.622909,-2.608489) + ..(4.619411,-2.607536) + ..controls (4.615914,-2.606583) and (4.610143,-2.605628) + ..(4.606537,-2.605404) + ..controls (4.60293,-2.605181) and (4.543973,-2.605) + ..(4.475,-2.605) + ..controls (4.406027,-2.605) and (4.34707,-2.605181) + ..(4.343463,-2.605404) + ..controls (4.339857,-2.605628) and (4.334086,-2.606583) + ..(4.330589,-2.607536) + ..controls (4.327091,-2.608489) and (4.321585,-2.610503) + ..(4.318304,-2.612031) + ..controls (4.315022,-2.613558) and (4.309948,-2.616486) + ..(4.306982,-2.618563) + ..controls (4.304016,-2.620641) and (4.299528,-2.624407) + ..(4.296967,-2.626967) + ..controls (4.294407,-2.629528) and (4.290641,-2.634016) + ..(4.288563,-2.636982) + ..controls (4.286486,-2.639948) and (4.283558,-2.645022) + ..(4.282031,-2.648304) + ..controls (4.280503,-2.651585) and (4.278489,-2.657091) + ..(4.277536,-2.660589) + ..controls (4.276583,-2.664086) and (4.275628,-2.669857) + ..(4.275404,-2.673463) + ..controls (4.275181,-2.67707) and (4.275,-2.68) + ..(4.275,-2.68) + ..controls (4.275,-2.68) and (4.275181,-2.68293) + ..(4.275404,-2.686537) + ..controls (4.275628,-2.690143) and (4.276583,-2.695914) + ..(4.277536,-2.699411) + ..controls (4.278489,-2.702909) and (4.280503,-2.708415) + ..(4.282031,-2.711696) + ..controls (4.283558,-2.714978) and (4.286486,-2.720052) + ..(4.288563,-2.723018) + ..controls (4.290641,-2.725984) and (4.294407,-2.730472) + ..(4.296967,-2.733033) + ..controls (4.299528,-2.735593) and (4.304016,-2.739359) + ..(4.306982,-2.741437) + ..controls (4.309948,-2.743514) and (4.315022,-2.746442) + ..(4.318304,-2.747969) + ..controls (4.321585,-2.749497) and (4.327091,-2.751511) + ..(4.330589,-2.752464) + ..controls (4.334086,-2.753417) and (4.339857,-2.754372) + ..(4.343463,-2.754596) + ..controls (4.34707,-2.754819) and (4.406027,-2.755) + ..(4.475,-2.755) + ..controls (4.543973,-2.755) and (4.60293,-2.754819) + ..(4.606537,-2.754596) + ..controls (4.610143,-2.754372) and (4.615914,-2.753417) + ..(4.619411,-2.752464) + ..controls (4.622909,-2.751511) and (4.628415,-2.749497) + ..(4.631696,-2.747969) + ..controls (4.634978,-2.746442) and (4.640052,-2.743514) + ..(4.643018,-2.741437) + ..controls (4.645984,-2.739359) and (4.650472,-2.735593) + ..(4.653033,-2.733033) + ..controls (4.655593,-2.730472) and (4.659359,-2.725984) + ..(4.661437,-2.723018) + ..controls (4.663514,-2.720052) and (4.666442,-2.714978) + ..(4.667969,-2.711696) + ..controls (4.669497,-2.708415) and (4.671511,-2.702909) + ..(4.672464,-2.699411) + ..controls (4.673417,-2.695914) and (4.674372,-2.690143) + ..(4.674596,-2.686537) + ..controls (4.674819,-2.68293) and (4.675,-2.68) + ..(4.675,-2.68)\dpicstop +\dpicdraw (4.275,-2.68) + --(4.355,-2.68) + --(4.515,-2.691111)\dpicstop +\dpicdraw (4.475,-2.68) + --(4.675,-2.68)\dpicstop +\dpicdraw (4.675,-2.68) + --(4.85,-2.68)\dpicstop +\draw (4.877674,-2.68) node[right=-2bp]{{\tt reed(,{,},fill\_(0.9),CR)}}; +\dpicdraw (0,-2.93) + --(0.25,-2.93)\dpicstop +\dpicdraw (0.5,-2.93) + --(0.5,-2.88) + --(0.25,-2.88) + --(0.25,-2.98) + --(0.5,-2.98) + --(0.5,-2.93)\dpicstop +\dpicdraw (0.25,-2.98) + --(0.333333,-2.93) + --(0.25,-2.88)\dpicstop +\dpicdraw (0.5,-2.93) + --(0.75,-2.93)\dpicstop +\draw (0.777674,-2.93) node[right=-2bp]{{\tt pvcell}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/CctTable.m4 b/graphics/circuit_macros/doc/CctTableMan.m4 index f7e47d0758..f7e47d0758 100644 --- a/graphics/circuit_macros/doc/CctTable.m4 +++ b/graphics/circuit_macros/doc/CctTableMan.m4 diff --git a/graphics/circuit_macros/doc/Circuit_macros.pdf b/graphics/circuit_macros/doc/Circuit_macros.pdf Binary files differindex 302f862d93..78a14a9ca9 100644 --- a/graphics/circuit_macros/doc/Circuit_macros.pdf +++ b/graphics/circuit_macros/doc/Circuit_macros.pdf diff --git a/graphics/circuit_macros/doc/Conn.tex b/graphics/circuit_macros/doc/Conn.tex new file mode 100644 index 0000000000..23d31e0e2b --- /dev/null +++ b/graphics/circuit_macros/doc/Conn.tex @@ -0,0 +1,178 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +{\sf +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (0.502778,0.324448) + --(0.377778,0.324448) + --(0.377778,-0.275552) + --(0.627778,-0.275552) + --(0.627778,0.324448) + --(0.502778,0.324448)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.627778,-0.125552) + --(0.377778,-0.125552)\dpicstop +\dpicdraw (0.627778,0.024448) + --(0.377778,0.024448)\dpicstop +\dpicdraw (0.627778,0.174448) + --(0.377778,0.174448)\dpicstop +\dpicdraw[fill=white](0.502778,-0.200552) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](0.502778,-0.050552) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](0.502778,0.099448) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](0.502778,0.249448) circle (0.007874in)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](0.311111,-0.220552) + --(0.377778,-0.200552) + --(0.311111,-0.180552) --cycle\dpicstop +\dpicdraw (0.368111,-0.200552) + --(0.227778,-0.200552)\dpicstop +\draw (0.227778,-0.200552) node[left=-2bp]{L1}; +\filldraw[line width=0bp](0.311111,0.229448) + --(0.377778,0.249448) + --(0.311111,0.269448) --cycle\dpicstop +\dpicdraw (0.368111,0.249448) + --(0.227778,0.249448)\dpicstop +\draw (0.227778,0.249448) node[left=-2bp]{L4}; +\draw (0.077778,0.044448) node{$\vdots$}; +\filldraw[line width=0bp](0.694444,-0.180552) + --(0.627778,-0.200552) + --(0.694444,-0.220552) --cycle\dpicstop +\dpicdraw (0.637445,-0.200552) + --(0.877778,-0.200552)\dpicstop +\draw (0.877778,-0.200552) node[right=-2bp]{R1}; +\filldraw[line width=0bp](0.694444,0.269448) + --(0.627778,0.249448) + --(0.694444,0.229448) --cycle\dpicstop +\dpicdraw (0.637445,0.249448) + --(0.877778,0.249448)\dpicstop +\draw (0.877778,0.249448) node[right=-2bp]{R4}; +\draw (1.027778,0.044448) node{$\vdots$}; +\filldraw[line width=0bp](0.547154,-0.146931) + --(0.502778,-0.200552) + --(0.569342,-0.180213) --cycle\dpicstop +\dpicdraw (0.510821,-0.195189) + --(0.652778,-0.100552)\dpicstop +\draw (0.652778,-0.100552) node[right=-2bp]{T1}; +\filldraw[line width=0bp](0.547154,0.303069) + --(0.502778,0.249448) + --(0.569342,0.269787) --cycle\dpicstop +\dpicdraw (0.510821,0.254811) + --(0.652778,0.349448)\dpicstop +\draw (0.652778,0.349448) node[right=-2bp]{T4}; +\draw (0.802778,0.144448) node{$\vdots$}; +\dpiclw=0.8bp +\draw (0.502778,-0.425552) node(CS1){\tt tstrip(U)}; +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (2.327778,-0.000552) + --(2.327778,0.124448) + --(1.327778,0.124448) + --(1.327778,-0.125552) + --(2.327778,-0.125552) + --(2.327778,-0.000552)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw[fill=black](1.427778,-0.000552) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](1.627778,-0.000552) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](1.827778,-0.000552) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](2.027778,-0.000552) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](2.227778,-0.000552) circle (0.007874in)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](1.439703,0.068021) + --(1.427778,-0.000552) + --(1.475481,0.050132) --cycle\dpicstop +\dpicdraw (1.432101,0.008095) + --(1.527778,0.199448)\dpicstop +\draw (1.527778,0.199448) node[above=-2bp]{T1}; +\filldraw[line width=0bp](2.239703,0.068021) + --(2.227778,-0.000552) + --(2.275481,0.050132) --cycle\dpicstop +\dpicdraw (2.232101,0.008095) + --(2.327778,0.199448)\dpicstop +\draw (2.327778,0.199448) node[above=-2bp]{T5}; +\draw (1.927778,0.199448) node[above=-2bp]{$\cdots$}; +\draw (1.227778,-0.325552) node(CS2){\shortstack{\rlap{\hbox to 2bp{}\tt tstrip(R,5,}\\% +\rlap{\hbox to 2bp{}\tt $\;\;$DO;wid=1.0;ht=0.25)}}}; +} +\dpiclw=0.8bp +\dpicdraw (2.927778,-0.025552) circle (0.03937in)\dpicstop +\dpicdraw[fill=black](2.927778,-0.025552) circle (0.013123in)\dpicstop +\draw (2.927778,-0.125552) node[below=-2bp]{\tt ccoax\vphantom{(}}; +\dpiclw=0.4bp +\filldraw[line width=0bp](2.984346,0.059301) + --(2.951348,-0.001982) + --(3.012631,0.031017) --cycle\dpicstop +\dpicdraw (2.965019,0.01169) + --(3.051348,0.098018)\dpicstop +\draw (3.051348,0.098018) node[right=-2bp]{C}; +\filldraw[line width=0bp](3.096351,-0.037477) + --(3.027778,-0.025552) + --(3.078462,-0.073255) --cycle\dpicstop +\dpicdraw (3.045071,-0.034198) + --(3.127778,-0.075552)\dpicstop +\draw (3.127778,-0.075552) node[right=-2bp]{S}; +\dpiclw=0.8bp +\dpicdraw (2.927778,0.274448) circle (0.03937in)\dpicstop +\dpicdraw[fill=white](2.927778,0.274448) circle (0.013123in)\dpicstop +\draw (3.027778,0.374448) node[right=-2bp]{\tt ccoax(,F)}; +\dpicdraw (3.740551,-0.225552) circle (0.019685in)\dpicstop +\dpicdraw (3.415551,-0.225552) + --(3.690551,-0.225552)\dpicstop +\draw (3.603051,-0.425552) node{\tt tconn(,O)}; +\dpicdraw (4.090551,-0.225552) + --(4.465551,-0.225552)\dpicstop +\dpicdraw (4.382218,-0.142218) + --(4.465551,-0.225552) + --(4.382218,-0.308885)\dpicstop +\draw (4.278051,-0.425552) node{\tt (,>)}; +\dpicdraw (4.765551,-0.225552) + --(5.078051,-0.225552)\dpicstop +\dpicdraw (4.994718,-0.142218) + --(5.078051,-0.225552) + --(4.994718,-0.308885)\dpicstop +\dpicdraw (5.057218,-0.142218) + --(5.140551,-0.225552) + --(5.057218,-0.308885)\dpicstop +\draw (4.953051,-0.425552) node{\tt (,>>)}; +\dpicdraw (4.090551,0.274448) + --(4.382218,0.274448)\dpicstop +\dpicdraw (4.465551,0.357782) + --(4.382218,0.274448) + --(4.465551,0.191115)\dpicstop +\draw (4.278051,0.074448) node{\tt tconn(,<)}; +\dpicdraw (4.765551,0.274448) + --(4.994718,0.274448)\dpicstop +\dpicdraw (5.078051,0.357782) + --(4.994718,0.274448) + --(5.078051,0.191115)\dpicstop +\dpicdraw (5.140551,0.357782) + --(5.057218,0.274448) + --(5.140551,0.191115)\dpicstop +\draw (4.953051,0.074448) node{\tt (,<<)}; +\dpicdraw (5.540551,0.357782) + --(5.657218,0.357782) + --(5.740551,0.274448) + --(5.657218,0.191115) + --(5.340551,0.191115) + --(5.340551,0.357782) + --(5.540551,0.357782)\dpicstop +\draw (5.498884,0.274448) node{$ V_2$}; +\draw (5.340551,0.191115) node[below right=-2bp]{\tt tbox(V\_2)}; +\dpicdraw (5.540551,-0.225552) + --(5.423884,-0.225552) + --(5.340551,-0.142218) + --(5.423884,-0.058885) + --(5.657218,-0.058885) + --(5.740551,-0.142218) + --(5.657218,-0.225552) + --(5.540551,-0.225552)\dpicstop +\draw (5.540551,-0.142218) node{$ V_1$}; +\draw (5.340551,-0.225552) node[below right=-2bp]{\tt tbox(V\_1,{,},<>)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Conn.m4 b/graphics/circuit_macros/doc/ConnMan.m4 index 7253d2b313..204ad5d96a 100644 --- a/graphics/circuit_macros/doc/Conn.m4 +++ b/graphics/circuit_macros/doc/ConnMan.m4 @@ -17,7 +17,7 @@ T:[ "$\vdots$" at (0.5 between last "" and 2nd last "")+(0.15,0.02) thicklines_ CS1: "`\tt tstrip(U)'" at S1.s+(0,-0.15) - S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.7,0.15) + S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.8,0.15) thinlines_ arrow <- up 0.2 right 0.1 from S2.T1; "T1" above arrow <- up 0.2 right 0.1 from S2.T5; "T5" above @@ -36,7 +36,7 @@ C: [ thicklines_ C2: ccoax(at C1+(0,0.3),F) `"\tt ccoax(,F)"' ht 11 pt__ wid 0.65 at C2.ne ljust - ] with .C1.sw at T.S2.se+(0.5,0.0) + ] with .C1.sw at T.S2.se+(0.6,0.0) Y: [ tconn(,O) @@ -46,24 +46,24 @@ Y: [ {`"\tt (,>)"' at last line.c+(0,-0.2)} move to P1.end+(0.3,0) tconn(,>>) - {`"\tt (,>>)"' at last line.c+(0,-0.2)} + {`"\tt (,>{}>)"' at last line.c+(0,-0.2)} move to P1.start+(0,linewid) P3: tconn(,<) {`"\tt tconn(,<)"' at last line.c+(0,-0.2)} move to P3.end+(0.3,0) tconn(,<<) - {`"\tt (,<<)"' at last line.c+(0,-0.2)} + {`"\tt (,<{}<)"' at last line.c+(0,-0.2)} ] with .sw at (C.e.x-0.4,T.s.y) B: [ tbox(V_2) - `"\tt tbox(V\_2)"' at last [].sw below ljust - [ left_; - tbox(V_1,,,<>) ] with .nw at last [].sw+(0,-0.25) - `"\tt tbox(V\_1,{,},<>)"' at last [].sw below ljust -# `"\tt left\_"' at last [].sw +(0,-0.2) ljust `"\tt tbox(V\_1)"' ljust -] with .nw at Y.ne+(0.2,0) + { `"\tt tbox(V\_2)"' at last [].sw below ljust } + tbox(V_1,,,<) with .sw at last [].se+(0.75,0) + { `"\tt tbox(V\_1,{,},<)"' at last [].s below } + tbox(V_1,,,<>) with .sw at last [].se+(0.75,0) + { `"\tt tbox(V\_1,{,},<>)"' at last [].s below } +] with .nw at T.sw+(0,-0.2) .PE diff --git a/graphics/circuit_macros/doc/Contact.tex b/graphics/circuit_macros/doc/Contact.tex new file mode 100644 index 0000000000..1870617cc1 --- /dev/null +++ b/graphics/circuit_macros/doc/Contact.tex @@ -0,0 +1,373 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw[fill=white](0.02,0.03125) circle (0.007874in)\dpicstop +\dpicdraw (0.04,0.03125) + --(0.27,0.03125)\dpicstop +\filldraw[line width=0bp](0.186667,0.114583) + --(0.228333,0.03125) + --(0.27,0.114583) --cycle\dpicstop +\dpicdraw (0.228333,0.043673) + --(0.228333,0.15625) + --(0.328333,0.15625)\dpicstop +\filldraw[line width=0bp](0.27,-0.114583) + --(0.228333,-0.03125) + --(0.186667,-0.114583) --cycle\dpicstop +\dpicdraw (0.228333,-0.043673) + --(0.228333,-0.15625) + --(0.328333,-0.15625)\dpicstop +\draw (0.164167,-0.347917) node{\tt contact}; +\draw (0,0.03125) node[left=-2bp]{\sl P}; +\draw (0.328333,-0.15625) node[right=-2bp]{\sl O}; +\draw (0.328333,0.15625) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](0.798333,-0.03125) circle (0.007874in)\dpicstop +\dpicdraw (0.818333,-0.03125) + --(1.048333,-0.03125)\dpicstop +\filldraw[line width=0bp](1.048333,-0.114583) + --(1.006667,-0.03125) + --(0.965,-0.114583) --cycle\dpicstop +\dpicdraw (1.006667,-0.043673) + --(1.006667,-0.15625) + --(1.106667,-0.15625)\dpicstop +\filldraw[line width=0bp](0.965,0.114583) + --(1.006667,0.03125) + --(1.048333,0.114583) --cycle\dpicstop +\dpicdraw (1.006667,0.043673) + --(1.006667,0.15625) + --(1.106667,0.15625)\dpicstop +\draw (0.9425,-0.347917) node{\tt (R)}; +\draw (0.778333,-0.03125) node[left=-2bp]{\sl P}; +\draw (1.106667,0.15625) node[right=-2bp]{\sl O}; +\draw (1.106667,-0.15625) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](1.576667,0.104583) circle (0.007874in)\dpicstop +\dpicdraw (1.596667,0.104583) + --(1.826667,0.104583)\dpicstop +\filldraw[line width=0bp](1.826667,-0.04125) + --(1.785,0.042083) + --(1.743333,-0.04125) --cycle\dpicstop +\dpicdraw (1.785,0.029661) + --(1.785,-0.082917) + --(1.885,-0.082917)\dpicstop +\draw (1.720833,-0.347917) node{\tt (O)}; +\dpicdraw[fill=white](2.355,-0.073333) circle (0.007874in)\dpicstop +\dpicdraw (2.375,-0.073333) + --(2.605,-0.073333)\dpicstop +\filldraw[line width=0bp](2.521667,0.01) + --(2.563333,-0.073333) + --(2.605,0.01) --cycle\dpicstop +\dpicdraw (2.563333,-0.060911) + --(2.563333,0.051667) + --(2.663333,0.051667)\dpicstop +\draw (2.499167,-0.347917) node{\tt (C)}; +\dpicdraw[fill=white](3.133333,0) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](3.3,0.145833) + --(3.341667,0.0625) + --(3.383333,0.145833) --cycle\dpicstop +\dpicdraw (3.341667,0.074923) + --(3.341667,0.1875) + --(3.441667,0.1875)\dpicstop +\filldraw[line width=0bp](3.383333,-0.145833) + --(3.341667,-0.0625) + --(3.3,-0.145833) --cycle\dpicstop +\dpicdraw (3.341667,-0.074923) + --(3.341667,-0.1875) + --(3.441667,-0.1875)\dpicstop +\dpicdraw (3.153333,0) + --(3.383333,0)\dpicstop +\draw (3.2775,-0.379167) node{\tt (P)}; +\draw (3.113333,0) node[left=-2bp]{\sl P}; +\draw (3.441667,-0.1875) node[right=-2bp]{\sl O}; +\draw (3.441667,0.1875) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](3.911667,0) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](4.161667,-0.145833) + --(4.12,-0.0625) + --(4.078333,-0.145833) --cycle\dpicstop +\dpicdraw (4.12,-0.074923) + --(4.12,-0.1875) + --(4.22,-0.1875)\dpicstop +\filldraw[line width=0bp](4.078333,0.145833) + --(4.12,0.0625) + --(4.161667,0.145833) --cycle\dpicstop +\dpicdraw (4.12,0.074923) + --(4.12,0.1875) + --(4.22,0.1875)\dpicstop +\dpicdraw (3.931667,0) + --(4.161667,0)\dpicstop +\draw (4.055833,-0.379167) node{\tt (PR)}; +\draw (3.891667,0) node[left=-2bp]{\sl P}; +\draw (4.22,0.1875) node[right=-2bp]{\sl O}; +\draw (4.22,-0.1875) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](4.69,0) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](4.856667,0.145833) + --(4.898333,0.0625) + --(4.94,0.145833) --cycle\dpicstop +\dpicdraw (4.898333,0.074923) + --(4.898333,0.1875) + --(4.998333,0.1875)\dpicstop +\filldraw[line width=0bp](4.94,-0.145833) + --(4.898333,-0.0625) + --(4.856667,-0.145833) --cycle\dpicstop +\dpicdraw (4.898333,-0.074923) + --(4.898333,-0.1875) + --(4.998333,-0.1875)\dpicstop +\dpicdraw (4.709157,-0.005747) + --(4.91749,-0.068247)\dpicstop +\draw (4.834167,-0.379167) node{\tt (PO)}; +\draw (4.998333,-0.1875) node[right=-2bp]{\sl O}; +\draw (4.998333,0.1875) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](5.468333,0) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](5.635,0.145833) + --(5.676667,0.0625) + --(5.718333,0.145833) --cycle\dpicstop +\dpicdraw (5.676667,0.074923) + --(5.676667,0.1875) + --(5.776667,0.1875)\dpicstop +\filldraw[line width=0bp](5.718333,-0.145833) + --(5.676667,-0.0625) + --(5.635,-0.145833) --cycle\dpicstop +\dpicdraw (5.676667,-0.074923) + --(5.676667,-0.1875) + --(5.776667,-0.1875)\dpicstop +\dpicdraw (5.48749,0.005747) + --(5.695823,0.068247)\dpicstop +\draw (5.6125,-0.379167) node{\tt (PC)}; +\dpicdraw[fill=white](0.02,-0.711528) circle (0.007874in)\dpicstop +\dpicdraw (0.04,-0.711528) + --(0.27,-0.711528)\dpicstop +\dpicdraw[fill=white](0.228333,-0.685972) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](0.228333,-0.814028) circle (0.007874in)\dpicstop +\draw (0.135,-1.000694) node{\tt (I)}; +\draw (0,-0.711528) node[left=-2bp]{\sl P}; +\draw (0.248333,-0.814028) node[right=-2bp]{\sl O}; +\draw (0.248333,-0.685972) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](0.74,-0.788472) circle (0.007874in)\dpicstop +\dpicdraw (0.76,-0.788472) + --(0.99,-0.788472)\dpicstop +\dpicdraw[fill=white](0.948333,-0.814028) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](0.948333,-0.685972) circle (0.007874in)\dpicstop +\draw (0.855,-1.000694) node{\tt (RI)}; +\draw (0.72,-0.788472) node[left=-2bp]{\sl P}; +\draw (0.968333,-0.685972) node[right=-2bp]{\sl O}; +\draw (0.968333,-0.814028) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](1.46,-0.69875) circle (0.007874in)\dpicstop +\dpicdraw (1.48,-0.69875) + --(1.71,-0.69875)\dpicstop +\dpicdraw[fill=white](1.668333,-0.80125) circle (0.007874in)\dpicstop +\draw (1.575,-1.000694) node{\tt (OI)}; +\dpicdraw[fill=white](2.18,-0.762778) circle (0.007874in)\dpicstop +\dpicdraw (2.2,-0.762778) + --(2.43,-0.762778)\dpicstop +\dpicdraw[fill=white](2.388333,-0.737222) circle (0.007874in)\dpicstop +\draw (2.295,-1.000694) node{\tt (CI)}; +\dpicdraw[fill=white](2.9,-0.75) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.108333,-0.641944) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.108333,-0.858056) circle (0.007874in)\dpicstop +\dpicdraw (2.92,-0.75) + --(3.15,-0.75)\dpicstop +\draw (3.015,-1.000694) node{\tt (PI)}; +\draw (3.128333,-0.858056) node[right=-2bp]{\sl O}; +\draw (3.128333,-0.641944) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](3.62,-0.75) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.828333,-0.641944) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.828333,-0.858056) circle (0.007874in)\dpicstop +\dpicdraw (3.638651,-0.75722) + --(3.856211,-0.841444)\dpicstop +\draw (3.728105,-1.000694) node{\tt (PIO)}; +\dpicdraw[fill=white](4.326211,-0.75) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](4.534544,-0.641944) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](4.534544,-0.858056) circle (0.007874in)\dpicstop +\dpicdraw (4.344862,-0.74278) + --(4.562421,-0.658556)\dpicstop +\draw (4.434316,-1.000694) node{\tt (PIC)}; +\dpicdraw[fill=white](0.02,-1.36875) circle (0.007874in)\dpicstop +\dpicdraw (0.04,-1.36875) + --(0.27,-1.36875)\dpicstop +\dpicdraw (0.228333,-1.382639) + --(0.228333,-1.299306)\dpicstop +\dpicdraw (0.228333,-1.500694) + --(0.228333,-1.417361)\dpicstop +\draw (0.135,-1.650694) node{\tt (T)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](0.295,-1.320972) + --(0.228333,-1.340972) + --(0.295,-1.360972) --cycle\dpicstop +\dpicdraw (0.247667,-1.340972) + --(0.283,-1.340972) + ..controls (0.306556,-1.340972) and (0.326667,-1.332639) + ..(0.343333,-1.315972) + --(0.368333,-1.290972)\dpicstop +\draw (0.368333,-1.290972) node{$\;\;$\sl C}; +\filldraw[line width=0bp](0.295,-1.439028) + --(0.228333,-1.459028) + --(0.295,-1.479028) --cycle\dpicstop +\dpicdraw (0.247667,-1.459028) + --(0.283,-1.459028) + ..controls (0.306556,-1.459028) and (0.326667,-1.467361) + ..(0.343333,-1.484028) + --(0.368333,-1.509028)\dpicstop +\draw (0.368333,-1.509028) node{$\;\;$\sl O}; +\dpiclw=0.8bp +\dpicdraw[fill=white](0.74,-1.43125) circle (0.007874in)\dpicstop +\dpicdraw (0.76,-1.43125) + --(0.99,-1.43125)\dpicstop +\dpicdraw (0.948333,-1.500694) + --(0.948333,-1.417361)\dpicstop +\dpicdraw (0.948333,-1.382639) + --(0.948333,-1.299306)\dpicstop +\draw (0.855,-1.650694) node{\tt (RT)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](1.015,-1.320972) + --(0.948333,-1.340972) + --(1.015,-1.360972) --cycle\dpicstop +\dpicdraw (0.967667,-1.340972) + --(1.003,-1.340972) + ..controls (1.026556,-1.340972) and (1.046667,-1.332639) + ..(1.063333,-1.315972) + --(1.088333,-1.290972)\dpicstop +\draw (1.088333,-1.290972) node{$\;\;$\sl O}; +\filldraw[line width=0bp](1.015,-1.439028) + --(0.948333,-1.459028) + --(1.015,-1.479028) --cycle\dpicstop +\dpicdraw (0.967667,-1.459028) + --(1.003,-1.459028) + ..controls (1.026556,-1.459028) and (1.046667,-1.467361) + ..(1.063333,-1.484028) + --(1.088333,-1.509028)\dpicstop +\draw (1.088333,-1.509028) node{$\;\;$\sl C}; +\dpiclw=0.8bp +\dpicdraw[fill=white](1.46,-1.344028) circle (0.007874in)\dpicstop +\dpicdraw (1.48,-1.344028) + --(1.71,-1.344028)\dpicstop +\dpicdraw (1.668333,-1.475972) + --(1.668333,-1.392639)\dpicstop +\draw (1.575,-1.650694) node{\tt (OT)}; +\dpicdraw[fill=white](2.18,-1.424722) circle (0.007874in)\dpicstop +\dpicdraw (2.2,-1.424722) + --(2.43,-1.424722)\dpicstop +\dpicdraw (2.388333,-1.438611) + --(2.388333,-1.355278)\dpicstop +\draw (2.295,-1.650694) node{\tt (CT)}; +\dpicdraw[fill=white](2.9,-1.4) circle (0.007874in)\dpicstop +\dpicdraw (3.108333,-1.351389) + --(3.108333,-1.268056)\dpicstop +\dpicdraw (3.108333,-1.531944) + --(3.108333,-1.448611)\dpicstop +\dpicdraw (2.92,-1.4) + --(3.15,-1.4)\dpicstop +\draw (3.015,-1.650694) node{\tt (PT)}; +\dpicdraw[fill=white](3.62,-1.4) circle (0.007874in)\dpicstop +\dpicdraw (3.828333,-1.351389) + --(3.828333,-1.268056)\dpicstop +\dpicdraw (3.828333,-1.531944) + --(3.828333,-1.448611)\dpicstop +\dpicdraw (3.639157,-1.405747) + --(3.84749,-1.468247)\dpicstop +\draw (3.723745,-1.650694) node{\tt (PTO)}; +\dpicdraw[fill=white](4.31749,-1.4) circle (0.007874in)\dpicstop +\dpicdraw (4.525823,-1.351389) + --(4.525823,-1.268056)\dpicstop +\dpicdraw (4.525823,-1.531944) + --(4.525823,-1.448611)\dpicstop +\dpicdraw (4.336646,-1.394253) + --(4.54498,-1.331753)\dpicstop +\draw (4.421235,-1.650694) node{\tt (PTC)}; +\dpicdraw[fill=white](0.02,-2.05) circle (0.007874in)\dpicstop +\dpicdraw (0.04,-2.05) + --(0.27,-2.05)\dpicstop +\dpicdraw (0.311667,-1.966667) + --(0.228333,-1.966667)\dpicstop +\dpicdraw (0.311667,-2.133333) + --(0.228333,-2.133333)\dpicstop +\draw (0.155833,-2.283333) node{\tt (U)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](0.378333,-1.946667) + --(0.311667,-1.966667) + --(0.378333,-1.986667) --cycle\dpicstop +\dpicdraw (0.331001,-1.966667) + --(0.366334,-1.966667) + ..controls (0.389889,-1.966667) and (0.41,-1.958333) + ..(0.426667,-1.941667) + --(0.451667,-1.916667)\dpicstop +\draw (0.451667,-1.916667) node{$\;\;$\sl C}; +\filldraw[line width=0bp](0.378333,-2.113333) + --(0.311667,-2.133333) + --(0.378333,-2.153333) --cycle\dpicstop +\dpicdraw (0.331001,-2.133333) + --(0.366334,-2.133333) + ..controls (0.389889,-2.133333) and (0.41,-2.141667) + ..(0.426667,-2.158333) + --(0.451667,-2.183333)\dpicstop +\draw (0.451667,-2.183333) node{$\;\;$\sl O}; +\dpiclw=0.8bp +\dpicdraw[fill=white](0.781667,-2.05) circle (0.007874in)\dpicstop +\dpicdraw (0.801667,-2.05) + --(1.031667,-2.05)\dpicstop +\dpicdraw (1.073333,-2.133333) + --(0.99,-2.133333)\dpicstop +\dpicdraw (1.073333,-1.966667) + --(0.99,-1.966667)\dpicstop +\draw (0.9175,-2.283333) node{\tt (RU)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](1.14,-1.946667) + --(1.073333,-1.966667) + --(1.14,-1.986667) --cycle\dpicstop +\dpicdraw (1.092667,-1.966667) + --(1.128,-1.966667) + ..controls (1.151556,-1.966667) and (1.171667,-1.958333) + ..(1.188333,-1.941667) + --(1.213333,-1.916667)\dpicstop +\draw (1.213333,-1.916667) node{$\;\;$\sl O}; +\filldraw[line width=0bp](1.14,-2.113333) + --(1.073333,-2.133333) + --(1.14,-2.153333) --cycle\dpicstop +\dpicdraw (1.092667,-2.133333) + --(1.128,-2.133333) + ..controls (1.151556,-2.133333) and (1.171667,-2.141667) + ..(1.188333,-2.158333) + --(1.213333,-2.183333)\dpicstop +\draw (1.213333,-2.183333) node{$\;\;$\sl C}; +\dpiclw=0.8bp +\dpicdraw[fill=white](1.543333,-2.018333) circle (0.007874in)\dpicstop +\dpicdraw (1.563333,-2.018333) + --(1.793333,-2.018333)\dpicstop +\dpicdraw (1.835,-2.101667) + --(1.751667,-2.101667)\dpicstop +\draw (1.679167,-2.283333) node{\tt (OU)}; +\draw (1.835,-2.101667) node[right=-2bp]{\sl O}; +\dpicdraw[fill=white](2.305,-2.081667) circle (0.007874in)\dpicstop +\dpicdraw (2.325,-2.081667) + --(2.555,-2.081667)\dpicstop +\dpicdraw (2.596667,-1.998333) + --(2.513333,-1.998333)\dpicstop +\draw (2.440833,-2.283333) node{\tt (CU)}; +\draw (2.596667,-1.998333) node[right=-2bp]{\sl C}; +\dpicdraw[fill=white](3.066667,-2.05) circle (0.007874in)\dpicstop +\dpicdraw (3.358333,-1.966667) + --(3.275,-1.966667)\dpicstop +\dpicdraw (3.358333,-2.133333) + --(3.275,-2.133333)\dpicstop +\dpicdraw (3.086667,-2.05) + --(3.316667,-2.05)\dpicstop +\draw (3.2025,-2.283333) node{\tt (PU)}; +\dpicdraw[fill=white](3.828333,-2.046552) circle (0.007874in)\dpicstop +\dpicdraw (4.12,-1.963218) + --(4.036667,-1.963218)\dpicstop +\dpicdraw (4.12,-2.129885) + --(4.036667,-2.129885)\dpicstop +\dpicdraw (3.847107,-2.053448) + --(4.073959,-2.136782)\dpicstop +\draw (3.964167,-2.283333) node{\tt (PUO)}; +\dpicdraw[fill=white](4.59,-2.053448) circle (0.007874in)\dpicstop +\dpicdraw (4.881667,-1.970115) + --(4.798333,-1.970115)\dpicstop +\dpicdraw (4.881667,-2.136782) + --(4.798333,-2.136782)\dpicstop +\dpicdraw (4.608773,-2.046552) + --(4.835625,-1.963218)\dpicstop +\draw (4.725833,-2.283333) node(S){\tt (PUC)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Contact.m4 b/graphics/circuit_macros/doc/ContactMan.m4 index 26f8d5a982..26f8d5a982 100644 --- a/graphics/circuit_macros/doc/Contact.m4 +++ b/graphics/circuit_macros/doc/ContactMan.m4 diff --git a/graphics/circuit_macros/doc/Contacts.tex b/graphics/circuit_macros/doc/Contacts.tex new file mode 100644 index 0000000000..2d9d5c5a6d --- /dev/null +++ b/graphics/circuit_macros/doc/Contacts.tex @@ -0,0 +1,141 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw[fill=white](0.02,-0.1875) circle (0.007874in)\dpicstop +\dpicdraw (0.04,-0.1875) + --(0.27,-0.1875)\dpicstop +\filldraw[line width=0bp](0.186667,-0.104167) + --(0.228333,-0.1875) + --(0.27,-0.104167) --cycle\dpicstop +\dpicdraw (0.228333,-0.175077) + --(0.228333,-0.0625) + --(0.328333,-0.0625)\dpicstop +\filldraw[line width=0bp](0.27,-0.333333) + --(0.228333,-0.25) + --(0.186667,-0.333333) --cycle\dpicstop +\dpicdraw (0.228333,-0.262423) + --(0.228333,-0.375) + --(0.328333,-0.375)\dpicstop +\dpicdraw[fill=white](0.02,0.25) circle (0.007874in)\dpicstop +\dpicdraw (0.04,0.25) + --(0.27,0.25)\dpicstop +\filldraw[line width=0bp](0.186667,0.333333) + --(0.228333,0.25) + --(0.27,0.333333) --cycle\dpicstop +\dpicdraw (0.228333,0.262423) + --(0.228333,0.375) + --(0.328333,0.375)\dpicstop +\filldraw[line width=0bp](0.27,0.104167) + --(0.228333,0.1875) + --(0.186667,0.104167) --cycle\dpicstop +\dpicdraw (0.228333,0.175077) + --(0.228333,0.0625) + --(0.328333,0.0625)\dpicstop +\draw (0.164167,-0.583333) node{\tt contacts(2)}; +\draw (0,-0.1875) node[left=-2bp]{\sl P1}; +\draw (0.348333,-0.375) node[right=-2bp]{\sl O1}; +\draw (0.348333,-0.0625) node[right=-2bp]{\sl C1}; +\draw (0,0.25) node[left=-2bp]{\sl P2}; +\draw (0.348333,0.0625) node[right=-2bp]{\sl O2}; +\draw (0.348333,0.375) node[right=-2bp]{\sl C2}; +\dpicdraw[fill=white](1.098333,-0.294167) circle (0.007874in)\dpicstop +\dpicdraw (1.118333,-0.294167) + --(1.348333,-0.294167)\dpicstop +\dpicdraw[fill=white](1.306667,-0.268611) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](1.306667,-0.396667) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](1.098333,-0.041111) circle (0.007874in)\dpicstop +\dpicdraw (1.118333,-0.041111) + --(1.348333,-0.041111)\dpicstop +\dpicdraw[fill=white](1.306667,-0.015556) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](1.306667,-0.143611) circle (0.007874in)\dpicstop +\draw (1.213333,-0.583333) node{\tt (2,I)}; +\draw (1.078333,-0.294167) node[left=-2bp]{\sl P1}; +\draw (1.326667,-0.396667) node[right=-2bp]{\sl O1}; +\draw (1.326667,-0.268611) node[right=-2bp]{\sl C1}; +\draw (1.078333,-0.041111) node[left=-2bp]{\sl P2}; +\draw (1.326667,-0.143611) node[right=-2bp]{\sl O2}; +\draw (1.326667,-0.015556) node[right=-2bp]{\sl C2}; +\dpicdraw[fill=white](2.118333,-0.294167) circle (0.007874in)\dpicstop +\dpicdraw (2.138333,-0.294167) + --(2.368333,-0.294167)\dpicstop +\dpicdraw[fill=white](2.326667,-0.396667) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](2.118333,-0.066667) circle (0.007874in)\dpicstop +\dpicdraw (2.138333,-0.066667) + --(2.368333,-0.066667)\dpicstop +\dpicdraw[fill=white](2.326667,-0.169167) circle (0.007874in)\dpicstop +\draw (2.233333,-0.583333) node{\tt (2,IO)}; +\draw (2.098333,-0.294167) node[left=-2bp]{\sl P1}; +\draw (2.346667,-0.396667) node[right=-2bp]{\sl O1}; +\draw (2.098333,-0.066667) node[left=-2bp]{\sl P2}; +\draw (2.346667,-0.169167) node[right=-2bp]{\sl O2}; +\dpicdraw[fill=white](3.138333,-0.288611) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.346667,-0.180556) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.346667,-0.396667) circle (0.007874in)\dpicstop +\dpicdraw (3.156984,-0.281391) + --(3.374544,-0.197167)\dpicstop +\dpicdraw[fill=white](3.138333,0.0525) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.346667,0.160556) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.346667,-0.055556) circle (0.007874in)\dpicstop +\dpicdraw (3.156984,0.05972) + --(3.374544,0.143944)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](3.265764,-0.289279) + --(3.265764,0.151832)\dpicstop +\draw (3.246439,-0.583333) node{\tt (2,PICD)}; +\draw (3.118333,-0.288611) node[left=-2bp]{\sl P1}; +\draw (3.366667,-0.396667) node[right=-2bp]{\sl O1}; +\draw (3.366667,-0.180556) node[right=-2bp]{\sl C1}; +\draw (3.118333,0.0525) node[left=-2bp]{\sl P2}; +\draw (3.366667,-0.055556) node[right=-2bp]{\sl O2}; +\draw (3.366667,0.160556) node[right=-2bp]{\sl C2}; +\dpicdraw[fill=white](4.144544,-0.284722) circle (0.007874in)\dpicstop +\dpicdraw (4.352877,-0.236111) + --(4.352877,-0.152778)\dpicstop +\dpicdraw (4.352877,-0.416667) + --(4.352877,-0.333333)\dpicstop +\dpicdraw (4.1637,-0.278975) + --(4.372034,-0.216475)\dpicstop +\dpicdraw[fill=white](4.144544,0.020833) circle (0.007874in)\dpicstop +\dpicdraw (4.352877,0.069444) + --(4.352877,0.152778)\dpicstop +\dpicdraw (4.352877,-0.111111) + --(4.352877,-0.027778)\dpicstop +\dpicdraw (4.1637,0.02658) + --(4.372034,0.08908)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](4.267867,-0.297725) + --(4.267867,0.10783)\dpicstop +\draw (4.248289,-0.583333) node{\tt (2,PTCD)}; +\draw (4.124544,-0.284722) node[left=-2bp]{\sl P1}; +\draw (4.372877,-0.375) node[right=-2bp]{\sl O1}; +\draw (4.372877,-0.194444) node[right=-2bp]{\sl C1}; +\draw (4.124544,0.020833) node[left=-2bp]{\sl P2}; +\draw (4.372877,-0.069444) node[right=-2bp]{\sl O2}; +\draw (4.372877,0.111111) node[right=-2bp]{\sl C2}; +\dpicdraw[fill=white](5.142034,-0.333333) circle (0.007874in)\dpicstop +\dpicdraw (5.4337,-0.25) + --(5.350367,-0.25)\dpicstop +\dpicdraw (5.4337,-0.416667) + --(5.350367,-0.416667)\dpicstop +\dpicdraw (5.160807,-0.326437) + --(5.387659,-0.243104)\dpicstop +\dpicdraw[fill=white](5.142034,-0.041667) circle (0.007874in)\dpicstop +\dpicdraw (5.4337,0.041667) + --(5.350367,0.041667)\dpicstop +\dpicdraw (5.4337,-0.125) + --(5.350367,-0.125)\dpicstop +\dpicdraw (5.160807,-0.03477) + --(5.387659,0.048563)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](5.274233,-0.33477) + --(5.274233,0.056896)\dpicstop +\draw (5.277867,-0.583333) node{\tt (2,PUCD)}; +\draw (5.122034,-0.333333) node[left=-2bp]{\sl P1}; +\draw (5.4537,-0.416667) node[right=-2bp]{\sl O1}; +\draw (5.4537,-0.25) node[right=-2bp]{\sl C1}; +\draw (5.122034,-0.041667) node[left=-2bp]{\sl P2}; +\draw (5.4537,-0.125) node[right=-2bp]{\sl O2}; +\draw (5.4537,0.041667) node[right=-2bp]{\sl C2}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Contacts.m4 b/graphics/circuit_macros/doc/ContactsMan.m4 index 9e006218e3..9e006218e3 100644 --- a/graphics/circuit_macros/doc/Contacts.m4 +++ b/graphics/circuit_macros/doc/ContactsMan.m4 diff --git a/graphics/circuit_macros/doc/Demultiplexer.tex b/graphics/circuit_macros/doc/Demultiplexer.tex new file mode 100644 index 0000000000..e6e5ec9848 --- /dev/null +++ b/graphics/circuit_macros/doc/Demultiplexer.tex @@ -0,0 +1,148 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +{\sf +\dpicdraw (0.2,0.075) + --(0.2,0.425) + --(0.6,0.525) + --(0.6,-0.375) + --(0.2,-0.275) + --(0.2,0.075)\dpicstop +\draw (0.4,0.075) node{\scriptsize DM1}; +\dpicdraw (0.2,0.075) + --(0,0.075)\dpicstop +\dpicdraw (0.4,-0.325) + --(0.4,-0.525)\dpicstop +\draw (0.6,0.4125) node[left=-2bp]{{\scriptsize 0}}; +\dpicdraw (0.6,0.4125) + --(0.8,0.4125)\dpicstop +\draw (0.6,0.1875) node[left=-2bp]{{\scriptsize 1}}; +\dpicdraw (0.6,0.1875) + --(0.8,0.1875)\dpicstop +\draw (0.6,-0.0375) node[left=-2bp]{{\scriptsize 2}}; +\dpicdraw (0.6,-0.0375) + --(0.8,-0.0375)\dpicstop +\draw (0.6,-0.2625) node[left=-2bp]{{\scriptsize 3}}; +\dpicdraw (0.6,-0.2625) + --(0.8,-0.2625)\dpicstop +\draw (0.4,-0.525) node[below=-2bp]{\tt Demux(4,DM1)}; +\draw (0.883333,0.495833) node{\sl Out0}; +\draw (0.883333,-0.345833) node{\sl Out3}; +\draw (0,0.075) node[left=-2bp]{\sl In}; +\draw (0.4,-0.525) node[above right=-2bp]{\sl Sel}; +\dpicdraw (1.8,-0.075) + --(1.8,-0.425) + --(1.4,-0.525) + --(1.4,0.375) + --(1.8,0.275) + --(1.8,-0.075)\dpicstop +\dpicdraw (1.8,-0.075) + --(2,-0.075)\dpicstop +\dpicdraw (1.6,0.325) + --(1.6,0.525)\dpicstop +\draw (1.4,0.2625) node[right=-2bp]{{\scriptsize 0}}; +\dpicdraw (1.4,0.2625) + --(1.2,0.2625)\dpicstop +\draw (1.4,0.0375) node[right=-2bp]{{\scriptsize 1}}; +\dpicdraw (1.4,0.0375) + --(1.2,0.0375)\dpicstop +\draw (1.4,-0.1875) node[right=-2bp]{{\scriptsize 2}}; +\dpicdraw (1.4,-0.1875) + --(1.2,-0.1875)\dpicstop +\draw (1.4,-0.4125) node[right=-2bp]{{\scriptsize 3}}; +\dpicdraw (1.4,-0.4125) + --(1.2,-0.4125)\dpicstop +\draw (1.8,0.15) node[left=-2bp]{{\scriptsize OE}}; +\dpicdraw (1.8,0.15) + --(2,0.15)\dpicstop +\draw (1.6,-0.802778) node{\tt left\_; Demux(4,{,}LOE)}; +\draw (1.6,0.525) node[left=-2bp]{\sl Sel}; +\draw (1.116667,0.345833) node{\sl Out0}; +\draw (2,0.15) node[right=-2bp]{\sl OE}; +\draw (2,-0.005556) node[right=-2bp]{\sl In}; +\dpicdraw (2.6,-0.0875) + --(2.6,0.2625) + --(3,0.3625) + --(3,-0.5375) + --(2.6,-0.4375) + --(2.6,-0.0875)\dpicstop +\dpicdraw (2.6,-0.0875) + --(2.4,-0.0875)\dpicstop +\dpicdraw (2.7,0.2875) + --(2.7,0.4875)\dpicstop +\dpicdraw (2.9,0.3375) + --(2.9,0.5375)\dpicstop +\draw (3,0.25) node[left=-2bp]{{\scriptsize 00}}; +\dpicdraw (3,0.25) + --(3.2,0.25)\dpicstop +\draw (3,0.025) node[left=-2bp]{{\scriptsize 01}}; +\dpicdraw (3,0.025) + --(3.2,0.025)\dpicstop +\draw (3,-0.2) node[left=-2bp]{{\scriptsize 10}}; +\dpicdraw (3,-0.2) + --(3.2,-0.2)\dpicstop +\draw (3,-0.425) node[left=-2bp]{{\scriptsize 11}}; +\dpicdraw (3,-0.425) + --(3.2,-0.425)\dpicstop +\draw (2.6,-0.3125) node[right=-2bp]{{\scriptsize $\overline{\hbox{OE}}$}}; +\dpicdraw (2.5625,-0.3125) circle (0.014764in)\dpicstop +\dpicdraw (2.525,-0.3125) + --(2.4,-0.3125)\dpicstop +\draw (2.8,-0.5375) node[below=-2bp]{\tt (4,{,}NOEBN2)}; +\draw (2.7,0.4875) node[left=-2bp]{\sl Sel0}; +\draw (2.9,0.5375) node[right=-2bp]{\sl Sel1}; +\draw (3.269444,0.333333) node{\sl Out0}; +\draw (3.269444,-0.341667) node{\sl Out3}; +\draw (2.4,-0.3125) node[left=-2bp]{\sl NOE}; +\draw (2.4,-0.0875) node[above=-2bp]{\sl In}; +\dpicdraw (4.691667,0.2) + --(5.291667,0.2) + --(5.391667,-0.2) + --(3.991667,-0.2) + --(4.091667,0.2) + --(4.691667,0.2)\dpicstop +\dpicdraw (4.691667,0.2) + --(4.691667,0.4)\dpicstop +\dpicdraw (4.075,0.133333) + --(3.875,0.133333)\dpicstop +\dpicdraw (4.041667,0) + --(3.841667,0)\dpicstop +\dpicdraw (4.008333,-0.133333) + --(3.808333,-0.133333)\dpicstop +\draw (4.079167,-0.2) node[above=-2bp]{{\scriptsize 0}}; +\dpicdraw (4.079167,-0.2) + --(4.079167,-0.4)\dpicstop +\draw (4.254167,-0.2) node[above=-2bp]{{\scriptsize 1}}; +\dpicdraw (4.254167,-0.2) + --(4.254167,-0.4)\dpicstop +\draw (4.429167,-0.2) node[above=-2bp]{{\scriptsize 2}}; +\dpicdraw (4.429167,-0.2) + --(4.429167,-0.4)\dpicstop +\draw (4.604167,-0.2) node[above=-2bp]{{\scriptsize 3}}; +\dpicdraw (4.604167,-0.2) + --(4.604167,-0.4)\dpicstop +\draw (4.779167,-0.2) node[above=-2bp]{{\scriptsize 4}}; +\dpicdraw (4.779167,-0.2) + --(4.779167,-0.4)\dpicstop +\draw (4.954167,-0.2) node[above=-2bp]{{\scriptsize 5}}; +\dpicdraw (4.954167,-0.2) + --(4.954167,-0.4)\dpicstop +\draw (5.129167,-0.2) node[above=-2bp]{{\scriptsize 6}}; +\dpicdraw (5.129167,-0.2) + --(5.129167,-0.4)\dpicstop +\draw (5.304167,-0.2) node[above=-2bp]{{\scriptsize 7}}; +\dpicdraw (5.304167,-0.2) + --(5.304167,-0.4)\dpicstop +\draw (4.6,-0.608333) node{\tt down\_; Demux(8,{,}L3,{,}28*L\_unit)}; +\draw (3.875,0.133333) node[left=-2bp]{\sl Sel0}; +\draw (3.808333,-0.133333) node[below left=-2bp]{\sl Sel2}; +\draw (4.079167,-0.4) node[left=-2bp]{\sl Out0}; +\draw (5.304167,-0.4) node[right=-2bp]{\sl Out7}; +\draw (4.691667,0.4) node[left=-2bp]{\sl In}; +} +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Demultiplexer.m4 b/graphics/circuit_macros/doc/DemultiplexerMan.m4 index 210b643441..210b643441 100644 --- a/graphics/circuit_macros/doc/Demultiplexer.m4 +++ b/graphics/circuit_macros/doc/DemultiplexerMan.m4 diff --git a/graphics/circuit_macros/doc/Diodes.tex b/graphics/circuit_macros/doc/Diodes.tex new file mode 100644 index 0000000000..a628327c27 --- /dev/null +++ b/graphics/circuit_macros/doc/Diodes.tex @@ -0,0 +1,383 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0.338916,0)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.338916,0) + --(0.338916,0.041667) + --(0.40555,0) + --(0.338916,-0.041667) + --(0.338916,0)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.411084,-0.045718) + --(0.411084,0.045718)\dpicstop +\dpicdraw (0.411084,0) + --(0.75,0)\dpicstop +\draw (0.777674,0) node[right=-2bp]{{\tt diode}}; +\dpicdraw (0,-0.2) + --(0.338916,-0.2)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.338916,-0.2) + --(0.338916,-0.158333) + --(0.40555,-0.2) + --(0.338916,-0.241667) + --(0.338916,-0.2)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.390251,-0.227778) + --(0.390251,-0.245718) + --(0.411084,-0.245718) + --(0.411084,-0.154282) + --(0.431918,-0.154282) + --(0.431918,-0.172222)\dpicstop +\dpicdraw (0.411084,-0.2) + --(0.75,-0.2)\dpicstop +\draw (0.777674,-0.2) node[right=-2bp]{{\tt diode(,S)}}; +\dpicdraw (0,-0.4) + --(0.338916,-0.4)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.338916,-0.4) + --(0.338916,-0.358333) + --(0.40555,-0.4) + --(0.338916,-0.441667) + --(0.338916,-0.4)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.411084,-0.445718) + --(0.411084,-0.354282)\dpicstop +\dpicdraw (0.431918,-0.445718) + --(0.431918,-0.354282)\dpicstop +\dpicdraw (0.431918,-0.4) + --(0.75,-0.4)\dpicstop +\draw (0.777674,-0.4) node[right=-2bp]{{\tt diode(,V)}}; +\dpicdraw (0,-0.6) + --(0.338916,-0.6)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.338916,-0.6) + --(0.338916,-0.558333) + --(0.40555,-0.6) + --(0.338916,-0.641667) + --(0.338916,-0.6)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.411084,-0.645718) + --(0.411084,-0.554282)\dpicstop +\dpicdraw (0.438862,-0.645718) + ..controls (0.421179,-0.617804) and (0.421179,-0.582196) + ..(0.438862,-0.554282)\dpicstop +\dpicdraw (0.4256,-0.6) + --(0.431918,-0.6)\dpicstop +\dpicdraw (0.431918,-0.6) + --(0.75,-0.6)\dpicstop +\draw (0.777674,-0.6) node[right=-2bp]{{\tt diode(,v)}}; +\dpicdraw (0,-0.8) + --(0.338916,-0.8)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.338916,-0.8) + --(0.338916,-0.758333) + --(0.40555,-0.8) + --(0.338916,-0.841667) + --(0.338916,-0.8)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.397822,-0.754282) + ..controls (0.415505,-0.782196) and (0.415505,-0.817804) + ..(0.397822,-0.845718)\dpicstop +\dpicdraw (0.431918,-0.845718) + --(0.431918,-0.754282)\dpicstop +\dpicdraw (0.431918,-0.8) + --(0.75,-0.8)\dpicstop +\draw (0.777674,-0.8) node[right=-2bp]{{\tt diode(,w)}}; +\dpicdraw (0,-1) + --(0.302831,-1)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.302831,-1) + --(0.302831,-0.958333) + --(0.369465,-1) + --(0.302831,-1.041667) + --(0.302831,-1)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.354167,-1.045718) + --(0.375,-1.045718) + --(0.375,-0.954282) + --(0.395833,-0.954282)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.447169,-1) + --(0.447169,-0.958333) + --(0.380535,-1) + --(0.447169,-1.041667) + --(0.447169,-1)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.447169,-1) + --(0.75,-1)\dpicstop +\draw (0.777674,-1) node[right=-2bp]{{\tt diode(,B)}}; +\dpicdraw (0,-1.2) + --(0.302831,-1.2)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.302831,-1.2) + --(0.302831,-1.158333) + --(0.369465,-1.2) + --(0.302831,-1.241667) + --(0.302831,-1.2)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.447169,-1.2) + --(0.447169,-1.158333) + --(0.380535,-1.2) + --(0.447169,-1.241667) + --(0.447169,-1.2)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.447169,-1.2) + --(0.75,-1.2)\dpicstop +\draw (0.777674,-1.2) node[right=-2bp]{{\tt diode(,G)}}; +\dpicdraw (2,0) + --(2.338916,0)\dpicstop +\dpicdraw (2.338916,0) + --(2.338916,0.041667) + --(2.40555,0) + --(2.338916,-0.041667) + --(2.338916,0)\dpicstop +\dpicdraw (2.411084,-0.045718) + --(2.411084,0.045718)\dpicstop +\dpicdraw (2.411084,0) + --(2.75,0)\dpicstop +\draw (2.777674,0) node[right=-2bp]{{\tt diode(,K)}}; +\dpicdraw (2,-0.2) + --(2.338916,-0.2)\dpicstop +\dpicdraw (2.338916,-0.2) + --(2.338916,-0.158333) + --(2.40555,-0.2) + --(2.338916,-0.241667) + --(2.338916,-0.2)\dpicstop +\dpicdraw (2.390251,-0.245718) + --(2.411084,-0.245718) + --(2.411084,-0.154282) + --(2.431918,-0.154282)\dpicstop +\dpicdraw (2.411084,-0.2) + --(2.75,-0.2)\dpicstop +\draw (2.777674,-0.2) node[right=-2bp]{{\tt diode(,ZK)}}; +\dpicdraw (2,-0.4) + --(2.338916,-0.4)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.338916,-0.4) + --(2.338916,-0.358333) + --(2.40555,-0.4) + --(2.338916,-0.441667) + --(2.338916,-0.4)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.411084,-0.445718) + --(2.411084,-0.354282)\dpicstop +\dpicdraw (2.390251,-0.445718) + --(2.431918,-0.445718)\dpicstop +\dpicdraw (2.390251,-0.354282) + --(2.431918,-0.354282)\dpicstop +\dpicdraw (2.411084,-0.4) + --(2.75,-0.4)\dpicstop +\draw (2.777674,-0.4) node[right=-2bp]{{\tt diode(,CR)}}; +\dpicdraw (2,-0.6) + --(2.338916,-0.6)\dpicstop +\dpicdraw (2.338916,-0.6) + --(2.338916,-0.558333) + --(2.40555,-0.6) + --(2.338916,-0.641667) + --(2.338916,-0.6)\dpicstop +\dpicdraw (2.338916,-0.6) + --(2.411084,-0.6)\dpicstop +\dpicdraw (2.411084,-0.645718) + --(2.411084,-0.554282)\dpicstop +\dpicdraw (2.411084,-0.6) + --(2.75,-0.6)\dpicstop +\draw (2.777674,-0.6) node[right=-2bp]{{\tt diode(,L)}}; +\dpicdraw (2,-0.8) + --(2.338916,-0.8)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.338916,-0.8) + --(2.338916,-0.758333) + --(2.40555,-0.8) + --(2.338916,-0.8)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.338916,-0.8) + --(2.338916,-0.841667)\dpicstop +\dpicdraw (2.411084,-0.8) + --(2.75,-0.8)\dpicstop +\draw (2.777674,-0.8) node[right=-2bp]{{\tt diode(,F)}}; +\dpicdraw (2,-1) + --(2.338916,-1)\dpicstop +\dpicdraw (2.338916,-1) + --(2.338916,-0.958333) + --(2.40555,-1) + --(2.338916,-1)\dpicstop +\dpicdraw (2.338916,-1) + --(2.338916,-1.041667)\dpicstop +\dpicdraw (2.411084,-1.045718) + --(2.411084,-0.954282)\dpicstop +\dpicdraw (2.411084,-1) + --(2.75,-1)\dpicstop +\draw (2.777674,-1) node[right=-2bp]{{\tt diode(,Sh)}}; +\dpicdraw (2,-1.2) + --(2.338916,-1.2)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.338916,-1.158333) + --(2.338916,-1.116667) + --(2.40555,-1.158333) + --(2.338916,-1.2) + --(2.338916,-1.158333)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.411084,-1.287385) + --(2.411084,-1.112615)\dpicstop +\dpicdraw (2.338916,-1.287385) + --(2.338916,-1.112615)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.411084,-1.241667) + --(2.411084,-1.2) + --(2.34445,-1.241667) + --(2.411084,-1.283333) + --(2.411084,-1.241667)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.411084,-1.2) + --(2.75,-1.2)\dpicstop +\draw (2.777674,-1.2) node[right=-2bp]{{\tt diode(,D)}}; +\dpicdraw (4.75,0) + --(4.411084,0)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.411084,0) + --(4.411084,-0.041667) + --(4.34445,0) + --(4.411084,0.041667) + --(4.411084,0)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.359749,0.045718) + --(4.338916,0.045718) + --(4.338916,-0.045718) + --(4.318082,-0.045718)\dpicstop +\dpicdraw (4.338916,0) + --(4,0)\dpicstop +\dpicdraw (4.375,0) circle (0.068898in)\dpicstop +\draw (4.777674,0) node[right=-2bp]{{\tt diode(,Z,RE)}}; +\dpicdraw (4,-0.25) + --(4.338916,-0.25)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.338916,-0.25) + --(4.338916,-0.208333) + --(4.40555,-0.25) + --(4.338916,-0.291667) + --(4.338916,-0.25)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.390251,-0.295718) + --(4.411084,-0.295718) + --(4.411084,-0.204282) + --(4.390251,-0.204282)\dpicstop +\dpicdraw (4.411084,-0.25) + --(4.75,-0.25)\dpicstop +\draw (4.777674,-0.25) node[right=-2bp]{{\tt diode(,T)}}; +\dpicdraw (4,-0.55) + --(4.338916,-0.55)\dpicstop +\filldraw[line width=0bp](4.269213,-0.43037) + --(4.339362,-0.461236) + --(4.308496,-0.391087) --cycle\dpicstop +\dpicdraw (4.176728,-0.298602) + --(4.328524,-0.450398)\dpicstop +\filldraw[line width=0bp](4.225018,-0.474565) + --(4.295168,-0.50543) + --(4.264302,-0.435281) --cycle\dpicstop +\dpicdraw (4.132533,-0.342796) + --(4.284329,-0.494592)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.338916,-0.55) + --(4.338916,-0.508333) + --(4.40555,-0.55) + --(4.338916,-0.591667) + --(4.338916,-0.55)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.411084,-0.595718) + --(4.411084,-0.504282)\dpicstop +\dpicdraw (4.411084,-0.55) + --(4.75,-0.55)\dpicstop +\draw (4.777674,-0.55) node[right=-2bp]{{\tt diode(,P)}}; +\dpicdraw (4,-0.85) + --(4.338916,-0.85)\dpicstop +\filldraw[line width=0bp](4.202683,-0.673662) + --(4.132533,-0.642796) + --(4.163399,-0.712945) --cycle\dpicstop +\dpicdraw (4.295168,-0.80543) + --(4.143372,-0.653634)\dpicstop +\filldraw[line width=0bp](4.246877,-0.629467) + --(4.176728,-0.598602) + --(4.207593,-0.668751) --cycle\dpicstop +\dpicdraw (4.339362,-0.761236) + --(4.187566,-0.60944)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.338916,-0.85) + --(4.338916,-0.808333) + --(4.40555,-0.85) + --(4.338916,-0.891667) + --(4.338916,-0.85)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.411084,-0.895718) + --(4.411084,-0.804282)\dpicstop +\dpicdraw (4.411084,-0.85) + --(4.75,-0.85)\dpicstop +\draw (4.777674,-0.85) node[right=-2bp]{{\tt diode(,LE)}}; +\dpicdraw (4,-1) + --(4.338916,-1)\dpicstop +\filldraw[line width=0bp](4.207593,-1.181249) + --(4.176728,-1.251398) + --(4.246877,-1.220533) --cycle\dpicstop +\dpicdraw (4.339362,-1.088764) + --(4.187566,-1.24056)\dpicstop +\filldraw[line width=0bp](4.163399,-1.137055) + --(4.132533,-1.207204) + --(4.202683,-1.176338) --cycle\dpicstop +\dpicdraw (4.295168,-1.04457) + --(4.143372,-1.196366)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.338916,-1) + --(4.338916,-0.958333) + --(4.40555,-1) + --(4.338916,-1.041667) + --(4.338916,-1)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.411084,-1.045718) + --(4.411084,-0.954282)\dpicstop +\dpicdraw (4.411084,-1) + --(4.75,-1)\dpicstop +\draw (4.777674,-1) node[right=-2bp]{{\tt diode(,LER)}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Diodes.m4 b/graphics/circuit_macros/doc/DiodesMan.m4 index 360d8e9d9e..360d8e9d9e 100644 --- a/graphics/circuit_macros/doc/Diodes.m4 +++ b/graphics/circuit_macros/doc/DiodesMan.m4 diff --git a/graphics/circuit_macros/doc/Emarrows.tex b/graphics/circuit_macros/doc/Emarrows.tex new file mode 100644 index 0000000000..f409b62c3e --- /dev/null +++ b/graphics/circuit_macros/doc/Emarrows.tex @@ -0,0 +1,142 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\filldraw[line width=0bp](0.53583,0.053354) + --(0.465681,0.08422) + --(0.496546,0.014071) --cycle\dpicstop +\dpicdraw (0.628315,-0.078414) + --(0.476519,0.073382)\dpicstop +\filldraw[line width=0bp](0.580024,0.097549) + --(0.509875,0.128414) + --(0.540741,0.058265) --cycle\dpicstop +\dpicdraw (0.672509,-0.03422) + --(0.520713,0.117576)\dpicstop +\dpicdraw[dotted](0.465681,-0.078414) rectangle (0.672509,0.128414)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](0.421111,0.086317) + --(0.487778,0.106317) + --(0.421111,0.126317) --cycle\dpicstop +\dpicdraw (0.468444,0.106317) + --(0.337778,0.106317)\dpicstop +\draw (0.337778,0.106317) node[left=-2bp]{\sl Head}; +\filldraw[line width=0bp](0.670412,-0.122984) + --(0.650412,-0.056317) + --(0.630412,-0.122984) --cycle\dpicstop +\dpicdraw (0.650412,-0.075651) + --(0.650412,-0.176317)\dpicstop +\draw (0.650412,-0.176317) node[below=-2bp]{\sl Tail}; +\draw (0.546998,0.002903) node[below left=-2bp]{\sl A1}; +\draw (0.591192,0.047097) node[above right=-2bp]{\sl A2}; +\dpiclw=0.8bp +\draw (0.569095,-0.278414) node[below=-2bp]{\tt em\_arrows(N)}; +\filldraw[line width=0bp](1.724278,0.078265) + --(1.755144,0.148414) + --(1.684995,0.117549) --cycle\dpicstop +\dpicdraw (1.592509,-0.01422) + --(1.744305,0.137576)\dpicstop +\filldraw[line width=0bp](1.768472,0.034071) + --(1.799338,0.10422) + --(1.729189,0.073354) --cycle\dpicstop +\dpicdraw (1.636704,-0.058414) + --(1.7885,0.093382)\dpicstop +\dpicdraw[fill=black](1.592509,-0.01422) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](1.636704,-0.058414) circle (0.007874in)\dpicstop +\draw (1.685924,-0.078414) node[below=-2bp]{\tt em\_arrows(ND,45)}; +\dpicdraw (2.561973,-0.071092) + ..controls (2.55221,-0.080855) and (2.53638,-0.080855) + ..(2.526617,-0.071092) + ..controls (2.516854,-0.061329) and (2.516854,-0.0455) + ..(2.526617,-0.035737)\dpicstop +\dpicdraw (2.526617,-0.035737) + ..controls (2.550188,-0.012166) and (2.514832,0.023189) + ..(2.491262,-0.000381)\dpicstop +\dpicdraw (2.491262,-0.000381) + ..controls (2.481499,-0.010144) and (2.46567,-0.010144) + ..(2.455907,-0.000381) + ..controls (2.446144,0.009382) and (2.446144,0.025211) + ..(2.455907,0.034974)\dpicstop +\filldraw[line width=0bp](2.456861,0.073304) + --(2.399338,0.091543) + --(2.417577,0.03402) --cycle\dpicstop +\dpicdraw (2.455907,0.034974) + --(2.407872,0.083008)\dpicstop +\dpicdraw (2.606167,-0.026898) + ..controls (2.582597,-0.050468) and (2.547241,-0.015113) + ..(2.570812,0.008457)\dpicstop +\dpicdraw (2.570812,0.008457) + ..controls (2.580575,0.018221) and (2.580575,0.03405) + ..(2.570812,0.043813) + ..controls (2.561048,0.053576) and (2.545219,0.053576) + ..(2.535456,0.043813)\dpicstop +\dpicdraw (2.535456,0.043813) + ..controls (2.525693,0.03405) and (2.509864,0.03405) + ..(2.500101,0.043813) + ..controls (2.490338,0.053576) and (2.490338,0.069405) + ..(2.500101,0.079168)\dpicstop +\filldraw[line width=0bp](2.501055,0.117498) + --(2.443532,0.135737) + --(2.461771,0.078214) --cycle\dpicstop +\dpicdraw (2.500101,0.079168) + --(2.452066,0.127203)\dpicstop +\draw (2.502753,-0.078414) node[below=-2bp]{\tt $\ldots$(I)}; +\dpicdraw (3.368801,-0.058414) + ..controls (3.359038,-0.068177) and (3.343209,-0.068177) + ..(3.333446,-0.058414) + ..controls (3.323683,-0.048651) and (3.323683,-0.032822) + ..(3.333446,-0.023059)\dpicstop +\dpicdraw (3.333446,-0.023059) + ..controls (3.357016,0.000511) and (3.321661,0.035867) + ..(3.298091,0.012296)\dpicstop +\dpicdraw (3.298091,0.012296) + ..controls (3.288328,0.002533) and (3.272499,0.002533) + ..(3.262735,0.012296) + ..controls (3.252972,0.022059) and (3.252972,0.037889) + ..(3.262735,0.047652)\dpicstop +\filldraw[line width=0bp](3.263689,0.085981) + --(3.206167,0.10422) + --(3.224406,0.046698) --cycle\dpicstop +\dpicdraw (3.262735,0.047652) + --(3.214701,0.095686)\dpicstop +\dpicdraw (3.412996,-0.01422) + ..controls (3.389425,-0.03779) and (3.35407,-0.002435) + ..(3.37764,0.021135)\dpicstop +\dpicdraw (3.37764,0.021135) + ..controls (3.387403,0.030898) and (3.387403,0.046727) + ..(3.37764,0.05649) + ..controls (3.367877,0.066254) and (3.352048,0.066254) + ..(3.342285,0.05649)\dpicstop +\dpicdraw (3.342285,0.05649) + ..controls (3.332522,0.046727) and (3.316693,0.046727) + ..(3.30693,0.05649) + ..controls (3.297167,0.066254) and (3.297167,0.082083) + ..(3.30693,0.091846)\dpicstop +\filldraw[line width=0bp](3.307884,0.130176) + --(3.250361,0.148414) + --(3.2686,0.090892) --cycle\dpicstop +\dpicdraw (3.30693,0.091846) + --(3.258895,0.13988)\dpicstop +\dpicdraw[fill=black](3.368801,-0.058414) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](3.412996,-0.01422) circle (0.007874in)\dpicstop +\draw (3.319581,-0.078414) node[below=-2bp]{\tt $\ldots$(ID)}; +\dpicdraw (4.121384,-0.078414) + --(4.032996,0.009974) + --(4.032996,-0.02931)\dpicstop +\dpicdraw (4.165578,-0.03422) + --(4.07719,0.054168) + --(4.07719,0.014884)\dpicstop +\draw (4.099287,-0.078414) node[below=-2bp]{\tt $\ldots$(E)}; +\dpicdraw (4.853966,-0.058414) + --(4.765578,0.029974) + --(4.765578,-0.00931)\dpicstop +\dpicdraw (4.898161,-0.01422) + --(4.809772,0.074168) + --(4.809772,0.034884)\dpicstop +\dpicdraw[fill=black](4.853966,-0.058414) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](4.898161,-0.01422) circle (0.007874in)\dpicstop +\draw (4.841869,-0.078414) node[below=-2bp]{\tt $\ldots$(ED)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Emarrows.m4 b/graphics/circuit_macros/doc/EmarrowsMan.m4 index c4b2131902..c4b2131902 100644 --- a/graphics/circuit_macros/doc/Emarrows.m4 +++ b/graphics/circuit_macros/doc/EmarrowsMan.m4 diff --git a/graphics/circuit_macros/doc/Fuses.tex b/graphics/circuit_macros/doc/Fuses.tex new file mode 100644 index 0000000000..f0ae5f2e95 --- /dev/null +++ b/graphics/circuit_macros/doc/Fuses.tex @@ -0,0 +1,174 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0.275,0)\dpicstop +\dpicdraw (0.275,-0) + ..controls (0.275,0.027614) and (0.297386,0.05) + ..(0.325,0.05) + ..controls (0.352614,0.05) and (0.375,0.027614) + ..(0.375,0)\dpicstop +\dpicdraw (0.375,0) + ..controls (0.375,-0.027614) and (0.397386,-0.05) + ..(0.425,-0.05) + ..controls (0.452614,-0.05) and (0.475,-0.027614) + ..(0.475,0)\dpicstop +\dpicdraw (0.475,0) + --(0.75,0)\dpicstop +\draw (0.375,-0.2) node{{\tt fuse}}; +\dpicdraw (1,0) + --(1.275,0)\dpicstop +\dpicdraw (1.275,-0) + ..controls (1.275,0.027614) and (1.297386,0.05) + ..(1.325,0.05) + ..controls (1.352614,0.05) and (1.375,0.027614) + ..(1.375,0)\dpicstop +\dpicdraw[fill=white](1.275,-0) circle (0.007874in)\dpicstop +\dpicdraw (1.375,0) + ..controls (1.375,-0.027614) and (1.397386,-0.05) + ..(1.425,-0.05) + ..controls (1.452614,-0.05) and (1.475,-0.027614) + ..(1.475,0)\dpicstop +\dpicdraw (1.475,0) + --(1.75,0)\dpicstop +\dpicdraw[fill=white](1.475,0) circle (0.007874in)\dpicstop +\draw (1.375,-0.2) node{{\tt fuse(,D)}}; +\dpicdraw (2,0) + --(2.275,0)\dpicstop +\dpicdraw (2.475,0) + --(2.475,0.05) + --(2.275,0.05) + --(2.275,-0.05) + --(2.475,-0.05) + --(2.475,0)\dpicstop +\dpicdraw (2.275,0) + --(2.75,0)\dpicstop +\draw (2.375,-0.2) node{{\tt fuse(,B)}}; +\dpicdraw (3,0) + --(3.275,0)\dpicstop +\dpicdraw (3.475,0) + --(3.475,0.05) + --(3.275,0.05) + --(3.275,-0.05) + --(3.475,-0.05) + --(3.475,0)\dpicstop +\dpicdraw (3.315,-0.05) + --(3.315,0.05)\dpicstop +\dpicdraw (3.435,-0.05) + --(3.435,0.05)\dpicstop +\dpicdraw (3.475,0) + --(3.75,0)\dpicstop +\draw (3.375,-0.2) node{{\tt fuse(,C)}}; +\dpicdraw (4,0) + --(4.275,0)\dpicstop +\dpicdraw (4.475,0) + --(4.475,0.05) + --(4.275,0.05) + --(4.275,-0.05) + --(4.475,-0.05) + --(4.475,0)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.315,0) + --(4.315,0.05) + --(4.275,0.05) + --(4.275,-0.05) + --(4.315,-0.05) + --(4.315,0)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.475,0) + --(4.75,0)\dpicstop +\draw (4.375,-0.2) node{{\tt fuse(,S)}}; +\dpicdraw (5,0) + --(5.208333,0)\dpicstop +\dpicdraw (5.508333,0) + --(5.508333,0.05) + --(5.241667,0.05) + --(5.241667,-0.05) + --(5.508333,-0.05) + --(5.508333,0)\dpicstop +\dpicdraw (5.541667,0) + --(5.541667,0.083333) + --(5.208333,0.083333) + --(5.208333,-0.083333) + --(5.541667,-0.083333) + --(5.541667,0)\dpicstop +\dpicdraw (5.208333,0) + --(5.75,0)\dpicstop +\draw (5.375,-0.2) node{{\tt fuse(,HB)}}; +\dpicdraw (0,-0.5) + --(0.125,-0.5)\dpicstop +\dpicdraw (0.565,-0.5) + --(0.565,-0.41) + --(0.185,-0.41) + --(0.185,-0.59) + --(0.565,-0.59) + --(0.565,-0.5)\dpicstop +\dpicdraw (0.261,-0.41) + --(0.261,-0.59)\dpicstop +\dpicdraw (0.489,-0.41) + --(0.489,-0.59)\dpicstop +\dpicdraw (0.625,-0.5) + --(0.625,-0.35) + --(0.125,-0.35) + --(0.125,-0.65) + --(0.625,-0.65) + --(0.625,-0.5)\dpicstop +\dpicdraw (0.625,-0.5) + --(0.75,-0.5)\dpicstop +\draw (0.375,-0.75) node{{\tt (,HC,0.5,0.3)}}; +\dpicdraw (1,-0.5) + --(1.291667,-0.5)\dpicstop +\dpicdraw (1.276042,-0.46875) + ..controls (1.325521,-0.402778) and (1.424479,-0.402778) + ..(1.473958,-0.46875)\dpicstop +\dpicdraw (1.458333,-0.5) + --(1.75,-0.5)\dpicstop +\draw (1.375,-0.75) node{{\tt cbreaker}}; +\dpicdraw (2,-0.5) + --(2.291667,-0.5)\dpicstop +\dpicdraw (2.276042,-0.53125) + ..controls (2.325521,-0.597222) and (2.424479,-0.597222) + ..(2.473958,-0.53125)\dpicstop +\dpicdraw (2.458333,-0.5) + --(2.75,-0.5)\dpicstop +\draw (2.375,-0.75) node{{\tt cbreaker(,R)}}; +\dpicdraw (3,-0.5) + --(3.291667,-0.5)\dpicstop +\dpicdraw (3.276042,-0.46875) + ..controls (3.325521,-0.402778) and (3.424479,-0.402778) + ..(3.473958,-0.46875)\dpicstop +\dpicdraw (3.458333,-0.5) + --(3.75,-0.5)\dpicstop +\draw (3.375,-0.75) node{{\tt $\ldots$(,{,}D)}}; +\dpicdraw (4,-0.5) + --(4.275,-0.5)\dpicstop +\dpicdraw[line width=0.4bp](4.275,-0.5) circle (0.00109in)\dpicstop +\dpicdraw (4.275,-0.5) + ..controls (4.275,-0.46151) and (4.316667,-0.437454) + ..(4.35,-0.456699) + ..controls (4.383333,-0.475944) and (4.383333,-0.524056) + ..(4.35,-0.543301)\dpicstop +\dpicdraw[line width=0.4bp](4.475,-0.5) circle (0.00109in)\dpicstop +\dpicdraw (4.475,-0.5) + ..controls (4.475,-0.53849) and (4.433333,-0.562546) + ..(4.4,-0.543301) + ..controls (4.366667,-0.524056) and (4.366667,-0.475944) + ..(4.4,-0.456699)\dpicstop +\dpicdraw (4.475,-0.5) + --(4.75,-0.5)\dpicstop +\draw (4.375,-0.75) node{{\tt $\ldots$(,{,}T)}}; +\dpicdraw (5,-0.5) + --(5.325,-0.5) + --(5.325,-0.45) + --(5.425,-0.45) + --(5.425,-0.5) + --(5.75,-0.5)\dpicstop +\draw (5.375,-0.75) node{{\tt $\ldots$(,{,}TS)}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Fuses.m4 b/graphics/circuit_macros/doc/FusesMan.m4 index b308e5aadb..bde24fac3e 100644 --- a/graphics/circuit_macros/doc/Fuses.m4 +++ b/graphics/circuit_macros/doc/FusesMan.m4 @@ -4,7 +4,8 @@ cct_init movewid = 0.25 - {fuse ; {"`{\tt fuse}'" at last line.c+(0,-0.2)} + { + fuse ; {"`{\tt fuse}'" at last line.c+(0,-0.2)} move fuse(,D) ; {"`{\tt fuse(,D)}'" at last line.c+(0,-0.2)} move @@ -14,11 +15,10 @@ movewid = 0.25 move fuse(,S) ; {"`{\tt fuse(,S)}'" at last line.c+(0,-0.2)} move - fuse(,HB) ; {"`{\tt fuse(,HB)}'" at last line.c+(0,-0.2)} + fuse(,SB) ; {"`{\tt fuse(,SB)}'" at last line.c+(0,-0.2)} } move down; right_ - fuse(,HC,0.5,0.3) ; {"`{\tt (,HC,0.5,0.3)}'" at last line.c+(0,-0.25)} - move + { cbreaker; {"`{\tt cbreaker}'" at last line.c+(0,-0.25)} move cbreaker(,R); {"`{\tt cbreaker(,R)}'" at last line.c+(0,-0.25)} @@ -27,6 +27,13 @@ movewid = 0.25 move cbreaker(,{,}T); {"`{\tt $\ldots$(,{,}T)}'" at last line.c+(0,-0.25)} move - cbreaker(,{,}TS); {"`{\tt $\ldots$(,{,}TS)}'" at last line.c+(0,-0.25)} + cbreaker(,{,}TS); {"`{\tt $\ldots$(,{,}TS)}'" at last line.c+(0,-0.25) } + } + move down; right_ + { + fuse(,HB) ; {"`{\tt fuse(,HB)}'" at last line.c+(0,-0.2)} + move + fuse(,HC,0.5,0.3) ; {"`{\tt (,HC,0.5,0.3)}'" at last line.c+(0,-0.25)} + } .PE diff --git a/graphics/circuit_macros/doc/Grounds.tex b/graphics/circuit_macros/doc/Grounds.tex new file mode 100644 index 0000000000..97ea3b7d9e --- /dev/null +++ b/graphics/circuit_macros/doc/Grounds.tex @@ -0,0 +1,91 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0,-0.125)\dpicstop +\dpicdraw (0.083333,-0.125) + --(-0.083333,-0.125)\dpicstop +\dpicdraw (0.055556,-0.15625) + --(-0.055556,-0.15625)\dpicstop +\dpicdraw (0.035714,-0.1875) + --(-0.035714,-0.1875)\dpicstop +\dpicdraw (0.733333,0) + --(0.566667,-0)\dpicstop +\dpicdraw (0.705556,-0.03125) + --(0.594444,-0.03125)\dpicstop +\dpicdraw (0.685714,-0.0625) + --(0.614286,-0.0625)\dpicstop +\dpicdraw (1.3,0) + --(1.3,-0.125)\dpicstop +\dpicdraw (1.341667,-0.1875) + --(1.383333,-0.125) + --(1.216667,-0.125) + --(1.175,-0.1875)\dpicstop +\dpicdraw (1.3,-0.125) + --(1.258333,-0.1875)\dpicstop +\dpicdraw (1.95,0) + --(1.95,-0.125)\dpicstop +\dpicdraw[line width=1.6bp](2.005556,-0.125) + --(1.894444,-0.125)\dpicstop +\draw (0,-0.5) node{{\tt ground}}; +\draw (0.65,-0.402778) node{{\tt ground(,T)}}; +\draw (1.3,-0.5) node{{\tt (,{,}F)}}; +\draw (1.95,-0.5) node{{\tt (,{,}E)}}; +\dpicdraw (2.6,0) + --(2.6,-0.125)\dpicstop +\dpicdraw (2.6,-0.125) + --(2.683333,-0.125) + --(2.6,-0.25) + --(2.516667,-0.125) + --(2.6,-0.125)\dpicstop +\dpicdraw (3.25,-0.25) + --(3.25,-0.125)\dpicstop +\dpicdraw (3.25,-0.125) + --(3.166667,-0.125) + --(3.25,0) + --(3.333333,-0.125) + --(3.25,-0.125)\dpicstop +\dpicdraw (3.9,0) + --(3.9,-0.125)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (3.9,-0.125) + --(3.983333,-0.125) + --(3.9,-0.25) + --(3.816667,-0.125) + --(3.9,-0.125)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (4.55,0) + --(4.55,-0.125)\dpicstop +\dpicdraw (4.441747,-0.21875) + ..controls (4.393634,-0.135417) and (4.453775,-0.03125) + ..(4.55,-0.03125) + ..controls (4.646225,-0.03125) and (4.706366,-0.135417) + ..(4.658253,-0.21875)\dpicstop +\dpicdraw (4.633333,-0.125) + --(4.466667,-0.125)\dpicstop +\dpicdraw (4.605556,-0.15625) + --(4.494444,-0.15625)\dpicstop +\dpicdraw (4.585714,-0.1875) + --(4.514286,-0.1875)\dpicstop +\dpicdraw (5.2,0) + --(5.2,-0.125)\dpicstop +\dpicdraw (5.2,-0.15625) circle (0.049213in)\dpicstop +\dpicdraw (5.283333,-0.125) + --(5.116667,-0.125)\dpicstop +\dpicdraw (5.255556,-0.15625) + --(5.144444,-0.15625)\dpicstop +\dpicdraw (5.235714,-0.1875) + --(5.164286,-0.1875)\dpicstop +\draw (2.6,-0.5) node{{\tt (,{,}S)}}; +\draw (3.25,-0.5) node{{\tt (,{,}S,90)}}; +\draw (3.9,-0.5) node{{\tt (,{,}Q)}}; +\draw (4.55,-0.5) node{{\tt (,{,}L)}}; +\draw (5.2,-0.5) node{{\tt (,{,}P)}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Grounds.m4 b/graphics/circuit_macros/doc/GroundsMan.m4 index 13b4730b80..e93fadf33c 100644 --- a/graphics/circuit_macros/doc/Grounds.m4 +++ b/graphics/circuit_macros/doc/GroundsMan.m4 @@ -8,15 +8,18 @@ Ground: ground GT: ground(,T) move right sep GF: ground(,,F) +sep = 0.55 move right sep GE: ground(,,E) move right sep -B: Here+(0,-0.5) ; { - "{\tt `ground'}" wid 32bp__ at (Ground,B) - "{\tt `ground'(,T)}" at (GT,B)+(0,7bp__) +B: Here+(0,-0.5) +D: B+(0,11bp__) + + { "{\tt `ground'}" wid 32bp__ at (Ground,B) + "{\tt `ground'(,T)}" at (GT,B)+(0,11bp__) "{\tt (,{,}F)}" at (GF,B) - "{\tt (,{,}E)}" at (GE,B)} + "{\tt (,{,}E)}" at (GE,D)} GS: ground(,,S) @@ -28,12 +31,16 @@ GQ: ground(,,Q) GL: ground(,,L) move right sep GP: ground(,,P) + move right sep +GPA: ground(,T,PA) C: Here+(0,-0.5) +E: C+(0,11bp__) "{\tt (,{,}S)}" at (GS,C) - "{\tt (,{,}S,90)}" at (GS90,C) + "{\tt (,{,}S,90)}" at (GS90,E) "{\tt (,{,}Q)}" at (GQ,C) - "{\tt (,{,}L)}" at (GL,C) + "{\tt (,{,}L)}" at (GL,E) "{\tt (,{,}P)}" at (GP,C) + "{\tt (,T,PA)}" at (GPA,E) .PE diff --git a/graphics/circuit_macros/doc/Headers.tex b/graphics/circuit_macros/doc/Headers.tex new file mode 100644 index 0000000000..c5b11a87ec --- /dev/null +++ b/graphics/circuit_macros/doc/Headers.tex @@ -0,0 +1,214 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.275,0) + --(0.275,0.15) + --(0.125,0.15) + --(0.125,-0.15) + --(0.275,-0.15) + --(0.275,0)\dpicstop +\dpicdraw (0.2,0.075) + --(0,0.075)\dpicstop +\fill[fill=white,line width=0bp](0.225,0.075) + --(0.225,0.1) + --(0.175,0.1) + --(0.175,0.05) + --(0.225,0.05) + --(0.225,0.075)--cycle +\dpicstop +\dpicdraw (0.225,0.075) + --(0.225,0.1) + --(0.175,0.1) + --(0.175,0.05) + --(0.225,0.05) + --(0.225,0.075)\dpicstop +\dpicdraw (0.2,-0.075) + --(0,-0.075)\dpicstop +\dpicdraw[fill=white](0.2,-0.075) circle (0.009843in)\dpicstop +\draw (0,0.075) node[left=-2bp]{\sl P1}; +\draw (0.1375,-0.28837) node{\tt Header}; +\draw (0,-0.075) node[left=-2bp]{\sl P2}; +\dpicdraw (1.464961,-0.09685) + --(1.464961,0.1) + --(1.15,0.1) + --(1.15,-0.293701) + --(1.464961,-0.293701) + --(1.464961,-0.09685)\dpicstop +\dpicdraw (1.225,0.034383) + --(1.025,0.034383)\dpicstop +\fill[fill=white,line width=0bp](1.25,0.034383) + --(1.25,0.059383) + --(1.2,0.059383) + --(1.2,0.009383) + --(1.25,0.009383) + --(1.25,0.034383)--cycle +\dpicstop +\dpicdraw (1.25,0.034383) + --(1.25,0.059383) + --(1.2,0.059383) + --(1.2,0.009383) + --(1.25,0.009383) + --(1.25,0.034383)\dpicstop +\dpicdraw (1.389961,0.034383) + --(1.589961,0.034383)\dpicstop +\dpicdraw[fill=white](1.389961,0.034383) circle (0.009843in)\dpicstop +\dpicdraw (1.225,-0.09685) + --(1.025,-0.09685)\dpicstop +\dpicdraw[fill=white](1.225,-0.09685) circle (0.009843in)\dpicstop +\dpicdraw (1.389961,-0.09685) + --(1.589961,-0.09685)\dpicstop +\dpicdraw[fill=white](1.389961,-0.09685) circle (0.009843in)\dpicstop +\dpicdraw (1.225,-0.228084) + --(1.025,-0.228084)\dpicstop +\dpicdraw[fill=white](1.225,-0.228084) circle (0.009843in)\dpicstop +\dpicdraw (1.389961,-0.228084) + --(1.589961,-0.228084)\dpicstop +\dpicdraw[fill=white](1.389961,-0.228084) circle (0.009843in)\dpicstop +\draw (1.025,0.034383) node[left=-2bp]{\sl P1}; +\draw (1.30748,-0.432071) node{\tt Header(2,3,8mm\_\_,10mm\_\_)}; +\draw (1.589961,0.034383) node[right=-2bp]{\sl P2}; +\draw (1.025,-0.228084) node[left=-2bp]{\sl P5}; +\draw (1.589961,-0.228084) node[right=-2bp]{\sl P6}; +\fill[fill=white!90!black,line width=0bp](2.464961,0.006299) + --(2.464961,-0.293701) + --(2.764961,-0.293701) + --(2.764961,0.306299) + --(2.464961,0.306299) + --(2.464961,0.006299)--cycle +\dpicstop +\dpicdraw (2.464961,0.006299) + --(2.464961,-0.293701) + --(2.764961,-0.293701) + --(2.764961,0.306299) + --(2.464961,0.306299) + --(2.464961,0.006299)\dpicstop +\dpicdraw (2.689961,-0.218701) + --(2.889961,-0.218701)\dpicstop +\fill[fill=white,line width=0bp](2.664961,-0.218701) + --(2.664961,-0.243701) + --(2.714961,-0.243701) + --(2.714961,-0.193701) + --(2.664961,-0.193701) + --(2.664961,-0.218701)--cycle +\dpicstop +\dpicdraw (2.664961,-0.218701) + --(2.664961,-0.243701) + --(2.714961,-0.243701) + --(2.714961,-0.193701) + --(2.664961,-0.193701) + --(2.664961,-0.218701)\dpicstop +\dpicdraw (2.539961,-0.218701) + --(2.339961,-0.218701)\dpicstop +\dpicdraw[fill=white](2.539961,-0.218701) circle (0.009843in)\dpicstop +\dpicdraw (2.689961,-0.068701) + --(2.889961,-0.068701)\dpicstop +\dpicdraw[fill=white](2.689961,-0.068701) circle (0.009843in)\dpicstop +\dpicdraw (2.539961,-0.068701) + --(2.339961,-0.068701)\dpicstop +\dpicdraw[fill=white](2.539961,-0.068701) circle (0.009843in)\dpicstop +\dpicdraw (2.689961,0.081299) + --(2.889961,0.081299)\dpicstop +\dpicdraw[fill=white](2.689961,0.081299) circle (0.009843in)\dpicstop +\dpicdraw (2.539961,0.081299) + --(2.339961,0.081299)\dpicstop +\dpicdraw[fill=white](2.539961,0.081299) circle (0.009843in)\dpicstop +\dpicdraw (2.689961,0.231299) + --(2.889961,0.231299)\dpicstop +\dpicdraw[fill=white](2.689961,0.231299) circle (0.009843in)\dpicstop +\dpicdraw (2.539961,0.231299) + --(2.339961,0.231299)\dpicstop +\dpicdraw[fill=white](2.539961,0.231299) circle (0.009843in)\dpicstop +\draw (2.889961,-0.218701) node[right=-2bp]{\sl P1}; +\draw (2.614961,-0.570441) node{\tt left\_; Header(2,4,{,},fill\_(0.9))}; +\draw (2.339961,0.231299) node[left=-2bp]{\sl P8}; +\dpicdraw (4.239961,-0.118701) + --(4.839961,-0.118701) + --(4.839961,0.181299) + --(3.639961,0.181299) + --(3.639961,-0.118701) + --(4.239961,-0.118701)\dpicstop +\dpicdraw (4.764961,0.106299) + --(4.764961,0.306299)\dpicstop +\fill[fill=white,line width=0bp](4.764961,0.081299) + --(4.789961,0.081299) + --(4.789961,0.131299) + --(4.739961,0.131299) + --(4.739961,0.081299) + --(4.764961,0.081299)--cycle +\dpicstop +\dpicdraw (4.764961,0.081299) + --(4.789961,0.081299) + --(4.789961,0.131299) + --(4.739961,0.131299) + --(4.739961,0.081299) + --(4.764961,0.081299)\dpicstop +\dpicdraw (4.764961,-0.043701) + --(4.764961,-0.243701)\dpicstop +\dpicdraw[fill=white](4.764961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (4.614961,0.106299) + --(4.614961,0.306299)\dpicstop +\dpicdraw[fill=white](4.614961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (4.614961,-0.043701) + --(4.614961,-0.243701)\dpicstop +\dpicdraw[fill=white](4.614961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (4.464961,0.106299) + --(4.464961,0.306299)\dpicstop +\dpicdraw[fill=white](4.464961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (4.464961,-0.043701) + --(4.464961,-0.243701)\dpicstop +\dpicdraw[fill=white](4.464961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (4.314961,0.106299) + --(4.314961,0.306299)\dpicstop +\dpicdraw[fill=white](4.314961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (4.314961,-0.043701) + --(4.314961,-0.243701)\dpicstop +\dpicdraw[fill=white](4.314961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (4.164961,0.106299) + --(4.164961,0.306299)\dpicstop +\dpicdraw[fill=white](4.164961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (4.164961,-0.043701) + --(4.164961,-0.243701)\dpicstop +\dpicdraw[fill=white](4.164961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (4.014961,0.106299) + --(4.014961,0.306299)\dpicstop +\dpicdraw[fill=white](4.014961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (4.014961,-0.043701) + --(4.014961,-0.243701)\dpicstop +\dpicdraw[fill=white](4.014961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (3.864961,0.106299) + --(3.864961,0.306299)\dpicstop +\dpicdraw[fill=white](3.864961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (3.864961,-0.043701) + --(3.864961,-0.243701)\dpicstop +\dpicdraw[fill=white](3.864961,-0.043701) circle (0.009843in)\dpicstop +\dpicdraw (3.714961,0.106299) + --(3.714961,0.306299)\dpicstop +\dpicdraw[fill=white](3.714961,0.106299) circle (0.009843in)\dpicstop +\dpicdraw (3.714961,-0.043701) + --(3.714961,-0.243701)\dpicstop +\dpicdraw[fill=white](3.714961,-0.043701) circle (0.009843in)\dpicstop +\draw (4.764961,0.306299) node[right=-2bp]{\sl P1}; +\draw (4.764961,-0.243701) node[right=-2bp]{\sl P2}; +\draw (4.239961,-0.382071) node{\tt down\_; Header(2,8)}; +\draw (3.714961,0.306299) node[left=-2bp]{\sl P15}; +\draw (3.714961,-0.243701) node[left=-2bp]{\sl P16}; +\dpiclw=0.4bp +\filldraw[line width=0bp](4.856627,0.126299) + --(4.789961,0.106299) + --(4.856627,0.086299) --cycle\dpicstop +\dpicdraw (4.809295,0.106299) + --(4.939961,0.106299)\dpicstop +\draw (4.939961,0.106299) node[right=-2bp]{\sl PinP1}; +\filldraw[line width=0bp](4.856627,-0.023701) + --(4.789961,-0.043701) + --(4.856627,-0.063701) --cycle\dpicstop +\dpicdraw (4.809295,-0.043701) + --(4.939961,-0.043701)\dpicstop +\draw (4.939961,-0.043701) node[right=-2bp]{\sl PinP2}; +\dpiclw=0.8bp +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Headers.m4 b/graphics/circuit_macros/doc/HeadersMan.m4 index a4e1abce3b..1c040227e3 100644 --- a/graphics/circuit_macros/doc/Headers.m4 +++ b/graphics/circuit_macros/doc/HeadersMan.m4 @@ -5,7 +5,11 @@ log_init Header {"\sl P1" at last [].P1 rjust `"\tt Header"' at last [].s+(0,-10pt__) - "\sl P2" at last [].P2 rjust} + "\sl P2" at last [].P2 rjust + thinlines_ + arrow <- from last [].Block.ne-(0,0.1) up 0.15 right 0.15 + "\sl Block" ljust + thicklines_ } Header(2,3,8mm__,10mm__) with .nw at last [].ne+(0.75,-0.05) {"\sl P1" at last [].P1 rjust diff --git a/graphics/circuit_macros/doc/Jack.tex b/graphics/circuit_macros/doc/Jack.tex new file mode 100644 index 0000000000..2a9610f47a --- /dev/null +++ b/graphics/circuit_macros/doc/Jack.tex @@ -0,0 +1,327 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.127778,-0.061111) + --(0.277778,-0.061111) + --(0.277778,0.005556) + --(0.477778,0.005556)\dpicstop +\dpicdraw[fill=white](0.477778,0.005556) circle (0.007874in)\dpicstop +\dpicdraw (0.127778,0.138889) + --(0.277778,0.138889) + --(0.277778,0.072222) + --(0.427778,0.072222)\dpicstop +\draw (0.127778,-0.061111) node[left=-2bp]{\sl A}; +\draw (0.127778,0.138889) node[left=-2bp]{\sl B}; +\draw (0.427778,0.072222) node[above right=-2bp]{\sl TB}; +\draw (0.477778,0.005556) node[below right=-2bp]{\sl TA}; +\dpicdraw (0.977778,0.138889) + --(1.127778,0.138889) + --(1.127778,0.072222) + --(1.327778,0.072222)\dpicstop +\dpicdraw[fill=white](1.327778,0.072222) circle (0.007874in)\dpicstop +\dpicdraw (0.977778,-0.061111) + --(1.127778,-0.061111) + --(1.127778,0.005556) + --(1.277778,0.005556)\dpicstop +\draw (0.977778,0.138889) node[left=-2bp]{\sl A}; +\draw (0.977778,-0.061111) node[left=-2bp]{\sl B}; +\dpicdraw (1.827778,-0.061111) + --(1.977778,-0.061111) + --(1.977778,0.022222) + --(2.177778,0.022222)\dpicstop +\dpicdraw[fill=white](2.177778,0.022222) circle (0.007874in)\dpicstop +\dpicdraw (1.827778,0.063889) + --(2.127778,0.063889)\dpicstop +\dpicdraw (1.827778,0.188889) + --(1.977778,0.188889) + --(1.977778,0.105556) + --(2.127778,0.105556)\dpicstop +\draw (1.827778,-0.061111) node[left=-2bp]{\sl A}; +\draw (1.827778,0.188889) node[left=-2bp]{\sl B}; +\draw (1.827778,0.063889) node[left=-2bp]{\sl C}; +\dpicdraw (2.827778,-0.061111) + --(2.677778,-0.061111) + --(2.677778,0.022222) + --(2.477778,0.022222)\dpicstop +\dpicdraw[fill=white](2.477778,0.022222) circle (0.007874in)\dpicstop +\dpicdraw (2.827778,0.063889) + --(2.527778,0.063889)\dpicstop +\dpicdraw (2.827778,0.188889) + --(2.677778,0.188889) + --(2.677778,0.105556) + --(2.527778,0.105556)\dpicstop +\draw (2.827778,-0.061111) node[right=-2bp]{\sl A}; +\draw (2.827778,0.188889) node[right=-2bp]{\sl B}; +\draw (2.827778,0.063889) node[right=-2bp]{\sl C}; +\draw (0.312778,-0.161111) node[below=-2bp]{\tt plug}; +\draw (1.162778,-0.161111) node[below=-2bp]{\tt plug(,R)}; +\draw (1.912778,-0.161111) node[below=-2bp]{\tt plug(,3)}; +\draw (2.742778,-0.161111) node[below=-2bp]{\tt plug(L,3R)}; +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (0.498611,-0.871242) + --(0.498611,-0.746242) + --(0.456944,-0.746242) + --(0.456944,-0.996242) + --(0.498611,-0.996242) + --(0.498611,-0.871242)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.427778,-0.758742) + --(0.396528,-0.789992) + --(0.365278,-0.758742) + --(0.127778,-0.758742)\dpicstop +\dpicdraw[fill=white](0.127778,-0.758742) circle (0.007874in)\dpicstop +\dpiclw=0.4bp +\draw (0.127778,-0.758742) node[left=-2bp]{\sl L}; +\filldraw[line width=0bp](0.565278,-0.851242) + --(0.498611,-0.871242) + --(0.565278,-0.891242) --cycle\dpicstop +\dpicdraw (0.517945,-0.871242) + --(0.598611,-0.871242)\dpicstop +\draw (0.598611,-0.871242) node[right=-2bp]{\sl F}; +\filldraw[line width=0bp](0.497778,-1.062909) + --(0.477778,-0.996242) + --(0.457778,-1.062909) --cycle\dpicstop +\dpicdraw (0.477778,-1.015576) + --(0.477778,-1.096242) + --(0.377778,-1.096242)\dpicstop +\draw (0.377778,-1.096242) node[left=-2bp]{\sl G}; +\dpiclw=0.8bp +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (1.698611,-0.871242) + --(1.698611,-0.746242) + --(1.656944,-0.746242) + --(1.656944,-0.996242) + --(1.698611,-0.996242) + --(1.698611,-0.871242)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (1.627778,-0.758742) + --(1.596528,-0.789992) + --(1.565278,-0.758742) + --(1.327778,-0.758742)\dpicstop +\dpicdraw[fill=white](1.327778,-0.758742) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](1.396528,-0.671242) + --(1.427778,-0.733742) + --(1.459028,-0.671242) --cycle\dpicstop +\dpicdraw (1.427778,-0.72132) + --(1.427778,-0.639992)\dpicstop +\filldraw[line width=0bp](1.459028,-0.821242) + --(1.427778,-0.758742) + --(1.396528,-0.821242) --cycle\dpicstop +\dpicdraw (1.427778,-0.771165) + --(1.427778,-0.852492)\dpicstop +\dpicdraw (1.577778,-0.983742) + --(1.546528,-0.952492) + --(1.515278,-0.983742) + --(1.327778,-0.983742)\dpicstop +\dpicdraw[fill=white](1.327778,-0.983742) circle (0.007874in)\dpicstop +\dpiclw=0.4bp +\draw (1.327778,-0.758742) node[left=-2bp]{\sl L}; +\filldraw[line width=0bp](1.361111,-0.659992) + --(1.427778,-0.639992) + --(1.361111,-0.619992) --cycle\dpicstop +\dpicdraw (1.408444,-0.639992) + --(1.177778,-0.639992)\dpicstop +\draw (1.177778,-0.639992) node[left=-2bp]{\sl LM}; +\filldraw[line width=0bp](1.361111,-0.872492) + --(1.427778,-0.852492) + --(1.361111,-0.832492) --cycle\dpicstop +\dpicdraw (1.408444,-0.852492) + --(1.177778,-0.852492)\dpicstop +\draw (1.177778,-0.852492) node[left=-2bp]{\sl LB}; +\draw (1.327778,-0.983742) node[left=-2bp]{\sl S}; +\dpiclw=0.8bp +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (2.098611,-0.871242) + --(2.098611,-0.996242) + --(2.140278,-0.996242) + --(2.140278,-0.746242) + --(2.098611,-0.746242) + --(2.098611,-0.871242)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.169444,-0.758742) + --(2.200694,-0.789992) + --(2.231944,-0.758742) + --(2.469444,-0.758742)\dpicstop +\dpicdraw[fill=white](2.469444,-0.758742) circle (0.007874in)\dpicstop +\dpicdraw (2.219444,-0.983742) + --(2.250694,-0.952492) + --(2.281944,-0.983742) + --(2.469444,-0.983742)\dpicstop +\dpicdraw[fill=white](2.469444,-0.983742) circle (0.007874in)\dpicstop +\dpiclw=0.4bp +\draw (2.469444,-0.758742) node[right=-2bp]{\sl L}; +\draw (2.469444,-0.983742) node[right=-2bp]{\sl S}; +\dpiclw=0.8bp +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (3.198611,-0.871242) + --(3.198611,-0.996242) + --(3.240278,-0.996242) + --(3.240278,-0.746242) + --(3.198611,-0.746242) + --(3.198611,-0.871242)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (3.269444,-0.758742) + --(3.300694,-0.789992) + --(3.331944,-0.758742) + --(3.569444,-0.758742)\dpicstop +\dpicdraw[fill=white](3.569444,-0.758742) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](3.500694,-0.821242) + --(3.469444,-0.758742) + --(3.438194,-0.821242) --cycle\dpicstop +\dpicdraw (3.469444,-0.771165) + --(3.469444,-0.852492)\dpicstop +\dpicdraw (3.319444,-0.571242) + --(3.569444,-0.571242)\dpicstop +\dpicdraw[fill=white](3.569444,-0.571242) circle (0.007874in)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (3.339028,-0.664992) + --(3.339028,-0.758742) + --(3.359861,-0.758742) + --(3.359861,-0.571242) + --(3.339028,-0.571242) + --(3.339028,-0.664992)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\filldraw[line width=0bp](3.438194,-0.483742) + --(3.469444,-0.546242) + --(3.500694,-0.483742) --cycle\dpicstop +\dpicdraw (3.469444,-0.53382) + --(3.469444,-0.452492)\dpicstop +\dpicdraw (3.319444,-0.383742) + --(3.569444,-0.383742)\dpicstop +\dpicdraw[fill=white](3.569444,-0.383742) circle (0.007874in)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (3.339028,-0.477492) + --(3.339028,-0.571242) + --(3.359861,-0.571242) + --(3.359861,-0.383742) + --(3.339028,-0.383742) + --(3.339028,-0.477492)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\filldraw[line width=0bp](3.438194,-0.296242) + --(3.469444,-0.358742) + --(3.500694,-0.296242) --cycle\dpicstop +\dpicdraw (3.469444,-0.34632) + --(3.469444,-0.264992)\dpicstop +\dpicdraw (3.319444,-0.983742) + --(3.350694,-0.952492) + --(3.381944,-0.983742) + --(3.569444,-0.983742)\dpicstop +\dpicdraw[fill=white](3.569444,-0.983742) circle (0.007874in)\dpicstop +\dpiclw=0.4bp +\draw (3.569444,-0.571242) node[right=-2bp]{\sl L1}; +\filldraw[line width=0bp](3.536111,-0.432492) + --(3.469444,-0.452492) + --(3.536111,-0.472492) --cycle\dpicstop +\dpicdraw (3.488778,-0.452492) + --(3.769444,-0.452492)\dpicstop +\draw (3.769444,-0.452492) node[right=-2bp]{\sl LM1}; +\draw (3.569444,-0.383742) node[right=-2bp]{\sl L2}; +\filldraw[line width=0bp](3.536111,-0.244992) + --(3.469444,-0.264992) + --(3.536111,-0.284992) --cycle\dpicstop +\dpicdraw (3.488778,-0.264992) + --(3.769444,-0.264992)\dpicstop +\draw (3.769444,-0.264992) node[right=-2bp]{\sl LM2}; +\draw (3.569444,-0.983742) node[right=-2bp]{\sl S}; +\draw (3.569444,-0.758742) node[right=-2bp]{\sl L}; +\filldraw[line width=0bp](3.536111,-0.832492) + --(3.469444,-0.852492) + --(3.536111,-0.872492) --cycle\dpicstop +\dpicdraw (3.488778,-0.852492) + --(3.669444,-0.852492)\dpicstop +\draw (3.669444,-0.852492) node[right=-2bp]{\sl LB}; +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (5.148611,-0.871242) + --(5.148611,-0.746242) + --(5.106944,-0.746242) + --(5.106944,-0.996242) + --(5.148611,-0.996242) + --(5.148611,-0.871242)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (5.077778,-0.983742) + --(5.046528,-0.952492) + --(5.015278,-0.983742) + --(4.777778,-0.983742)\dpicstop +\dpicdraw[fill=white](4.777778,-0.983742) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](4.846528,-0.921242) + --(4.877778,-0.983742) + --(4.909028,-0.921242) --cycle\dpicstop +\dpicdraw (4.877778,-0.97132) + --(4.877778,-0.889992)\dpicstop +\dpicdraw (5.027778,-0.758742) + --(4.996528,-0.789992) + --(4.965278,-0.758742) + --(4.777778,-0.758742)\dpicstop +\dpicdraw[fill=white](4.777778,-0.758742) circle (0.007874in)\dpicstop +\filldraw[line width=0bp](4.909028,-0.821242) + --(4.877778,-0.758742) + --(4.846528,-0.821242) --cycle\dpicstop +\dpicdraw (4.877778,-0.771165) + --(4.877778,-0.852492)\dpicstop +\dpicdraw (4.977778,-0.571242) + --(4.777778,-0.571242)\dpicstop +\dpicdraw[fill=white](4.777778,-0.571242) circle (0.007874in)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!100!black] +\dpicdraw (4.958194,-0.664992) + --(4.958194,-0.571242) + --(4.937361,-0.571242) + --(4.937361,-0.758742) + --(4.958194,-0.758742) + --(4.958194,-0.664992)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\filldraw[line width=0bp](4.846528,-0.483742) + --(4.877778,-0.546242) + --(4.909028,-0.483742) --cycle\dpicstop +\dpicdraw (4.877778,-0.53382) + --(4.877778,-0.452492)\dpicstop +\draw (4.777778,-0.983742) node[left=-2bp]{\sl L}; +\draw (4.777778,-0.758742) node[left=-2bp]{\sl S}; +\draw (4.777778,-0.571242) node[left=-2bp]{\sl S1}; +\filldraw[line width=0bp](4.811111,-0.472492) + --(4.877778,-0.452492) + --(4.811111,-0.432492) --cycle\dpicstop +\dpicdraw (4.858444,-0.452492) + --(4.577778,-0.452492)\dpicstop +\draw (4.577778,-0.452492) node[left=-2bp]{\sl SM1}; +\filldraw[line width=0bp](4.811111,-0.909992) + --(4.877778,-0.889992) + --(4.811111,-0.869992) --cycle\dpicstop +\dpicdraw (4.858444,-0.889992) + ..controls (4.743111,-0.889992) and (4.577778,-0.914992) + ..(4.527778,-0.939992)\dpicstop +\draw (4.527778,-0.939992) node[left=-2bp]{\sl LB}; +\filldraw[line width=0bp](4.811111,-0.872492) + --(4.877778,-0.852492) + --(4.811111,-0.832492) --cycle\dpicstop +\dpicdraw (4.858444,-0.852492) + ..controls (4.743111,-0.852492) and (4.577778,-0.827492) + ..(4.527778,-0.802492)\dpicstop +\draw (4.527778,-0.802492) node[left=-2bp]{\sl SB}; +\dpiclw=0.8bp +\draw (0.303194,-1.146242) node[below=-2bp]{\tt jack}; +\draw (1.334306,-1.146242) node[below=-2bp]{\tt jack(,LMBS)}; +\draw (2.294028,-1.146242) node[below=-2bp]{\tt ..(L,RLS)}; +\draw (3.394028,-1.146242) node[below=-2bp]{\tt ..(L,RLBLMLMS)}; +\draw (4.953194,-1.146242) node[below=-2bp]{\tt ..(,RSBSMLB)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Jack.m4 b/graphics/circuit_macros/doc/JackMan.m4 index b9a005d279..b9a005d279 100644 --- a/graphics/circuit_macros/doc/Jack.m4 +++ b/graphics/circuit_macros/doc/JackMan.m4 diff --git a/graphics/circuit_macros/doc/Logic.tex b/graphics/circuit_macros/doc/Logic.tex new file mode 100644 index 0000000000..fae1a4e3c0 --- /dev/null +++ b/graphics/circuit_macros/doc/Logic.tex @@ -0,0 +1,212 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.2,0.45) + --(0,0.45) + --(0,0.75) + --(0.2,0.75)\dpicstop +\dpicdraw (0.2,0.75) + ..controls (0.4,0.75) and (0.4,0.45) + ..(0.2,0.45)\dpicstop +\draw (0.6,0.6) node[right=-2bp]{{\tt AND\_gate}}; +\dpicdraw (0.122222,0.348911) + --(0,0.348911)\dpicstop +\dpicdraw (0.004513,0.351089) + ..controls (0.050565,0.25571) and (0.050948,0.144606) + ..(0.005556,0.048911)\dpicstop +\dpicdraw (0,0.048911) + --(0.122222,0.048911)\dpicstop +\dpicdraw (0.122222,0.348911) + ..controls (0.222661,0.348911) and (0.313857,0.290284) + ..(0.355556,0.198911)\dpicstop +\dpicdraw (0.122222,0.048911) + ..controls (0.222661,0.048911) and (0.313857,0.107537) + ..(0.355556,0.198911)\dpicstop +\draw (0.6,0.2) node[right=-2bp]{{\tt OR\_gate}}; +\dpicdraw (0.175,-0.2) + --(0,-0.3) + --(0,-0.1) + --(0.175,-0.2)\dpicstop +\draw (0.6,-0.2) node[right=-2bp]{{\tt BUFFER\_gate}}; +\dpicdraw (-0,-0.451089) + ..controls (0.04503,-0.54602) and (0.04503,-0.656159) + ..(-0,-0.751089)\dpicstop +\dpicdraw (0.166667,-0.451089) + --(0.044444,-0.451089)\dpicstop +\dpicdraw (0.048957,-0.448911) + ..controls (0.095009,-0.54429) and (0.095392,-0.655394) + ..(0.05,-0.751089)\dpicstop +\dpicdraw (0.044444,-0.751089) + --(0.166667,-0.751089)\dpicstop +\dpicdraw (0.166667,-0.451089) + ..controls (0.267105,-0.451089) and (0.358302,-0.509716) + ..(0.4,-0.601089)\dpicstop +\dpicdraw (0.166667,-0.751089) + ..controls (0.267105,-0.751089) and (0.358302,-0.692463) + ..(0.4,-0.601089)\dpicstop +\draw (0.6,-0.6) node[right=-2bp]{{\tt XOR\_gate}}; +\dpicdraw (2.13718,0.45) + --(1.93718,0.45) + --(1.93718,0.75) + --(2.13718,0.75)\dpicstop +\dpicdraw (2.13718,0.75) + ..controls (2.33718,0.75) and (2.33718,0.45) + ..(2.13718,0.45)\dpicstop +\dpicdraw (2.32468,0.6) circle (0.014764in)\dpicstop +\draw (2.53718,0.6) node[right=-2bp]{{\tt NAND\_gate}}; +\dpicdraw (2.059402,0.348911) + --(1.93718,0.348911)\dpicstop +\dpicdraw (1.941693,0.351089) + ..controls (1.987745,0.25571) and (1.988128,0.144606) + ..(1.942736,0.048911)\dpicstop +\dpicdraw (1.93718,0.048911) + --(2.059402,0.048911)\dpicstop +\dpicdraw (2.059402,0.348911) + ..controls (2.159841,0.348911) and (2.251037,0.290284) + ..(2.292736,0.198911)\dpicstop +\dpicdraw (2.059402,0.048911) + ..controls (2.159841,0.048911) and (2.251037,0.107537) + ..(2.292736,0.198911)\dpicstop +\dpicdraw (2.330236,0.198911) circle (0.014764in)\dpicstop +\draw (2.53718,0.2) node[right=-2bp]{{\tt NOR\_gate(3)}}; +\dpiclw=0.4bp +\filldraw[line width=0bp](2.434402,0.218911) + --(2.367736,0.198911) + --(2.434402,0.178911) --cycle\dpicstop +\dpicdraw (2.387069,0.198911) + --(2.444069,0.198911) + ..controls (2.482069,0.198911) and (2.501069,0.223911) + ..(2.501069,0.273911) + ..controls (2.501069,0.323911) and (2.509402,0.348911) + ..(2.526069,0.348911) + --(2.551069,0.348911)\dpicstop +\draw (2.551069,0.348911) node[right=-2bp]{{\tt Out}}; +\filldraw[line width=0bp](2.350236,0.132244) + --(2.330236,0.198911) + --(2.310236,0.132244) --cycle\dpicstop +\dpicdraw (2.330236,0.179577) + --(2.330236,0.122577) + ..controls (2.330236,0.084577) and (2.369819,0.062799) + ..(2.448986,0.057244) + --(2.567736,0.048911)\dpicstop +\draw (2.567736,0.048911) node[right=-2bp]{{\tt N\_Out}}; +\filldraw[line width=0bp](1.902093,0.263339) + --(1.961918,0.298911) + --(1.892391,0.302144) --cycle\dpicstop +\dpicdraw (1.943161,0.294221) + --(1.761918,0.248911)\dpicstop +\draw (1.761918,0.268911) node[left=-2bp]{{\tt In1\/}}; +\filldraw[line width=0bp](1.916682,0.163339) + --(1.976508,0.198911) + --(1.906981,0.202144) --cycle\dpicstop +\dpicdraw (1.957751,0.194221) + --(1.776508,0.148911)\dpicstop +\draw (1.776508,0.148911) node[left=-2bp]{{\tt In2\/}}; +\filldraw[line width=0bp](1.902093,0.063339) + --(1.961918,0.098911) + --(1.892391,0.102144) --cycle\dpicstop +\dpicdraw (1.943161,0.094221) + --(1.761918,0.048911)\dpicstop +\draw (1.761918,0.028911) node[left=-2bp]{{\tt In3\/}}; +\dpiclw=0.8bp +\dpicdraw (2.11218,-0.2) + --(1.93718,-0.3) + --(1.93718,-0.1) + --(2.11218,-0.2)\dpicstop +\dpicdraw (2.14968,-0.2) circle (0.014764in)\dpicstop +\draw (2.53718,-0.2) node[right=-2bp]{{\tt NOT\_gate}}; +\dpicdraw (1.992998,-0.451089) + ..controls (2.038027,-0.54602) and (2.038027,-0.656159) + ..(1.992998,-0.751089)\dpicstop +\dpicdraw (2.159664,-0.451089) + --(2.037442,-0.451089)\dpicstop +\dpicdraw (2.041955,-0.448911) + ..controls (2.088007,-0.54429) and (2.08839,-0.655394) + ..(2.042998,-0.751089)\dpicstop +\dpicdraw (2.037442,-0.751089) + --(2.159664,-0.751089)\dpicstop +\dpicdraw (2.159664,-0.451089) + ..controls (2.260103,-0.451089) and (2.351299,-0.509716) + ..(2.392998,-0.601089)\dpicstop +\dpicdraw (2.159664,-0.751089) + ..controls (2.260103,-0.751089) and (2.351299,-0.692463) + ..(2.392998,-0.601089)\dpicstop +\dpicdraw (2.430498,-0.601089) circle (0.014764in)\dpicstop +\dpicdraw (1.97468,-0.501089) circle (0.014764in)\dpicstop +\dpicdraw (1.97468,-0.701089) circle (0.014764in)\dpicstop +\draw (2.53718,-0.6) node[right=-2bp]{{\tt NXOR\_gate(NPN)}}; +\filldraw[line width=0bp](1.834102,-0.501089) + --(1.93718,-0.501089) + --(1.846229,-0.452582) --cycle\dpicstop +\dpicdraw (1.914958,-0.495534) + --(1.73718,-0.451089)\dpicstop +\draw (1.73718,-0.431089) node[left=-2bp]{{\tt In1\/}}; +\filldraw[line width=0bp](1.923692,-0.601089) + --(2.02677,-0.601089) + --(1.935819,-0.552582) --cycle\dpicstop +\dpicdraw (2.004548,-0.595534) + --(1.82677,-0.551089)\dpicstop +\draw (1.82677,-0.551089) node[left=-2bp]{{\tt In2\/}}; +\filldraw[line width=0bp](1.834102,-0.701089) + --(1.93718,-0.701089) + --(1.846229,-0.652582) --cycle\dpicstop +\dpicdraw (1.914958,-0.695534) + --(1.73718,-0.651089)\dpicstop +\draw (1.73718,-0.671089) node[left=-2bp]{{\tt In3\/}}; +\dpicdraw (3.87436,0.6) + --(3.87436,0.775) + --(4.22436,0.775) + --(4.22436,0.425) + --(3.87436,0.425) + --(3.87436,0.6)\dpicstop +\draw (4.04936,0.705815) node{{\scriptsize$ \& $}}; +\draw (4.47436,0.6) node[right=-2bp]{{\tt NAND\_gate(,B)}}; +\dpicdraw (3.87436,0.2) + --(3.87436,0.375) + --(4.22436,0.375) + --(4.22436,0.025) + --(3.87436,0.025) + --(3.87436,0.2)\dpicstop +\draw (4.04936,0.305815) node{{\scriptsize$ \geq 1 $}}; +\dpicdraw (3.83686,0.316667) circle (0.014764in)\dpicstop +\dpicdraw (3.83686,0.2) circle (0.014764in)\dpicstop +\dpicdraw (3.83686,0.083333) circle (0.014764in)\dpicstop +\dpicdraw (4.26186,0.2) circle (0.014764in)\dpicstop +\draw (4.47436,0.2) node[right=-2bp]{{\tt NOR\_gate(3,NB)}}; +\dpicdraw (3.87436,-0.2) + --(3.87436,-0.025) + --(4.22436,-0.025) + --(4.22436,-0.375) + --(3.87436,-0.375) + --(3.87436,-0.2)\dpicstop +\draw (4.04936,-0.094185) node{{\scriptsize$ =1 $}}; +\dpicdraw (3.83686,-0.2875) circle (0.014764in)\dpicstop +\dpicdraw (4.26186,-0.2) circle (0.014764in)\dpicstop +\draw (4.47436,-0.2) node[right=-2bp]{{\tt BOX\_gate(PN,N,{,},=1)}}; +\dpicdraw (3.87436,-0.1125) + --(3.72436,-0.1125)\dpicstop +\dpicdraw (3.79936,-0.2875) + --(3.72436,-0.2875)\dpicstop +\dpicdraw (4.29936,-0.2) + --(4.44936,-0.2)\dpicstop +\dpicdraw (3.87436,-0.6) + --(3.87436,-0.425) + --(4.22436,-0.425) + --(4.22436,-0.775) + --(3.87436,-0.775) + --(3.87436,-0.6)\dpicstop +\draw (4.04936,-0.494185) node{{\scriptsize$ = $}}; +\dpicdraw (4.26186,-0.6) circle (0.014764in)\dpicstop +\draw (4.47436,-0.6) node[right=-2bp]{{\tt BOX\_gate(PP,N,{,},=)}}; +\dpicdraw (3.87436,-0.5125) + --(3.72436,-0.5125)\dpicstop +\dpicdraw (3.87436,-0.6875) + --(3.72436,-0.6875)\dpicstop +\dpicdraw (4.29936,-0.6) + --(4.44936,-0.6)\dpicstop +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Logic.m4 b/graphics/circuit_macros/doc/LogicMan.m4 index d42e02768e..d42e02768e 100644 --- a/graphics/circuit_macros/doc/Logic.m4 +++ b/graphics/circuit_macros/doc/LogicMan.m4 diff --git a/graphics/circuit_macros/doc/Makefile b/graphics/circuit_macros/doc/Makefile index 463f3c0ec1..9e27cc0b27 100644 --- a/graphics/circuit_macros/doc/Makefile +++ b/graphics/circuit_macros/doc/Makefile @@ -5,31 +5,30 @@ DOC = Circuit_macros DOCSRC = Circuit_macros.tex body.tex defines.tex PICTEX = \ - AmpTable.tex Antennas.tex Audio.tex Axes.tex \ - Buffer.tex BigResistor.tex Bip.tex \ - CctTable.tex Composite.tex ConfigA.tex ConfigB.tex ConfigC.tex Conn.tex \ - Corners.tex Contact.tex Contacts.tex \ - Dac.tex Darlington.tex Demultiplexer.tex Diodes.tex \ - Emarrows.tex FF.tex FlipFlop.tex \ - Flowdiag.tex Fuses.tex Grounds.tex \ - Headers.tex HybridPi.tex Jack.tex \ - Logic.tex Loop.tex Multiplexer.tex NPDT.tex NLG.tex Nport.tex \ - Oblique.tex Opamp.tex Opto.tex \ - ParSeries.tex Pconn.tex Potentiometers.tex Relay.tex relaycoil.tex \ - Series.tex ShiftR.tex Sinus.tex Sources.tex Switches.tex \ - Taps.tex Tgate.tex Thermal.tex Tline.tex Ttree.tex \ - Variable.tex Xform.tex Windings.tex Workflow.tex \ - bitr.tex bi_trans.tex \ - bistable.tex currents.tex eboxdims.tex fbfilter.tex fet.tex \ - lrarrows.tex mplex.tex oax.tex \ - quick.tex stringdims.tex thyristor.tex ujt.tex woodchips.tex + AmpTableMan.tex AntennasMan.tex AudioMan.tex Axes.tex \ + Buffer.tex BigResistor.tex BipMan.tex \ + CctTableMan.tex Composite.tex ConfigA.tex ConfigB.tex ConfigC.tex \ + ConnMan.tex Corners.tex ContactMan.tex ContactsMan.tex \ + Dac.tex Darlington.tex DemultiplexerMan.tex DiodesMan.tex \ + EmarrowsMan.tex FF.tex FlipFlop.tex Flowdiag.tex FusesMan.tex \ + GroundsMan.tex HeadersMan.tex HybridPi.tex JackMan.tex LogicMan.tex \ + Loop.tex MultiplexerMan.tex NPDTMan.tex NLGMan.tex NportMan.tex \ + Oblique.tex OpampMan.tex Opto.tex ParSeries.tex PconnMan.tex \ + Potentiometers.tex RelayMan.tex relaycoilMan.tex Series.tex ShiftRMan.tex \ + Sinus.tex SourcesMan.tex SwitchesMan.tex Taps.tex TgateMan.tex \ + Thermal.tex Tline.tex VariableMan.tex XformMan.tex \ + WindingsMan.tex Workflow.tex bitr.tex bi_trans.tex bistableMan.tex \ + currents.tex eboxdims.tex fbfilter.tex fetMan.tex lrarrows.tex \ + mplex.tex oax.tex quick.tex \ + sampleIC.tex stringdims.tex thyristorMan.tex ujtMan.tex \ + woodchips.tex VERBATIM = BigResistor2.verb eboxdims.verb -BOXDIMS = Antennas.tex bi_trans.tex ConfigA.tex ConfigB.tex ConfigC.tex \ +BOXDIMS = AntennasMan.tex bi_trans.tex ConfigA.tex ConfigB.tex ConfigC.tex \ Corners.tex \ Dac.tex eboxdims.tex FlipFlop.tex \ - Opamp.tex ParSeries.tex Sinus.tex stringdims.tex Ttree.tex \ - Windings.tex woodchips.tex + OpampMan.tex ParSeries.tex Sinus.tex stringdims.tex \ + WindingsMan.tex woodchips.tex # BOXDIMS = $(PICTEX) LATEX = latex @@ -59,7 +58,7 @@ SFX = dvi M4LIBS = $(MODE).m4 .SUFFIXES: .tex .m4 -.m4.tex: $*.m4 +.m4.tex: touch $(DOC).dim $(M4) $(M4LIBS) $(DOC).dim $*.m4 > $*.pic ($(PRE) $(PIC) $*.pic $(POST)) > $*.tex @@ -71,7 +70,8 @@ $(DOC).pdf: make MODE=pgf PIC="dpic -g" LATEX=pdflatex SFX=pdf \ POST="; printf '\\\\vspace*{-0.5\\\\baselineskip}\\n'" \ $(DOC).pdf - optpdf $(DOC).pdf +# This breaks internal links: +# optpdf $(DOC).pdf chmod 644 $(DOC).pdf $(DOC).ps: diff --git a/graphics/circuit_macros/doc/Multiplexer.tex b/graphics/circuit_macros/doc/Multiplexer.tex new file mode 100644 index 0000000000..a8a09d6e1c --- /dev/null +++ b/graphics/circuit_macros/doc/Multiplexer.tex @@ -0,0 +1,148 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +{\sf +\dpicdraw (0.2,0.075) + --(0.2,0.525) + --(0.6,0.425) + --(0.6,-0.275) + --(0.2,-0.375) + --(0.2,0.075)\dpicstop +\draw (0.4,0.075) node{\scriptsize M1}; +\dpicdraw (0.6,0.075) + --(0.8,0.075)\dpicstop +\dpicdraw (0.4,-0.325) + --(0.4,-0.525)\dpicstop +\draw (0.2,0.4125) node[right=-2bp]{{\scriptsize 0}}; +\dpicdraw (0.2,0.4125) + --(0,0.4125)\dpicstop +\draw (0.2,0.1875) node[right=-2bp]{{\scriptsize 1}}; +\dpicdraw (0.2,0.1875) + --(0,0.1875)\dpicstop +\draw (0.2,-0.0375) node[right=-2bp]{{\scriptsize 2}}; +\dpicdraw (0.2,-0.0375) + --(0,-0.0375)\dpicstop +\draw (0.2,-0.2625) node[right=-2bp]{{\scriptsize 3}}; +\dpicdraw (0.2,-0.2625) + --(0,-0.2625)\dpicstop +\draw (0.4,-0.525) node[below=-2bp]{\tt Mux(4,M1)}; +\draw (0,0.4125) node[left=-2bp]{\sl In0}; +\draw (0,0.1875) node[left=-2bp]{\sl In1}; +\draw (0,-0.0375) node[left=-2bp]{\sl In2}; +\draw (0,-0.2625) node[left=-2bp]{\sl In3}; +\draw (0.8,0.075) node[above=-2bp]{\sl Out}; +\draw (0.4,-0.525) node[above right=-2bp]{\sl Sel}; +\dpicdraw (1.5,-0.075) + --(1.5,-0.525) + --(1.1,-0.425) + --(1.1,0.275) + --(1.5,0.375) + --(1.5,-0.075)\dpicstop +\dpicdraw (1.1,-0.075) + --(0.9,-0.075)\dpicstop +\dpicdraw (1.3,0.325) + --(1.3,0.525)\dpicstop +\draw (1.5,0.285) node[left=-2bp]{{\scriptsize 0}}; +\dpicdraw (1.5,0.285) + --(1.7,0.285)\dpicstop +\draw (1.5,0.105) node[left=-2bp]{{\scriptsize 1}}; +\dpicdraw (1.5,0.105) + --(1.7,0.105)\dpicstop +\draw (1.5,-0.075) node[left=-2bp]{{\scriptsize 2}}; +\dpicdraw (1.5,-0.075) + --(1.7,-0.075)\dpicstop +\draw (1.5,-0.255) node[left=-2bp]{{\scriptsize 3}}; +\dpicdraw (1.5,-0.255) + --(1.7,-0.255)\dpicstop +\draw (1.5,-0.435) node[left=-2bp]{{\scriptsize $\overline{\hbox{OE}}$}}; +\dpicdraw (1.5375,-0.435) circle (0.014764in)\dpicstop +\dpicdraw (1.575,-0.435) + --(1.7,-0.435)\dpicstop +\draw (1.3,-0.802778) node{\tt left\_; Mux(4,{,}LNOE)}; +\draw (1.7,0.285) node[above=-2bp]{\sl In0}; +\draw (1.755556,-0.435) node[below=-2bp]{\sl NOE}; +\draw (0.9,-0.075) node[below=-2bp]{\sl Out}; +\draw (1.3,0.525) node[below left=-2bp]{\sl Sel}; +\dpicdraw (2.5,-0.0875) + --(2.5,0.3625) + --(2.9,0.2625) + --(2.9,-0.4375) + --(2.5,-0.5375) + --(2.5,-0.0875)\dpicstop +\dpicdraw (2.9,-0.0875) + --(3.1,-0.0875)\dpicstop +\dpicdraw (2.6,0.3375) + --(2.6,0.5375)\dpicstop +\dpicdraw (2.8,0.2875) + --(2.8,0.4875)\dpicstop +\draw (2.5,0.2725) node[right=-2bp]{{\scriptsize 00}}; +\dpicdraw (2.5,0.2725) + --(2.3,0.2725)\dpicstop +\draw (2.5,0.0925) node[right=-2bp]{{\scriptsize 01}}; +\dpicdraw (2.5,0.0925) + --(2.3,0.0925)\dpicstop +\draw (2.5,-0.0875) node[right=-2bp]{{\scriptsize 10}}; +\dpicdraw (2.5,-0.0875) + --(2.3,-0.0875)\dpicstop +\draw (2.5,-0.2675) node[right=-2bp]{{\scriptsize 11}}; +\dpicdraw (2.5,-0.2675) + --(2.3,-0.2675)\dpicstop +\draw (2.5,-0.4475) node[right=-2bp]{{\scriptsize OE}}; +\dpicdraw (2.5,-0.4475) + --(2.3,-0.4475)\dpicstop +\draw (2.7,-0.5375) node[below=-2bp]{\tt Mux(4,{,}OEBN2)}; +\draw (2.6,0.5375) node[left=-2bp]{\sl Sel0}; +\draw (2.8,0.4875) node[right=-2bp]{\sl Sel1}; +\draw (2.3,0.2725) node[left=-2bp]{\sl In0}; +\draw (2.3,-0.2675) node[left=-2bp]{\sl In3}; +\draw (2.3,-0.4475) node[left=-2bp]{\sl OE}; +\dpicdraw (4.491667,0.2) + --(5.191667,0.2) + --(5.091667,-0.2) + --(3.891667,-0.2) + --(3.791667,0.2) + --(4.491667,0.2)\dpicstop +\dpicdraw (4.491667,-0.2) + --(4.491667,-0.4)\dpicstop +\dpicdraw (3.808333,0.133333) + --(3.608333,0.133333)\dpicstop +\dpicdraw (3.841667,0) + --(3.641667,0)\dpicstop +\dpicdraw (3.875,-0.133333) + --(3.675,-0.133333)\dpicstop +\draw (3.879167,0.2) node[below=-2bp]{{\scriptsize 0}}; +\dpicdraw (3.879167,0.2) + --(3.879167,0.4)\dpicstop +\draw (4.054167,0.2) node[below=-2bp]{{\scriptsize 1}}; +\dpicdraw (4.054167,0.2) + --(4.054167,0.4)\dpicstop +\draw (4.229167,0.2) node[below=-2bp]{{\scriptsize 2}}; +\dpicdraw (4.229167,0.2) + --(4.229167,0.4)\dpicstop +\draw (4.404167,0.2) node[below=-2bp]{{\scriptsize 3}}; +\dpicdraw (4.404167,0.2) + --(4.404167,0.4)\dpicstop +\draw (4.579167,0.2) node[below=-2bp]{{\scriptsize 4}}; +\dpicdraw (4.579167,0.2) + --(4.579167,0.4)\dpicstop +\draw (4.754167,0.2) node[below=-2bp]{{\scriptsize 5}}; +\dpicdraw (4.754167,0.2) + --(4.754167,0.4)\dpicstop +\draw (4.929167,0.2) node[below=-2bp]{{\scriptsize 6}}; +\dpicdraw (4.929167,0.2) + --(4.929167,0.4)\dpicstop +\draw (5.104167,0.2) node[below=-2bp]{{\scriptsize 7}}; +\dpicdraw (5.104167,0.2) + --(5.104167,0.4)\dpicstop +\draw (4.4,-0.4) node[below=-2bp]{\tt down\_; Mux(8,{,}L3,{,}28*L\_unit)}; +\draw (3.608333,0.133333) node[left=-2bp]{\sl Sel0}; +\draw (3.675,-0.133333) node[below left=-2bp]{\sl Sel2}; +\draw (3.879167,0.4) node[left=-2bp]{\sl In0}; +\draw (5.104167,0.4) node[right=-2bp]{\sl In7}; +} +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Multiplexer.m4 b/graphics/circuit_macros/doc/MultiplexerMan.m4 index f4b72154a4..f4b72154a4 100644 --- a/graphics/circuit_macros/doc/Multiplexer.m4 +++ b/graphics/circuit_macros/doc/MultiplexerMan.m4 diff --git a/graphics/circuit_macros/doc/NLG.tex b/graphics/circuit_macros/doc/NLG.tex new file mode 100644 index 0000000000..ba14d3cb04 --- /dev/null +++ b/graphics/circuit_macros/doc/NLG.tex @@ -0,0 +1,93 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.145,-0.25) rectangle (0.895,0.25)\dpicstop +\draw (0.145,0) node[right=-2bp]{${}0$}; +\draw (0.895,0) node[left=-2bp]{$\infty$}; +\dpicdraw (0.145,0.125) + --(0.02,0.125)\dpicstop +\dpicdraw[fill=black](0.02,0.125) circle (0.007874in)\dpicstop +\dpicdraw (0.145,-0.125) + --(0.02,-0.125)\dpicstop +\dpicdraw[fill=black](0.02,-0.125) circle (0.007874in)\dpicstop +\dpicdraw (0.895,0.125) + --(1.02,0.125)\dpicstop +\dpicdraw[fill=black](1.02,0.125) circle (0.007874in)\dpicstop +\dpicdraw (0.895,-0.125) + --(1.02,-0.125)\dpicstop +\dpicdraw[fill=black](1.02,-0.125) circle (0.007874in)\dpicstop +\draw (0.52,-0.291511) node[below=-2bp]{\tt nullor}; +\dpicdraw (1.685,-0.25) rectangle (2.185,0.25)\dpicstop +\dpicdraw (1.685,0.125) + --(1.56,0.125)\dpicstop +\dpicdraw[fill=black](1.56,0.125) circle (0.007874in)\dpicstop +\dpicdraw (1.685,-0.125) + --(1.56,-0.125)\dpicstop +\dpicdraw[fill=black](1.56,-0.125) circle (0.007874in)\dpicstop +\dpicdraw (2.185,0.125) + --(2.31,0.125)\dpicstop +\dpicdraw[fill=black](2.31,0.125) circle (0.007874in)\dpicstop +\dpicdraw (2.185,-0.125) + --(2.31,-0.125)\dpicstop +\dpicdraw[fill=black](2.31,-0.125) circle (0.007874in)\dpicstop +\dpicdraw (1.685,0.125) + --(1.81,0.125) + --(1.81,-0.125) + --(1.685,-0.125)\dpicstop +\dpicdraw (1.81,-0.083333) + ..controls (1.856024,-0.083333) and (1.893333,-0.046024) + ..(1.893333,0) + ..controls (1.893333,0.046024) and (1.856024,0.083333) + ..(1.81,0.083333)\dpicstop +\dpicdraw (2.185,0.125) + --(2.06,0.125) + --(2.06,-0.125) + --(2.185,-0.125)\dpicstop +\dpicdraw (2.06,0.083333) + ..controls (2.013976,0.083333) and (1.976667,0.046024) + ..(1.976667,0) + ..controls (1.976667,-0.046024) and (2.013976,-0.083333) + ..(2.06,-0.083333)\dpicstop +\draw (1.935,-0.291511) node[below=-2bp]{\tt gyrator}; +\dpicdraw (2.83,0.125) + --(3.0175,0.125) + --(3.0175,-0.125) + --(2.83,-0.125)\dpicstop +\dpicdraw (3.0175,-0.083333) + ..controls (3.063524,-0.083333) and (3.100833,-0.046024) + ..(3.100833,0) + ..controls (3.100833,0.046024) and (3.063524,0.083333) + ..(3.0175,0.083333)\dpicstop +\dpicdraw (3.58,0.125) + --(3.3925,0.125) + --(3.3925,-0.125) + --(3.58,-0.125)\dpicstop +\dpicdraw (3.3925,0.083333) + ..controls (3.346476,0.083333) and (3.309167,0.046024) + ..(3.309167,0) + ..controls (3.309167,-0.046024) and (3.346476,-0.083333) + ..(3.3925,-0.083333)\dpicstop +\draw (3.205,-0.25) node{\tt gyrator(invis,{,}0,N)}; +\dpicdraw (4.705,-0.25) + --(4.705,-0.125) + --(4.955,-0.125) + --(4.955,-0.25)\dpicstop +\dpicdraw (4.913333,-0.125) + ..controls (4.913333,-0.078976) and (4.876024,-0.041667) + ..(4.83,-0.041667) + ..controls (4.783976,-0.041667) and (4.746667,-0.078976) + ..(4.746667,-0.125)\dpicstop +\dpicdraw (4.705,0.25) + --(4.705,0.125) + --(4.955,0.125) + --(4.955,0.25)\dpicstop +\dpicdraw (4.746667,0.125) + ..controls (4.746667,0.013889) and (4.913333,0.013889) + ..(4.913333,0.125)\dpicstop +\draw (4.83,-0.291511) node[below=-2bp]{\tt gyrator(invis wid boxht,{,}0,NV)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/NLG.m4 b/graphics/circuit_macros/doc/NLGMan.m4 index 2b9a39f86e..2b9a39f86e 100644 --- a/graphics/circuit_macros/doc/NLG.m4 +++ b/graphics/circuit_macros/doc/NLGMan.m4 diff --git a/graphics/circuit_macros/doc/NPDT.tex b/graphics/circuit_macros/doc/NPDT.tex new file mode 100644 index 0000000000..3cad25c409 --- /dev/null +++ b/graphics/circuit_macros/doc/NPDT.tex @@ -0,0 +1,121 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw[fill=white](0.024,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw (0.224,-0.061976) + --(0.224,-0.061976)\dpicstop +\dpicdraw (0.224,-0.061976) + --(0.374,0.088024)\dpicstop +\dpicdraw (0.424,-0.061976) + --(0.424,-0.061976)\dpicstop +\dpicdraw[fill=white](0.224,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](0.424,-0.061976) circle (0.009449in)\dpicstop +\draw (0.424,-0.085976) node[below=-2bp]{\sl R}; +\draw (0.224,-0.085976) node[below=-2bp]{\sl T}; +\draw (0.024,-0.085976) node[below=-2bp]{\sl L}; +\draw (0.224,-0.308024) node{\tt NPDT}; +\dpicdraw[fill=white](1.174,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw (1.174,0.138024) + --(1.174,0.138024)\dpicstop +\dpicdraw (1.174,0.138024) + --(1.024,0.288024)\dpicstop +\dpicdraw (1.174,0.338024) + --(1.174,0.338024)\dpicstop +\dpicdraw[fill=white](1.174,0.138024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](1.174,0.338024) circle (0.009449in)\dpicstop +\draw (1.198,0.338024) node[right=-2bp]{\sl R}; +\draw (1.198,0.138024) node[right=-2bp]{\sl T}; +\draw (1.198,-0.061976) node[right=-2bp]{\sl L}; +\draw (1.212024,-0.235976) node{\tt up\_; NPDT\strut}; +\dpicdraw[fill=white](1.924,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw (2.124,-0.061976) + --(2.124,-0.061976)\dpicstop +\dpicdraw (2.124,-0.061976) + --(2.274,0.088024)\dpicstop +\dpicdraw (2.324,-0.061976) + --(2.324,-0.061976)\dpicstop +\dpicdraw[fill=white](2.124,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](2.324,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](1.924,0.238024) circle (0.009449in)\dpicstop +\dpicdraw (2.124,0.238024) + --(2.124,0.238024)\dpicstop +\dpicdraw (2.124,0.238024) + --(2.274,0.388024)\dpicstop +\dpicdraw (2.324,0.238024) + --(2.324,0.238024)\dpicstop +\dpicdraw[fill=white](2.124,0.238024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](2.324,0.238024) circle (0.009449in)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](2.224,-0.001976) + --(2.224,0.373024)\dpicstop +\draw (2.348,-0.061976) node[right=-2bp]{\sl R1}; +\draw (1.9,-0.061976) node[left=-2bp]{\sl L1}; +\draw (2.348,0.238024) node[right=-2bp]{\sl R2}; +\draw (1.9,0.238024) node[left=-2bp]{\sl L2}; +\draw (2.124,-0.238024) node{\tt NPDT(2)\strut}; +\dpicdraw[fill=white](3.074,0.538024) circle (0.009449in)\dpicstop +\dpicdraw (3.274,0.538024) + --(3.274,0.538024)\dpicstop +\dpicdraw (3.274,0.538024) + --(3.424,0.388024)\dpicstop +\dpicdraw (3.474,0.538024) + --(3.474,0.538024)\dpicstop +\dpicdraw[fill=white](3.274,0.538024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](3.474,0.538024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](3.074,0.238024) circle (0.009449in)\dpicstop +\dpicdraw (3.274,0.238024) + --(3.274,0.238024)\dpicstop +\dpicdraw (3.274,0.238024) + --(3.424,0.088024)\dpicstop +\dpicdraw (3.474,0.238024) + --(3.474,0.238024)\dpicstop +\dpicdraw[fill=white](3.274,0.238024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](3.474,0.238024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](3.074,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw (3.274,-0.061976) + --(3.274,-0.061976)\dpicstop +\dpicdraw (3.274,-0.061976) + --(3.424,-0.211976)\dpicstop +\dpicdraw (3.474,-0.061976) + --(3.474,-0.061976)\dpicstop +\dpicdraw[fill=white](3.274,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](3.474,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](3.374,0.478024) + --(3.374,-0.196976)\dpicstop +\draw (3.498,0.538024) node[right=-2bp]{\sl R1}; +\draw (3.05,0.538024) node[left=-2bp]{\sl L1}; +\draw (3.498,0.238024) node[right=-2bp]{\sl R2}; +\draw (3.05,0.238024) node[left=-2bp]{\sl L2}; +\draw (3.498,-0.061976) node[right=-2bp]{\sl R3}; +\draw (3.05,-0.061976) node[left=-2bp]{\sl L3}; +\draw (3.274,-0.211976) node[below=-2bp]{\tt NPDT(3,R)\strut}; +\dpicdraw[fill=white](4.624,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw (4.424,-0.061976) + --(4.424,-0.061976)\dpicstop +\dpicdraw (4.424,-0.061976) + --(4.274,0.088024)\dpicstop +\dpicdraw (4.224,-0.061976) + --(4.224,-0.061976)\dpicstop +\dpicdraw[fill=white](4.424,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](4.224,-0.061976) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](4.624,0.238024) circle (0.009449in)\dpicstop +\dpicdraw (4.424,0.238024) + --(4.424,0.238024)\dpicstop +\dpicdraw (4.424,0.238024) + --(4.274,0.388024)\dpicstop +\dpicdraw (4.224,0.238024) + --(4.224,0.238024)\dpicstop +\dpicdraw[fill=white](4.424,0.238024) circle (0.009449in)\dpicstop +\dpicdraw[fill=white](4.224,0.238024) circle (0.009449in)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](4.324,-0.001976) + --(4.324,0.373024)\dpicstop +\draw (4.2,-0.061976) node[left=-2bp]{\sl R1}; +\draw (4.648,-0.061976) node[right=-2bp]{\sl L1}; +\draw (4.2,0.238024) node[left=-2bp]{\sl R2}; +\draw (4.648,0.238024) node[right=-2bp]{\sl L2}; +\draw (4.424,-0.238024) node{\tt left\_; NPDT(2,R)\strut}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/NPDT.m4 b/graphics/circuit_macros/doc/NPDTMan.m4 index 17f4ef26b1..17f4ef26b1 100644 --- a/graphics/circuit_macros/doc/NPDT.m4 +++ b/graphics/circuit_macros/doc/NPDTMan.m4 diff --git a/graphics/circuit_macros/doc/Nport.tex b/graphics/circuit_macros/doc/Nport.tex new file mode 100644 index 0000000000..e473f19b8d --- /dev/null +++ b/graphics/circuit_macros/doc/Nport.tex @@ -0,0 +1,116 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.145,-0.25) rectangle (0.895,0.25)\dpicstop +\dpicdraw (0.145,0.125) + --(0.02,0.125)\dpicstop +\dpicdraw[fill=black](0.02,0.125) circle (0.007874in)\dpicstop +\dpicdraw (0.145,-0.125) + --(0.02,-0.125)\dpicstop +\dpicdraw[fill=black](0.02,-0.125) circle (0.007874in)\dpicstop +\dpicdraw (0.895,0.125) + --(1.02,0.125)\dpicstop +\dpicdraw[fill=black](1.02,0.125) circle (0.007874in)\dpicstop +\dpicdraw (0.895,-0.125) + --(1.02,-0.125)\dpicstop +\dpicdraw[fill=black](1.02,-0.125) circle (0.007874in)\dpicstop +\draw (0.02,0.125) node[above left=1bp]{\sl W1a}; +\draw (0.02,-0.125) node[below left=1bp]{\sl W1b}; +\draw (1.02,0.125) node[above right=1bp]{\sl E1a}; +\draw (1.02,-0.125) node[below right=1bp]{\sl E1b}; +\dpicdraw[fill=white!90!black](1.895,-0.5) rectangle (3.895,0.5)\dpicstop +\draw (2.895,0) node{n-port}; +\dpicdraw (1.895,0.25) + --(1.77,0.25)\dpicstop +\dpicdraw[fill=black](1.77,0.25) circle (0.007874in)\dpicstop +\dpicdraw (1.895,-0.25) + --(1.77,-0.25)\dpicstop +\dpicdraw[fill=black](1.77,-0.25) circle (0.007874in)\dpicstop +\dpicdraw (2.180714,0.5) + --(2.180714,0.625)\dpicstop +\dpicdraw[fill=black](2.180714,0.625) circle (0.007874in)\dpicstop +\dpicdraw (2.752143,0.5) + --(2.752143,0.625)\dpicstop +\dpicdraw[fill=black](2.752143,0.625) circle (0.007874in)\dpicstop +\dpicdraw (3.037857,0.5) + --(3.037857,0.625)\dpicstop +\dpicdraw[fill=black](3.037857,0.625) circle (0.007874in)\dpicstop +\dpicdraw (3.609286,0.5) + --(3.609286,0.625)\dpicstop +\dpicdraw[fill=black](3.609286,0.625) circle (0.007874in)\dpicstop +\dpicdraw (3.895,0.4) + --(4.02,0.4)\dpicstop +\dpicdraw[fill=black](4.02,0.4) circle (0.007874in)\dpicstop +\dpicdraw (3.895,0.2) + --(4.02,0.2)\dpicstop +\dpicdraw[fill=black](4.02,0.2) circle (0.007874in)\dpicstop +\dpicdraw (3.895,0.1) + --(4.02,0.1)\dpicstop +\dpicdraw[fill=black](4.02,0.1) circle (0.007874in)\dpicstop +\dpicdraw (3.895,-0.1) + --(4.02,-0.1)\dpicstop +\dpicdraw[fill=black](4.02,-0.1) circle (0.007874in)\dpicstop +\dpicdraw (3.895,-0.2) + --(4.02,-0.2)\dpicstop +\dpicdraw[fill=black](4.02,-0.2) circle (0.007874in)\dpicstop +\dpicdraw (3.895,-0.4) + --(4.02,-0.4)\dpicstop +\dpicdraw[fill=black](4.02,-0.4) circle (0.007874in)\dpicstop +\dpicdraw (2.048846,-0.5) + --(2.048846,-0.625)\dpicstop +\dpicdraw[fill=black](2.048846,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (2.356538,-0.5) + --(2.356538,-0.625)\dpicstop +\dpicdraw[fill=black](2.356538,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (2.510385,-0.5) + --(2.510385,-0.625)\dpicstop +\dpicdraw[fill=black](2.510385,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (2.818077,-0.5) + --(2.818077,-0.625)\dpicstop +\dpicdraw[fill=black](2.818077,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (2.971923,-0.5) + --(2.971923,-0.625)\dpicstop +\dpicdraw[fill=black](2.971923,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (3.279615,-0.5) + --(3.279615,-0.625)\dpicstop +\dpicdraw[fill=black](3.279615,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (3.433462,-0.5) + --(3.433462,-0.625)\dpicstop +\dpicdraw[fill=black](3.433462,-0.625) circle (0.007874in)\dpicstop +\dpicdraw (3.741154,-0.5) + --(3.741154,-0.625)\dpicstop +\dpicdraw[fill=black](3.741154,-0.625) circle (0.007874in)\dpicstop +\draw (1.77,0.25) node[left=1bp]{\sl W1a}; +\draw (1.77,-0.25) node[left=1bp]{\sl W1b}; +\draw (4.02,0.4) node[right=1bp]{\sl E1a}; +\draw (4.02,-0.4) node[right=1bp]{\sl E3b}; +\draw (2.180714,0.625) node[above=1bp]{\sl N1a}; +\draw (2.752143,0.625) node[above=1bp]{\sl N1b$\;\;$}; +\draw (3.037857,0.625) node[above=1bp]{\sl $\;\;$N2a}; +\draw (3.609286,0.625) node[above=1bp]{\sl N2b}; +\draw (2.048846,-0.625) node[below=1bp]{\sl S1a}; +\draw (3.741154,-0.625) node[below=1bp]{\sl S4b}; +\draw (2.895,-0.725) node{$\cdots$}; +\draw (4.17,0.05) node{$\vdots$}; +\dpicdraw (4.895,-0.166667) rectangle (5.395,0.166667)\dpicstop +\dpicdraw (4.895,0) + --(4.77,0)\dpicstop +\dpicdraw[fill=black](4.77,0) circle (0.007874in)\dpicstop +\dpicdraw (5.395,0) + --(5.52,0)\dpicstop +\dpicdraw[fill=black](5.52,0) circle (0.007874in)\dpicstop +\dpicdraw (5.145,-0.166667) + --(5.145,-0.291667)\dpicstop +\dpicdraw[fill=black](5.145,-0.291667) circle (0.007874in)\dpicstop +\draw (4.77,0) node[left=1bp]{\sl W1}; +\draw (5.52,0) node[right=1bp]{\sl E1}; +\draw (5.145,-0.291667) node[below=1bp]{\sl S1}; +\draw (0.52,-0.55) node{\tt nport}; +\draw (2.895,-0.895) node{\tt nport(wid 2.0 ht 1 fill\_(0.9) "n-port",1,2,3,4)}; +\draw (5.145,-0.611667) node{\tt nterm}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Nport.m4 b/graphics/circuit_macros/doc/NportMan.m4 index 37dbffeacc..37dbffeacc 100644 --- a/graphics/circuit_macros/doc/Nport.m4 +++ b/graphics/circuit_macros/doc/NportMan.m4 diff --git a/graphics/circuit_macros/doc/Opamp.m4 b/graphics/circuit_macros/doc/OpampMan.m4 index 5bdb8ac208..5bdb8ac208 100644 --- a/graphics/circuit_macros/doc/Opamp.m4 +++ b/graphics/circuit_macros/doc/OpampMan.m4 diff --git a/graphics/circuit_macros/doc/Pconn.tex b/graphics/circuit_macros/doc/Pconn.tex new file mode 100644 index 0000000000..0bc608cbd9 --- /dev/null +++ b/graphics/circuit_macros/doc/Pconn.tex @@ -0,0 +1,462 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.598611,0.013889) + --(0.598611,0.263889) + --(0.098611,0.263889) + --(0.098611,-0.236111) + --(0.598611,-0.236111) + --(0.598611,0.013889)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.469444,0.088889) + --(0.469444,0.163889) + --(0.427778,0.163889) + --(0.427778,0.013889) + --(0.469444,0.013889) + --(0.469444,0.088889)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.269444,0.088889) + --(0.269444,0.151389) + --(0.227778,0.151389) + --(0.227778,0.026389) + --(0.269444,0.026389) + --(0.269444,0.088889)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\fill[fill=black,line width=0bp](0.390278,-0.111111) + ..controls (0.390278,-0.088099) and (0.371623,-0.069444) + ..(0.348611,-0.069444) + ..controls (0.325599,-0.069444) and (0.306944,-0.088099) + ..(0.306944,-0.111111)--cycle +\dpicstop +\dpicdraw (0.390278,-0.111111) + ..controls (0.390278,-0.088099) and (0.371623,-0.069444) + ..(0.348611,-0.069444) + ..controls (0.325599,-0.069444) and (0.306944,-0.088099) + ..(0.306944,-0.111111)\dpicstop +\fill[fill=black,line width=0bp](0.306944,-0.111111) + --(0.306944,-0.152778) + --(0.390278,-0.152778) + --(0.390278,-0.111111)--cycle +\dpicstop +\dpicdraw (0.306944,-0.111111) + --(0.306944,-0.152778) + --(0.390278,-0.152778) + --(0.390278,-0.111111)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](0.161111,0.068889) + --(0.227778,0.088889) + --(0.161111,0.108889) --cycle\dpicstop +\dpicdraw (0.218111,0.088889) + --(0.027778,0.088889)\dpicstop +\draw (0.027778,0.088889) node[left=-2bp]{\sl H}; +\dpiclw=0.8bp +\draw (0.348611,-0.236111) node[below=-2bp]{\tt pconnex(,A)}; +\dpicdraw (1.398611,0.013889) + --(1.398611,0.263889) + --(0.898611,0.263889) + --(0.898611,-0.236111) + --(1.398611,-0.236111) + --(1.398611,0.013889)\dpicstop +\dpicdraw (1.069444,0.088889) + --(1.069444,0.163889) + --(1.027778,0.163889) + --(1.027778,0.013889) + --(1.069444,0.013889) + --(1.069444,0.088889)\dpicstop +\dpicdraw (1.269444,0.088889) + --(1.269444,0.151389) + --(1.227778,0.151389) + --(1.227778,0.026389) + --(1.269444,0.026389) + --(1.269444,0.088889)\dpicstop +\dpicdraw (1.190278,-0.111111) + ..controls (1.190278,-0.088099) and (1.171623,-0.069444) + ..(1.148611,-0.069444) + ..controls (1.125599,-0.069444) and (1.106944,-0.088099) + ..(1.106944,-0.111111)\dpicstop +\dpicdraw (1.106944,-0.111111) + --(1.106944,-0.152778) + --(1.190278,-0.152778) + --(1.190278,-0.111111)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](1.320129,0.136592) + --(1.269444,0.088889) + --(1.338017,0.100815) --cycle\dpicstop +\dpicdraw (1.278091,0.093212) + --(1.469444,0.188889)\dpicstop +\draw (1.469444,0.188889) node[right=-2bp]{\sl H}; +\draw (0.748611,0.188889) node{\sl N}; +\filldraw[line width=0bp](0.520518,0.136175) + --(0.469444,0.088889) + --(0.538113,0.100252) --cycle\dpicstop +\dpicdraw (0.673611,0.188889) + --(0.478126,0.093141)\dpicstop +\filldraw[line width=0bp](0.95911,0.100252) + --(1.027778,0.088889) + --(0.976704,0.136175) --cycle\dpicstop +\dpicdraw (0.823611,0.188889) + --(1.019096,0.093141)\dpicstop +\draw (0.748611,-0.061111) node{\sl G}; +\filldraw[line width=0bp](0.452454,-0.07983) + --(0.390278,-0.111111) + --(0.459406,-0.119221) --cycle\dpicstop +\dpicdraw (0.673611,-0.061111) + --(0.399798,-0.109431)\dpicstop +\filldraw[line width=0bp](1.037817,-0.119221) + --(1.106944,-0.111111) + --(1.044768,-0.07983) --cycle\dpicstop +\dpicdraw (0.823611,-0.061111) + --(1.097425,-0.109431)\dpicstop +\draw (1.148611,-0.236111) node[below=-2bp]{\tt (,AF)}; +\dpicdraw (1.848611,0.013889) circle (0.098425in)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (1.969444,0.088889) + --(1.969444,0.163889) + --(1.927778,0.163889) + --(1.927778,0.013889) + --(1.969444,0.013889) + --(1.969444,0.088889)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (1.769444,0.088889) + --(1.769444,0.151389) + --(1.727778,0.151389) + --(1.727778,0.026389) + --(1.769444,0.026389) + --(1.769444,0.088889)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\fill[fill=black,line width=0bp](1.890278,-0.111111) + ..controls (1.890278,-0.088099) and (1.871623,-0.069444) + ..(1.848611,-0.069444) + ..controls (1.825599,-0.069444) and (1.806944,-0.088099) + ..(1.806944,-0.111111)--cycle +\dpicstop +\dpicdraw (1.890278,-0.111111) + ..controls (1.890278,-0.088099) and (1.871623,-0.069444) + ..(1.848611,-0.069444) + ..controls (1.825599,-0.069444) and (1.806944,-0.088099) + ..(1.806944,-0.111111)\dpicstop +\fill[fill=black,line width=0bp](1.806944,-0.111111) + --(1.806944,-0.152778) + --(1.890278,-0.152778) + --(1.890278,-0.111111)--cycle +\dpicstop +\dpicdraw (1.806944,-0.111111) + --(1.806944,-0.152778) + --(1.890278,-0.152778) + --(1.890278,-0.111111)\dpicstop +\draw (1.848611,-0.236111) node[below=-2bp]{\tt (,AC)}; +\dpicdraw (2.548611,0.013889) circle (0.098425in)\dpicstop +\dpicdraw (2.469444,0.088889) + --(2.469444,0.163889) + --(2.427778,0.163889) + --(2.427778,0.013889) + --(2.469444,0.013889) + --(2.469444,0.088889)\dpicstop +\dpicdraw (2.669444,0.088889) + --(2.669444,0.151389) + --(2.627778,0.151389) + --(2.627778,0.026389) + --(2.669444,0.026389) + --(2.669444,0.088889)\dpicstop +\dpicdraw (2.590278,-0.111111) + ..controls (2.590278,-0.088099) and (2.571623,-0.069444) + ..(2.548611,-0.069444) + ..controls (2.525599,-0.069444) and (2.506944,-0.088099) + ..(2.506944,-0.111111)\dpicstop +\dpicdraw (2.506944,-0.111111) + --(2.506944,-0.152778) + --(2.590278,-0.152778) + --(2.590278,-0.111111)\dpicstop +\draw (2.548611,-0.236111) node[below=-2bp]{\tt (,ACF)}; +\dpicdraw (3.298611,-0.136111) + --(3.298611,0.163889)\dpicstop +\dpicdraw (3.298611,0.163889) + ..controls (3.298611,0.246732) and (3.231454,0.313889) + ..(3.148611,0.313889) + ..controls (3.065768,0.313889) and (2.998611,0.246732) + ..(2.998611,0.163889)\dpicstop +\dpicdraw (2.998611,0.163889) + --(2.998611,-0.136111)\dpicstop +\dpicdraw (2.998611,-0.136111) + ..controls (2.998611,-0.336111) and (3.298611,-0.336111) + ..(3.298611,-0.136111)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (3.148611,0.163889) circle (0.016404in)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (3.148611,-0.136111) circle (0.016404in)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\draw (3.148611,-0.286111) node[below=-2bp]{\tt (U,D)}; +\dpicdraw (3.798611,-0.136111) + --(3.798611,0.163889)\dpicstop +\dpicdraw (3.798611,0.163889) + ..controls (3.798611,0.246732) and (3.731454,0.313889) + ..(3.648611,0.313889) + ..controls (3.565768,0.313889) and (3.498611,0.246732) + ..(3.498611,0.163889)\dpicstop +\dpicdraw (3.498611,0.163889) + --(3.498611,-0.136111)\dpicstop +\dpicdraw (3.498611,-0.136111) + ..controls (3.498611,-0.336111) and (3.798611,-0.336111) + ..(3.798611,-0.136111)\dpicstop +\dpicdraw (3.648611,0.163889) circle (0.016404in)\dpicstop +\dpicdraw (3.648611,-0.136111) circle (0.016404in)\dpicstop +\draw (3.648611,-0.286111) node[below=-2bp]{\tt (U,DF)}; +\dpicdraw (4.248611,0.013889) + --(4.248611,0.263889) + --(3.998611,0.263889) + --(3.998611,-0.236111) + --(4.248611,-0.236111) + --(4.248611,0.013889)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.123611,0.159722) + --(4.061111,0.159722) + --(4.061111,0.118056) + --(4.186111,0.118056) + --(4.186111,0.159722) + --(4.123611,0.159722)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.123611,-0.090278) + --(4.061111,-0.090278) + --(4.061111,-0.131944) + --(4.186111,-0.131944) + --(4.186111,-0.090278) + --(4.123611,-0.090278)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\draw (4.123611,-0.236111) node[below=-2bp]{\tt (U,J)}; +\dpicdraw (4.698611,0.013889) + --(4.698611,0.263889) + --(4.448611,0.263889) + --(4.448611,-0.236111) + --(4.698611,-0.236111) + --(4.698611,0.013889)\dpicstop +\dpicdraw (4.573611,0.159722) + --(4.511111,0.159722) + --(4.511111,0.118056) + --(4.636111,0.118056) + --(4.636111,0.159722) + --(4.573611,0.159722)\dpicstop +\dpicdraw (4.573611,-0.090278) + --(4.511111,-0.090278) + --(4.511111,-0.131944) + --(4.636111,-0.131944) + --(4.636111,-0.090278) + --(4.573611,-0.090278)\dpicstop +\draw (4.573611,-0.236111) node[below=-2bp]{\tt (U,JF)}; +\dpiclw=0.8bp +\dpicdraw (0.348611,-0.623611) + --(0.098611,-0.623611) + --(0.098611,-0.873611) + --(0.223611,-0.998611) + --(0.473611,-0.998611) + --(0.598611,-0.873611) + --(0.598611,-0.623611) + --(0.348611,-0.623611)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.469444,-0.736111) + --(0.469444,-0.673611) + --(0.427778,-0.673611) + --(0.427778,-0.798611) + --(0.469444,-0.798611) + --(0.469444,-0.736111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.269444,-0.736111) + --(0.269444,-0.673611) + --(0.227778,-0.673611) + --(0.227778,-0.798611) + --(0.269444,-0.798611) + --(0.269444,-0.736111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.369444,-0.886111) + --(0.369444,-0.836111) + --(0.327778,-0.836111) + --(0.327778,-0.936111) + --(0.369444,-0.936111) + --(0.369444,-0.886111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\draw (0.348611,-0.998611) node[below=-2bp]{\tt (,P)}; +\dpicdraw (1.048611,-0.623611) + --(0.798611,-0.623611) + --(0.798611,-0.873611) + --(0.923611,-0.998611) + --(1.173611,-0.998611) + --(1.298611,-0.873611) + --(1.298611,-0.623611) + --(1.048611,-0.623611)\dpicstop +\dpicdraw (0.969444,-0.736111) + --(0.969444,-0.673611) + --(0.927778,-0.673611) + --(0.927778,-0.798611) + --(0.969444,-0.798611) + --(0.969444,-0.736111)\dpicstop +\dpicdraw (1.169444,-0.736111) + --(1.169444,-0.673611) + --(1.127778,-0.673611) + --(1.127778,-0.798611) + --(1.169444,-0.798611) + --(1.169444,-0.736111)\dpicstop +\dpicdraw (1.069444,-0.886111) + --(1.069444,-0.836111) + --(1.027778,-0.836111) + --(1.027778,-0.936111) + --(1.069444,-0.936111) + --(1.069444,-0.886111)\dpicstop +\draw (1.048611,-0.998611) node[below=-2bp]{\tt (,PF)}; +\dpicdraw (1.823611,-0.511111) + --(2.148611,-0.511111) + --(2.148611,-0.691111) + --(1.913611,-1.111111) + --(1.733611,-1.111111) + --(1.498611,-0.691111) + --(1.498611,-0.511111) + --(1.823611,-0.511111)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (1.719444,-0.661111) + --(1.719444,-0.629861) + --(1.594444,-0.629861) + --(1.594444,-0.692361) + --(1.719444,-0.692361) + --(1.719444,-0.661111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.052778,-0.661111) + --(2.052778,-0.629861) + --(1.927778,-0.629861) + --(1.927778,-0.692361) + --(2.052778,-0.692361) + --(2.052778,-0.661111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (1.854861,-0.977778) + --(1.854861,-0.915278) + --(1.792361,-0.915278) + --(1.792361,-1.040278) + --(1.854861,-1.040278) + --(1.854861,-0.977778)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\draw (1.823611,-1.111111) node[below=-2bp]{\tt (,G)}; +\dpicdraw (2.673611,-0.511111) + --(2.998611,-0.511111) + --(2.998611,-0.691111) + --(2.763611,-1.111111) + --(2.583611,-1.111111) + --(2.348611,-0.691111) + --(2.348611,-0.511111) + --(2.673611,-0.511111)\dpicstop +\dpicdraw (2.569444,-0.661111) + --(2.569444,-0.629861) + --(2.444444,-0.629861) + --(2.444444,-0.692361) + --(2.569444,-0.692361) + --(2.569444,-0.661111)\dpicstop +\dpicdraw (2.902778,-0.661111) + --(2.902778,-0.629861) + --(2.777778,-0.629861) + --(2.777778,-0.692361) + --(2.902778,-0.692361) + --(2.902778,-0.661111)\dpicstop +\dpicdraw (2.704861,-0.977778) + --(2.704861,-0.915278) + --(2.642361,-0.915278) + --(2.642361,-1.040278) + --(2.704861,-1.040278) + --(2.704861,-0.977778)\dpicstop +\draw (2.673611,-1.111111) node[below=-2bp]{\tt (,GF)}; +\dpicdraw (3.523611,-1.111111) + --(3.198611,-1.111111) + --(3.198611,-0.931111) + --(3.433611,-0.511111) + --(3.613611,-0.511111) + --(3.848611,-0.931111) + --(3.848611,-1.111111) + --(3.523611,-1.111111)\dpicstop +\dpicdraw (3.627778,-0.961111) + --(3.627778,-0.992361) + --(3.752778,-0.992361) + --(3.752778,-0.929861) + --(3.627778,-0.929861) + --(3.627778,-0.961111)\dpicstop +\dpicdraw (3.294444,-0.961111) + --(3.294444,-0.992361) + --(3.419444,-0.992361) + --(3.419444,-0.929861) + --(3.294444,-0.929861) + --(3.294444,-0.961111)\dpicstop +\dpicdraw (3.492361,-0.644444) + --(3.492361,-0.706944) + --(3.554861,-0.706944) + --(3.554861,-0.581944) + --(3.492361,-0.581944) + --(3.492361,-0.644444)\dpicstop +\draw (3.523611,-1.111111) node[below=-2bp]{\tt (L,GF)}; +\dpicdraw (4.373611,-0.811111) circle (0.127953in)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.269444,-0.661111) + --(4.269444,-0.629861) + --(4.144444,-0.629861) + --(4.144444,-0.692361) + --(4.269444,-0.692361) + --(4.269444,-0.661111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.602778,-0.661111) + --(4.602778,-0.629861) + --(4.477778,-0.629861) + --(4.477778,-0.692361) + --(4.602778,-0.692361) + --(4.602778,-0.661111)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (4.404861,-0.977778) + --(4.404861,-0.915278) + --(4.342361,-0.915278) + --(4.342361,-1.040278) + --(4.404861,-1.040278) + --(4.404861,-0.977778)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\draw (4.373611,-1.136111) node[below=-2bp]{\tt (,GC)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Pconn.m4 b/graphics/circuit_macros/doc/PconnMan.m4 index fbda5cc2e7..45a259636f 100644 --- a/graphics/circuit_macros/doc/Pconn.m4 +++ b/graphics/circuit_macros/doc/PconnMan.m4 @@ -19,27 +19,23 @@ P1: [ arrow from G.w to C1.G.e arrow from G.e to C2.G.w `"\tt (,AF)"' at last [].s below - C03: pconnex(,AC) with .w at C2.e+(0.2,0) + C03: pconnex(,AC) with .w at C2.e+(0.25,0) `"\tt (,AC)"' at last [].s below C3: pconnex(,ACF) with .w at last [].e+(0.2,0) `"\tt (,ACF)"' at last [].s below - C5: pconnex(U,D) with .w at last [].e+(0.2,0) + C5: pconnex(U,D) with .w at last [].e+(0.25,0) `"\tt (U,D)"' at last [].s below - C6: pconnex(U,DF) with .w at last [].e+(0.2,0) + C6: pconnex(U,DF) with .w at last [].e+(0.25,0) `"\tt (U,DF)"' at last [].s below - C7: pconnex(U,J) with .w at last [].e+(0.2,0) + C7: pconnex(U,J) with .w at last [].e+(0.25,0) `"\tt (U,J)"' at last [].s below - C8: pconnex(U,JF) with .w at last [].e+(0.2,0) + C8: pconnex(U,JF) with .w at last [].e+(0.25,0) `"\tt (U,JF)"' at last [].s below ] P2: [ - C4: pconnex(,P) - `"\tt (,P)"' at last [].s below - C11: pconnex(,PF) with .w at last [].e+(0.2,0) - `"\tt (,PF)"' at (C11,last "") below - C9: pconnex(,G) with .w at last [].e+(0.2,0) + C9: pconnex(,G) #with .w at last [].e+(0.2,0) `"\tt (,G)"' at last [].s below C91: pconnex(,GF) with .w at last [].e+(0.2,0) `"\tt (,GF)"' at last [].s below @@ -47,6 +43,15 @@ P2: [ `"\tt (L,GF)"' at last [].s below C10: pconnex(,GC) with .w at last [].e + (0.2,0) `"\tt (,GC)"' ht 11pt__ at last [].s below -] with .nw at P1.C1.sw + (0,-0.25) + C10: pconnex(,GCF) with .w at last [].e + (0.2,0) + `"\tt (,GCF)"' ht 11pt__ at last [].s below +] with .nw at P1.C1.sw + (0,-0.35) + +P3: [ + C4: pconnex(,P) + `"\tt (,P)"' at last [].s below + C11: pconnex(,PF) with .w at last [].e+(0.2,0) + `"\tt (,PF)"' at (C11,last "") below +] with .nw at P2.C9.sw + (0,-0.35) .PE diff --git a/graphics/circuit_macros/doc/Relay.tex b/graphics/circuit_macros/doc/Relay.tex new file mode 100644 index 0000000000..fca7a507b0 --- /dev/null +++ b/graphics/circuit_macros/doc/Relay.tex @@ -0,0 +1,198 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.291667,-0.227083) + --(0.291667,-0.102083) + --(0.166667,-0.102083) + --(0.166667,-0.352083) + --(0.291667,-0.352083) + --(0.291667,-0.227083)\dpicstop +\dpicdraw (0.166667,-0.227083) + --(0,-0.227083)\dpicstop +\dpicdraw (0.291667,-0.227083) + --(0.458333,-0.227083)\dpicstop +\dpicdraw[fill=white](0.108333,0.185417) circle (0.007874in)\dpicstop +\dpicdraw (0.128333,0.185417) + --(0.358333,0.185417)\dpicstop +\filldraw[line width=0bp](0.275,0.26875) + --(0.316667,0.185417) + --(0.358333,0.26875) --cycle\dpicstop +\dpicdraw (0.316667,0.197839) + --(0.316667,0.310417) + --(0.416667,0.310417)\dpicstop +\filldraw[line width=0bp](0.358333,0.039583) + --(0.316667,0.122917) + --(0.275,0.039583) --cycle\dpicstop +\dpicdraw (0.316667,0.110494) + --(0.316667,-0.002083) + --(0.416667,-0.002083)\dpicstop +\draw (0,-0.227083) node[left=-2bp]{\sl V1}; +\draw (0.458333,-0.227083) node[right=-2bp]{\sl V2}; +\draw (0.088333,0.185417) node[left=-2bp]{\sl P1}; +\draw (0.416667,-0.002083) node[right=-2bp]{\sl O1}; +\draw (0.416667,0.310417) node[right=-2bp]{\sl C1}; +\draw (0.229167,-0.552083) node(S){\tt relay}; +\dpicdraw (1.391667,-0.227083) + --(1.391667,-0.102083) + --(1.266667,-0.102083) + --(1.266667,-0.352083) + --(1.391667,-0.352083) + --(1.391667,-0.227083)\dpicstop +\dpicdraw (1.266667,-0.227083) + --(1.1,-0.227083)\dpicstop +\dpicdraw (1.391667,-0.227083) + --(1.558333,-0.227083)\dpicstop +\dpicdraw (1.304167,-0.14375) + --(1.304167,-0.202083) + --(1.354167,-0.202083) + --(1.354167,-0.252083) + --(1.304167,-0.252083) + --(1.304167,-0.310417)\dpicstop +\dpicdraw[fill=white](1.208333,-0.002083) circle (0.007874in)\dpicstop +\dpicdraw (1.228333,-0.002083) + --(1.458333,-0.002083)\dpicstop +\filldraw[line width=0bp](1.375,0.08125) + --(1.416667,-0.002083) + --(1.458333,0.08125) --cycle\dpicstop +\dpicdraw (1.416667,0.010339) + --(1.416667,0.122917) + --(1.516667,0.122917)\dpicstop +\dpicdraw[fill=white](1.208333,0.247917) circle (0.007874in)\dpicstop +\dpicdraw (1.228333,0.247917) + --(1.458333,0.247917)\dpicstop +\filldraw[line width=0bp](1.375,0.33125) + --(1.416667,0.247917) + --(1.458333,0.33125) --cycle\dpicstop +\dpicdraw (1.416667,0.260339) + --(1.416667,0.372917) + --(1.516667,0.372917)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](1.343333,-0.052083) + --(1.343333,0.297917)\dpicstop +\draw (1.188333,-0.002083) node[left=-2bp]{\sl P1}; +\draw (1.516667,0.122917) node[right=-2bp]{\sl C1}; +\draw (1.188333,0.247917) node[left=-2bp]{\sl P2}; +\draw (1.516667,0.372917) node[right=-2bp]{\sl C2}; +\draw (1.329167,-0.552083) node{\tt (2,CTh)}; +\dpicdraw (2.491667,-0.227083) + --(2.491667,-0.102083) + --(2.366667,-0.102083) + --(2.366667,-0.352083) + --(2.491667,-0.352083) + --(2.491667,-0.227083)\dpicstop +\dpicdraw (2.366667,-0.227083) + --(2.2,-0.227083)\dpicstop +\dpicdraw (2.491667,-0.227083) + --(2.658333,-0.227083)\dpicstop +\dpicdraw[fill=white](2.308333,0.185417) circle (0.007874in)\dpicstop +\dpicdraw (2.328333,0.185417) + --(2.558333,0.185417)\dpicstop +\filldraw[line width=0bp](2.558333,0.039583) + --(2.516667,0.122917) + --(2.475,0.039583) --cycle\dpicstop +\dpicdraw (2.516667,0.110494) + --(2.516667,-0.002083) + --(2.616667,-0.002083)\dpicstop +\dpicdraw[fill=white](2.308333,0.497917) circle (0.007874in)\dpicstop +\dpicdraw (2.328333,0.497917) + --(2.558333,0.497917)\dpicstop +\filldraw[line width=0bp](2.558333,0.352083) + --(2.516667,0.435417) + --(2.475,0.352083) --cycle\dpicstop +\dpicdraw (2.516667,0.422994) + --(2.516667,0.310417) + --(2.616667,0.310417)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](2.443333,0.135417) + --(2.443333,0.547917)\dpicstop +\draw (2.288333,0.185417) node[left=-2bp]{\sl P1}; +\draw (2.616667,-0.002083) node[right=-2bp]{\sl O1}; +\draw (2.288333,0.185417) node[left=-2bp]{\sl P1}; +\draw (2.616667,0.310417) node[right=-2bp]{\sl O2}; +\draw (2.429167,-0.552083) node{\tt (2,O)}; +\dpicdraw (3.591667,-0.227083) + --(3.591667,-0.102083) + --(3.466667,-0.102083) + --(3.466667,-0.352083) + --(3.591667,-0.352083) + --(3.591667,-0.227083)\dpicstop +\dpicdraw (3.466667,-0.164583) + --(3.3,-0.164583)\dpicstop +\dpicdraw (3.466667,-0.289583) + --(3.3,-0.289583)\dpicstop +\dpicdraw[fill=white](3.408333,0.105972) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.616667,0.214028) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.616667,-0.002083) circle (0.007874in)\dpicstop +\dpicdraw (3.428333,0.105972) + --(3.658333,0.105972)\dpicstop +\dpicdraw[fill=white](3.408333,0.447083) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.616667,0.555139) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.616667,0.339028) circle (0.007874in)\dpicstop +\dpicdraw (3.428333,0.447083) + --(3.658333,0.447083)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](3.543333,0.055972) + --(3.543333,0.497083)\dpicstop +\draw (3.3,-0.164583) node[left=-2bp]{\sl V1}; +\draw (3.3,-0.289583) node[left=-2bp]{\sl V2}; +\draw (3.388333,0.105972) node[left=-2bp]{\sl P1}; +\draw (3.636667,-0.002083) node[right=-2bp]{\sl O1}; +\draw (3.636667,0.186354) node[right=-2bp]{\sl C1}; +\draw (3.388333,0.447083) node[left=-2bp]{\sl P2}; +\draw (3.636667,0.339028) node[right=-2bp]{\sl O2}; +\draw (3.636667,0.527465) node[right=-2bp]{\sl C2}; +\draw (3.479167,-0.552083) node{\tt (2,PIAX)}; +\dpicdraw (4.691667,0.664583) + --(4.691667,0.789583) + --(4.566667,0.789583) + --(4.566667,0.539583) + --(4.691667,0.539583) + --(4.691667,0.664583)\dpicstop +\dpicdraw (4.566667,0.664583) + --(4.4,0.664583)\dpicstop +\dpicdraw (4.691667,0.664583) + --(4.858333,0.664583)\dpicstop +\dpicdraw[fill=white](4.508333,0.252083) circle (0.007874in)\dpicstop +\dpicdraw (4.528333,0.252083) + --(4.758333,0.252083)\dpicstop +\filldraw[line width=0bp](4.758333,0.16875) + --(4.716667,0.252083) + --(4.675,0.16875) --cycle\dpicstop +\dpicdraw (4.716667,0.239661) + --(4.716667,0.127083) + --(4.816667,0.127083)\dpicstop +\filldraw[line width=0bp](4.675,0.397917) + --(4.716667,0.314583) + --(4.758333,0.397917) --cycle\dpicstop +\dpicdraw (4.716667,0.327006) + --(4.716667,0.439583) + --(4.816667,0.439583)\dpicstop +\dpicdraw[fill=white](4.508333,-0.185417) circle (0.007874in)\dpicstop +\dpicdraw (4.528333,-0.185417) + --(4.758333,-0.185417)\dpicstop +\filldraw[line width=0bp](4.758333,-0.26875) + --(4.716667,-0.185417) + --(4.675,-0.26875) --cycle\dpicstop +\dpicdraw (4.716667,-0.197839) + --(4.716667,-0.310417) + --(4.816667,-0.310417)\dpicstop +\filldraw[line width=0bp](4.675,-0.039583) + --(4.716667,-0.122917) + --(4.758333,-0.039583) --cycle\dpicstop +\dpicdraw (4.716667,-0.110494) + --(4.716667,0.002083) + --(4.816667,0.002083)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](4.643333,0.302083) + --(4.643333,-0.235417)\dpicstop +\draw (4.4,0.664583) node[left=-2bp]{\sl V1}; +\draw (4.858333,0.664583) node[right=-2bp]{\sl V2}; +\draw (4.488333,0.252083) node[left=-2bp]{\sl P1}; +\draw (4.816667,0.439583) node[right=-2bp]{\sl O1}; +\draw (4.816667,0.127083) node[right=-2bp]{\sl C1}; +\draw (4.488333,-0.185417) node[left=-2bp]{\sl P2}; +\draw (4.816667,0.002083) node[right=-2bp]{\sl O2}; +\draw (4.816667,-0.310417) node[right=-2bp]{\sl C2}; +\draw (4.629167,-0.552083) node{\tt relay(2,R)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Relay.m4 b/graphics/circuit_macros/doc/RelayMan.m4 index 20c51ebb6a..20c51ebb6a 100644 --- a/graphics/circuit_macros/doc/Relay.m4 +++ b/graphics/circuit_macros/doc/RelayMan.m4 diff --git a/graphics/circuit_macros/doc/ShiftR.tex b/graphics/circuit_macros/doc/ShiftR.tex new file mode 100644 index 0000000000..d6e49ca1bc --- /dev/null +++ b/graphics/circuit_macros/doc/ShiftR.tex @@ -0,0 +1,285 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp + {\sf +\dpicdraw (0.15,-0.45) rectangle (0.65,0.45)\dpicstop +\draw (0.15,0.3) node[right=-3bp]{{\scriptsize S}}; +\dpicdraw (0.15,0.3) + --(0,0.3)\dpicstop +\dpicdraw (0.15,-0.0375) + --(0.214952,0) + --(0.15,0.0375)\dpicstop +\draw (0.214952,0) node[right=-3bp]{{\scriptsize CK}}; +\dpicdraw (0.1125,0) circle (0.014764in)\dpicstop +\dpicdraw (0.075,0) + --(0,0)\dpicstop +\draw (0.15,-0.3) node[right=-3bp]{{\scriptsize R}}; +\dpicdraw (0.15,-0.3) + --(0,-0.3)\dpicstop +\draw (0.4,0.45) node[below=-3bp]{{\scriptsize PR}}; +\dpicdraw (0.4,0.4875) circle (0.014764in)\dpicstop +\dpicdraw (0.4,0.525) + --(0.4,0.6)\dpicstop +\draw (0.65,0.3) node[left=-3bp]{{\scriptsize Q}}; +\dpicdraw (0.65,0.3) + --(0.8,0.3)\dpicstop +\draw (0.65,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; +\dpicdraw (0.65,-0.3) + --(0.8,-0.3)\dpicstop +\draw (0.4,-0.45) node[above=-3bp]{{\scriptsize CLR}}; +\dpicdraw (0.4,-0.4875) circle (0.014764in)\dpicstop +\dpicdraw (0.4,-0.525) + --(0.4,-0.6)\dpicstop +\dpicdraw (0,0.3) + --(-0.175,0.2) + --(-0.175,0.4) + --(0,0.3)\dpicstop +\dpicdraw (-0.2125,0.3) circle (0.014764in)\dpicstop +\dpicdraw (-0.25,0.3) + --(-0.35,0.3)\dpicstop +\dpicdraw[fill=black](-0.35,0.3) circle (0.007874in)\dpicstop +\dpicdraw (-0.483333,0.3) + --(-0.658333,0.2) + --(-0.658333,0.4) + --(-0.483333,0.3)\dpicstop +\dpicdraw (-0.445833,0.3) circle (0.014764in)\dpicstop +\dpicdraw (-0.85,0.3) + --(-0.658333,0.3)\dpicstop +\dpicdraw (-0.408333,0.3) + --(-0.35,0.3)\dpicstop +\draw (-0.85,0.3) node(Serial)[left=-3bp]{\scriptsize\shortstack[r]{SERIAL\\ INPUT}}; +\dpicdraw (-0.35,0.3) + --(-0.35,-0.3) + --(0,-0.3)\dpicstop +\dpicdraw (-0.483333,-0.6) + --(-0.658333,-0.7) + --(-0.658333,-0.5) + --(-0.483333,-0.6)\dpicstop +\dpicdraw (-0.695833,-0.6) circle (0.014764in)\dpicstop +\dpicdraw (-0.445833,-0.6) circle (0.014764in)\dpicstop +\dpicdraw (-0.85,-0.6) + --(-0.733333,-0.6)\dpicstop +\dpicdraw (-0.408333,-0.6) + --(-0.35,-0.6)\dpicstop +\draw (-0.85,-0.6) node[left=-3bp]{$\overline{\hbox{\scriptsize CLEAR}}$}; +\dpicdraw (-0.483333,-0.9) + --(-0.658333,-1) + --(-0.658333,-0.8) + --(-0.483333,-0.9)\dpicstop +\dpicdraw (-0.445833,-0.9) circle (0.014764in)\dpicstop +\dpicdraw (-0.85,-0.9) + --(-0.658333,-0.9)\dpicstop +\dpicdraw (-0.408333,-0.9) + --(-0.35,-0.9)\dpicstop +\draw (-0.85,-0.9) node[left=-3bp]{\scriptsize CLOCK}; +\dpicdraw (0.95,-0.45) rectangle (1.45,0.45)\dpicstop +\draw (0.95,0.3) node[right=-3bp]{{\scriptsize S}}; +\dpicdraw (0.95,0.3) + --(0.8,0.3)\dpicstop +\dpicdraw (0.95,-0.0375) + --(1.014952,0) + --(0.95,0.0375)\dpicstop +\draw (1.014952,0) node[right=-3bp]{{\scriptsize CK}}; +\dpicdraw (0.9125,0) circle (0.014764in)\dpicstop +\dpicdraw (0.875,0) + --(0.8,0)\dpicstop +\draw (0.95,-0.3) node[right=-3bp]{{\scriptsize R}}; +\dpicdraw (0.95,-0.3) + --(0.8,-0.3)\dpicstop +\draw (1.2,0.45) node[below=-3bp]{{\scriptsize PR}}; +\dpicdraw (1.2,0.4875) circle (0.014764in)\dpicstop +\dpicdraw (1.2,0.525) + --(1.2,0.6)\dpicstop +\draw (1.45,0.3) node[left=-3bp]{{\scriptsize Q}}; +\dpicdraw (1.45,0.3) + --(1.6,0.3)\dpicstop +\draw (1.45,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; +\dpicdraw (1.45,-0.3) + --(1.6,-0.3)\dpicstop +\draw (1.2,-0.45) node[above=-3bp]{{\scriptsize CLR}}; +\dpicdraw (1.2,-0.4875) circle (0.014764in)\dpicstop +\dpicdraw (1.2,-0.525) + --(1.2,-0.6)\dpicstop +\dpicdraw (1.75,-0.45) rectangle (2.25,0.45)\dpicstop +\draw (1.75,0.3) node[right=-3bp]{{\scriptsize S}}; +\dpicdraw (1.75,0.3) + --(1.6,0.3)\dpicstop +\dpicdraw (1.75,-0.0375) + --(1.814952,0) + --(1.75,0.0375)\dpicstop +\draw (1.814952,0) node[right=-3bp]{{\scriptsize CK}}; +\dpicdraw (1.7125,0) circle (0.014764in)\dpicstop +\dpicdraw (1.675,0) + --(1.6,0)\dpicstop +\draw (1.75,-0.3) node[right=-3bp]{{\scriptsize R}}; +\dpicdraw (1.75,-0.3) + --(1.6,-0.3)\dpicstop +\draw (2,0.45) node[below=-3bp]{{\scriptsize PR}}; +\dpicdraw (2,0.4875) circle (0.014764in)\dpicstop +\dpicdraw (2,0.525) + --(2,0.6)\dpicstop +\draw (2.25,0.3) node[left=-3bp]{{\scriptsize Q}}; +\dpicdraw (2.25,0.3) + --(2.4,0.3)\dpicstop +\draw (2.25,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; +\dpicdraw (2.25,-0.3) + --(2.4,-0.3)\dpicstop +\draw (2,-0.45) node[above=-3bp]{{\scriptsize CLR}}; +\dpicdraw (2,-0.4875) circle (0.014764in)\dpicstop +\dpicdraw (2,-0.525) + --(2,-0.6)\dpicstop +\dpicdraw (2.55,-0.45) rectangle (3.05,0.45)\dpicstop +\draw (2.55,0.3) node[right=-3bp]{{\scriptsize S}}; +\dpicdraw (2.55,0.3) + --(2.4,0.3)\dpicstop +\dpicdraw (2.55,-0.0375) + --(2.614952,0) + --(2.55,0.0375)\dpicstop +\draw (2.614952,0) node[right=-3bp]{{\scriptsize CK}}; +\dpicdraw (2.5125,0) circle (0.014764in)\dpicstop +\dpicdraw (2.475,0) + --(2.4,0)\dpicstop +\draw (2.55,-0.3) node[right=-3bp]{{\scriptsize R}}; +\dpicdraw (2.55,-0.3) + --(2.4,-0.3)\dpicstop +\draw (2.8,0.45) node[below=-3bp]{{\scriptsize PR}}; +\dpicdraw (2.8,0.4875) circle (0.014764in)\dpicstop +\dpicdraw (2.8,0.525) + --(2.8,0.6)\dpicstop +\draw (3.05,0.3) node[left=-3bp]{{\scriptsize Q}}; +\dpicdraw (3.05,0.3) + --(3.2,0.3)\dpicstop +\draw (3.05,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; +\dpicdraw (3.05,-0.3) + --(3.2,-0.3)\dpicstop +\draw (2.8,-0.45) node[above=-3bp]{{\scriptsize CLR}}; +\dpicdraw (2.8,-0.4875) circle (0.014764in)\dpicstop +\dpicdraw (2.8,-0.525) + --(2.8,-0.6)\dpicstop +\dpicdraw (3.35,-0.45) rectangle (3.85,0.45)\dpicstop +\draw (3.35,0.3) node[right=-3bp]{{\scriptsize S}}; +\dpicdraw (3.35,0.3) + --(3.2,0.3)\dpicstop +\dpicdraw (3.35,-0.0375) + --(3.414952,0) + --(3.35,0.0375)\dpicstop +\draw (3.414952,0) node[right=-3bp]{{\scriptsize CK}}; +\dpicdraw (3.3125,0) circle (0.014764in)\dpicstop +\dpicdraw (3.275,0) + --(3.2,0)\dpicstop +\draw (3.35,-0.3) node[right=-3bp]{{\scriptsize R}}; +\dpicdraw (3.35,-0.3) + --(3.2,-0.3)\dpicstop +\draw (3.6,0.45) node[below=-3bp]{{\scriptsize PR}}; +\dpicdraw (3.6,0.4875) circle (0.014764in)\dpicstop +\dpicdraw (3.6,0.525) + --(3.6,0.6)\dpicstop +\draw (3.85,0.3) node[left=-3bp]{{\scriptsize Q}}; +\dpicdraw (3.85,0.3) + --(4,0.3)\dpicstop +\draw (3.6,-0.45) node[above=-3bp]{{\scriptsize CLR}}; +\dpicdraw (3.6,-0.4875) circle (0.014764in)\dpicstop +\dpicdraw (3.6,-0.525) + --(3.6,-0.6)\dpicstop +\draw (4,0.3) node[right=-3bp]{\scriptsize OUTPUT}; +\dpicdraw (-0.35,-0.6) + --(3.6,-0.6)\dpicstop +\dpicdraw (0,0) + --(0,-0.9)\dpicstop +\dpicdraw[fill=black](0,-0.9) circle (0.007874in)\dpicstop +\dpicdraw (0.25,0.825) + --(0.25,1.025) + --(0.55,1.025) + --(0.55,0.825)\dpicstop +\dpicdraw (0.55,0.825) + ..controls (0.55,0.625) and (0.25,0.625) + ..(0.25,0.825)\dpicstop +\dpicdraw (0.4,0.6375) circle (0.014764in)\dpicstop +\dpicdraw (0.325,1.025) + --(0.325,1.125)\dpicstop +\dpicdraw (0.475,1.025) + --(0.475,1.325)\dpicstop +\draw (0.475,1.325) node[left=-3bp]{\scriptsize PR4}; +\dpicdraw[fill=black](0.325,1.125) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](0.4,-0.6) circle (0.007874in)\dpicstop +\dpicdraw (0.8,0) + --(0.8,-0.9)\dpicstop +\dpicdraw[fill=black](0.8,-0.9) circle (0.007874in)\dpicstop +\dpicdraw (1.05,0.825) + --(1.05,1.025) + --(1.35,1.025) + --(1.35,0.825)\dpicstop +\dpicdraw (1.35,0.825) + ..controls (1.35,0.625) and (1.05,0.625) + ..(1.05,0.825)\dpicstop +\dpicdraw (1.2,0.6375) circle (0.014764in)\dpicstop +\dpicdraw (1.125,1.025) + --(1.125,1.125)\dpicstop +\dpicdraw (1.275,1.025) + --(1.275,1.325)\dpicstop +\draw (1.275,1.325) node[left=-3bp]{\scriptsize PR3}; +\dpicdraw[fill=black](1.125,1.125) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](1.2,-0.6) circle (0.007874in)\dpicstop +\dpicdraw (1.6,0) + --(1.6,-0.9)\dpicstop +\dpicdraw[fill=black](1.6,-0.9) circle (0.007874in)\dpicstop +\dpicdraw (1.85,0.825) + --(1.85,1.025) + --(2.15,1.025) + --(2.15,0.825)\dpicstop +\dpicdraw (2.15,0.825) + ..controls (2.15,0.625) and (1.85,0.625) + ..(1.85,0.825)\dpicstop +\dpicdraw (2,0.6375) circle (0.014764in)\dpicstop +\dpicdraw (1.925,1.025) + --(1.925,1.125)\dpicstop +\dpicdraw (2.075,1.025) + --(2.075,1.325)\dpicstop +\draw (2.075,1.325) node[left=-3bp]{\scriptsize PR2}; +\dpicdraw[fill=black](1.925,1.125) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](2,-0.6) circle (0.007874in)\dpicstop +\dpicdraw (2.4,0) + --(2.4,-0.9)\dpicstop +\dpicdraw[fill=black](2.4,-0.9) circle (0.007874in)\dpicstop +\dpicdraw (2.65,0.825) + --(2.65,1.025) + --(2.95,1.025) + --(2.95,0.825)\dpicstop +\dpicdraw (2.95,0.825) + ..controls (2.95,0.625) and (2.65,0.625) + ..(2.65,0.825)\dpicstop +\dpicdraw (2.8,0.6375) circle (0.014764in)\dpicstop +\dpicdraw (2.725,1.025) + --(2.725,1.125)\dpicstop +\dpicdraw (2.875,1.025) + --(2.875,1.325)\dpicstop +\draw (2.875,1.325) node[left=-3bp]{\scriptsize PR1}; +\dpicdraw[fill=black](2.725,1.125) circle (0.007874in)\dpicstop +\dpicdraw[fill=black](2.8,-0.6) circle (0.007874in)\dpicstop +\dpicdraw (3.2,0) + --(3.2,-0.9)\dpicstop +\dpicdraw (3.2,-0.9) + --(-0.35,-0.9)\dpicstop +\dpicdraw (3.45,0.825) + --(3.45,1.025) + --(3.75,1.025) + --(3.75,0.825)\dpicstop +\dpicdraw (3.75,0.825) + ..controls (3.75,0.625) and (3.45,0.625) + ..(3.45,0.825)\dpicstop +\dpicdraw (3.6,0.6375) circle (0.014764in)\dpicstop +\dpicdraw (3.525,1.025) + --(3.525,1.125)\dpicstop +\dpicdraw (3.675,1.025) + --(3.675,1.325)\dpicstop +\draw (3.675,1.325) node[left=-3bp]{\scriptsize PR0}; +\dpicdraw (3.525,1.125) + --(-0.85,1.125)\dpicstop +\draw (-0.85,1.125) node[left=-3bp]{\scriptsize\shortstack[r]{PRESET\\ ENABLE}}; + } +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/ShiftR.m4 b/graphics/circuit_macros/doc/ShiftRMan.m4 index e7bf1f0c5c..e7bf1f0c5c 100644 --- a/graphics/circuit_macros/doc/ShiftR.m4 +++ b/graphics/circuit_macros/doc/ShiftRMan.m4 diff --git a/graphics/circuit_macros/doc/Sources.tex b/graphics/circuit_macros/doc/Sources.tex new file mode 100644 index 0000000000..55e57cbaf4 --- /dev/null +++ b/graphics/circuit_macros/doc/Sources.tex @@ -0,0 +1,466 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp + {\sf +\dpicdraw (0,0) + --(0.25,0)\dpicstop +\dpicdraw (0.375,0) circle (0.049213in)\dpicstop +\dpicdraw (0.5,0) + --(0.75,0)\dpicstop +\draw (0.777674,0) node[right=-2bp]{source}; +\dpicdraw (0,-0.275) + --(0.25,-0.275)\dpicstop +\dpicdraw (0.375,-0.275) circle (0.049213in)\dpicstop +\filldraw[line width=0bp](0.36875,-0.3) + --(0.46875,-0.275) + --(0.36875,-0.25) --cycle\dpicstop +\dpicdraw (0.28125,-0.275) + --(0.445844,-0.275)\dpicstop +\dpicdraw (0.5,-0.275) + --(0.75,-0.275)\dpicstop +\draw (0.777674,-0.275) node[right=-2bp]{source(,I)}; +\dpicdraw (0,-0.55) + --(0.25,-0.55)\dpicstop +\dpicdraw (0.375,-0.55) circle (0.049213in)\dpicstop +\dpicdraw (0.375,-0.675) + --(0.375,-0.425)\dpicstop +\dpicdraw (0.5,-0.55) + --(0.75,-0.55)\dpicstop +\draw (0.777674,-0.55) node[right=-2bp]{source(,i)}; +\dpicdraw (0,-0.825) + --(0.25,-0.825)\dpicstop +\dpicdraw (0.375,-0.825) circle (0.049213in)\dpicstop +\draw (0.3125,-0.825) node{$_-$}; +\draw (0.4375,-0.825) node{$_+$}; +\dpicdraw (0.5,-0.825) + --(0.75,-0.825)\dpicstop +\draw (0.777674,-0.825) node[right=-2bp]{source(,V)}; +\dpicdraw (0,-1.1) + --(0.25,-1.1)\dpicstop +\dpicdraw (0.375,-1.1) circle (0.049213in)\dpicstop +\dpicdraw (0.25,-1.1) + --(0.5,-1.1)\dpicstop +\dpicdraw (0.5,-1.1) + --(0.75,-1.1)\dpicstop +\draw (0.777674,-1.1) node[right=-2bp]{source(,v)}; +\dpicdraw (0,-1.375) + --(0.25,-1.375)\dpicstop +\dpicdraw (0.375,-1.375) circle (0.049213in)\dpicstop +\dpicdraw (0.25,-1.375) + ..controls (0.319036,-1.375) and (0.375,-1.319036) + ..(0.375,-1.25)\dpicstop +\dpicdraw (0.5,-1.375) + --(0.75,-1.375)\dpicstop +\draw (0.777674,-1.375) node[right=-2bp]{source(,SC)}; +\dpicdraw (0,-1.65) + --(0.25,-1.65)\dpicstop +\dpicdraw (0.375,-1.65) circle (0.049213in)\dpicstop +\dpicdraw (0.375,-1.65) + ..controls (0.375,-1.626988) and (0.356345,-1.608333) + ..(0.333333,-1.608333) + ..controls (0.310321,-1.608333) and (0.291667,-1.626988) + ..(0.291667,-1.65)\dpicstop +\dpicdraw (0.375,-1.65) + ..controls (0.375,-1.673012) and (0.393655,-1.691667) + ..(0.416667,-1.691667) + ..controls (0.439679,-1.691667) and (0.458333,-1.673012) + ..(0.458333,-1.65)\dpicstop +\dpicdraw (0.583333,-1.65) + --(0.833333,-1.65)\dpicstop +\draw (0.777674,-1.65) node[right=-2bp]{source(,AC)}; +\dpicdraw (0,-1.925) + --(0.25,-1.925)\dpicstop +\dpicdraw (0.375,-1.925) circle (0.049213in)\dpicstop +\dpicdraw (0.286612,-1.836612) + --(0.463388,-2.013388)\dpicstop +\dpicdraw (0.286612,-2.013388) + --(0.463388,-1.836612)\dpicstop +\dpicdraw (0.5,-1.925) + --(0.75,-1.925)\dpicstop +\draw (0.777674,-1.925) node[right=-2bp]{source(,X)}; +\dpicdraw (0,-2.2) + --(0.25,-2.2)\dpicstop +\dpicdraw (0.375,-2.2) circle (0.049213in)\dpicstop +\dpicdraw (0.25,-2.2) + --(0.3125,-2.2)\dpicstop +\dpicdraw (0.3125,-2.2625) + --(0.3125,-2.1375)\dpicstop +\dpicdraw (0.4375,-2.2625) + --(0.4375,-2.1375)\dpicstop +\dpicdraw (0.5,-2.2) + --(0.4375,-2.2)\dpicstop +\dpicdraw (0.5,-2.2) + --(0.75,-2.2)\dpicstop +\draw (0.777674,-2.2) node[right=-2bp]{source(,F)}; +\dpicdraw (0,-2.475) + --(0.1875,-2.475)\dpicstop +\dpicdraw (0.3125,-2.475) circle (0.049213in)\dpicstop +\dpicdraw (0.4375,-2.475) circle (0.049213in)\dpicstop +\dpicdraw (0.5625,-2.475) + --(0.75,-2.475)\dpicstop +\draw (0.777674,-2.475) node[right=-2bp]{source(,G)}; +\dpicdraw (0,-2.75) + --(0.1875,-2.75)\dpicstop +\dpicdraw (0.3125,-2.75) circle (0.049213in)\dpicstop +\dpicdraw (0.375,-2.858253) + ..controls (0.458333,-2.906366) and (0.5625,-2.846225) + ..(0.5625,-2.75) + ..controls (0.5625,-2.653775) and (0.458333,-2.593634) + ..(0.375,-2.641747)\dpicstop +\dpicdraw (0.5625,-2.75) + --(0.75,-2.75)\dpicstop +\draw (0.777674,-2.75) node[right=-2bp]{source(,Q)}; +\dpicdraw (2,0) + --(2.175,0)\dpicstop +\dpicdraw (2.375,0) circle (0.07874in)\dpicstop +\dpicdraw (2.575,0) + --(2.75,0)\dpicstop +\draw (2.777674,0) node[right=-2bp]{source(,{,}0.4)}; +\dpicdraw (2,-0.35) + --(2.25,-0.35)\dpicstop +\dpicdraw (2.375,-0.35) circle (0.049213in)\dpicstop +\dpicdraw (2.3125,-0.38125) + --(2.34375,-0.38125) + --(2.34375,-0.31875) + --(2.40625,-0.31875) + --(2.40625,-0.38125) + --(2.4375,-0.38125)\dpicstop +\dpicdraw (2.5,-0.35) + --(2.75,-0.35)\dpicstop +\draw (2.777674,-0.35) node[right=-2bp]{source(,P)}; +\dpicdraw (2,-0.625) + --(2.25,-0.625)\dpicstop +\dpicdraw (2.375,-0.625) circle (0.049213in)\dpicstop +\dpicdraw (2.3125,-0.625) + --(2.3125,-0.583333) + --(2.375,-0.583333) + --(2.375,-0.666667) + --(2.4375,-0.666667) + --(2.4375,-0.625)\dpicstop +\dpicdraw (2.5,-0.625) + --(2.75,-0.625)\dpicstop +\draw (2.777674,-0.625) node[right=-2bp]{source(,U)}; +\dpicdraw (2,-0.9) + --(2.25,-0.9)\dpicstop +\dpicdraw (2.375,-0.9) circle (0.049213in)\dpicstop +\dpicdraw (2.3125,-0.941667) + --(2.375,-0.941667) + --(2.375,-0.858333) + --(2.4375,-0.858333)\dpicstop +\dpicdraw (2.5,-0.9) + --(2.75,-0.9)\dpicstop +\draw (2.777674,-0.9) node[right=-2bp]{source(,H)}; +\dpicdraw (2,-1.175) + --(2.25,-1.175)\dpicstop +\dpicdraw (2.375,-1.175) circle (0.049213in)\dpicstop +\dpicdraw (2.291667,-1.216667) + --(2.416667,-1.1125) + --(2.416667,-1.216667)\dpicstop +\dpicdraw (2.5,-1.175) + --(2.75,-1.175)\dpicstop +\draw (2.777674,-1.175) node[right=-2bp]{source(,R)}; +\dpicdraw (2,-1.45) + --(2.25,-1.45)\dpicstop +\dpicdraw (2.375,-1.45) circle (0.049213in)\dpicstop +\dpicdraw (2.291667,-1.45) + ..controls (2.29302,-1.447174) and (2.295417,-1.442207) + ..(2.297014,-1.438918) + ..controls (2.298611,-1.435629) and (2.301248,-1.430362) + ..(2.302897,-1.427166) + ..controls (2.304546,-1.423971) and (2.307453,-1.418784) + ..(2.309383,-1.415594) + ..controls (2.311313,-1.412404) and (2.314426,-1.40787) + ..(2.316328,-1.405477) + ..controls (2.31823,-1.403084) and (2.3213,-1.399943) + ..(2.323177,-1.398468) + ..controls (2.325054,-1.396994) and (2.328093,-1.395392) + ..(2.329956,-1.394895) + ..controls (2.33182,-1.394398) and (2.334847,-1.394398) + ..(2.33671,-1.394895) + ..controls (2.338574,-1.395392) and (2.341612,-1.396994) + ..(2.34349,-1.398468) + ..controls (2.345367,-1.399943) and (2.348437,-1.403084) + ..(2.350339,-1.405477) + ..controls (2.352241,-1.40787) and (2.355353,-1.412404) + ..(2.357283,-1.415594) + ..controls (2.359213,-1.418784) and (2.362369,-1.424451) + ..(2.364323,-1.428239) + ..controls (2.366277,-1.432026) and (2.369464,-1.438441) + ..(2.371432,-1.442551) + ..controls (2.373401,-1.446661) and (2.376599,-1.453339) + ..(2.378568,-1.457449) + ..controls (2.380536,-1.461559) and (2.383723,-1.467974) + ..(2.385677,-1.471761) + ..controls (2.387631,-1.475549) and (2.390787,-1.481216) + ..(2.392717,-1.484406) + ..controls (2.394647,-1.487596) and (2.397759,-1.49213) + ..(2.399661,-1.494523) + ..controls (2.401563,-1.496916) and (2.404633,-1.500057) + ..(2.40651,-1.501532) + ..controls (2.408388,-1.503006) and (2.411426,-1.504608) + ..(2.41329,-1.505105) + ..controls (2.415153,-1.505602) and (2.41818,-1.505602) + ..(2.420044,-1.505105) + ..controls (2.421907,-1.504608) and (2.424946,-1.503006) + ..(2.426823,-1.501532) + ..controls (2.4287,-1.500057) and (2.43177,-1.496916) + ..(2.433672,-1.494523) + ..controls (2.435574,-1.49213) and (2.438687,-1.487596) + ..(2.440617,-1.484406) + ..controls (2.442547,-1.481216) and (2.445454,-1.476029) + ..(2.447103,-1.472834) + ..controls (2.448752,-1.469638) and (2.451389,-1.464371) + ..(2.452986,-1.461082) + ..controls (2.454583,-1.457793) and (2.45698,-1.452826) + ..(2.458333,-1.45)\dpicstop +\dpicdraw (2.583333,-1.45) + --(2.833333,-1.45)\dpicstop +\draw (2.777674,-1.45) node[right=-2bp]{source(,S)}; +\dpicdraw (2,-1.725) + --(2.25,-1.725)\dpicstop +\dpicdraw (2.375,-1.725) circle (0.049213in)\dpicstop +\dpicdraw (2.25,-1.725) + ..controls (2.319036,-1.725) and (2.375,-1.780964) + ..(2.375,-1.85)\dpicstop +\dpicdraw (2.5,-1.725) + --(2.75,-1.725)\dpicstop +\draw (2.777674,-1.725) node[right=-2bp]{source(,SCr)}; +\dpicdraw (2,-2) + --(2.25,-2)\dpicstop +\dpicdraw (2.375,-2) circle (0.049213in)\dpicstop +\dpicdraw (2.28125,-2.03125) + --(2.34375,-1.96875) + --(2.40625,-2.03125) + --(2.46875,-1.96875)\dpicstop +\dpicdraw (2.5,-2) + --(2.75,-2)\dpicstop +\draw (2.777674,-2) node[right=-2bp]{source(,T)}; +\dpicdraw (2,-2.275) + --(2.25,-2.275)\dpicstop +\dpicdraw (2.375,-2.275) circle (0.049213in)\dpicstop +\dpicdraw (2.25,-2.275) + --(2.34375,-2.275)\dpicstop +\dpicdraw[line width=0.4bp](2.34375,-2.275) circle (0.00109in)\dpicstop +\dpicdraw (2.34375,-2.275) + --(2.348958,-2.233333) + ..controls (2.352431,-2.205556) and (2.361111,-2.191667) + ..(2.375,-2.191667) + ..controls (2.388889,-2.191667) and (2.397569,-2.205556) + ..(2.401042,-2.233333) + --(2.40625,-2.275)\dpicstop +\dpicdraw[line width=0.4bp](2.40625,-2.275) circle (0.00109in)\dpicstop +\dpicdraw (2.40625,-2.275) + --(2.5,-2.275)\dpicstop +\dpicdraw (2.5,-2.275) + --(2.75,-2.275)\dpicstop +\draw (2.777674,-2.275) node[right=-2bp]{source(,L)}; +\dpicdraw (2,-2.55) + --(2.25,-2.55)\dpicstop +\dpicdraw (2.375,-2.55) circle (0.049213in)\dpicstop +\dpicdraw (2.25,-2.55) + --(2.291667,-2.55)\dpicstop +\dpicdraw[line width=0.4bp](2.291667,-2.55) circle (0.00109in)\dpicstop +\dpicdraw (2.291667,-2.55) + ..controls (2.291667,-2.584518) and (2.319649,-2.6125) + ..(2.354167,-2.6125) + ..controls (2.388684,-2.6125) and (2.416667,-2.584518) + ..(2.416667,-2.55)\dpicstop +\dpicdraw (2.416667,-2.55) + ..controls (2.416667,-2.526988) and (2.398012,-2.508333) + ..(2.375,-2.508333) + ..controls (2.351988,-2.508333) and (2.333333,-2.526988) + ..(2.333333,-2.55)\dpicstop +\dpicdraw (2.333333,-2.55) + ..controls (2.333333,-2.584518) and (2.361316,-2.6125) + ..(2.395833,-2.6125) + ..controls (2.430351,-2.6125) and (2.458333,-2.584518) + ..(2.458333,-2.55)\dpicstop +\dpicdraw[line width=0.4bp](2.458333,-2.55) circle (0.00109in)\dpicstop +\dpicdraw (2.458333,-2.55) + --(2.5,-2.55)\dpicstop +\dpicdraw (2.5,-2.55) + --(2.75,-2.55)\dpicstop +\draw (2.777674,-2.55) node[right=-2bp]{source(,B)}; +\dpicdraw (2,-2.77) + --(2.25,-2.77)\dpicstop +\dpicdraw (2.375,-2.7075) + ..controls (2.39675,-2.7075) and (2.430875,-2.714063) + ..(2.45625,-2.723125) + ..controls (2.481625,-2.732188) and (2.5,-2.751875) + ..(2.5,-2.77) + ..controls (2.5,-2.788125) and (2.481625,-2.807813) + ..(2.45625,-2.816875) + ..controls (2.430875,-2.825938) and (2.39675,-2.8325) + ..(2.375,-2.8325) + ..controls (2.35325,-2.8325) and (2.319125,-2.825938) + ..(2.29375,-2.816875) + ..controls (2.268375,-2.807813) and (2.25,-2.788125) + ..(2.25,-2.77) + ..controls (2.25,-2.751875) and (2.268375,-2.732188) + ..(2.29375,-2.723125) + ..controls (2.319125,-2.714063) and (2.35325,-2.7075) + ..(2.375,-2.7075)\dpicstop +\dpicdraw (2.5,-2.77) + --(2.75,-2.77)\dpicstop +\draw (2.777674,-2.77) node[right=-2bp]{nullator}; +\dpicdraw (2,-2.935) + --(2.25,-2.935)\dpicstop +\dpicdraw (2.375,-2.935) + --(2.34375,-2.90375) + ..controls (2.322917,-2.882917) and (2.302083,-2.8725) + ..(2.28125,-2.8725) + ..controls (2.260417,-2.8725) and (2.25,-2.893333) + ..(2.25,-2.935) + ..controls (2.25,-2.976667) and (2.260417,-2.9975) + ..(2.28125,-2.9975) + ..controls (2.302083,-2.9975) and (2.322917,-2.987083) + ..(2.34375,-2.96625) + --(2.375,-2.935)\dpicstop +\dpicdraw (2.375,-2.935) + --(2.40625,-2.90375) + ..controls (2.427083,-2.882917) and (2.447917,-2.8725) + ..(2.46875,-2.8725) + ..controls (2.489583,-2.8725) and (2.5,-2.893333) + ..(2.5,-2.935) + ..controls (2.5,-2.976667) and (2.489583,-2.9975) + ..(2.46875,-2.9975) + ..controls (2.447917,-2.9975) and (2.427083,-2.987083) + ..(2.40625,-2.96625) + --(2.375,-2.935)\dpicstop +\dpicdraw (2.5,-2.935) + --(2.75,-2.935)\dpicstop +\draw (2.777674,-2.935) node[right=-2bp]{norator}; +\dpicdraw (4,0) + --(4.25,0)\dpicstop +\dpicdraw (4.375,0) circle (0.049213in)\dpicstop +\dpicdraw (4.25,0) + --(4.3125,0)\dpicstop +\dpicdraw (4.396376,-0.058731) + --(4.396376,0.058731)\dpicstop +\dpicdraw[line width=0.4bp](4.396376,0.058731) circle (0.00109in)\dpicstop +\dpicdraw (4.396376,0.058731) + ..controls (4.451208,0.038774) and (4.451208,-0.038774) + ..(4.396376,-0.058731)\dpicstop +\dpicdraw[line width=0.4bp](4.396376,-0.058731) circle (0.00109in)\dpicstop +\dpicdraw (4.353624,0.058731) + --(4.353624,-0.058731)\dpicstop +\dpicdraw[line width=0.4bp](4.353624,-0.058731) circle (0.00109in)\dpicstop +\dpicdraw (4.353624,-0.058731) + ..controls (4.298792,-0.038774) and (4.298792,0.038774) + ..(4.353624,0.058731)\dpicstop +\dpicdraw[line width=0.4bp](4.353624,0.058731) circle (0.00109in)\dpicstop +\dpicdraw (4.4375,0) + --(4.5,0)\dpicstop +\dpicdraw (4.5,0) + --(4.75,0)\dpicstop +\draw (4.777674,0) node[right=-2bp]{source(,N)}; +\dpicdraw (4,-0.275) + --(4.25,-0.275)\dpicstop +\dpicdraw (4.375,-0.275) circle (0.049213in)\dpicstop +\draw (4.375,-0.275) node{\rm mA}; +\dpicdraw (4.5,-0.275) + --(4.75,-0.275)\dpicstop +\draw (4.777674,-0.275) node[right=-2bp]{source(,"mA")}; +\dpicdraw (4,-0.585) + --(4.225,-0.585)\dpicstop +\dpicdraw (4.225,-0.585) + --(4.375,-0.435) + --(4.525,-0.585) + --(4.375,-0.735) + --(4.225,-0.585)\dpicstop +\dpicdraw (4.525,-0.585) + --(4.75,-0.585)\dpicstop +\draw (4.777674,-0.585) node[right=-2bp]{consource}; +\dpicdraw (4,-0.905) + --(4.225,-0.905)\dpicstop +\dpicdraw (4.225,-0.905) + --(4.375,-0.755) + --(4.525,-0.905) + --(4.375,-1.055) + --(4.225,-0.905)\dpicstop +\filldraw[line width=0bp](4.3875,-0.93) + --(4.4875,-0.905) + --(4.3875,-0.88) --cycle\dpicstop +\dpicdraw (4.2625,-0.905) + --(4.464594,-0.905)\dpicstop +\dpicdraw (4.525,-0.905) + --(4.75,-0.905)\dpicstop +\draw (4.777674,-0.905) node[right=-2bp]{consource(,I)}; +\dpicdraw (4,-1.225) + --(4.225,-1.225)\dpicstop +\dpicdraw (4.225,-1.225) + --(4.375,-1.075) + --(4.525,-1.225) + --(4.375,-1.375) + --(4.225,-1.225)\dpicstop +\dpicdraw (4.375,-1.075) + --(4.375,-1.375)\dpicstop +\dpicdraw (4.525,-1.225) + --(4.75,-1.225)\dpicstop +\draw (4.777674,-1.225) node[right=-2bp]{consource(,i)}; +\dpicdraw (4,-1.545) + --(4.25,-1.545)\dpicstop +\dpicdraw (4.375,-1.545) circle (0.049213in)\dpicstop +\dpicdraw (4.26275,-1.49) + ..controls (4.332238,-1.53) and (4.417762,-1.53) + ..(4.48725,-1.49)\dpicstop +\dpicdraw (4.5,-1.545) + --(4.75,-1.545)\dpicstop +\draw (4.777674,-1.545) node[right=-2bp]{source(,SE)}; +\dpicdraw (4,-1.82) + --(4.225,-1.82)\dpicstop +\dpicdraw (4.225,-1.82) + --(4.375,-1.67) + --(4.525,-1.82) + --(4.375,-1.97) + --(4.225,-1.82)\dpicstop +\draw (4.3,-1.82) node{$-$}; +\draw (4.45,-1.82) node{$+$}; +\dpicdraw (4.525,-1.82) + --(4.75,-1.82)\dpicstop +\draw (4.777674,-1.82) node[right=-2bp]{consource(,V)}; +\dpicdraw (4,-2.14) + --(4.225,-2.14)\dpicstop +\dpicdraw (4.225,-2.14) + --(4.375,-1.99) + --(4.525,-2.14) + --(4.375,-2.29) + --(4.225,-2.14)\dpicstop +\dpicdraw (4.225,-2.14) + --(4.525,-2.14)\dpicstop +\dpicdraw (4.525,-2.14) + --(4.75,-2.14)\dpicstop +\draw (4.777674,-2.14) node[right=-2bp]{consource(,v)}; +\dpicdraw (4,-2.44) + --(4.354167,-2.44)\dpicstop +\dpicdraw (4.354167,-2.3775) + --(4.354167,-2.5025)\dpicstop +\dpicdraw (4.395833,-2.315) + --(4.395833,-2.565)\dpicstop +\dpicdraw (4.395833,-2.44) + --(4.75,-2.44)\dpicstop +\draw (4.777674,-2.44) node[right=-2bp]{battery}; +\dpicdraw (4.75,-2.715) + --(4.479167,-2.715)\dpicstop +\dpicdraw (4.479167,-2.7775) + --(4.479167,-2.6525)\dpicstop +\dpicdraw (4.4375,-2.84) + --(4.4375,-2.59)\dpicstop +\dpicdraw (4.395833,-2.7775) + --(4.395833,-2.6525)\dpicstop +\dpicdraw (4.354167,-2.84) + --(4.354167,-2.59)\dpicstop +\dpicdraw (4.3125,-2.7775) + --(4.3125,-2.6525)\dpicstop +\dpicdraw (4.270833,-2.84) + --(4.270833,-2.59)\dpicstop +\dpicdraw (4.270833,-2.715) + --(4,-2.715)\dpicstop +\draw (4.777674,-2.715) node[right=-2bp]{battery(,3,R)}; + } +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Sources.m4 b/graphics/circuit_macros/doc/SourcesMan.m4 index a70cea1113..8a4bab9bc6 100644 --- a/graphics/circuit_macros/doc/Sources.m4 +++ b/graphics/circuit_macros/doc/SourcesMan.m4 @@ -21,7 +21,8 @@ define(`NL',`; move down $1; right_') {source(,X) ; move ; "`source(,X)'" ljust} NL {source(,F) ; move ; "`source(,F)'" ljust} NL {source(,G) ; move ; "`source(,G)'" ljust} NL - {source(,Q) ; move ; "`source(,Q)'" ljust} + {source(,Q) ; move ; "`source(,Q)'" ljust} NL(0.3) + {proximity ; move ; "`\shortstack[l]{proximity\\ = consource(,P)}'" ljust} } move right_ 2.0 { @@ -34,8 +35,8 @@ define(`NL',`; move down $1; right_') {source(,SCr) ; move ; "`source(,SCr)'" ljust} NL {source(,T) ; move ; "`source(,T)'" ljust} NL {source(,L) ; move ; "`source(,L)'" ljust} NL - {source(,B) ; move ; "`source(,B)'" ljust} NL(moveht*0.8) - {nullator ; move ; "`nullator'" ljust} NL(moveht*0.6) + {source(,B) ; move ; "`source(,B)'" ljust} NL + {nullator ; move ; "`nullator'" ljust} NL(moveht*0.8) {norator ; move ; "`norator'" ljust} } move right_ 2.0 @@ -49,7 +50,7 @@ define(`NL',`; move down $1; right_') {source(,SE) ; move ; "`source(,SE)'" ljust} NL {consource(,V) ; move ; "`consource(,V)'" ljust} NL(0.32) {consource(,v) ; move ; "`consource(,v)'" ljust} NL(0.3) - {battery ; move ; "`battery'" ljust} NL + {battery ; move ; "`battery'" ljust} NL(0.3) {battery(,3,R) ; move ; "`battery(,3,R)'" ljust} iflatex(`ifpsfrag(,`latexcommand(})')') diff --git a/graphics/circuit_macros/doc/Switches.m4 b/graphics/circuit_macros/doc/Switches.m4 deleted file mode 100644 index d8262be92d..0000000000 --- a/graphics/circuit_macros/doc/Switches.m4 +++ /dev/null @@ -1,117 +0,0 @@ -.PS -# Switches.m4 -cct_init - -movewid = 0.25 -# Row 1 - right_; { - lswitch; {S:"\tt ls{}witch" at last [].s+(0,-10bp__)} - move right_ - lswitch(,,O); {"\tt (,,O)" at (last [],S)} - move right_ - lswitch(,,C); {"\tt (,,C)" at (last [],S)} - move right_ - lswitch(,,DA); {"\tt (,,DA)" at (last [],S)} - move right_ - lswitch(,,dDO); {"\tt (,,dDO)" at (last [],S)} - move right_ - lswitch(,,uDC); {"\tt (,,uDC)" at (last [],S)} - } -# Row 2 - move down; right_; { - lswitch(,,K); {S:"\tt (,,K)" at last [].s+(0,-10bp__)} - move right_ - lswitch(,,KD); {"\tt (,,KD)" at (last [],S)} - move right_ - lswitch(,,KOD); {"\tt (,,KOD)" at (last [],S)} - move right_ - lswitch(,,KCD); {"\tt (,,KCD)" at (last [],S)} - move right_ - bswitch; {"\tt `bswitch'" at (last [],S)} - move right_ - bswitch(,,C); {"\tt (,,C)" at (last [],S)} - } -# Row 3 - move down; right_; { - D: dswitch(,,); {S: "\tt ds{}witch(,{},)" at last [].s+(0,-10bp__)} - thinlines_ - { spline <- from 0.25 along_(D) up 0.1 then up 0.05 left 0.1 - {"\tt W" rjust} - spline <- from D.c+(0,m4sc*2) up 0.1 then up 0.05 left 0.1 - {"\tt B" rjust }} - thicklines_ - move right_ - D: dswitch(,,WdBK); {"\tt (,,WdBK)" at (last [],S)+(0,-4bp__)} - thinlines_ - { spline <- from tr_xy(0,-2) up 0.1 then up 0.10 left 0.1 - {"\tt dB" rjust} - spline <- from tr_xy(4,-2) right 0.1 then right 0.05 up 0.15 - {"\tt K" above }} - thicklines_ - move right_ - dswitch(,,WBmdDK); {"\tt (,,WBmdDK)" at (last [],S)} - move right_ - dswitch(,,WBKTr); {"\tt (,,WBKTr)" at (last [],S)} - move right_ - dswitch(,,WdBL); {"\tt (,,WdBL)" at (last [],S+(0,-4bp__))} - move right_ - dswitch(,,WBCo); {"\tt (,,WBCo)" at (last [],S)} - } -# Row 4 - move down; right_; { - dswitch(,,WBKCo); {S: "\tt (,,WBKCo)" at last [].s+(0,-10bp__)} - move right_ - dswitch(,,WBCb); {"\tt (,,WBCb)" at (last [],S)} - move right_ - dswitch(,,WBDI); {"\tt (,,WBDI)" at (last [],S)} - move right_ - dswitch(,,WBSd); {"\tt (,,WBSd)" at (last [],S)} - move right_ - dswitch(,,WBFDI); {"\tt (,,WBFDI)" at (last [],S)} - move right_ - dswitch(,,WBFSd); {"\tt (,,WBFSd)" at (last [],S)} - } -# Row 5 - move down moveht*5/4; right_; { - dswitch(,,WBTh); {S: "\tt (,,WBTh)" at last [].s+(0,-10bp__)} - move right_ - dswitch(,,WBKC); {"\tt (,,WBKC)" at (last [],S)} - move right_ - dswitch(,,WBM); {"\tt (,,WBM)" at (last [],S)} - move right_ - dswitch(,,WBCO); {"\tt (,,WBCO)" at (last [],S)} - move right_ - dswitch(,,WBMP); {"\tt (,,WBMP)" at (last [],S)} - move right_ - dswitch(,,WBoKCP); {"\tt (,,WBoKCP)" at (last [],S)} - } -# Row 6 - move down moveht*5/4; right_; { - dswitch(,,WBCY); {S: "\tt (,,WBCY)" at last [].s+(0,-10bp__)} - move right_ - dswitch(,,WBCZ); {"\tt (,,WBCZ)" at (last [],S)} - move right_ - dswitch(,,WBCE); {"\tt (,,WBCE)" at (last [],S)} - move right_ - dswitch(,,WBRH); {"\tt (,,WBRH)" at (last [],S)} - move right_ - dswitch(,,WBRdH); {"\tt (,,WBRdH)" at (last [],S)} - move right_ - dswitch(,,WBRHH); {"\tt (,,WBRHH)" at (last [],S)} - } -# Row 7 - move down; right_; { - dswitch(,,WBMMR); {S: "\tt (,,WBMMR)" at last [].s+(0,-10bp__)} - move right_ - dswitch(,,WBMM); {"\tt (,,WBMM)" at (last [],S)} - move right_ - dswitch(,,WBMR); {"\tt (,,WBMR)" at (last [],S)} - move right_ - dswitch(,,WBEL); {"\tt (,,WBEL)" at (last [],S)} - move right_ - dswitch(,,WBLE); {"\tt (,,WBLE)" at (last [],S)} - move right_ - dswitch(,,WBoKEL); {"\tt (,,WBoKEL)" at (last [],S)} - } - -.PE diff --git a/graphics/circuit_macros/doc/Switches.tex b/graphics/circuit_macros/doc/Switches.tex new file mode 100644 index 0000000000..3f6e0b08e1 --- /dev/null +++ b/graphics/circuit_macros/doc/Switches.tex @@ -0,0 +1,596 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0.291667,0)\dpicstop +\dpicdraw (0.291667,0) + --(0.416667,0.125)\dpicstop +\dpicdraw (0.458333,0) + --(0.75,0)\dpicstop +\draw (0.375,-0.160595) node{\tt ls{}witch}; +\dpicdraw (1,0) + --(1.291667,0)\dpicstop +\dpicdraw (1.291667,0) + --(1.416667,0.125)\dpicstop +\filldraw[line width=0bp](1.362125,0.086087) + --(1.349366,0.074969) + ..controls (1.342662,0.09113) and (1.33416,0.106484) + ..(1.324019,0.120741) + ..controls (1.34186,0.114971) and (1.358938,0.107068) + ..(1.374885,0.097205) + --(1.362125,0.086087)\dpicstop +\dpicdraw (1.414768,-0.021706) + ..controls (1.405742,0.02367) and (1.383411,0.065332) + ..(1.350622,0.097972)\dpicstop +\dpicdraw (1.458333,0) + --(1.75,0)\dpicstop +\draw (1.375,-0.160595) node{\tt (,,O)}; +\dpicdraw (2,0) + --(2.291667,0)\dpicstop +\dpicdraw (2.291667,0) + --(2.416667,0.125)\dpicstop +\filldraw[line width=0bp](2.403732,0.018447) + --(2.387471,0.01371) + ..controls (2.397462,-0.000674) and (2.405825,-0.016123) + ..(2.412407,-0.032352) + ..controls (2.417126,-0.014206) and (2.419673,0.004436) + ..(2.419994,0.023183) + --(2.403732,0.018447)\dpicstop +\dpicdraw (2.407539,0.002327) + ..controls (2.399025,0.041593) and (2.380658,0.078046) + ..(2.354167,0.108253)\dpicstop +\dpicdraw (2.458333,0) + --(2.75,0)\dpicstop +\draw (2.375,-0.160595) node{\tt (,,C)}; +\dpicdraw (3,0) + --(3.291667,0)\dpicstop +\filldraw[line width=0bp](3.391447,0.074795) + --(3.416667,0.125) + --(3.366462,0.09978) --cycle\dpicstop +\dpicdraw (3.291667,0) + --(3.404174,0.112507)\dpicstop +\dpicdraw (3.458333,0) + --(3.75,0)\dpicstop +\dpicdraw[fill=white](3.291667,0) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.458333,0) circle (0.007874in)\dpicstop +\draw (3.375,-0.160595) node{\tt (,,DA)}; +\dpicdraw (4,0) + --(4.291667,0)\dpicstop +\dpicdraw (4.291667,0) + --(4.416667,0.125)\dpicstop +\filldraw[line width=0bp](4.362125,0.086087) + --(4.349366,0.074969) + ..controls (4.342662,0.09113) and (4.33416,0.106484) + ..(4.324019,0.120741) + ..controls (4.34186,0.114971) and (4.358938,0.107068) + ..(4.374885,0.097205) + --(4.362125,0.086087)\dpicstop +\dpicdraw (4.414768,-0.021706) + ..controls (4.405742,0.02367) and (4.383411,0.065332) + ..(4.350622,0.097972)\dpicstop +\dpicdraw (4.458333,0) + --(4.75,0)\dpicstop +\dpicdraw[fill=white](4.291667,0) circle (0.007874in)\dpicstop +\draw (4.375,-0.160595) node{\tt (,,dDO)}; +\dpicdraw (5,0) + --(5.291667,0)\dpicstop +\dpicdraw (5.291667,0) + --(5.416667,0.125)\dpicstop +\filldraw[line width=0bp](5.403732,0.018447) + --(5.387471,0.01371) + ..controls (5.397462,-0.000674) and (5.405825,-0.016123) + ..(5.412407,-0.032352) + ..controls (5.417126,-0.014206) and (5.419673,0.004436) + ..(5.419994,0.023183) + --(5.403732,0.018447)\dpicstop +\dpicdraw (5.407539,0.002327) + ..controls (5.399025,0.041593) and (5.380658,0.078046) + ..(5.354167,0.108253)\dpicstop +\dpicdraw (5.458333,0) + --(5.75,0)\dpicstop +\dpicdraw[fill=white](5.458333,0) circle (0.007874in)\dpicstop +\draw (5.375,-0.160595) node{\tt (,,uDC)}; +\dpicdraw (0,-0.5) + --(0.291667,-0.5)\dpicstop +\dpicdraw (0.291667,-0.5) + --(0.475789,-0.477745)\dpicstop +\dpicdraw (0.458333,-0.5) + --(0.458333,-0.48)\dpicstop +\dpicdraw (0.458333,-0.5) + --(0.75,-0.5)\dpicstop +\draw (0.375,-0.660595) node{\tt (,,K)}; +\dpicdraw (1,-0.5) + --(1.291667,-0.5)\dpicstop +\dpicdraw (1.291667,-0.5) + --(1.475789,-0.477745)\dpicstop +\dpicdraw (1.458333,-0.5) + --(1.458333,-0.48)\dpicstop +\dpicdraw (1.458333,-0.5) + --(1.75,-0.5)\dpicstop +\dpicdraw[fill=white](1.291667,-0.5) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](1.458333,-0.5) circle (0.007874in)\dpicstop +\draw (1.375,-0.660595) node{\tt (,,KD)}; +\dpicdraw (2,-0.5) + --(2.291667,-0.5)\dpicstop +\dpicdraw (2.291667,-0.5) + --(2.475789,-0.477745)\dpicstop +\dpicdraw (2.458333,-0.5) + --(2.458333,-0.48)\dpicstop +\filldraw[line width=0bp](2.362125,-0.413913) + --(2.349366,-0.425031) + ..controls (2.342662,-0.40887) and (2.33416,-0.393516) + ..(2.324019,-0.379259) + ..controls (2.34186,-0.385029) and (2.358938,-0.392932) + ..(2.374885,-0.402795) + --(2.362125,-0.413913)\dpicstop +\dpicdraw (2.414768,-0.521706) + ..controls (2.405742,-0.47633) and (2.383411,-0.434668) + ..(2.350622,-0.402028)\dpicstop +\dpicdraw (2.458333,-0.5) + --(2.75,-0.5)\dpicstop +\dpicdraw[fill=white](2.291667,-0.5) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](2.458333,-0.5) circle (0.007874in)\dpicstop +\draw (2.375,-0.660595) node{\tt (,,KOD)}; +\dpicdraw (3,-0.5) + --(3.291667,-0.5)\dpicstop +\dpicdraw (3.291667,-0.5) + --(3.475789,-0.477745)\dpicstop +\dpicdraw (3.458333,-0.5) + --(3.458333,-0.48)\dpicstop +\filldraw[line width=0bp](3.402903,-0.501361) + --(3.386185,-0.503989) + ..controls (3.394255,-0.519512) and (3.400552,-0.535895) + ..(3.404955,-0.552827) + ..controls (3.412003,-0.535452) and (3.416927,-0.517289) + ..(3.419621,-0.498733) + --(3.402903,-0.501361)\dpicstop +\dpicdraw (3.404613,-0.517813) + ..controls (3.400687,-0.471714) and (3.383125,-0.427828) + ..(3.354167,-0.391747)\dpicstop +\dpicdraw (3.458333,-0.5) + --(3.75,-0.5)\dpicstop +\dpicdraw[fill=white](3.291667,-0.5) circle (0.007874in)\dpicstop +\dpicdraw[fill=white](3.458333,-0.5) circle (0.007874in)\dpicstop +\draw (3.375,-0.660595) node{\tt (,,KCD)}; +\dpicdraw (4,-0.5) + --(4.257074,-0.5)\dpicstop +\dpicdraw (4.291667,-0.5) circle (0.013619in)\dpicstop +\dpicdraw (4.458333,-0.5) circle (0.013619in)\dpicstop +\dpicdraw (4.257074,-0.413517) + --(4.492926,-0.413517)\dpicstop +\dpicdraw (4.375,-0.413517) + --(4.375,-0.344332)\dpicstop +\dpicdraw (4.492926,-0.5) + --(4.75,-0.5)\dpicstop +\draw (4.375,-0.660595) node{\tt bswitch}; +\dpicdraw (5,-0.5) + --(5.257074,-0.5)\dpicstop +\dpicdraw (5.291667,-0.5) circle (0.013619in)\dpicstop +\dpicdraw (5.458333,-0.5) circle (0.013619in)\dpicstop +\dpicdraw (5.257074,-0.534593) + --(5.492926,-0.534593)\dpicstop +\dpicdraw (5.375,-0.534593) + --(5.375,-0.396221)\dpicstop +\dpicdraw (5.492926,-0.5) + --(5.75,-0.5)\dpicstop +\draw (5.375,-0.660595) node{\tt (,,C)}; +\dpicdraw (0,-1) + --(0.291667,-1)\dpicstop +\dpicdraw (0.458333,-1) + --(0.75,-1)\dpicstop +\dpicdraw (0.291667,-1) + --(0.479167,-0.90625)\dpicstop +\draw (0.385417,-1.140032) node{\tt ds{}witch(,{},)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](0.1675,-0.933333) + --(0.1875,-1) + --(0.2075,-0.933333) --cycle\dpicstop +\dpicdraw (0.1875,-0.980666) + --(0.1875,-0.940333) + ..controls (0.1875,-0.913444) and (0.170833,-0.891667) + ..(0.1375,-0.875) + --(0.0875,-0.85)\dpicstop +\draw (0.0875,-0.85) node[left=-2bp]{\tt W}; +\filldraw[line width=0bp](0.355,-0.891667) + --(0.375,-0.958333) + --(0.395,-0.891667) --cycle\dpicstop +\dpicdraw (0.375,-0.938999) + --(0.375,-0.898666) + ..controls (0.375,-0.871778) and (0.358333,-0.85) + ..(0.325,-0.833333) + --(0.275,-0.808333)\dpicstop +\draw (0.275,-0.808333) node[left=-2bp]{\tt B}; +\dpiclw=0.8bp +\dpicdraw (1,-1) + --(1.291667,-1)\dpicstop +\dpicdraw (1.458333,-1) + --(1.75,-1)\dpicstop +\dpicdraw (1.291667,-1) + --(1.479167,-1.09375)\dpicstop +\dpicdraw (1.458333,-1) + --(1.458333,-1.104167)\dpicstop +\draw (1.385417,-1.195588) node{\tt (,,WdBK)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](1.355,-0.975) + --(1.375,-1.041667) + --(1.395,-0.975) --cycle\dpicstop +\dpicdraw (1.375,-1.022333) + --(1.375,-0.982) + ..controls (1.375,-0.955111) and (1.358333,-0.925) + ..(1.325,-0.891667) + --(1.275,-0.841667)\dpicstop +\draw (1.275,-0.841667) node[left=-2bp]{\tt dB}; +\filldraw[line width=0bp](1.525,-1.021667) + --(1.458333,-1.041667) + --(1.525,-1.061667) --cycle\dpicstop +\dpicdraw (1.477667,-1.041667) + --(1.518,-1.041667) + ..controls (1.544889,-1.041667) and (1.566667,-1.016667) + ..(1.583333,-0.966667) + --(1.608333,-0.891667)\dpicstop +\draw (1.608333,-0.891667) node[above=-2bp]{\tt K}; +\dpiclw=0.8bp +\dpicdraw (2,-1) + --(2.291667,-1)\dpicstop +\dpicdraw (2.458333,-1) + --(2.75,-1)\dpicstop +\dpicdraw (2.291667,-1) + --(2.479167,-0.90625)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.502459,-0.894604) circle (0.010253in)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw[fill=white](2.291667,-1) circle (0.007874in)\dpicstop +\dpicdraw (2.458333,-1) + --(2.458333,-0.895833)\dpicstop +\draw (2.385417,-1.140032) node{\tt (,,WBmdDK)}; +\dpicdraw (3,-1) + --(3.291667,-1)\dpicstop +\dpicdraw (3.458333,-1) + --(3.75,-1)\dpicstop +\dpicdraw (3.291667,-1) + --(3.479167,-0.90625)\dpicstop +\dpicdraw (3.458333,-1) + --(3.458333,-0.895833)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (3.401823,-0.915625) + --(3.390104,-0.892188) + --(3.343229,-0.915625) + --(3.366667,-0.9625) + --(3.413542,-0.939063) + --(3.401823,-0.915625)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\draw (3.385417,-1.140032) node{\tt (,,WBKTr)}; +\dpicdraw (4,-1) + --(4.291667,-1)\dpicstop +\dpicdraw (4.458333,-1) + --(4.75,-1)\dpicstop +\dpicdraw (4.291667,-1) + --(4.479167,-1.09375)\dpicstop +\dpicdraw (4.35026,-1.029297) + --(4.39974,-1.10612) + --(4.420573,-1.064453)\dpicstop +\draw (4.385417,-1.195588) node{\tt (,,WdBL)}; +\dpicdraw (5,-1) + --(5.291667,-1)\dpicstop +\dpicdraw (5.458333,-1) + --(5.75,-1)\dpicstop +\dpicdraw (5.291667,-1) + --(5.479167,-0.90625)\dpicstop +\dpicdraw (5.458333,-1) + ..controls (5.458333,-0.944444) and (5.541667,-0.944444) + ..(5.541667,-1)\dpicstop +\draw (5.385417,-1.140032) node{\tt (,,WBCo)}; +\dpicdraw (0,-1.5) + --(0.291667,-1.5)\dpicstop +\dpicdraw (0.458333,-1.5) + --(0.75,-1.5)\dpicstop +\dpicdraw (0.291667,-1.5) + --(0.479167,-1.40625)\dpicstop +\dpicdraw (0.458333,-1.5) + ..controls (0.458333,-1.476988) and (0.476988,-1.458333) + ..(0.5,-1.458333) + ..controls (0.523012,-1.458333) and (0.541667,-1.476988) + ..(0.541667,-1.5)\dpicstop +\dpicdraw (0.458333,-1.5) + --(0.458333,-1.395833)\dpicstop +\draw (0.385417,-1.640032) node{\tt (,,WBKCo)}; +\dpicdraw (1,-1.5) + --(1.291667,-1.5)\dpicstop +\dpicdraw (1.458333,-1.5) + --(1.75,-1.5)\dpicstop +\dpicdraw (1.291667,-1.5) + --(1.479167,-1.40625)\dpicstop +\dpicdraw (1.416667,-1.541667) + --(1.5,-1.458333)\dpicstop +\dpicdraw (1.416667,-1.458333) + --(1.5,-1.541667)\dpicstop +\draw (1.375,-1.640032) node{\tt (,,WBCb)}; +\dpicdraw (2,-1.5) + --(2.291667,-1.5)\dpicstop +\dpicdraw (2.458333,-1.5) + --(2.75,-1.5)\dpicstop +\dpicdraw (2.291667,-1.5) + --(2.479167,-1.40625)\dpicstop +\dpicdraw (2.458333,-1.458333) + --(2.458333,-1.541667)\dpicstop +\draw (2.375,-1.640032) node{\tt (,,WBDI)}; +\dpicdraw (3,-1.5) + --(3.291667,-1.5)\dpicstop +\dpicdraw (3.458333,-1.5) + --(3.75,-1.5)\dpicstop +\dpicdraw (3.291667,-1.5) + --(3.479167,-1.40625)\dpicstop +\dpicdraw[fill=white](3.458333,-1.5) circle (0.012303in)\dpicstop +\dpicdraw (3.489583,-1.458333) + --(3.489583,-1.541667)\dpicstop +\draw (3.375,-1.640032) node{\tt (,,WBSd)}; +\dpicdraw (4,-1.5) + --(4.291667,-1.5)\dpicstop +\dpicdraw (4.458333,-1.5) + --(4.75,-1.5)\dpicstop +\dpicdraw (4.291667,-1.5) + --(4.479167,-1.40625)\dpicstop +\dpicdraw (4.458333,-1.458333) + --(4.458333,-1.541667)\dpicstop +\dpicdraw (4.315104,-1.488281) + --(4.304688,-1.467448) + --(4.398438,-1.420573) + --(4.419271,-1.46224) + --(4.325521,-1.509115) + --(4.315104,-1.488281)\dpicstop +\draw (4.375,-1.640032) node{\tt (,,WBFDI)}; +\dpicdraw (5,-1.5) + --(5.291667,-1.5)\dpicstop +\dpicdraw (5.458333,-1.5) + --(5.75,-1.5)\dpicstop +\dpicdraw (5.291667,-1.5) + --(5.479167,-1.40625)\dpicstop +\dpicdraw (5.315104,-1.488281) + --(5.304688,-1.467448) + --(5.398438,-1.420573) + --(5.419271,-1.46224) + --(5.325521,-1.509115) + --(5.315104,-1.488281)\dpicstop +\dpicdraw[fill=white](5.458333,-1.5) circle (0.012303in)\dpicstop +\dpicdraw (5.489583,-1.458333) + --(5.489583,-1.541667)\dpicstop +\draw (5.375,-1.640032) node{\tt (,,WBFSd)}; +\dpicdraw (0,-2.125) + --(0.291667,-2.125)\dpicstop +\dpicdraw (0.458333,-2.125) + --(0.75,-2.125)\dpicstop +\dpicdraw (0.291667,-2.125) + --(0.479167,-2.03125)\dpicstop +\dpicdraw (0.385417,-2.078125) + --(0.385417,-1.984375) + --(0.447917,-1.984375) + --(0.447917,-1.921875) + --(0.385417,-1.921875) + --(0.385417,-1.828125)\dpicstop +\draw (0.380208,-2.26398) node{\tt (,,WBTh)}; +\dpicdraw (1,-2.125) + --(1.291667,-2.125)\dpicstop +\dpicdraw (1.458333,-2.125) + --(1.75,-2.125)\dpicstop +\dpicdraw (1.291667,-2.125) + --(1.479167,-2.03125)\dpicstop +\dpicdraw (1.458333,-2.125) + --(1.458333,-2.020833)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](1.385417,-2.078125) + --(1.385417,-1.828125)\dpicstop +\draw (1.380208,-2.26398) node{\tt (,,WBKC)}; +\dpicdraw (2,-2.125) + --(2.291667,-2.125)\dpicstop +\dpicdraw (2.458333,-2.125) + --(2.75,-2.125)\dpicstop +\dpicdraw (2.291667,-2.125) + --(2.479167,-2.03125)\dpicstop +\dpicdraw[dash pattern=on 0.03125in off 0.03125in](2.385417,-2.078125) + --(2.385417,-1.984375)\dpicstop +\dpicdraw (2.385417,-1.984375) + --(2.322917,-1.953125) + --(2.385417,-1.921875)\dpicstop +\dpicdraw[dash pattern=on 0.03125in off 0.03125in](2.385417,-1.921875) + --(2.385417,-1.828125)\dpicstop +\draw (2.380208,-2.26398) node{\tt (,,WBM)}; +\dpicdraw (3,-2.125) + --(3.291667,-2.125)\dpicstop +\dpicdraw (3.458333,-2.125) + --(3.75,-2.125)\dpicstop +\dpicdraw (3.291667,-2.125) + --(3.479167,-2.03125)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](3.385417,-2.078125) + --(3.385417,-1.828125)\dpicstop +\dpicdraw (3.333333,-1.828125) + --(3.4375,-1.828125)\dpicstop +\draw (3.380208,-2.26398) node{\tt (,,WBCO)}; +\dpicdraw (4,-2.125) + --(4.291667,-2.125)\dpicstop +\dpicdraw (4.458333,-2.125) + --(4.75,-2.125)\dpicstop +\dpicdraw (4.291667,-2.125) + --(4.479167,-2.03125)\dpicstop +\dpicdraw[dash pattern=on 0.03125in off 0.03125in](4.385417,-2.078125) + --(4.385417,-1.984375)\dpicstop +\dpicdraw (4.385417,-1.984375) + --(4.322917,-1.953125) + --(4.385417,-1.921875)\dpicstop +\dpicdraw[dash pattern=on 0.03125in off 0.03125in](4.385417,-1.921875) + --(4.385417,-1.828125)\dpicstop +\dpicdraw (4.333333,-1.880208) + --(4.333333,-1.828125) + --(4.4375,-1.828125) + --(4.4375,-1.880208)\dpicstop +\draw (4.380208,-2.26398) node{\tt (,,WBMP)}; +\dpicdraw (5,-2.125) + --(5.291667,-2.125)\dpicstop +\dpicdraw (5.458333,-2.125) + --(5.75,-2.125)\dpicstop +\dpicdraw (5.291667,-2.125) + --(5.458333,-1.968634)\dpicstop +\dpicdraw (5.458333,-2.125) + --(5.458333,-2.020833)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](5.375,-2.046817) + --(5.375,-1.796817)\dpicstop +\dpicdraw (5.322917,-1.8489) + --(5.322917,-1.796817) + --(5.427083,-1.796817) + --(5.427083,-1.8489)\dpicstop +\draw (5.375,-2.26398) node{\tt (,,WBoKCP)}; +\dpicdraw (0,-2.75) + --(0.291667,-2.75)\dpicstop +\dpicdraw (0.458333,-2.75) + --(0.75,-2.75)\dpicstop +\dpicdraw (0.291667,-2.75) + --(0.479167,-2.65625)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](0.385417,-2.703125) + --(0.385417,-2.453125)\dpicstop +\dpicdraw (0.333333,-2.401042) + --(0.333333,-2.453125) + --(0.4375,-2.453125) + --(0.4375,-2.401042)\dpicstop +\draw (0.380208,-2.88898) node{\tt (,,WBCY)}; +\dpicdraw (1,-2.75) + --(1.291667,-2.75)\dpicstop +\dpicdraw (1.458333,-2.75) + --(1.75,-2.75)\dpicstop +\dpicdraw (1.291667,-2.75) + --(1.479167,-2.65625)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](1.385417,-2.703125) + --(1.385417,-2.453125)\dpicstop +\dpicdraw (1.333333,-2.505208) + --(1.333333,-2.453125) + --(1.4375,-2.453125) + --(1.4375,-2.401042)\dpicstop +\draw (1.380208,-2.88898) node{\tt (,,WBCZ)}; +\dpicdraw (2,-2.75) + --(2.291667,-2.75)\dpicstop +\dpicdraw (2.458333,-2.75) + --(2.75,-2.75)\dpicstop +\dpicdraw (2.291667,-2.75) + --(2.479167,-2.65625)\dpicstop +\dpicdraw[dash pattern=on 0.05in off 0.05in](2.385417,-2.703125) + --(2.385417,-2.453125)\dpicstop +\dpicdraw (2.333333,-2.453125) + --(2.4375,-2.453125)\dpicstop +\dpicdraw (2.4375,-2.453125) + ..controls (2.413909,-2.413806) and (2.356925,-2.413806) + ..(2.333333,-2.453125)\dpicstop +\draw (2.380208,-2.88898) node{\tt (,,WBCE)}; +\dpicdraw (3,-2.75) + --(3.291667,-2.75)\dpicstop +\dpicdraw (3.458333,-2.75) + --(3.75,-2.75)\dpicstop +\dpicdraw (3.291667,-2.75) + --(3.479167,-2.65625)\dpicstop +\dpicdraw (3.369792,-2.710938) + --(3.369792,-2.460938)\dpicstop +\dpicdraw (3.401042,-2.695313) + --(3.401042,-2.463355)\dpicstop +\dpicdraw (3.447917,-2.430896) + ..controls (3.415391,-2.469927) and (3.355443,-2.469927) + ..(3.322917,-2.430896)\dpicstop +\draw (3.380208,-2.88898) node{\tt (,,WBRH)}; +\dpicdraw (4,-2.75) + --(4.291667,-2.75)\dpicstop +\dpicdraw (4.458333,-2.75) + --(4.75,-2.75)\dpicstop +\dpicdraw (4.291667,-2.75) + --(4.479167,-2.65625)\dpicstop +\dpicdraw (4.369792,-2.710938) + --(4.369792,-2.460938)\dpicstop +\dpicdraw (4.401042,-2.695313) + --(4.401042,-2.463355)\dpicstop +\dpicdraw (4.447917,-2.493396) + ..controls (4.415391,-2.454365) and (4.355443,-2.454365) + ..(4.322917,-2.493396)\dpicstop +\draw (4.380208,-2.88898) node{\tt (,,WBRdH)}; +\dpicdraw (5,-2.75) + --(5.291667,-2.75)\dpicstop +\dpicdraw (5.458333,-2.75) + --(5.75,-2.75)\dpicstop +\dpicdraw (5.291667,-2.75) + --(5.479167,-2.65625)\dpicstop +\dpicdraw (5.369792,-2.710938) + --(5.369792,-2.460938)\dpicstop +\dpicdraw (5.401042,-2.695313) + --(5.401042,-2.463355)\dpicstop +\dpicdraw (5.447917,-2.430896) + ..controls (5.415391,-2.469927) and (5.355443,-2.469927) + ..(5.322917,-2.430896)\dpicstop +\dpicdraw (5.447917,-2.493396) + ..controls (5.415391,-2.454365) and (5.355443,-2.454365) + ..(5.322917,-2.493396)\dpicstop +\draw (5.380208,-2.88898) node{\tt (,,WBRHH)}; +\dpicdraw (0,-3.25) + --(0.291667,-3.25)\dpicstop +\dpicdraw (0.458333,-3.25) + --(0.75,-3.25)\dpicstop +\dpicdraw (0.291667,-3.25) + --(0.479167,-3.15625)\dpicstop +\dpicdraw (0.5,-3.225833) + --(0.458333,-3.25) + --(0.5,-3.274167)\dpicstop +\draw (0.385417,-3.390032) node(S){\tt (,,WBMMR)}; +\dpicdraw (1,-3.25) + --(1.291667,-3.25)\dpicstop +\dpicdraw (1.458333,-3.25) + --(1.75,-3.25)\dpicstop +\dpicdraw (1.291667,-3.25) + --(1.479167,-3.15625)\dpicstop +\dpicdraw (1.479167,-3.25) + --(1.458333,-3.25) + --(1.5,-3.225833)\dpicstop +\draw (1.385417,-3.390032) node{\tt (,,WBMM)}; +\dpicdraw (2,-3.25) + --(2.291667,-3.25)\dpicstop +\dpicdraw (2.458333,-3.25) + --(2.75,-3.25)\dpicstop +\dpicdraw (2.291667,-3.25) + --(2.479167,-3.15625)\dpicstop +\dpicdraw (2.479167,-3.25) + --(2.458333,-3.25) + --(2.5,-3.274167)\dpicstop +\draw (2.385417,-3.390032) node{\tt (,,WBMR)}; +\dpicdraw (3,-3.25) + --(3.291667,-3.25)\dpicstop +\dpicdraw (3.458333,-3.25) + --(3.75,-3.25)\dpicstop +\dpicdraw (3.291667,-3.25) + --(3.479167,-3.15625)\dpicstop +\dpicdraw (3.477292,-3.157188) + --(3.479167,-3.15625) + --(3.502459,-3.202835)\dpicstop +\draw (3.385417,-3.390032) node{\tt (,,WBEL)}; +\dpicdraw (4,-3.25) + --(4.291667,-3.25)\dpicstop +\dpicdraw (4.458333,-3.25) + --(4.75,-3.25)\dpicstop +\dpicdraw (4.291667,-3.25) + --(4.479167,-3.15625)\dpicstop +\dpicdraw (4.477292,-3.157188) + --(4.479167,-3.15625) + --(4.455874,-3.109665)\dpicstop +\draw (4.385417,-3.390032) node{\tt (,,WBLE)}; +\dpicdraw (5,-3.25) + --(5.291667,-3.25)\dpicstop +\dpicdraw (5.458333,-3.25) + --(5.75,-3.25)\dpicstop +\dpicdraw (5.291667,-3.25) + --(5.458333,-3.093634)\dpicstop +\dpicdraw (5.456667,-3.095198) + --(5.458333,-3.093634) + --(5.493969,-3.131618)\dpicstop +\dpicdraw (5.458333,-3.25) + --(5.458333,-3.145833)\dpicstop +\draw (5.375,-3.390032) node{\tt (,,WBoKEL)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/SwitchesMan.m4 b/graphics/circuit_macros/doc/SwitchesMan.m4 new file mode 100644 index 0000000000..46b3f9240d --- /dev/null +++ b/graphics/circuit_macros/doc/SwitchesMan.m4 @@ -0,0 +1,131 @@ +.PS +# Switches.m4 +cct_init + +define(`Below',`at last [].s+(0,-10bp__)') + +movewid = 0.25 +# Row 1 + right_; { + lswitch; {S:"\tt ls{}witch" Below} + move right_ + lswitch(,,O); {"\tt (,{,}O)" at (last [],S)} + move right_ + lswitch(,,C); {"\tt (,{,}C)" at (last [],S)} + move right_ + lswitch(,,DA); {"\tt (,{,}DA)" at (last [],S)} + move right_ + lswitch(,,dDO); {"\tt (,{,}dDO)" at (last [],S)} + move right_ + lswitch(,,uDC); {"\tt (,{,}uDC)" at (last [],S)} + } +# Row 2 + move down; right_; { + lswitch(,,K); {S:"\tt (,{,}K)" Below} + move right_ + lswitch(,,KD); {"\tt (,{,}KD)" at (last [],S)} + move right_ + lswitch(,,KOD); {"\tt (,{,}KOD)" at (last [],S)} + move right_ + lswitch(,,KCD); {"\tt (,{,}KCD)" at (last [],S)} + move right_ + bswitch; {"\tt `bswitch'" at (last [],S)} + move right_ + bswitch(,,C); {"\tt (,{,}C)" at (last [],S)} + } +# Row 3 + move down; right_; { + D: dswitch(,,); {S: "\tt ds{}witch(,{},)" Below} + thinlines_ + { spline <- from 0.25 along_(D) up 0.1 then up 0.05 left 0.1 + {"\tt W" rjust} + spline <- from D.c+(0,m4sc*2) up 0.1 then up 0.05 left 0.1 + {"\tt B" rjust }} + thicklines_ + move right_ + D: dswitch(,,WdBK); {"\tt (,{,}WdBK)" at (last [],S)+(0,-4bp__)} + thinlines_ + { spline <- from tr_xy(0,-2) up 0.1 then up 0.10 left 0.1 + {"\tt dB" rjust} + spline <- from tr_xy(4,-2) right 0.1 then right 0.05 up 0.15 + {"\tt K" above }} + thicklines_ + move right_ + dswitch(,,WBmdDK); {"\tt (,{,}WBmdDK)" at (last [],S)} + move right_ + dswitch(,,WBKTr); {"\tt (,{,}WBKTr)" at (last [],S)} + move right_ + dswitch(,,WdBL); {"\tt (,{,}WdBL)" at (last [],S+(0,-4bp__))} + move right_ + dswitch(,,WBCo); {"\tt (,{,}WBCo)" at (last [],S)} + } +# Row 4 + move down; right_; { + dswitch(,,WBKCo); {S: "\tt (,{,}WBKCo)" Below} + move right_ + dswitch(,,WBCb); {"\tt (,{,}WBCb)" at (last [],S)} + move right_ + dswitch(,,WBDI); {"\tt (,{,}WBDI)" at (last [],S)} + move right_ + dswitch(,,WBSd); {"\tt (,{,}WBSd)" at (last [],S)} + move right_ + dswitch(,,WBFDI); {"\tt (,{,}WBFDI)" at (last [],S)} + move right_ + dswitch(,,WBFSd); {"\tt (,{,}WBFSd)" at (last [],S)} + } +# Row 5 + move down moveht*5/4; right_; { + dswitch(,,WBTh); {S: "\tt (,{,}WBTh)" Below} + move right_ + dswitch(,,WBKC); {"\tt (,{,}WBKC)" at (last [],S)} + move right_ + dswitch(,,WBM); {"\tt (,{,}WBM)" at (last [],S)} + move right_ + dswitch(,,WBCO); {"\tt (,{,}WBCO)" at (last [],S)} + move right_ + dswitch(,,WBMP); {"\tt (,{,}WBMP)" at (last [],S)} + move right_ + dswitch(,,WBoKCP); {"\tt (,{,}WBoKCP)" at (last [],S)} + } +# Row 6 + move down moveht*5/4; right_; { + dswitch(,,WBCY); {S: "\tt (,{,}WBCY)" Below} + move right_ + dswitch(,,WBCZ); {"\tt (,{,}WBCZ)" at (last [],S)} + move right_ + dswitch(,,WBCE); {"\tt (,{,}WBCE)" at (last [],S)} + move right_ + dswitch(,,WBRH); {"\tt (,{,}WBRH)" at (last [],S)} + move right_ + dswitch(,,WBRdH); {"\tt (,{,}WBRdH)" at (last [],S)} + move right_ + dswitch(,,WBRHH); {"\tt (,{,}WBRHH)" at (last [],S)} + } +# Row 7 + move down moveht; right_; { + move down_ 2bp__; right_ + dswitch(,,WBPr); {S: "\tt (,{,}WBPr)" Below} + move right_ + dswitch(,,WBPrT); {S: "\tt (,{,}WBPrT)" Below} +# move right_ +# Proxim; {S: "\tt Pro{}xim" Below} +# move right_ +# Magn; {S: "\tt Mag{}n" Below} + move down_ 6bp__ then right_ + dswitch(,,WBPrM); {S: "\tt (,{,}WBPrM)" Below} + } +# Row 8 + move down; right_; { + dswitch(,,WBMMR); {S: "\tt (,{,}WBMMR)" Below} + move right_ + dswitch(,,WBMM); {"\tt (,{,}WBMM)" at (last [],S)} + move right_ + dswitch(,,WBMR); {"\tt (,{,}WBMR)" at (last [],S)} + move right_ + dswitch(,,WBEL); {"\tt (,{,}WBEL)" at (last [],S)} + move right_ + dswitch(,,WBLE); {"\tt (,{,}WBLE)" at (last [],S)} + move right_ + dswitch(,,WBoKEL); {"\tt (,{,}WBoKEL)" at (last [],S)} + } +.PE diff --git a/graphics/circuit_macros/doc/Tgate.tex b/graphics/circuit_macros/doc/Tgate.tex new file mode 100644 index 0000000000..3dfb1c06b9 --- /dev/null +++ b/graphics/circuit_macros/doc/Tgate.tex @@ -0,0 +1,117 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.927778,0.231958) + --(1.230609,0.231958)\dpicstop +\dpicdraw (1.230609,0.231958) + --(1.230609,0.273624) + --(1.297243,0.231958) + --(1.230609,0.190291) + --(1.230609,0.231958)\dpicstop +\dpicdraw (1.374947,0.231958) + --(1.374947,0.273624) + --(1.308313,0.231958) + --(1.374947,0.190291) + --(1.374947,0.231958)\dpicstop +\dpicdraw (1.374947,0.231958) + --(1.677778,0.231958)\dpicstop +\dpicdraw[line width=0.4bp](1.302778,0.256014) circle (0.007103in)\dpicstop +\dpicdraw (1.302778,0.274056) + --(1.302778,0.340211)\dpicstop +\dpicdraw (1.302778,0.231958) + --(1.302778,0.159789)\dpicstop +\draw (0.927778,0.231958) node[left=-2bp]{$A$}; +\draw (1.677778,0.231958) node[right=-2bp]{$B$}; +\draw (1.302778,0.159789) node[below right=-2bp]{$G$}; +\draw (1.302778,0.340211) node[above right=-2bp]{$Gb$}; +\draw (0.677778,0.231958) node[left=-2bp]{\tt tgate}; +\dpicdraw (0.927778,-0.231958) + --(1.230609,-0.231958)\dpicstop +\dpicdraw (1.230609,-0.231958) + --(1.230609,-0.190291) + --(1.297243,-0.231958) + --(1.230609,-0.273624) + --(1.230609,-0.231958)\dpicstop +\dpicdraw (1.374947,-0.231958) + --(1.374947,-0.190291) + --(1.308313,-0.231958) + --(1.374947,-0.273624) + --(1.374947,-0.231958)\dpicstop +\dpicdraw (1.374947,-0.231958) + --(1.677778,-0.231958)\dpicstop +\dpicdraw[line width=0.4bp](1.302778,-0.256014) circle (0.007103in)\dpicstop +\dpicdraw (1.302778,-0.274056) + --(1.302778,-0.340211)\dpicstop +\dpicdraw (1.302778,-0.231958) + --(1.302778,-0.159789)\dpicstop +\draw (0.927778,-0.231958) node[left=-2bp]{$A$}; +\draw (1.677778,-0.231958) node[right=-2bp]{$B$}; +\draw (1.302778,-0.159789) node[above right=-2bp]{$G$}; +\draw (1.302778,-0.340211) node[below right=-2bp]{$Gb$}; +\draw (0.677778,-0.231958) node[left=-2bp]{\tt tgate(,L)}; +\dpicdraw (2.177778,0.018042) + --(2.427778,0.018042)\dpicstop +\dpicdraw (2.677778,0.018042) + --(2.677778,0.068042) + --(2.427778,0.068042) + --(2.427778,-0.031958) + --(2.677778,-0.031958) + --(2.677778,0.018042)\dpicstop +\dpicdraw (2.677778,0.018042) + --(2.927778,0.018042)\dpicstop +\dpicdraw (2.552778,-0.031958) + --(2.552778,-0.131958)\dpicstop +\draw (2.177778,0.018042) node[left=-2bp]{$A$}; +\draw (2.927778,0.018042) node[right=-2bp]{$B$}; +\draw (2.552778,-0.131958) node[right=-2bp]{$G$}; +\draw (2.552778,-0.270847) node[below=-2bp]{\tt tgate(,B)}; +\dpicdraw (3.455556,0.284789) + --(3.747222,0.284789)\dpicstop +\dpicdraw (3.747222,0.284789) + --(3.913889,0.368122) + --(3.913889,0.201456) + --(3.747222,0.284789)\dpicstop +\dpicdraw (3.913889,0.284789) + --(3.747222,0.368122) + --(3.747222,0.201456) + --(3.913889,0.284789)\dpicstop +\dpicdraw[line width=0.4bp](3.830556,0.354233) circle (0.008202in)\dpicstop +\dpicdraw (3.830556,0.375067) + --(3.830556,0.451456)\dpicstop +\dpicdraw (3.830556,0.243122) + --(3.830556,0.159789)\dpicstop +\dpicdraw (3.913889,0.284789) + --(4.205556,0.284789)\dpicstop +\draw (3.455556,0.284789) node[left=-2bp]{$A$}; +\draw (4.205556,0.284789) node[right=-2bp]{$B$}; +\draw (3.830556,0.159789) node[below left=-2bp]{$G$}; +\draw (3.830556,0.451456) node[left=-2bp]{$Gb$}; +\draw (4.455556,0.284789) node[right=-2bp]{\tt ptrans}; +\dpicdraw (3.455556,-0.173544) + --(3.747222,-0.173544)\dpicstop +\dpicdraw (3.747222,-0.173544) + --(3.913889,-0.090211) + --(3.913889,-0.256878) + --(3.747222,-0.173544)\dpicstop +\dpicdraw (3.913889,-0.173544) + --(3.747222,-0.090211) + --(3.747222,-0.256878) + --(3.913889,-0.173544)\dpicstop +\dpicdraw[line width=0.4bp](3.830556,-0.242989) circle (0.008202in)\dpicstop +\dpicdraw (3.830556,-0.263822) + --(3.830556,-0.340211)\dpicstop +\dpicdraw (3.830556,-0.131878) + --(3.830556,-0.048544)\dpicstop +\dpicdraw (3.913889,-0.173544) + --(4.205556,-0.173544)\dpicstop +\draw (3.455556,-0.173544) node[left=-2bp]{$A$}; +\draw (4.205556,-0.173544) node[right=-2bp]{$B$}; +\draw (3.830556,-0.048544) node[above right=-2bp]{$G$}; +\draw (3.830556,-0.340211) node[below right=-2bp]{$Gb$}; +\draw (4.455556,-0.173544) node[right=-2bp]{\tt ptrans(,L)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Tgate.m4 b/graphics/circuit_macros/doc/TgateMan.m4 index ff42cecb8d..ff42cecb8d 100644 --- a/graphics/circuit_macros/doc/Tgate.m4 +++ b/graphics/circuit_macros/doc/TgateMan.m4 diff --git a/graphics/circuit_macros/doc/Ttree.m4 b/graphics/circuit_macros/doc/Ttree.m4 deleted file mode 100644 index 6cf9203b00..0000000000 --- a/graphics/circuit_macros/doc/Ttree.m4 +++ /dev/null @@ -1,56 +0,0 @@ -.PS -# Ttree.m4 -# A binary tree using m4 -gen_init -sinclude(tst.dim) -s_init(Ttree) - -# `Node(no in row, head [location], -# displacement of top of body (.n) wrt head, -# body Node 1, body Node 2, ...) ' -define(`Node',` - Head`$1': `$2' - ifelse(`$3',,,`Body`$1': [ - Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) - ] with .n at Head`$1' + `$3' - connect(`$1',m4ct)')') - -define(`connect',`Bot: move from Head$1.sw to Head$1.se -for_(1,`$2',1, - `Top: move from Body$1.Head`'m4x.nw to Body$1.Head`'m4x.ne - Move: move from Head$1 to Body$1.Head`'m4x - if Bot.len*Top.len*Move.len > 0 then { - line from Intersect_(Move,Top) to Intersect_(Move,Bot)}')') - - vsep = 0.75 - - Node(1,s_box($`h(h(h(x_1,x_2),h(x_3,x_4)),h(h(x_5,x_6),h(x_7,x_8)))'$), - (0,-vsep), - Node(1,s_box($`h(h(x_1,x_2),h(x_3,x_4))'$), - (0,-vsep), - Node(1,s_box($`h(x_1,x_2)'$), - (0,-vsep), - Node(1,s_box($`x_1:=((A,pk_A),h_1)'$)), - Node(2,s_box($`x_2:=((B,pk_B),h_2)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,s_box($`h(x_3,x_4)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep), - Node(1,s_box($`x_3:=((A,pk_A^\prime),h_3)'$)), - Node(2,s_box($`x_4:=((D,pk_D),h_4)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3)))), - Node(2,s_box($`h(h(x_5,x_6),h(x_7,x_8))'$) \ - with .nw at Head1.ne+(Body1.wid/2,0), - (0,-vsep), - Node(1,s_box($`h(x_5,x_6)'$), - (0,-vsep*5/4), - Node(1,s_box($`x_5:=((E,pk_E),h_5)'$)), - Node(2,s_box($`x_6:=((H,pk_H),h_6)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,s_box($`h(x_7,x_8)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep*5/4), - Node(1,s_box($`x_7:=((D,pk_D^\prime),h_7)'$)), - Node(2,s_box($`x_8:=((K,pk_K),h_8)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3))), - Node(3,s_box($`h(x_9)'$) at 0.5 between Head1 and Head2))) - -.PE diff --git a/graphics/circuit_macros/doc/Variable.tex b/graphics/circuit_macros/doc/Variable.tex new file mode 100644 index 0000000000..585087d5e0 --- /dev/null +++ b/graphics/circuit_macros/doc/Variable.tex @@ -0,0 +1,306 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (-1.01349,0) + --(-1.01349,-0.225)\dpicstop +\dpicdraw (-1.096823,-0.225) + --(-0.930157,-0.225)\dpicstop +\dpicdraw (-1.096823,-0.275) + --(-0.930157,-0.275)\dpicstop +\dpicdraw (-1.01349,-0.275) + --(-1.01349,-0.5)\dpicstop +\filldraw[line width=0bp](-0.925102,-0.196967) + --(-0.872069,-0.108579) + --(-0.960457,-0.161612) --cycle\dpicstop +\dpicdraw (-1.154911,-0.391421) + --(-0.888266,-0.124776)\dpicstop +\dpicdraw (-0.51349,0) + --(-0.51349,-0.125) + --(-0.471823,-0.145833) + --(-0.555157,-0.1875) + --(-0.471823,-0.229167) + --(-0.555157,-0.270833) + --(-0.471823,-0.3125) + --(-0.555157,-0.354167) + --(-0.51349,-0.375) + --(-0.51349,-0.5)\dpicstop +\dpicdraw (-0.654911,-0.391421) + --(-0.372069,-0.108579)\dpicstop +\dpicdraw (-0.372069,-0.108579) + --(-0.372069,-0.025245)\dpicstop +\dpicdraw (-0.01349,0) + --(-0.01349,-0.225)\dpicstop +\dpicdraw (-0.07599,-0.225) + --(0.04901,-0.225)\dpicstop +\dpicdraw (-0.07599,-0.275) + ..controls (-0.037315,-0.252671) and (0.010335,-0.252671) + ..(0.04901,-0.275)\dpicstop +\dpicdraw (-0.01349,-0.258253) + --(-0.01349,-0.5)\dpicstop +\filldraw[line width=0bp](0.074898,-0.196967) + --(0.127931,-0.108579) + --(0.039543,-0.161612) --cycle\dpicstop +\dpicdraw (-0.154911,-0.391421) + --(0.111734,-0.124776)\dpicstop +\dpicdraw (0.48651,0) + --(0.48651,-0.125)\dpicstop +\dpicdraw (0.48651,-0.125) + --(0.480955,-0.125)\dpicstop +\dpicdraw (0.48651,-0.125) + ..controls (0.503769,-0.125) and (0.51776,-0.138991) + ..(0.51776,-0.15625) + ..controls (0.51776,-0.173509) and (0.503769,-0.1875) + ..(0.48651,-0.1875)\dpicstop +\dpicdraw (0.48651,-0.1875) + --(0.480955,-0.1875)\dpicstop +\dpicdraw (0.48651,-0.1875) + ..controls (0.503769,-0.1875) and (0.51776,-0.201491) + ..(0.51776,-0.21875) + ..controls (0.51776,-0.236009) and (0.503769,-0.25) + ..(0.48651,-0.25)\dpicstop +\dpicdraw (0.48651,-0.25) + --(0.480955,-0.25)\dpicstop +\dpicdraw (0.48651,-0.25) + ..controls (0.503769,-0.25) and (0.51776,-0.263991) + ..(0.51776,-0.28125) + ..controls (0.51776,-0.298509) and (0.503769,-0.3125) + ..(0.48651,-0.3125)\dpicstop +\dpicdraw (0.48651,-0.3125) + --(0.480955,-0.3125)\dpicstop +\dpicdraw (0.48651,-0.3125) + ..controls (0.503769,-0.3125) and (0.51776,-0.326491) + ..(0.51776,-0.34375) + ..controls (0.51776,-0.361009) and (0.503769,-0.375) + ..(0.48651,-0.375)\dpicstop +\dpicdraw (0.48651,-0.375) + --(0.480955,-0.375)\dpicstop +\dpicdraw (0.48651,-0.375) + --(0.48651,-0.5)\dpicstop +\filldraw[line width=0bp](0.590523,-0.196967) + --(0.643556,-0.108579) + --(0.555168,-0.161612) --cycle\dpicstop +\dpicdraw (0.360714,-0.391421) + --(0.627359,-0.124776)\dpicstop +\dpicdraw (0.98651,0) + --(0.98651,-0.108266)\dpicstop +\dpicdraw[line width=0.4bp](0.98651,-0.108266) circle (0.00109in)\dpicstop +\dpicdraw (0.98651,-0.108266) + ..controls (1.024082,-0.090746) and (1.065429,-0.123931) + ..(1.056456,-0.164404) + ..controls (1.047483,-0.204877) and (0.995986,-0.217478) + ..(0.969339,-0.185721)\dpicstop +\dpicdraw[line width=0.4bp](0.969339,-0.185721) circle (0.00109in)\dpicstop +\dpicdraw (0.969339,-0.185721) + ..controls (0.999344,-0.149962) and (1.057641,-0.17118) + ..(1.057641,-0.217861) + ..controls (1.057641,-0.264541) and (0.999344,-0.285759) + ..(0.969339,-0.25)\dpicstop +\dpicdraw[line width=0.4bp](0.969339,-0.25) circle (0.00109in)\dpicstop +\dpicdraw (0.969339,-0.25) + ..controls (0.999344,-0.214241) and (1.057641,-0.235459) + ..(1.057641,-0.282139) + ..controls (1.057641,-0.32882) and (0.999344,-0.350038) + ..(0.969339,-0.314279)\dpicstop +\dpicdraw[line width=0.4bp](0.969339,-0.314279) circle (0.00109in)\dpicstop +\dpicdraw (0.969339,-0.314279) + ..controls (0.995986,-0.282522) and (1.047483,-0.295123) + ..(1.056456,-0.335596) + ..controls (1.065429,-0.376069) and (1.024082,-0.409254) + ..(0.98651,-0.391734)\dpicstop +\dpicdraw[line width=0.4bp](0.98651,-0.391734) circle (0.00109in)\dpicstop +\dpicdraw (0.98651,-0.391734) + --(0.98651,-0.5)\dpicstop +\filldraw[line width=0bp](1.101878,-0.196967) + --(1.154911,-0.108579) + --(1.066523,-0.161612) --cycle\dpicstop +\dpicdraw (0.872069,-0.391421) + --(1.138714,-0.124776)\dpicstop +\draw (2.804911,0.520711) node{\tt C}; +\draw (3.554911,0.520711) node{\tt S}; +\draw (1.679911,0.320711) node{\tt A}; +\dpicdraw (1.804911,0.320711) + --(2.029911,0.320711)\dpicstop +\dpicdraw (2.029911,0.258211) + --(2.029911,0.383211)\dpicstop +\dpicdraw (2.079911,0.258211) + ..controls (2.057582,0.296886) and (2.057582,0.344536) + ..(2.079911,0.383211)\dpicstop +\dpicdraw (2.063164,0.320711) + --(2.304911,0.320711)\dpicstop +\filldraw[line width=0bp](2.1433,0.373744) + --(2.196333,0.462132) + --(2.107944,0.409099) --cycle\dpicstop +\dpicdraw (1.91349,0.179289) + --(2.180136,0.445935)\dpicstop +\dpicdraw (2.554911,0.320711) + --(2.779911,0.320711)\dpicstop +\dpicdraw (2.779911,0.258211) + --(2.779911,0.383211)\dpicstop +\dpicdraw (2.829911,0.258211) + ..controls (2.807582,0.296886) and (2.807582,0.344536) + ..(2.829911,0.383211)\dpicstop +\dpicdraw (2.813164,0.320711) + --(3.054911,0.320711)\dpicstop +\filldraw[line width=0bp](2.8933,0.373744) + --(2.946333,0.462132) + --(2.857944,0.409099) --cycle\dpicstop +\dpicdraw (2.66349,0.179289) + --(2.930136,0.445935)\dpicstop +\dpicdraw (2.996333,0.432132) + --(3.055258,0.491058)\dpicstop +\dpicdraw (3.304911,0.320711) + --(3.529911,0.320711)\dpicstop +\dpicdraw (3.529911,0.258211) + --(3.529911,0.383211)\dpicstop +\dpicdraw (3.579911,0.258211) + ..controls (3.557582,0.296886) and (3.557582,0.344536) + ..(3.579911,0.383211)\dpicstop +\dpicdraw (3.563164,0.320711) + --(3.804911,0.320711)\dpicstop +\filldraw[line width=0bp](3.6433,0.373744) + --(3.696333,0.462132) + --(3.607944,0.409099) --cycle\dpicstop +\dpicdraw (3.41349,0.179289) + --(3.680136,0.445935)\dpicstop +\dpicdraw (3.746333,0.402132) + --(3.746333,0.432132) + --(3.806333,0.432132) + --(3.806333,0.462132)\dpicstop +\draw (1.679911,-0.079289) node{\tt P}; +\dpicdraw (1.804911,-0.079289) + --(2.029911,-0.079289)\dpicstop +\dpicdraw (2.029911,-0.141789) + --(2.029911,-0.016789)\dpicstop +\dpicdraw (2.079911,-0.141789) + ..controls (2.057582,-0.103114) and (2.057582,-0.055464) + ..(2.079911,-0.016789)\dpicstop +\dpicdraw (2.063164,-0.079289) + --(2.304911,-0.079289)\dpicstop +\dpicdraw (1.91349,-0.220711) + --(2.196333,0.062132)\dpicstop +\dpicdraw (2.16687,0.091595) + --(2.225795,0.032669)\dpicstop +\dpicdraw (2.554911,-0.079289) + --(2.779911,-0.079289)\dpicstop +\dpicdraw (2.779911,-0.141789) + --(2.779911,-0.016789)\dpicstop +\dpicdraw (2.829911,-0.141789) + ..controls (2.807582,-0.103114) and (2.807582,-0.055464) + ..(2.829911,-0.016789)\dpicstop +\dpicdraw (2.813164,-0.079289) + --(3.054911,-0.079289)\dpicstop +\dpicdraw (2.66349,-0.220711) + --(2.946333,0.062132)\dpicstop +\dpicdraw (2.91687,0.091595) + --(2.975795,0.032669)\dpicstop +\dpicdraw (2.996333,0.032132) + --(3.055258,0.091058)\dpicstop +\dpicdraw (3.304911,-0.079289) + --(3.529911,-0.079289)\dpicstop +\dpicdraw (3.529911,-0.141789) + --(3.529911,-0.016789)\dpicstop +\dpicdraw (3.579911,-0.141789) + ..controls (3.557582,-0.103114) and (3.557582,-0.055464) + ..(3.579911,-0.016789)\dpicstop +\dpicdraw (3.563164,-0.079289) + --(3.804911,-0.079289)\dpicstop +\dpicdraw (3.41349,-0.220711) + --(3.696333,0.062132)\dpicstop +\dpicdraw (3.66687,0.091595) + --(3.725795,0.032669)\dpicstop +\dpicdraw (3.746333,0.002132) + --(3.746333,0.032132) + --(3.806333,0.032132) + --(3.806333,0.062132)\dpicstop +\draw (1.679911,-0.479289) node{\tt L}; +\dpicdraw (1.804911,-0.479289) + --(2.029911,-0.479289)\dpicstop +\dpicdraw (2.029911,-0.541789) + --(2.029911,-0.416789)\dpicstop +\dpicdraw (2.079911,-0.541789) + ..controls (2.057582,-0.503114) and (2.057582,-0.455464) + ..(2.079911,-0.416789)\dpicstop +\dpicdraw (2.063164,-0.479289) + --(2.304911,-0.479289)\dpicstop +\dpicdraw (1.91349,-0.620711) + --(2.196333,-0.337868)\dpicstop +\dpicdraw (2.554911,-0.479289) + --(2.779911,-0.479289)\dpicstop +\dpicdraw (2.779911,-0.541789) + --(2.779911,-0.416789)\dpicstop +\dpicdraw (2.829911,-0.541789) + ..controls (2.807582,-0.503114) and (2.807582,-0.455464) + ..(2.829911,-0.416789)\dpicstop +\dpicdraw (2.813164,-0.479289) + --(3.054911,-0.479289)\dpicstop +\dpicdraw (2.66349,-0.620711) + --(2.946333,-0.337868)\dpicstop +\dpicdraw (2.996333,-0.367868) + --(3.055258,-0.308942)\dpicstop +\dpicdraw (3.304911,-0.479289) + --(3.529911,-0.479289)\dpicstop +\dpicdraw (3.529911,-0.541789) + --(3.529911,-0.416789)\dpicstop +\dpicdraw (3.579911,-0.541789) + ..controls (3.557582,-0.503114) and (3.557582,-0.455464) + ..(3.579911,-0.416789)\dpicstop +\dpicdraw (3.563164,-0.479289) + --(3.804911,-0.479289)\dpicstop +\dpicdraw (3.41349,-0.620711) + --(3.696333,-0.337868)\dpicstop +\dpicdraw (3.746333,-0.397868) + --(3.746333,-0.367868) + --(3.806333,-0.367868) + --(3.806333,-0.337868)\dpicstop +\draw (1.679911,-0.879289) node{\tt N}; +\dpicdraw (1.804911,-0.879289) + --(2.029911,-0.879289)\dpicstop +\dpicdraw (2.029911,-0.941789) + --(2.029911,-0.816789)\dpicstop +\dpicdraw (2.079911,-0.941789) + ..controls (2.057582,-0.903114) and (2.057582,-0.855464) + ..(2.079911,-0.816789)\dpicstop +\dpicdraw (2.063164,-0.879289) + --(2.304911,-0.879289)\dpicstop +\dpicdraw (1.91349,-1.020711) + --(2.196333,-0.737868)\dpicstop +\dpicdraw (1.91349,-1.020711) + --(1.830157,-1.020711)\dpicstop +\dpicdraw (2.554911,-0.879289) + --(2.779911,-0.879289)\dpicstop +\dpicdraw (2.779911,-0.941789) + --(2.779911,-0.816789)\dpicstop +\dpicdraw (2.829911,-0.941789) + ..controls (2.807582,-0.903114) and (2.807582,-0.855464) + ..(2.829911,-0.816789)\dpicstop +\dpicdraw (2.813164,-0.879289) + --(3.054911,-0.879289)\dpicstop +\dpicdraw (2.66349,-1.020711) + --(2.946333,-0.737868)\dpicstop +\dpicdraw (2.66349,-1.020711) + --(2.580157,-1.020711)\dpicstop +\dpicdraw (2.996333,-0.767868) + --(3.055258,-0.708942)\dpicstop +\dpicdraw (3.304911,-0.879289) + --(3.529911,-0.879289)\dpicstop +\dpicdraw (3.529911,-0.941789) + --(3.529911,-0.816789)\dpicstop +\dpicdraw (3.579911,-0.941789) + ..controls (3.557582,-0.903114) and (3.557582,-0.855464) + ..(3.579911,-0.816789)\dpicstop +\dpicdraw (3.563164,-0.879289) + --(3.804911,-0.879289)\dpicstop +\dpicdraw (3.41349,-1.020711) + --(3.696333,-0.737868)\dpicstop +\dpicdraw (3.41349,-1.020711) + --(3.330157,-1.020711)\dpicstop +\dpicdraw (3.746333,-0.797868) + --(3.746333,-0.767868) + --(3.806333,-0.767868) + --(3.806333,-0.737868)\dpicstop +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Variable.m4 b/graphics/circuit_macros/doc/VariableMan.m4 index 6fac01e164..e52e30913d 100644 --- a/graphics/circuit_macros/doc/Variable.m4 +++ b/graphics/circuit_macros/doc/VariableMan.m4 @@ -3,11 +3,11 @@ cct_init define(`elen_',dimen_); down_ -[ { variable(`capacitor') }; move right - { variable(`resistor',uN) }; move right - { variable(`capacitor(,C)') }; move right - { variable(`inductor') }; move right - { variable(`inductor(,W)') } +[ { variable(`resistor',A) }; {"A" at last line.end below}; move right + { variable(`resistor',N) }; {"N" at last line.end below}; move right + { variable(`resistor',uN) }; {"uN" at last line.end below}; move right + { variable(`resistor',NN) }; {"uN" at last line.end below}; move right + { variable(`resistor',uNN) }; {"uNN" at last line.end below}; #; move right ] [ skp = 0.4 diff --git a/graphics/circuit_macros/doc/Version.tex b/graphics/circuit_macros/doc/Version.tex index 4bb8dbffa5..ca449b0a0b 100644 --- a/graphics/circuit_macros/doc/Version.tex +++ b/graphics/circuit_macros/doc/Version.tex @@ -1 +1 @@ -Version 9.2 +Version 9.3 diff --git a/graphics/circuit_macros/doc/Windings.m4 b/graphics/circuit_macros/doc/WindingsMan.m4 index 0c1ff4b87b..0c1ff4b87b 100644 --- a/graphics/circuit_macros/doc/Windings.m4 +++ b/graphics/circuit_macros/doc/WindingsMan.m4 diff --git a/graphics/circuit_macros/doc/Xform.tex b/graphics/circuit_macros/doc/Xform.tex new file mode 100644 index 0000000000..6c527c38cc --- /dev/null +++ b/graphics/circuit_macros/doc/Xform.tex @@ -0,0 +1,648 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (-0.104167,-0) + --(-0.104167,-0.041667)\dpicstop +\dpicdraw (-0.104167,-0.041667) + --(-0.109722,-0.041667)\dpicstop +\dpicdraw (-0.104167,-0.041667) + ..controls (-0.086908,-0.041667) and (-0.072917,-0.055658) + ..(-0.072917,-0.072917) + ..controls (-0.072917,-0.090176) and (-0.086908,-0.104167) + ..(-0.104167,-0.104167)\dpicstop +\dpicdraw (-0.104167,-0.104167) + --(-0.109722,-0.104167)\dpicstop +\dpicdraw (-0.104167,-0.104167) + ..controls (-0.086908,-0.104167) and (-0.072917,-0.118158) + ..(-0.072917,-0.135417) + ..controls (-0.072917,-0.152676) and (-0.086908,-0.166667) + ..(-0.104167,-0.166667)\dpicstop +\dpicdraw (-0.104167,-0.166667) + --(-0.109722,-0.166667)\dpicstop +\dpicdraw (-0.104167,-0.166667) + ..controls (-0.086908,-0.166667) and (-0.072917,-0.180658) + ..(-0.072917,-0.197917) + ..controls (-0.072917,-0.215176) and (-0.086908,-0.229167) + ..(-0.104167,-0.229167)\dpicstop +\dpicdraw (-0.104167,-0.229167) + --(-0.109722,-0.229167)\dpicstop +\dpicdraw (-0.104167,-0.229167) + ..controls (-0.0625,-0.229167) and (-0.0625,-0.291667) + ..(-0.104167,-0.291667)\dpicstop +\dpicdraw (-0.104167,-0.291667) + --(-0.109722,-0.291667)\dpicstop +\dpicdraw (-0.104167,-0.291667) + --(-0.104167,-0.333333)\dpicstop +\dpicdraw (-0.03125,-0.041667) + --(-0.03125,-0.291667)\dpicstop +\dpicdraw (0.03125,-0.041667) + --(0.03125,-0.291667)\dpicstop +\dpicdraw (0.104167,-0.333333) + --(0.104167,-0.291667)\dpicstop +\dpicdraw (0.104167,-0.291667) + --(0.109722,-0.291667)\dpicstop +\dpicdraw (0.104167,-0.291667) + ..controls (0.0625,-0.291667) and (0.0625,-0.229167) + ..(0.104167,-0.229167)\dpicstop +\dpicdraw (0.104167,-0.229167) + --(0.109722,-0.229167)\dpicstop +\dpicdraw (0.104167,-0.229167) + ..controls (0.0625,-0.229167) and (0.0625,-0.166667) + ..(0.104167,-0.166667)\dpicstop +\dpicdraw (0.104167,-0.166667) + --(0.109722,-0.166667)\dpicstop +\dpicdraw (0.104167,-0.166667) + ..controls (0.0625,-0.166667) and (0.0625,-0.104167) + ..(0.104167,-0.104167)\dpicstop +\dpicdraw (0.104167,-0.104167) + --(0.109722,-0.104167)\dpicstop +\dpicdraw (0.104167,-0.104167) + ..controls (0.0625,-0.104167) and (0.0625,-0.041667) + ..(0.104167,-0.041667)\dpicstop +\dpicdraw (0.104167,-0.041667) + --(0.109722,-0.041667)\dpicstop +\dpicdraw (0.104167,-0.041667) + --(0.104167,0)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](-0.183488,0.024269) + --(-0.116032,0.007119) + --(-0.162908,0.058569) --cycle\dpicstop +\dpicdraw (-0.13261,0.017066) + --(-0.212302,0.064881)\dpicstop +\draw (-0.212302,0.064881) node[left=-2bp]{\sl P1}; +\filldraw[line width=0bp](-0.162908,-0.391902) + --(-0.116032,-0.340452) + --(-0.183488,-0.357602) --cycle\dpicstop +\dpicdraw (-0.13261,-0.3504) + --(-0.212302,-0.398214)\dpicstop +\draw (-0.212302,-0.398214) node[left=-2bp]{\sl P2}; +\filldraw[line width=0bp](-0.18467,-0.186667) + --(-0.118004,-0.166667) + --(-0.18467,-0.146667) --cycle\dpicstop +\dpicdraw (-0.137338,-0.166667) + --(-0.21033,-0.166667)\dpicstop +\draw (-0.21033,-0.166667) node[left=-2bp]{\sl TP}; +\filldraw[line width=0bp](0.162908,0.058569) + --(0.116032,0.007119) + --(0.183488,0.024269) --cycle\dpicstop +\dpicdraw (0.13261,0.017066) + --(0.212302,0.064881)\dpicstop +\draw (0.212302,0.064881) node[right=-2bp]{\sl S1}; +\filldraw[line width=0bp](0.183488,-0.357602) + --(0.116032,-0.340452) + --(0.162908,-0.391902) --cycle\dpicstop +\dpicdraw (0.13261,-0.3504) + --(0.212302,-0.398214)\dpicstop +\draw (0.212302,-0.398214) node[right=-2bp]{\sl S2}; +\filldraw[line width=0bp](0.18467,-0.146667) + --(0.118004,-0.166667) + --(0.18467,-0.186667) --cycle\dpicstop +\dpicdraw (0.137338,-0.166667) + --(0.21033,-0.166667)\dpicstop +\draw (0.21033,-0.166667) node[right=-2bp]{\sl TS}; +\draw (0,-0.633333) node{\tt transformer}; +\dpiclw=0.8bp +\dpicdraw (1.115278,0.133333) + --(1.115278,-0.104167)\dpicstop +\dpicdraw (1.115278,-0.104167) + --(1.109722,-0.104167)\dpicstop +\dpicdraw (1.115278,-0.104167) + ..controls (1.132537,-0.104167) and (1.146528,-0.118158) + ..(1.146528,-0.135417) + ..controls (1.146528,-0.152676) and (1.132537,-0.166667) + ..(1.115278,-0.166667)\dpicstop +\dpicdraw (1.115278,-0.166667) + --(1.109722,-0.166667)\dpicstop +\dpicdraw (1.115278,-0.166667) + ..controls (1.132537,-0.166667) and (1.146528,-0.180658) + ..(1.146528,-0.197917) + ..controls (1.146528,-0.215176) and (1.132537,-0.229167) + ..(1.115278,-0.229167)\dpicstop +\dpicdraw (1.115278,-0.229167) + --(1.109722,-0.229167)\dpicstop +\dpicdraw (1.115278,-0.229167) + --(1.115278,-0.466667)\dpicstop +\dpicdraw[dash pattern=on 0.025in off 0.025in](1.188194,0.083333) + --(1.188194,-0.416667)\dpicstop +\dpicdraw[dash pattern=on 0.025in off 0.025in](1.250694,0.083333) + --(1.250694,-0.416667)\dpicstop +\dpicdraw (1.323611,-0.416667) + --(1.323611,-0.416667)\dpicstop +\dpicdraw (1.323611,-0.416667) + --(1.329167,-0.416667)\dpicstop +\dpicdraw (1.323611,-0.416667) + ..controls (1.306352,-0.416667) and (1.292361,-0.402676) + ..(1.292361,-0.385417) + ..controls (1.292361,-0.368158) and (1.306352,-0.354167) + ..(1.323611,-0.354167)\dpicstop +\dpicdraw (1.323611,-0.354167) + --(1.329167,-0.354167)\dpicstop +\dpicdraw (1.323611,-0.354167) + ..controls (1.306352,-0.354167) and (1.292361,-0.340176) + ..(1.292361,-0.322917) + ..controls (1.292361,-0.305658) and (1.306352,-0.291667) + ..(1.323611,-0.291667)\dpicstop +\dpicdraw (1.323611,-0.291667) + --(1.329167,-0.291667)\dpicstop +\dpicdraw (1.323611,-0.291667) + ..controls (1.306352,-0.291667) and (1.292361,-0.277676) + ..(1.292361,-0.260417) + ..controls (1.292361,-0.243158) and (1.306352,-0.229167) + ..(1.323611,-0.229167)\dpicstop +\dpicdraw (1.323611,-0.229167) + --(1.329167,-0.229167)\dpicstop +\dpicdraw (1.323611,-0.229167) + ..controls (1.306352,-0.229167) and (1.292361,-0.215176) + ..(1.292361,-0.197917) + ..controls (1.292361,-0.180658) and (1.306352,-0.166667) + ..(1.323611,-0.166667)\dpicstop +\dpicdraw (1.323611,-0.166667) + --(1.329167,-0.166667)\dpicstop +\dpicdraw (1.323611,-0.166667) + ..controls (1.306352,-0.166667) and (1.292361,-0.152676) + ..(1.292361,-0.135417) + ..controls (1.292361,-0.118158) and (1.306352,-0.104167) + ..(1.323611,-0.104167)\dpicstop +\dpicdraw (1.323611,-0.104167) + --(1.329167,-0.104167)\dpicstop +\dpicdraw (1.323611,-0.104167) + ..controls (1.306352,-0.104167) and (1.292361,-0.090176) + ..(1.292361,-0.072917) + ..controls (1.292361,-0.055658) and (1.306352,-0.041667) + ..(1.323611,-0.041667)\dpicstop +\dpicdraw (1.323611,-0.041667) + --(1.329167,-0.041667)\dpicstop +\dpicdraw (1.323611,-0.041667) + ..controls (1.306352,-0.041667) and (1.292361,-0.027676) + ..(1.292361,-0.010417) + ..controls (1.292361,0.006842) and (1.306352,0.020833) + ..(1.323611,0.020833)\dpicstop +\dpicdraw (1.323611,0.020833) + --(1.329167,0.020833)\dpicstop +\dpicdraw (1.323611,0.020833) + ..controls (1.306352,0.020833) and (1.292361,0.034824) + ..(1.292361,0.052083) + ..controls (1.292361,0.069342) and (1.306352,0.083333) + ..(1.323611,0.083333)\dpicstop +\dpicdraw (1.323611,0.083333) + --(1.329167,0.083333)\dpicstop +\dpicdraw (1.323611,0.083333) + --(1.323611,0.083333)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](1.035957,0.157602) + --(1.103413,0.140452) + --(1.056536,0.191902) --cycle\dpicstop +\dpicdraw (1.086834,0.1504) + --(1.007143,0.198214)\dpicstop +\draw (1.007143,0.198214) node[left=-2bp]{\sl P1}; +\filldraw[line width=0bp](1.056536,-0.525235) + --(1.103413,-0.473786) + --(1.035957,-0.490936) --cycle\dpicstop +\dpicdraw (1.086834,-0.483733) + --(1.007143,-0.531548)\dpicstop +\draw (1.007143,-0.531548) node[left=-2bp]{\sl P2}; +\filldraw[line width=0bp](1.034774,-0.186667) + --(1.101441,-0.166667) + --(1.034774,-0.146667) --cycle\dpicstop +\dpicdraw (1.082107,-0.166667) + --(1.009115,-0.166667)\dpicstop +\draw (1.009115,-0.166667) node[left=-2bp]{\sl TP}; +\filldraw[line width=0bp](1.382353,0.141902) + --(1.335476,0.090452) + --(1.402932,0.107602) --cycle\dpicstop +\dpicdraw (1.352055,0.1004) + --(1.431746,0.148214)\dpicstop +\draw (1.431746,0.148214) node[right=-2bp]{\sl S1}; +\filldraw[line width=0bp](1.402932,-0.440936) + --(1.335476,-0.423786) + --(1.382353,-0.475235) --cycle\dpicstop +\dpicdraw (1.352055,-0.433733) + --(1.431746,-0.481548)\dpicstop +\draw (1.431746,-0.481548) node[right=-2bp]{\sl S2}; +\filldraw[line width=0bp](1.404115,-0.146667) + --(1.337448,-0.166667) + --(1.404115,-0.186667) --cycle\dpicstop +\dpicdraw (1.356782,-0.166667) + --(1.429774,-0.166667)\dpicstop +\draw (1.429774,-0.166667) node[right=-2bp]{\sl TS}; +\draw (1.219444,-0.766667) node{\tt ...(down\_ 0.6,,2,P,8)}; +\dpiclw=0.8bp +\dpicdraw (2.349105,0.086124) + --(2.349105,0.086124)\dpicstop +\dpicdraw[line width=0.4bp](2.349105,0.086124) circle (0.00109in)\dpicstop +\dpicdraw (2.349105,0.086124) + ..controls (2.386677,0.103644) and (2.428024,0.07046) + ..(2.419051,0.029987) + ..controls (2.410078,-0.010486) and (2.358581,-0.023088) + ..(2.331934,0.00867)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,0.00867) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,0.00867) + ..controls (2.36194,0.044429) and (2.420236,0.023211) + ..(2.420236,-0.02347) + ..controls (2.420236,-0.07015) and (2.36194,-0.091368) + ..(2.331934,-0.055609)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,-0.055609) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,-0.055609) + ..controls (2.36194,-0.01985) and (2.420236,-0.041068) + ..(2.420236,-0.087749) + ..controls (2.420236,-0.134429) and (2.36194,-0.155647) + ..(2.331934,-0.119888)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,-0.119888) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,-0.119888) + ..controls (2.36194,-0.084129) and (2.420236,-0.105347) + ..(2.420236,-0.152027) + ..controls (2.420236,-0.198708) and (2.36194,-0.219926) + ..(2.331934,-0.184167)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,-0.184167) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,-0.184167) + ..controls (2.36194,-0.148407) and (2.420236,-0.169626) + ..(2.420236,-0.216306) + ..controls (2.420236,-0.262987) and (2.36194,-0.284205) + ..(2.331934,-0.248445)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,-0.248445) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,-0.248445) + ..controls (2.36194,-0.212686) and (2.420236,-0.233904) + ..(2.420236,-0.280585) + ..controls (2.420236,-0.327265) and (2.36194,-0.348484) + ..(2.331934,-0.312724)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,-0.312724) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,-0.312724) + ..controls (2.36194,-0.276965) and (2.420236,-0.298183) + ..(2.420236,-0.344864) + ..controls (2.420236,-0.391544) and (2.36194,-0.412762) + ..(2.331934,-0.377003)\dpicstop +\dpicdraw[line width=0.4bp](2.331934,-0.377003) circle (0.00109in)\dpicstop +\dpicdraw (2.331934,-0.377003) + ..controls (2.358581,-0.345246) and (2.410078,-0.357847) + ..(2.419051,-0.39832) + ..controls (2.428024,-0.438794) and (2.386677,-0.471978) + ..(2.349105,-0.454458)\dpicstop +\dpicdraw[line width=0.4bp](2.349105,-0.454458) circle (0.00109in)\dpicstop +\dpicdraw (2.349105,-0.454458) + --(2.349105,-0.454458)\dpicstop +\dpicdraw (2.461903,0.090809) + --(2.461903,-0.459142)\dpicstop +\dpicdraw (2.524403,0.090809) + --(2.524403,-0.459142)\dpicstop +\dpicdraw (2.637201,-0.330585) + --(2.637201,-0.3259)\dpicstop +\dpicdraw[line width=0.4bp](2.637201,-0.3259) circle (0.00109in)\dpicstop +\dpicdraw (2.637201,-0.3259) + ..controls (2.599629,-0.34342) and (2.558282,-0.310236) + ..(2.567255,-0.269763) + ..controls (2.576228,-0.22929) and (2.627724,-0.216688) + ..(2.654372,-0.248445)\dpicstop +\dpicdraw[line width=0.4bp](2.654372,-0.248445) circle (0.00109in)\dpicstop +\dpicdraw (2.654372,-0.248445) + ..controls (2.624366,-0.284205) and (2.56607,-0.262987) + ..(2.56607,-0.216306) + ..controls (2.56607,-0.169626) and (2.624366,-0.148407) + ..(2.654372,-0.184167)\dpicstop +\dpicdraw[line width=0.4bp](2.654372,-0.184167) circle (0.00109in)\dpicstop +\dpicdraw (2.654372,-0.184167) + ..controls (2.624366,-0.219926) and (2.56607,-0.198708) + ..(2.56607,-0.152027) + ..controls (2.56607,-0.105347) and (2.624366,-0.084129) + ..(2.654372,-0.119888)\dpicstop +\dpicdraw[line width=0.4bp](2.654372,-0.119888) circle (0.00109in)\dpicstop +\dpicdraw (2.654372,-0.119888) + ..controls (2.627724,-0.151645) and (2.576228,-0.139044) + ..(2.567255,-0.098571) + ..controls (2.558282,-0.058097) and (2.599629,-0.024913) + ..(2.637201,-0.042433)\dpicstop +\dpicdraw[line width=0.4bp](2.637201,-0.042433) circle (0.00109in)\dpicstop +\dpicdraw (2.637201,-0.042433) + --(2.637201,-0.037749)\dpicstop +\dpicdraw[fill=black](2.380355,0.115809) circle (0.003937in)\dpicstop +\dpicdraw[fill=black](2.605951,-0.355585) circle (0.003937in)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](2.269784,0.110393) + --(2.33724,0.093243) + --(2.290364,0.144693) --cycle\dpicstop +\dpicdraw (2.320662,0.103191) + --(2.240971,0.151005)\dpicstop +\draw (2.240971,0.151005) node[left=-2bp]{\sl P1}; +\filldraw[line width=0bp](2.290364,-0.513026) + --(2.33724,-0.461577) + --(2.269784,-0.478727) --cycle\dpicstop +\dpicdraw (2.320662,-0.471524) + --(2.240971,-0.519339)\dpicstop +\draw (2.240971,-0.519339) node[left=-2bp]{\sl P2}; +\filldraw[line width=0bp](2.268602,-0.204167) + --(2.335268,-0.184167) + --(2.268602,-0.164167) --cycle\dpicstop +\dpicdraw (2.315934,-0.184167) + --(2.242942,-0.184167)\dpicstop +\draw (2.242942,-0.184167) node[left=-2bp]{\sl TP}; +\filldraw[line width=0bp](2.695942,0.02082) + --(2.649066,-0.030629) + --(2.716522,-0.01348) --cycle\dpicstop +\dpicdraw (2.665644,-0.020682) + --(2.745335,0.027132)\dpicstop +\draw (2.745335,0.027132) node[right=-2bp]{\sl S1}; +\filldraw[line width=0bp](2.716522,-0.354854) + --(2.649066,-0.337704) + --(2.695942,-0.389153) --cycle\dpicstop +\dpicdraw (2.665644,-0.347651) + --(2.745335,-0.395466)\dpicstop +\draw (2.745335,-0.395466) node[right=-2bp]{\sl S2}; +\filldraw[line width=0bp](2.717704,-0.164167) + --(2.651038,-0.184167) + --(2.717704,-0.204167) --cycle\dpicstop +\dpicdraw (2.670371,-0.184167) + --(2.743364,-0.184167)\dpicstop +\draw (2.743364,-0.184167) node[right=-2bp]{\sl TS}; +\draw (2.493153,-0.669142) node{\tt ...(,,8,WD12,4)}; +\dpiclw=0.8bp +\dpicdraw (3.682139,0.103358) + --(3.682139,0.072108)\dpicstop +\dpicdraw[line width=0.4bp](3.682139,0.072108) circle (0.00109in)\dpicstop +\dpicdraw (3.682139,0.072108) + ..controls (3.716514,0.072108) and (3.744639,0.057483) + ..(3.744639,0.039608) + ..controls (3.744639,0.021733) and (3.724952,0.007108) + ..(3.700889,0.007108) + ..controls (3.676827,0.007108) and (3.657139,0.013858) + ..(3.657139,0.022108) + ..controls (3.657139,0.030358) and (3.676827,0.037108) + ..(3.700889,0.037108) + ..controls (3.724952,0.037108) and (3.744639,0.019108) + ..(3.744639,-0.002892) + ..controls (3.744639,-0.024892) and (3.724952,-0.042892) + ..(3.700889,-0.042892) + ..controls (3.676827,-0.042892) and (3.657139,-0.036142) + ..(3.657139,-0.027892) + ..controls (3.657139,-0.019642) and (3.676827,-0.012892) + ..(3.700889,-0.012892) + ..controls (3.724952,-0.012892) and (3.744639,-0.030892) + ..(3.744639,-0.052892) + ..controls (3.744639,-0.074892) and (3.724952,-0.092892) + ..(3.700889,-0.092892) + ..controls (3.676827,-0.092892) and (3.657139,-0.086142) + ..(3.657139,-0.077892) + ..controls (3.657139,-0.069642) and (3.676827,-0.062892) + ..(3.700889,-0.062892) + ..controls (3.724952,-0.062892) and (3.744639,-0.080892) + ..(3.744639,-0.102892) + ..controls (3.744639,-0.124892) and (3.724952,-0.142892) + ..(3.700889,-0.142892) + ..controls (3.676827,-0.142892) and (3.657139,-0.136142) + ..(3.657139,-0.127892) + ..controls (3.657139,-0.119642) and (3.676827,-0.112892) + ..(3.700889,-0.112892) + ..controls (3.724952,-0.112892) and (3.744639,-0.130892) + ..(3.744639,-0.152892) + ..controls (3.744639,-0.174892) and (3.724952,-0.192892) + ..(3.700889,-0.192892) + ..controls (3.676827,-0.192892) and (3.657139,-0.186142) + ..(3.657139,-0.177892) + ..controls (3.657139,-0.169642) and (3.676827,-0.162892) + ..(3.700889,-0.162892) + ..controls (3.724952,-0.162892) and (3.744639,-0.180892) + ..(3.744639,-0.202892) + ..controls (3.744639,-0.224892) and (3.724952,-0.242892) + ..(3.700889,-0.242892) + ..controls (3.676827,-0.242892) and (3.657139,-0.236142) + ..(3.657139,-0.227892) + ..controls (3.657139,-0.219642) and (3.676827,-0.212892) + ..(3.700889,-0.212892) + ..controls (3.724952,-0.212892) and (3.744639,-0.230892) + ..(3.744639,-0.252892) + ..controls (3.744639,-0.274892) and (3.724952,-0.292892) + ..(3.700889,-0.292892) + ..controls (3.676827,-0.292892) and (3.657139,-0.286142) + ..(3.657139,-0.277892) + ..controls (3.657139,-0.269642) and (3.676827,-0.262892) + ..(3.700889,-0.262892) + ..controls (3.724952,-0.262892) and (3.744639,-0.280892) + ..(3.744639,-0.302892) + ..controls (3.744639,-0.324892) and (3.724952,-0.342892) + ..(3.700889,-0.342892) + ..controls (3.676827,-0.342892) and (3.657139,-0.336142) + ..(3.657139,-0.327892) + ..controls (3.657139,-0.319642) and (3.676827,-0.312892) + ..(3.700889,-0.312892) + ..controls (3.724952,-0.312892) and (3.744639,-0.330892) + ..(3.744639,-0.352892) + ..controls (3.744639,-0.374892) and (3.724952,-0.392892) + ..(3.700889,-0.392892) + ..controls (3.676827,-0.392892) and (3.657139,-0.386142) + ..(3.657139,-0.377892) + ..controls (3.657139,-0.369642) and (3.676827,-0.362892) + ..(3.700889,-0.362892) + ..controls (3.724952,-0.362892) and (3.744639,-0.377517) + ..(3.744639,-0.395392) + ..controls (3.744639,-0.413267) and (3.716514,-0.427892) + ..(3.682139,-0.427892)\dpicstop +\dpicdraw[line width=0.4bp](3.682139,-0.427892) circle (0.00109in)\dpicstop +\dpicdraw (3.682139,-0.427892) + --(3.682139,-0.459142)\dpicstop +\dpicdraw (3.869639,-0.459142) + --(3.869639,-0.302892)\dpicstop +\dpicdraw[line width=0.4bp](3.869639,-0.302892) circle (0.00109in)\dpicstop +\dpicdraw (3.869639,-0.302892) + ..controls (3.835264,-0.302892) and (3.807139,-0.288267) + ..(3.807139,-0.270392) + ..controls (3.807139,-0.252517) and (3.826827,-0.237892) + ..(3.850889,-0.237892) + ..controls (3.874952,-0.237892) and (3.894639,-0.244642) + ..(3.894639,-0.252892) + ..controls (3.894639,-0.261142) and (3.874952,-0.267892) + ..(3.850889,-0.267892) + ..controls (3.826827,-0.267892) and (3.807139,-0.249892) + ..(3.807139,-0.227892) + ..controls (3.807139,-0.205892) and (3.826827,-0.187892) + ..(3.850889,-0.187892) + ..controls (3.874952,-0.187892) and (3.894639,-0.194642) + ..(3.894639,-0.202892) + ..controls (3.894639,-0.211142) and (3.874952,-0.217892) + ..(3.850889,-0.217892) + ..controls (3.826827,-0.217892) and (3.807139,-0.199892) + ..(3.807139,-0.177892) + ..controls (3.807139,-0.155892) and (3.826827,-0.137892) + ..(3.850889,-0.137892) + ..controls (3.874952,-0.137892) and (3.894639,-0.144642) + ..(3.894639,-0.152892) + ..controls (3.894639,-0.161142) and (3.874952,-0.167892) + ..(3.850889,-0.167892) + ..controls (3.826827,-0.167892) and (3.807139,-0.149892) + ..(3.807139,-0.127892) + ..controls (3.807139,-0.105892) and (3.826827,-0.087892) + ..(3.850889,-0.087892) + ..controls (3.874952,-0.087892) and (3.894639,-0.094642) + ..(3.894639,-0.102892) + ..controls (3.894639,-0.111142) and (3.874952,-0.117892) + ..(3.850889,-0.117892) + ..controls (3.826827,-0.117892) and (3.807139,-0.103267) + ..(3.807139,-0.085392) + ..controls (3.807139,-0.067517) and (3.835264,-0.052892) + ..(3.869639,-0.052892)\dpicstop +\dpicdraw[line width=0.4bp](3.869639,-0.052892) circle (0.00109in)\dpicstop +\dpicdraw (3.869639,-0.052892) + --(3.869639,0.103358)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](3.602818,0.127627) + --(3.670274,0.110477) + --(3.623398,0.161926) --cycle\dpicstop +\dpicdraw (3.653695,0.120424) + --(3.574004,0.168239)\dpicstop +\draw (3.574004,0.168239) node[left=-2bp]{\sl P1}; +\filldraw[line width=0bp](3.623398,-0.517711) + --(3.670274,-0.466261) + --(3.602818,-0.483411) --cycle\dpicstop +\dpicdraw (3.653695,-0.476209) + --(3.574004,-0.524023)\dpicstop +\draw (3.574004,-0.524023) node[left=-2bp]{\sl P2}; +\filldraw[line width=0bp](3.601636,-0.197892) + --(3.668302,-0.177892) + --(3.601636,-0.157892) --cycle\dpicstop +\dpicdraw (3.648968,-0.177892) + --(3.575976,-0.177892)\dpicstop +\draw (3.575976,-0.177892) node[left=-2bp]{\sl TP}; +\filldraw[line width=0bp](3.928381,0.161926) + --(3.881504,0.110477) + --(3.94896,0.127627) --cycle\dpicstop +\dpicdraw (3.898083,0.120424) + --(3.977774,0.168239)\dpicstop +\draw (3.977774,0.168239) node[right=-2bp]{\sl S1}; +\filldraw[line width=0bp](3.94896,-0.483411) + --(3.881504,-0.466261) + --(3.928381,-0.517711) --cycle\dpicstop +\dpicdraw (3.898083,-0.476209) + --(3.977774,-0.524023)\dpicstop +\draw (3.977774,-0.524023) node[right=-2bp]{\sl S2}; +\filldraw[line width=0bp](3.950143,-0.157892) + --(3.883476,-0.177892) + --(3.950143,-0.197892) --cycle\dpicstop +\dpicdraw (3.90281,-0.177892) + --(3.975802,-0.177892)\dpicstop +\draw (3.975802,-0.177892) node[right=-2bp]{\sl TS}; +\draw (3.775889,-0.759142) node{\tt ...(,,9,AL)}; +\dpiclw=0.8bp +\dpicdraw (5.127971,-0.454458) + --(5.127971,-0.454458)\dpicstop +\dpicdraw[line width=0.4bp](5.127971,-0.454458) circle (0.00109in)\dpicstop +\dpicdraw (5.127971,-0.454458) + ..controls (5.090399,-0.471978) and (5.049052,-0.438794) + ..(5.058025,-0.39832) + ..controls (5.066998,-0.357847) and (5.118495,-0.345246) + ..(5.145142,-0.377003)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,-0.377003) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,-0.377003) + ..controls (5.115136,-0.412762) and (5.05684,-0.391544) + ..(5.05684,-0.344864) + ..controls (5.05684,-0.298183) and (5.115136,-0.276965) + ..(5.145142,-0.312724)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,-0.312724) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,-0.312724) + ..controls (5.115136,-0.348484) and (5.05684,-0.327265) + ..(5.05684,-0.280585) + ..controls (5.05684,-0.233904) and (5.115136,-0.212686) + ..(5.145142,-0.248445)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,-0.248445) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,-0.248445) + ..controls (5.115136,-0.284205) and (5.05684,-0.262987) + ..(5.05684,-0.216306) + ..controls (5.05684,-0.169626) and (5.115136,-0.148407) + ..(5.145142,-0.184167)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,-0.184167) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,-0.184167) + ..controls (5.115136,-0.219926) and (5.05684,-0.198708) + ..(5.05684,-0.152027) + ..controls (5.05684,-0.105347) and (5.115136,-0.084129) + ..(5.145142,-0.119888)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,-0.119888) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,-0.119888) + ..controls (5.115136,-0.155647) and (5.05684,-0.134429) + ..(5.05684,-0.087749) + ..controls (5.05684,-0.041068) and (5.115136,-0.01985) + ..(5.145142,-0.055609)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,-0.055609) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,-0.055609) + ..controls (5.115136,-0.091368) and (5.05684,-0.07015) + ..(5.05684,-0.02347) + ..controls (5.05684,0.023211) and (5.115136,0.044429) + ..(5.145142,0.00867)\dpicstop +\dpicdraw[line width=0.4bp](5.145142,0.00867) circle (0.00109in)\dpicstop +\dpicdraw (5.145142,0.00867) + ..controls (5.118495,-0.023088) and (5.066998,-0.010486) + ..(5.058025,0.029987) + ..controls (5.049052,0.07046) and (5.090399,0.103644) + ..(5.127971,0.086124)\dpicstop +\dpicdraw[line width=0.4bp](5.127971,0.086124) circle (0.00109in)\dpicstop +\dpicdraw (5.127971,0.086124) + --(5.127971,0.086124)\dpicstop +\dpicdraw (4.914578,0.086124) + --(4.914578,-0.042433)\dpicstop +\dpicdraw[line width=0.4bp](4.914578,-0.042433) circle (0.00109in)\dpicstop +\dpicdraw (4.914578,-0.042433) + ..controls (4.95215,-0.024913) and (4.993496,-0.058097) + ..(4.984524,-0.098571) + ..controls (4.975551,-0.139044) and (4.924054,-0.151645) + ..(4.897407,-0.119888)\dpicstop +\dpicdraw[line width=0.4bp](4.897407,-0.119888) circle (0.00109in)\dpicstop +\dpicdraw (4.897407,-0.119888) + ..controls (4.927412,-0.084129) and (4.985709,-0.105347) + ..(4.985709,-0.152027) + ..controls (4.985709,-0.198708) and (4.927412,-0.219926) + ..(4.897407,-0.184167)\dpicstop +\dpicdraw[line width=0.4bp](4.897407,-0.184167) circle (0.00109in)\dpicstop +\dpicdraw (4.897407,-0.184167) + ..controls (4.927412,-0.148407) and (4.985709,-0.169626) + ..(4.985709,-0.216306) + ..controls (4.985709,-0.262987) and (4.927412,-0.284205) + ..(4.897407,-0.248445)\dpicstop +\dpicdraw[line width=0.4bp](4.897407,-0.248445) circle (0.00109in)\dpicstop +\dpicdraw (4.897407,-0.248445) + ..controls (4.924054,-0.216688) and (4.975551,-0.22929) + ..(4.984524,-0.269763) + ..controls (4.993496,-0.310236) and (4.95215,-0.34342) + ..(4.914578,-0.3259)\dpicstop +\dpicdraw[line width=0.4bp](4.914578,-0.3259) circle (0.00109in)\dpicstop +\dpicdraw (4.914578,-0.3259) + --(4.914578,-0.454458)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](5.186712,0.144693) + --(5.139836,0.093243) + --(5.207292,0.110393) --cycle\dpicstop +\dpicdraw (5.156415,0.103191) + --(5.236106,0.151005)\dpicstop +\draw (5.236106,0.151005) node[right=-2bp]{\sl P1}; +\filldraw[line width=0bp](5.207292,-0.478727) + --(5.139836,-0.461577) + --(5.186712,-0.513026) --cycle\dpicstop +\dpicdraw (5.156415,-0.471524) + --(5.236106,-0.519339)\dpicstop +\draw (5.236106,-0.519339) node[right=-2bp]{\sl P2}; +\filldraw[line width=0bp](5.208474,-0.164167) + --(5.141808,-0.184167) + --(5.208474,-0.204167) --cycle\dpicstop +\dpicdraw (5.161142,-0.184167) + --(5.234134,-0.184167)\dpicstop +\draw (5.234134,-0.184167) node[right=-2bp]{\sl TP}; +\filldraw[line width=0bp](4.835257,0.110393) + --(4.902713,0.093243) + --(4.855837,0.144693) --cycle\dpicstop +\dpicdraw (4.886134,0.103191) + --(4.806443,0.151005)\dpicstop +\draw (4.806443,0.151005) node[left=-2bp]{\sl S1}; +\filldraw[line width=0bp](4.855837,-0.513026) + --(4.902713,-0.461577) + --(4.835257,-0.478727) --cycle\dpicstop +\dpicdraw (4.886134,-0.471524) + --(4.806443,-0.519339)\dpicstop +\draw (4.806443,-0.519339) node[left=-2bp]{\sl S2}; +\filldraw[line width=0bp](4.834074,-0.204167) + --(4.900741,-0.184167) + --(4.834074,-0.164167) --cycle\dpicstop +\dpicdraw (4.881407,-0.184167) + --(4.808415,-0.184167)\dpicstop +\draw (4.808415,-0.184167) node[left=-2bp]{\sl TS}; +\draw (5.021274,-0.759142) node{\tt ...(,R,8,AW)}; +\dpiclw=0.8bp +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/Xform.m4 b/graphics/circuit_macros/doc/XformMan.m4 index 697d87fafa..697d87fafa 100644 --- a/graphics/circuit_macros/doc/Xform.m4 +++ b/graphics/circuit_macros/doc/XformMan.m4 diff --git a/graphics/circuit_macros/doc/bistable.m4 b/graphics/circuit_macros/doc/bistableMan.m4 index d158e10a04..d158e10a04 100644 --- a/graphics/circuit_macros/doc/bistable.m4 +++ b/graphics/circuit_macros/doc/bistableMan.m4 diff --git a/graphics/circuit_macros/doc/body.tex b/graphics/circuit_macros/doc/body.tex index 38aff51f3b..cbb2fdb058 100644 --- a/graphics/circuit_macros/doc/body.tex +++ b/graphics/circuit_macros/doc/body.tex @@ -45,7 +45,6 @@ \begin{multicols}{2} \tableofcontents \end{multicols} -%\enlargethispage{\baselineskip} % \xection{Introduction\label{Introduction:}} \begin{quotation}\noindent @@ -339,7 +338,6 @@ A derivative of this method that allows the insertion of You can put several diagrams into a single source file. Make each diagram the body of a \latex macro, as shown: -%\enlargethispage{\baselineskip} \par \verb|\newcommand{\diaA}{%|\NVL \verb|.PS|\NVL @@ -631,7 +629,6 @@ The exact typeset size of formatted text can be obtained as described in \SR{Interaction:}. The second occurrence associates one or more strings with an object, e.g., the following writes two words, one above the other, at the centre of an ellipse: -%\enlargethispage{\baselineskip} \verb|ellipse "\bf Stop" "\bf here"| @@ -725,7 +722,6 @@ the looping facility {\sl anything}\verb| }|, \noindent% -%\enlargethispage{\baselineskip} operating-system commands, \pic macros, and external file inclusion. \xection{Two-terminal circuit elements\label{Basictwo:}} @@ -831,14 +827,15 @@ were added after the previously shown source: \end{itemize} \subsection{The two-terminal elements\label{Twoterminal:}} -The two-terminal elements are shown in \FRS{CctTable} to~\REF{Diodes} -and \FRS{Fuses} to~\REF{Switches}. +The two-terminal elements are shown in \FRS{CctTable} +% to~\REF{Diodes} and \FRS{Fuses} +to~\REF{Switches}. Several elements are included more than once to illustrate some of their arguments, which are listed in \SR{defines}. \enlargethispage{\baselineskip} \begin{figure}[h!] - \input CctTable - \ifpdf\vspace*{-\baselineskip}\fi% + \input CctTableMan +% \ifpdf\vspace*{-\baselineskip}\fi% \caption{Basic two-terminal elements, showing some variations.} \label{CctTable} \end{figure} @@ -849,63 +846,56 @@ If the argument is blank, the element is drawn from the current position in the current drawing direction along a default length. The other arguments produce variants of the default elements. -\begin{figure}[t!] - \input Sources - \ifpdf\vspace*{-0.5\baselineskip}\fi% - \caption{Sources and source-like elements.} - \label{Sources} - \end{figure} -\begin{figure}[t!] - \input Diodes - \caption{The macro - {\tt diode(\linespec,B|CR|D|L|LE[R]|P[R]|S|T|V|v|w|Z|{\sl chars},[R][E])}. - Appending {\tt K} to the second argument draws an open arrowhead.} - \label{Diodes} +\begin{figure}[hbt] + \input AmpTableMan + \caption{Amplifier, delay, and integrator.} + \label{AmpTable} \end{figure} -Thus, for example, +Thus, for example, +\par {\tt resistor(up\_ 1.25,7)} - +\par \noindent% draws a resistor 1.25 units long up from the current position, with $7$ vertices per side. The macro {\tt up\_} evaluates to {\tt up} but also resets the current directional parameters to point up. -\FR{Emarrows} contains radiation-effect arrows for embellishing two-terminal -and other macros. -The arrow stems are named {\sl A1}, {\sl A2}, -and each pair is drawn in a \verb|[]| block, with -the names {\sl Head} and {\sl Tail} defined to -aid placement near another device. The second argument specifies -absolute angle in degrees (default 135 degrees). -\begin{figure}[h!t] - \input Emarrows - \caption{Radiation arrows: {\tt em\_arrows({\sl type, angle, length})}} - \label{Emarrows} +\begin{figure}[hbt] + \input SourcesMan +% \ifpdf\vspace*{-0.5\baselineskip}\fi% + \caption{Sources and source-like elements.} + \label{Sources} \end{figure} -The arrows are drawn relative to the diode direction by the {\tt LE} -option in \FR{Diodes}. For absolute arrow directions, one can -define a wrapper (see \SR{Writing:}) for the {\tt diode} macro to draw arrows -at 45 degrees, for example: -{\tt define(`myLED',`diode(`\$1'); em\_arrows(N,45) - with .Tail at last [].ne')} +The {\tt AC} and {\tt S} options of the {\tt source} macro in \FR{Sources} +illustrate the need +to draw a single cycle of a sinusoid or approximate sinusoid. +As a convenience, +the macro {\tt ACsymbol(at {\sl position, length, height,} + [A]U|D|L|R|{\sl degrees})} is included as an interface to +the {\tt sinusoid} macro. For example to add the sumbol to an ebox: +\par +{\tt ebox; $\lbrace$\ ACsymbol(at last [],{,},dimen\_/8) $\rbrace$} + +\begin{figure}[hbt] + \input DiodesMan + \caption{The macro + {\tt diode(\linespec,B|CR|D|L|LE[R]|P[R]|S|T|V|v|w|Z|{\sl chars},[R][E])}. + Appending {\tt K} to the second argument draws an open arrowhead.} + \label{Diodes} + \end{figure} \begin{figure}[t!] - \input Fuses + \input FusesMan \caption{Variations of the macros - {\tt fuse(\linespec, A|dA|B|C|D|E|S|HB|HC, {\sl wid}, {\sl ht})} + {\tt fuse(\linespec, A|dA|B|C|D|E|S|HB|HC|SB, {\sl wid}, {\sl ht})} and {\tt cbreaker(\linespec,L|R,D|T|TS)}.} \label{Fuses} \end{figure} \begin{figure}[t!] - \input AmpTable - \caption{Amplifier, delay, and integrator.} - \label{AmpTable} - \end{figure} -\begin{figure}[t!] - \input Switches + \input SwitchesMan \caption{The {\tt switch(\linespec,L|R,{\sl chars},L|B|D)} macro is a wrapper for the macros @@ -915,66 +905,89 @@ at 45 degrees, for example: {\tt dswitch(\linespec,R,W[ud]B[K] {\sl chars})} shown. The switch is drawn in the current drawing direction. A second-argument {\tt R} produces a mirror - image with respect to the drawing direction.} + image with respect to the drawing direction. + The separately defined macros {\tt Proxim} and {\tt Magn} + embellish switches in the second-last row.} \label{Switches} \end{figure} + Most of the two-terminal elements are oriented; that is, they have -a defined direction or polarity. Several element macros include an argument -that reverses polarity, but there is also a more general mechanism, -as follows. +a defined direction or polarity. Several element macros include an +argument that reverses polarity, but there is also a more general +mechanism, as follows. The first argument of the macro - +\par {\tt reversed(`}{\sl macro name}{\tt',}{\sl macro arguments}{\tt )} - +\par \noindent is the name of a two-terminal element in quotes, followed by the element arguments. The element is drawn with reversed direction. Thus, - +\par {\tt diode(right\_ 0.4); reversed(`diode',right\_ 0.4)} - +\par \noindent draws two diodes to the right, but the second one points left. +\begin{figure}[bt] + \input EmarrowsMan + \caption{Radiation arrows: {\tt em\_arrows({\sl type, angle, length})}} + \label{Emarrows} + \end{figure} Similarly, the macro - +\par {\tt resized(}{\sl factor},`{\sl macro name}',{\sl macro arguments}{\tt )} - +\par \noindent can be used to resize the body of an element by temporarily multiplying the {\tt dimen\_} macro by {\sl factor}. More general resizing should be done by redefining {\tt dimen\_} as described in \SR{Circuitscaling:}. These two macros can be nested; the following scales the above example by 1.8, for example - +\par {\tt resized(1.8,`diode',right\_ 0.4);} {\tt resized(1.8,`reversed',`diode',right\_ 0.4)} +\FR{Emarrows} contains radiation-effect arrows for embellishing two-terminal +and other macros. +The arrow stems are named {\sl A1}, {\sl A2}, +and each pair is drawn in a \verb|[]| block, with +the names {\sl Head} and {\sl Tail} defined to +aid placement near another device. The second argument specifies +absolute angle in degrees (default 135 degrees). +The arrows are drawn relative to the diode direction by the {\tt LE} +option in \FR{Diodes}. For absolute arrow directions, one can +define a wrapper (see \SR{Writing:}) for the {\tt diode} macro to draw arrows +at 45 degrees, for example: +\par +{\tt define(`myLED',`diode(`\$1'); em\_arrows(N,45) + with .Tail at last [].ne')} + \FR{Variable} shows some two-terminal elements with arrows or lines overlaid to indicate variability using the macro - +\par {\tt variable(`}{\sl element}{\tt',{\sl type},{\sl angle},{\sl length})}, \noindent -where {\sl type} is one of {\tt A, P, L, N,} with {\tt C} or {\tt S} +where {\sl type} is one of {\tt A, P, L, N, NN} with {\tt C} or {\tt S} optionally appended to indicate continuous or stepwise variation. Alternatively, this macro can be invoked similarly to the label macros in \SR{Labels:} by specifying an empty first argument; thus, the following line draws the resistor in \FR{Variable}: - +\par {\tt resistor(down\_ dimen\_); variable(,uN)} \begin{figure}[h!t] \vspace*{-\baselineskip} - \input Variable + \input VariableMan \caption{Illustrating {\tt variable(`{\sl element}',% -[A|P|L|[u]N][C|S],{\sl angle},{\sl length})}. - For example,\break {\tt variable(`capacitor(down\_ dimen\_)')} draws - the leftmost capacitor shown above, and {\tt variable(`resistor(down\_ - dimen\_)',uN)} draws the resistor. The default angle is +[A|P|L|[u]N]|[u]NN]][C|S],{\sl angle},{\sl length})}. + For example,\break {\tt variable(`resistor(down\_ dimen\_)',A)} draws + the leftmost resistor shown above, and {\tt variable(`resistor(down\_ + dimen\_)',uN)} draws the third resistor. The default angle is 45${}^{\circ}$, regardless of the direction of the element. The array on the right shows the effect of the second argument.} \label{Variable} @@ -988,7 +1001,6 @@ just been drawn. Many variations of this are possible: \verb|arrow right arrowht from last line.start+(alpha,0) "$i_1$" above| -%\enlargethispage{\baselineskip} Macros have been defined to simplify labelling two-terminal elements, as shown in \FR{currents}. The macro @@ -1000,7 +1012,7 @@ The macro draws an arrow from the start of the last-drawn two-terminal element {\sl frac} of the way toward the body. \begin{figure}[h!t] - \ifpdf\vspace*{-0.5\baselineskip}\fi% +% \ifpdf\vspace*{-0.5\baselineskip}\fi% \input currents \caption{Illustrating {\tt b\_current, larrow,} and {\tt rarrow}. The drawing direction is to the right.} @@ -1029,14 +1041,7 @@ argument is assumed to be in math mode unless it begins with {\tt sprintf} or a double quote, in which case the argument is copied literally. The third argument specifies the separation from the element. -%\begin{figure}[hbt] -% \input lrarrows -% \caption{The {\tt larrow} and {\tt rarrow} macros draw -% reference-direction arrows adjacent to the element.} -% \label{lrarrows} -% \end{figure} -\pagebreak% \subsection{Labels\label{Labels:}} Special macros for labeling two-terminal elements are included: \par @@ -1086,33 +1091,32 @@ assumed to be in math mode. The length and position of a two-terminal element are defined by a straight-line segment and, possibly, a direction, so four numbers are required to place the element as in the following example: - +\par {\tt resistor(from (1,1) to (2,1))}. \noindent However, \pic has a very useful concept of the current point (explicitly named {\tt Here}); thus, - +\par {\tt resistor(to (2,1))} - +\par \noindent is equivalent to - +\par {\tt resistor(from Here to (2,1)).} Any defined position can be used; for example, if {\sl C1} and {\sl L2} are names of previously defined two-terminal elements, then, for example, the following places the resistor: - +\par {\tt resistor(from L2.end to C1.start)} A line segment starting at the current position can also be defined using a direction and length. To draw a resistor up $d$ units from the current position, for example: - +\par {\tt resistor(up\_ d)} -\noindent \Pic stores the current drawing direction, the latter unfortunately limited to {\tt up, down, left, right,} which is assumed when necessary. @@ -1149,6 +1153,14 @@ The macro {\tt eleminit\_} in the two-terminal elements invokes to establish element length and direction. As shown in \FR{Oblique}, +\begin{figure}[h!b] +\vspace{-\baselineskip} + \parbox{4.5in}{\small \verbatiminput{Oblique.m4}}% + \hfill\raise-0.7in\llap{\hbox{\input Oblique }}% + \vspace{-\baselineskip} + \caption{Illustrating elements drawn at oblique angles.} + \label{Oblique} + \end{figure} ``{\tt Point\_(-30); resistor}'' draws a resistor along a line with slope of~-30 degrees, and ``{\tt rpoint\_(to Z)}'' sets the current direction cosines to point from the current location to location Z. @@ -1167,17 +1179,9 @@ The figure also illustrates that any commas within \Mfour arguments must be treated specially because the arguments are separated by commas. Argument commas are protected either by parentheses as in {\tt inductor(from Cr to Cr+vec\_(elen\_,0))}, or by multiple single quotes -as in {\tt ``,'',} as necessary. +as in {\tt `{`,'}',} as necessary. Commas also may be avoided by writing {\tt 0.5 between L and T} instead of {\tt 0.5<L,T>.} -\begin{figure}[h!t] -\vspace{-\baselineskip} - \parbox{4.5in}{\small \verbatiminput{Oblique.m4}}% - \hfill\raise-0.7in\llap{\hbox{\input Oblique }}% - \vspace{-\baselineskip} - \caption{Illustrating elements drawn at oblique angles.} - \label{Oblique} - \end{figure} \subsection{Series and parallel circuits\label{Seriesandparallel:}} @@ -1277,7 +1281,6 @@ element, {\tt Sep={\sl val}}; applies only to that branch. An element may have normal arguments but should not change the drawing direction. -%\pagebreak% \xection{Composite circuit elements\label{Composite:}} Many basic elements are not two-terminal. These elements are usually enclosed in a \verb|[ ]| \pic block, and contain named interior locations and components. @@ -1335,6 +1338,15 @@ drawn elements. A few composite symbols derived from two-terminal elements are shown in \FR{Composite}. + +The ground symbol is shown in \FR{Grounds}. +The first argument specifies position; for example, the two lines shown +have identical effect: +\par +{\tt move to (1.5,2); ground +\par +ground(at (1.5,2)) } + \begin{figure}[h!t] \vspace*{-0.5ex} \input Composite @@ -1344,15 +1356,8 @@ are shown in \FR{Composite}. \label{Composite} \end{figure} -The ground symbol is shown in \FR{Grounds}. -The first argument specifies position; for example, the two lines shown -have identical effect: - -{\tt move to (1.5,2); ground - -ground(at (1.5,2)) } - -\noindent The second argument truncates +%\noindent +The second argument truncates the stem, and the third defines the symbol type. The fourth argument specifies the angle at which the symbol is drawn, with D (down) the default. @@ -1361,10 +1366,10 @@ is set using the {\tt setdir\_( U|D|L|R|{\sl degrees, default} R|L|U|D|{\sl degrees} )} macro and reset at the end using {\tt resetdir\_}. \begin{figure}[ht!] - \input Grounds + \input GroundsMan \caption{The {\tt ground( at }{\sl position}{\tt, - T, N|F|S|L|P|E, U|D|L|R|{\sl degrees} )} + T, N|F|S|L|P[A]|E, U|D|L|R|{\sl degrees} )} macro.} \label{Grounds} \end{figure} @@ -1374,17 +1379,18 @@ The arguments of the macro T, A|L|T|S|D|P|F, U|D|L|R|{\sl degrees} )} shown in \FR{Antennas} are similar to those of {\tt ground}. \begin{figure}[h!t] - \input Antennas + \input AntennasMan \caption{Antenna symbols, with macro arguments shown above and terminal names below.} \label{Antennas} \end{figure} +\pagebreak \FR{Opamp} illustrates the macro {\tt opamp({\sl\linespec, - label, + label, size, chars})\label{OPAMP}}. -\begin{figure}[b!t] - \ifpdf\vspace*{-0.5\baselineskip}\fi% - \input Opamp +\begin{figure}[h!t] +% \ifpdf\vspace*{-0.5\baselineskip}\fi% + \input OpampMan \caption{Operational amplifiers. The {\tt P} option adds power connections. The second and third arguments can be used to place and rotate arbitrary text at {\tt In1} and {\tt In2}.} @@ -1415,7 +1421,7 @@ The code in \FR{oax} places an opamp with three connections. \begin{figure}[h!t] \parbox{4in}{\small \verbatiminput{oaxbody.m4}}% \quad\raise-0.2in\hbox{\input oax }% - \vspace{-\baselineskip} +% \vspace{-\baselineskip} \caption{A code fragment invoking the {\tt opamp(\linespec,-,+,{\sl size},[R][P])} macro.} \label{oax} @@ -1437,9 +1443,9 @@ and if it contains a {\tt W}, wide windings are drawn. A {\tt D1} puts phase dots at the {\sl P1, S1} end, {\tt D2} at the {\sl P2, S2} ends, and {\tt D12} or {\tt D21} puts dots at opposite ends. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\fi% - \input Xform - \vspace{-\baselineskip} +% \ifpdf\vspace*{-\baselineskip}\fi% + \input XformMan +% \vspace{-\baselineskip} \caption{The {\tt transformer(\linespec,L|R,{\sl np},% [A|P][W|L][D1|D2|D12|D21],{\sl ns})} macro (drawing direction {\tt down}), showing predefined terminal @@ -1447,13 +1453,13 @@ A {\tt D1} puts phase dots at the {\sl P1, S1} end, {\tt D2} at the \label{Xform} \end{figure} -%\enlargethispage{\baselineskip} +\pagebreak \FR{Audio} shows some audio devices, defined in {\tt []} blocks, with predefined internal locations as shown. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\fi% - \input Audio - \ifpdf\vspace*{-\baselineskip}\fi% +% \ifpdf\vspace*{-\baselineskip}\fi% + \input AudioMan +% \ifpdf\vspace*{-\baselineskip}\fi% \caption{Audio components: {\tt speaker(U|D|L|R|{\sl degrees},{\sl size},{\sl type}), bell, microphone, buzzer, @@ -1474,9 +1480,9 @@ The {\tt nport({\sl box specs {\tt[;} other commands{\tt]}, nw, nn, ne, ns, space ratio, pin lgth, style})} macro is shown in \FR{Nport}. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\fi - \input Nport - \ifpdf\vspace*{-\baselineskip}\fi +% \ifpdf\vspace*{-\baselineskip}\fi + \input NportMan +% \ifpdf\vspace*{-\baselineskip}\fi \caption{The {\tt nport} macro draws a sequence of pairs of named pins on each side of a box. The pin names are shown. The default is a twoport. The {\tt nterm} macro draws single pins instead of pin pairs.} @@ -1514,6 +1520,7 @@ immediately after drawing it but within the enclosing block: If this trick were to be used extensively, then the following custom wrapper would save typing, add the labels, and pass all arguments to {\tt nport}: +\pagebreak \begin{verbatim} define(`nullor',`nport(`$1' @@ -1523,9 +1530,9 @@ define(`nullor',`nport(`$1' The above example and the related gyrator macro are illustrated in \FR{NLG}. - \ifpdf\vspace*{\baselineskip}\fi% +% \ifpdf\vspace*{\baselineskip}\fi% \begin{figure}[h!t] - \input NLG + \input NLGMan \caption{The {\tt nullor} example and the {\tt gyrator} macro are customizations of the {\tt nport} macro.} \label{NLG} @@ -1535,9 +1542,9 @@ The double-throw switches shown in \FR{NPDT} are drawn in the current drawing direction like the two-terminal elements, but are composite elements that must be placed accordingly. \begin{figure}[h!t] - \ifpdf\vspace*{-0.5\baselineskip}\fi% - \input NPDT - \ifpdf\vspace*{-0.5\baselineskip}\fi% +% \ifpdf\vspace*{-0.5\baselineskip}\fi% + \input NPDTMan +% \ifpdf\vspace*{-0.5\baselineskip}\fi% \caption{Multipole double-throw switches drawn by {\tt NPDT({\sl npoles}, [R])}.} \label{NPDT} @@ -1549,8 +1556,8 @@ for the armature and normally closed and normally open terminals. An {\tt I} in the first argument draws open circles for contacts. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% - \input Contact +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% + \input ContactMan \vspace{-1ex} \caption{The {\tt contact({\sl chars})} macro (default drawing direction right) @@ -1558,11 +1565,12 @@ An {\tt I} in the first argument draws open circles for contacts. \label{Contact} \end{figure} +\pagebreak The {\tt contacts({\sl poles, chars})} macro in \FR{Contacts} draws multiple contacts. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% - \input Contacts +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% + \input ContactsMan \vspace{-1ex} \caption{The {\tt contacts({\sl poles, chars})} macro (drawing direction right).} @@ -1574,8 +1582,8 @@ For drawing relays, the macro shown in \FR{relaycoil} provides a choice of connection points and actuator types. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% - \input relaycoil +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% + \input relaycoilMan \vspace{-1ex} \caption{The {\tt relaycoil} macro.} \label{relaycoil} @@ -1585,8 +1593,8 @@ The {\tt relay({\sl poles, chars})} macro in \FR{Relay} defines coil terminals {\sl V1, V2} and contact terminals {\sl P$_i$, C$_i$, O$_i$.} \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% - \input Relay +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% + \input RelayMan \vspace{-1ex} \caption{The {\tt relay({\sl poles, chars})} macro (drawing direction right).} @@ -1597,7 +1605,7 @@ The {\tt jack} and {\tt plug} macros and their defined points are illustrated in \FR{Jack}. The first argument of both macros establishes the drawing direction. \begin{figure}[h!t] - \input Jack + \input JackMan \vspace{-1ex} \caption{The {\tt jack(U|D|L|R|{\sl degrees}, {\sl chars})} and {\tt plug(U|D|L|R|{\sl degrees},[2|3][R])} components @@ -1616,48 +1624,31 @@ The {\tt jack} and {\tt plug} macros and their defined points are or {\tt S[M|B]} substrings add auxiliary contacts with specified make or break points. -A basic winding macro for magnetic-circuit sketches and similar figures -is shown in \FR{Windings}. -For simplicity, the complete spline -is first drawn and then blanked in appropriate places using the background -(core) color (\verb!lightgray! for example, default \verb!white!). -\begin{figure}[h!t] - \vspace*{-\baselineskip}% -% \ifpdf\vspace*{-2\baselineskip}\else \vspace{-\baselineskip}\fi - \input Windings - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-1ex}\fi - \caption{The {\tt winding(L|R, diam, pitch, turns, core wid, core color)} - macro draws a coil with axis along the current drawing direction. - Terminals {\tt T1} and {\tt T2} are defined. - Setting the first argument to {\tt R} draws a right-hand winding.} - \label{Windings} - \end{figure} - A macro for drawing headers is in \FR{Headers}, and some experimental connectors are shown in \FR{Conn} and \FR{Pconn}. The {\tt tstrip} macro allows ``{\sl key}{\tt =}{\sl value}{\tt ;}'' arguments +for width and height. \begin{figure}[h!t] - \ifpdf\vspace*{-0.5\baselineskip}\fi% - \input Headers - \ifpdf{\vspace*{-0.5ex}}\fi% +% \ifpdf\vspace*{-0.5\baselineskip}\fi% + \input HeadersMan +% \ifpdf{\vspace*{-0.5ex}}\fi% \caption{Macro {\tt Header(1|2, {\sl rows, wid, ht, type})}.} \label{Headers} \end{figure} -for width and height. \begin{figure}[h!t] - \input Conn - \ifpdf{\vspace*{-0.5ex}}\fi% + \input ConnMan +% \ifpdf{\vspace*{-0.5ex}}\fi% \caption{Macros {\tt tstrip(R|L|U|D|{\sl degrees}, {\sl chars})}, {\tt ccoax(at} {\sl location}, {\tt M|F, {\sl diameter})}, {\tt tconn(\linespec, >|>>|<|<<|O[F], {\sl wid})}, and {\tt tbox({\sl text, wid, ht}, <|>|<>,{\sl type})}. } \label{Conn} - \ifpdf{\vspace*{-1ex}}\fi% +% \ifpdf{\vspace*{-1ex}}\fi% \end{figure} \begin{figure}[h!t] - \ifpdf{\vspace*{-1ex}}\fi% - \input Pconn - \ifpdf{\vspace*{-0.5ex}}\fi% +% \ifpdf{\vspace*{-1ex}}\fi% + \input PconnMan +% \ifpdf{\vspace*{-0.5ex}}\fi% \caption{A small set of power connectors drawn by {\tt pconnex(R|L|U|D|}{\sl degrees, chars}{\tt)}. Each connector has an internal {\tt H}, {\tt N}, and where applicable, a {\tt G} shape.} @@ -1665,6 +1656,23 @@ for width and height. \end{figure} \pagebreak +A basic winding macro for magnetic-circuit sketches and similar figures +is shown in \FR{Windings}. +For simplicity, the complete spline +is first drawn and then blanked in appropriate places using the background +(core) color (\verb!lightgray! for example, default \verb!white!). +\begin{figure}[h!t] + \vspace*{-\baselineskip}% +% \ifpdf\vspace*{-2\baselineskip}\else \vspace{-\baselineskip}\fi + \input WindingsMan +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-1ex}\fi + \caption{The {\tt winding(L|R, diam, pitch, turns, core wid, core color)} + macro draws a coil with axis along the current drawing direction. + Terminals {\tt T1} and {\tt T2} are defined. + Setting the first argument to {\tt R} draws a right-hand winding.} + \label{Windings} + \end{figure} + \subsection{Semiconductors\label{Semiconductors:}}% \FR{Bip} shows the variants of bipolar transistor macro {\tt bi\_tr(\linespec,L|R,P,E)} @@ -1672,9 +1680,9 @@ which contains predefined internal locations {\sl E}, {\sl B}, {\sl C}. The first argument defines the distance and direction from {\sl E} \begin{figure}[h!t] - \ifpdf\vspace*{-0.5\baselineskip}\fi% - \input Bip - \ifpdf\vspace*{-0.5\baselineskip}\fi% +% \ifpdf\vspace*{-0.5\baselineskip}\fi% + \input BipMan +% \ifpdf\vspace*{-0.5\baselineskip}\fi% \caption{Variants of bipolar transistor {\tt bi\_tr(\linespec,L|R,P,E)} (current direction upward).} \label{Bip} @@ -1727,15 +1735,15 @@ and a thyristor macro with predefined internal locations {\sl A,} {\sl K} is in \FR{thyristor}. Except for the {\sl G} terminal, a thyristor (the {\tt IEC} variant excluded) \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% - \input ujt - \ifpdf\vspace*{-0.5\baselineskip}\fi% +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% + \input ujtMan +% \ifpdf\vspace*{-0.5\baselineskip}\fi% \caption{UJT devices, with current drawing direction {\tt up\_}. } \label{ujt} \end{figure} \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% - \input thyristor +% \ifpdf\vspace*{-\baselineskip}\else\vspace*{-0.5\baselineskip}\fi% + \input thyristorMan \vspace*{-1ex} \caption{The top two rows illustrate use of the {\tt thyristor({\sl linespec, chars})} macro, @@ -1761,9 +1769,9 @@ Some FETs with predefined internal locations {\sl S,} {\sl D,} and {\sl G} are also included, with similar arguments to those of {\tt bi\_tr,} as shown in \FR{fet}. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\fi% - \input fet - \ifpdf\vspace*{-\baselineskip}\fi% +% \ifpdf\vspace*{-\baselineskip}\fi% + \input fetMan +% \ifpdf\vspace*{-\baselineskip}\fi% \caption{JFET, insulated-gate enhancement and depletion MOSFETs, and simplified versions. These macros are wrappers that invoke the {\tt mosfet} @@ -1791,7 +1799,6 @@ temporarily for compatibility. This system allows considerable freedom in choosing or customizing components, as illustrated in \FR{fet}. -%\pagebreak The number of possible semiconductor symbols is very large, so these macros must be regarded as prototypes. Often an element is a minor modification of existing elements. For example, @@ -1800,8 +1807,8 @@ the {\tt thyristor(\linespec, {\sl chars})} macro illustrated in Another example is the {\tt tgate} macro shown in \FR{Tgate}, which also shows a pass transistor. \begin{figure}[h!t] - \ifpdf\vspace*{-\baselineskip}\fi% - \input Tgate +% \ifpdf\vspace*{-\baselineskip}\fi% + \input TgateMan \caption{The {\tt tgate({\sl linespec,} [B][R|L])} element, derived from a customized diode and {\tt ebox}, and the {\tt ptrans(\linespec, [R|L])} macro. @@ -1811,14 +1818,15 @@ also shows a pass transistor. \label{Tgate} \end{figure} +\pagebreak Some other non-two-terminal macros are {\tt dot}, which has an optional argument ``{\tt at} {\sl location}'', the line-thickness macros, the {\tt fill\_} macro, and {\tt crossover}, which is a useful if archaic method to show non-touching conductor crossovers, as in \FR{bistable}. \begin{figure}[h!t] - \input bistable - \vspace{-1ex} + \input bistableMan +% \vspace{-1ex} \caption{Bipolar transistor circuit, illustrating {\tt crossover} and colored elements.} \label{bistable} @@ -1826,13 +1834,12 @@ archaic method to show non-touching conductor crossovers, as in This figure also illustrates how elements and labels can be colored using the macro - +\par {\tt rgbdraw({\sl r}, {\sl g}, {\sl b}, {\sl drawing commands})} - +\par \noindent where the {\sl r, g, b} values are in the range 0 to 1 -(integers from 0 to 255 for \SVG) - to specify the rgb color. +(integers from 0 to 255 for \SVG) to specify the rgb color. This macro is a wrapper for the following, which may be more convenient if many elements are to be given the same color: @@ -1917,7 +1924,7 @@ which have one input {\tt In1} unless they are given a first argument, which is treated as the line specification of a two-terminal element. \begin{figure}[h!] - \input Logic + \input LogicMan \caption{Basic logic gates. The input and output locations of a three-input NOR gate are shown. Inputs are negated by including an {\tt N} in the second argument letter sequence. A {\tt B} @@ -1977,27 +1984,6 @@ If the fifth argument begins with {\tt sprintf} or a double quote then the argument is copied literally; otherwise it is treated as scriptsize mathematics. -The macro {\tt BUFFER\_gate(\linespec,[N|B],{\sl wid},{\sl ht},% - [N|P]\char42,[N|P]\char42)} -is a wrapper for the composite element {\tt BUFFER\_gen}. -If the second argument is {\tt B}, then a box gate is drawn; otherwise -the gate is triangular. Arguments 5 and 6 determine the number of defined -points along the northeast and southeast edges respectively, with an {\tt N} -adding a NOT circle. -If the first argument is non-blank however, then the buffer is drawn along -an invisible line like a two-terminal element, which is convenient sometimes -but requires internal locations of the block to be referenced using -{\tt last []}, as shown in \FR{Buffer}. -\begin{figure}[h!t] - \input Buffer - \caption{The {\tt BUFFER\_gate} and {\tt BUFFER\_gen} macros. - The bottom two examples show how the gate can be drawn as a two-terminal - macro but internal block locations must be referenced using - {\tt last []}.} - \label{Buffer} - \end{figure} - -%\pagebreak A good strategy for drawing complex logic circuits might be summarized as follows: \begin{itemize}\itemsep=0pt @@ -2021,17 +2007,37 @@ as follows: \end{itemize} \end{itemize} +The macro {\tt BUFFER\_gate(\linespec,[N|B],{\sl wid},{\sl ht},% + [N|P]\char42,[N|P]\char42)} +is a wrapper for the composite element {\tt BUFFER\_gen}. +If the second argument is {\tt B}, then a box gate is drawn; otherwise +the gate is triangular. Arguments 5 and 6 determine the number of defined +points along the northeast and southeast edges respectively, with an {\tt N} +adding a NOT circle. +If the first argument is non-blank however, then the buffer is drawn along +an invisible line like a two-terminal element, which is convenient sometimes +but requires internal locations of the block to be referenced using +{\tt last []}, as shown in \FR{Buffer}. +\begin{figure}[h!t] + \input Buffer + \caption{The {\tt BUFFER\_gate} and {\tt BUFFER\_gen} macros. + The bottom two examples show how the gate can be drawn as a two-terminal + macro but internal block locations must be referenced using + {\tt last []}.} + \label{Buffer} + \end{figure} + \FR{Multiplexer} shows a multiplexer block with variations, and \FR{Demultiplexer} shows the very similar demultiplexer. \begin{figure}[h!t] - \input Multiplexer + \input MultiplexerMan \caption{The {\tt Mux({\sl input count}, {\sl label}, [L][B|H|X][N[$n$]|S[$n$]][[N]OE],{\sl wid},{\sl ht})} macro.} \label{Multiplexer} \end{figure} \begin{figure}[h!t] - \input Demultiplexer + \input DemultiplexerMan \caption{The {\tt Demux({\sl input count}, {\sl label}, [L][B|H|X][N[$n$]|S[$n$]][[N]OE],{\sl wid},{\sl ht})} macro.} \label{Demultiplexer} @@ -2047,7 +2053,7 @@ leftpins, toppins, rightpins, bottompins, pinlength}{\tt )}. \caption{The {\tt FlipFlop} and {\tt FlipFlopX} macros, with variations.} \label{FlipFlops} \end{figure} -The first argument modifies the box (labelled Chip) default specification. +The first argument modifies the box (labelled {\sl Chip}) default specification. Each of arguments 3 to 6 is null or a string of {\sl pinspecs} separated by semicolons ({\tt;}). A {\sl pinspec} is either empty (null) or of the form @@ -2062,13 +2068,12 @@ base. Semicolons are not allowed in labels; use e.g., \verb|\char59{}| instead. To put a bar over a label, use {\tt lg\_bartxt(}{\sl label}{\tt)}. The {\sl pinopts} are {\tt [L|M|I|O][N][E]} as for the \verb|lg_pin| macro. -Option argument 7 is the pin length in drawing units. +Optional argument 7 is the pin length in drawing units. -\pagebreak Customized gates can be defined simply. For example, the following code defines the custom flipflops in \FR{ShiftR}. \begin{figure}[h!t] - \input ShiftR + \input ShiftRMan \caption{A 5-bit shift register.} \label{ShiftR} \end{figure} @@ -2077,7 +2082,7 @@ define(`customFF',`FlipFlopX(wid 10*L_unit ht FF_ht*L_unit,, :S;NE:CK;:R, N:PR, :Q;;ifelse(`$1',1,:lg_bartxt(Q)), N:CLR) ') \end{verbatim} This definition makes use of macros \verb|L_unit| and -\verb|FF_ht| that predefine dimensions. +\verb|FF_ht| that predefine default dimensions. There are three pins on the right side; the centre pin is null and the bottom is null if the first macro argument is 1. @@ -2088,7 +2093,7 @@ of which can be specified as macro arguments. \begin{figure}[h!t] % \ifpdf\vspace*{-\baselineskip}\fi% \input Dac - \ifpdf\vspace*{-\baselineskip}\fi% +% \ifpdf\vspace*{-\baselineskip}\fi% \caption{The {\tt dac({\sl width,height},nIn,nN,nOut,nS)} and {\tt adc({\sl width,height},nIn,nN,nOut,nS)} macros.} \label{Dac} @@ -2097,6 +2102,52 @@ of which can be specified as macro arguments. In addition to the logic gates described here, some experimental IC chip diagrams are included with the distributed example files. +\xection{Integrated circuits\label{ICs:}} +Developing a definitive library of integrated circuits is problematic +because context may determine how they should be drawn. Logical clarity +may require drawing a functional diagram in which the connection pins are +not in the physical order of a terminal diagram, for example. Circuit +boards and connectors are similar. Although the geometries are simple, +managing lists of pin locations and labels can be tedious and repetitive. + +The many-argument macro + {\tt lg\_pin( {\sl location, label, Picname,} n|e|s|w [L|M|I|O][N][E], + {\sl pinno, optional length})} +can be used to draw a variety of pins as illustrated in the \FR{sampleIC}. +To draw the left-side pins, for example, one can write +\begin{verbatim} + lg_pin( U.nw-(0,lg_pinsep), Vin, Pin1, w ) + lg_pin( U.nw-(0,2*lg_pinsep),,, wL ) +\end{verbatim} +\noindent +and so on. +\begin{figure}[h!] + \parbox{\textwidth}{\small\verbatiminput{sampleIC.m4}}% + \hfill\llap{\raise-0.15in\hbox{\input sampleIC }}% + \vspace*{-\baselineskip}% + \caption{ An imaginary 16-pin integrated circuit and its code. + Pin variations defined by the first {\tt Loopover\_} + are shown on the left; and text, pic labels, and pin + numbers are defined on the right. + The third and successive arguments of the second + {\tt Loopover\_} + are {\tt ;}-separated pin number, text, and pin type. The + semicolons are changed to commas by the {\tt patsubst} \Mfour\ macro + and the {\tt Upin} macro gives the resulting arguments to {\tt lg\_pin}. +\label{sampleIC}}% + \end{figure} +Each pin can also be given a \pic\ name, some text +to indicate function, and a number. + +To reduce the tedium of adding the pins by hand, a list +can be given to the +{\tt Loopover\_(\char96{}variable\char39, +\char96{}{\sl actions}\char39, +{\sl value1, value2, $\ldots$})} +which executes the given actions successively with + {\sl variable} = {\sl value1}, {\sl value2} $ldots$ and the + counter {\tt m4Lx} set to 1, 2, $\ldots$ as in the diagram. + \xection{Element and diagram scaling\label{Scaling:}} There are several issues related to scale changes. You may wish to use @@ -2217,6 +2268,7 @@ If you develop a library of custom macros in the installation directory then the statement {\tt include(}{\sl mylibrary}{\tt.m4)} can bring its definitions into play. +\enlargethispage{\baselineskip} It may not be necessary to define your own macro if all that is needed is a small addition to an existing element that is defined in an enclosing \verb|[ ]| block. After the element arguments are expanded, @@ -2235,10 +2287,6 @@ to defer macro expansion. Macro arguments are referenced inside a macro by number; thus {\tt \$1} refers to the first argument. A few examples will be given. -\pagebreak -%\enlargethispage{\baselineskip} -%\noindent\hbox{}\\ {\bf Example 1:} -%\par\noindent {\bf Example 1:} \Example{1} Custom two-terminal elements can often be defined by writing a wrapper for an existing element. For example, an enclosed thermal switch @@ -2253,7 +2301,6 @@ can be defined as shown in \FR{Thermal}. \label{Thermal} \end{figure} -%\par\noindent {\bf Example 2:} \Example{2} In the following, two macros are defined to simplify the repeated drawing @@ -2261,27 +2308,19 @@ of a series resistor and series inductor, and the macro {\tt tsection} defines a subcircuit that is replicated several times to generate \FR{Tline}. {\small \verbatiminput{Tline.m4}} \begin{figure}[h!] - \ifpdf\vspace*{-\baselineskip}\fi% +% \ifpdf\vspace*{-\baselineskip}\fi% \input Tline \caption{A lumped model of a transmission line, illustrating the use of custom macros.} \label{Tline} \end{figure} -\pagebreak \Example{3} %\par\noindent {\bf Example 3:} Composite elements containing several basic elements may be required. \FR{HybridPi} shows a circuit that can be drawn in any reference direction prespecified by {\tt Point\_({\sl degrees})}, containing labels that always appear in their natural horizontal orientation. -\begin{figure}[h!t] - \vspace*{-0.5ex} - \input HybridPi - \vspace*{-0.5ex} - \caption{A composite element containing several basic elements} - \label{HybridPi} - \end{figure} Two flags in the argument determine the circuit orientation with respect to the current drawing direction and whether a mirrored circuit is drawn. The key to writing such a macro is to observe that the \pic language @@ -2321,10 +2360,15 @@ define(`hybrid_PI_BJT', `"$\mathrm{r_o}$"' at Ro.c+vec_(hunit/4,0) `$2' ] ') \end{verbatim} +\begin{figure}[h!t] + \vspace*{-0.5ex} + \input HybridPi + \vspace*{-0.5ex} + \caption{A composite element containing several basic elements} + \label{HybridPi} + \end{figure} -\pagebreak \Example{4} -%\par\noindent {\bf Example 4:} A number of elements have arguments meant explicitly for customization. \FR{Sinus} customizes the {\tt source} macro to show a cycle of a horizontal sinusoid with adjustable phase given by argument 2 in degrees, @@ -2347,9 +2391,7 @@ $3,$4,$5)') \end{figure} \Example{5} -%\par\noindent {\bf Example 5:} Repeated subcircuits might have different orientations -% but the potential orientations often that include only the element and its mirror image, for example, so the power of the \verb|vec_()| and \verb|rvec_()| macros is not required. @@ -2363,7 +2405,7 @@ orientation as shown in \FR{Opto}. \end{figure} The macro interface could be something like the following: - +\par {\tt opto( [L|R][A|B] )}, \noindent where an {\tt R} in the argument string signifies a right-left @@ -2372,7 +2414,7 @@ that is, there are two related elements that might be drawn in either orientation, for a total of four possibilities. Those who find such an interface to be too cryptic might prefer to invoke the macro as - +\par {\tt opto(orientation=Rightleft;type=B)}, \noindent @@ -2588,9 +2630,11 @@ define(`Q\_d',0.0pt\_\_)dnl} These definitions are required by the \verb|boxdim| macro described below. +\vbox{\strut The \latex macro - +\par \verb|\boxdimfile{|{\sl dimension file}\verb|}| +} \noindent is used to specify an alternative to {\sl jobname.}\verb|dim| as the dimension file to be written. This simplifies cases where {\sl jobname} @@ -2661,6 +2705,12 @@ libgen.m4}, to convert points to drawing coordinates. Sometimes a label needs a plain background in order to blank out previously drawn components overlapped by the label, as shown on the left of \FR{fbox}. +\begin{figure}[h!b] + \input woodchips + \vspace{-0.5\baselineskip} + \caption{Illustrating the {\tt f\_box} macro.} + \label{fbox} + \end{figure} The technique illustrated in \FR{boxdims} is automated by the macro {\tt f\_box(}{\sl boxspecs}, {\sl label arguments}{\tt )}. @@ -2675,15 +2725,8 @@ Otherwise, the first argument specifies the box characteristics \noindent% For example, the result of the following command is shown on the right of \FR{fbox}. - +\par \verb|f_box(color "lightgray" thickness 2 rad 2pt__,"\huge$n^{%g}$",4-1)| -\begin{figure}[h!b] -%\begin{figure}[b!] - \input woodchips - \vspace{-0.5\baselineskip} - \caption{Illustrating the {\tt f\_box} macro.} - \label{fbox} - \end{figure} More tricks can be played. The example @@ -2699,6 +2742,7 @@ with {\tt boxcoord(}{\sl object name}{\tt,0,0)} at the lower left corner of the object, and {\tt boxcoord(}{\sl object name}{\tt,1,1)} at its upper right. +\pagebreak \xection{\PSTricks and other tricks\label{Pstricks:}} This section applies only to a \pic processor (\dpic) that is capable of producing output compatible with @@ -2833,23 +2877,26 @@ to the desired output, whereas \dpic can generate several alternative formats, as shown in \FR{Workflow}. One of the easiest methods for producing web documents is to generate postscript as usual and to -convert the result to pdf format with Adobe -Distiller -%\Textregistered -or equivalent. +convert the result to pdf format with Adobe Distiller or equivalent. +\begin{figure}[h!b] +% \ifpdf\vspace*{-\baselineskip}\fi% + \input Workflow +% \ifpdf\vspace*{-\baselineskip}\fi% + \caption{Output formats produced by \gpic {\tt -t} and \dpic. + SVG output can be read by Inkscape or used directly in web documents.} + \label{Workflow} + \end{figure} PDFlatex produces pdf without first creating a postscript file but does not handle \tpic \verb|\special|s, so \dpic must be installed. -%\enlargethispage{\baselineskip} Most PDFLatex distributions are not directly compatible with \PSTricks, but the \TPGF output of \dpic is compatible with both \latex and PDFLatex. Several alternative \dpic output formats such as \mfpic and \MetaPost also work well. To test \MetaPost, create a file {\sl filename}{\tt .mp} containing appropriate header lines, for example: -%\pagebreak \begin{verbatim} verbatimtex \documentclass[11pt]{article} @@ -2890,14 +2937,6 @@ The \dpic processor is capable of other output formats, as illustrated in \FR{Workflow} and in example files included with the distribution. The \latex drawing commands alone or with {\tt eepic} or {\tt pict2e} extensions are suitable only for simple diagrams. -\begin{figure}[h!b] -% \ifpdf\vspace*{-\baselineskip}\fi% - \input Workflow - \ifpdf\vspace*{-\baselineskip}\fi% - \caption{Output formats produced by \gpic {\tt -t} and \dpic. - SVG output can be read by Inkscape or used directly in web documents.} - \label{Workflow} - \end{figure} \xection{Developer's notes\label{Developersnotes:}} Years ago in the course of writing a book, I took a few days off to diff --git a/graphics/circuit_macros/doc/defines.tex b/graphics/circuit_macros/doc/defines.tex index 8e21bba0ec..cb3a1a5dae 100644 --- a/graphics/circuit_macros/doc/defines.tex +++ b/graphics/circuit_macros/doc/defines.tex @@ -34,6 +34,13 @@ \macrodef{abs\_}{abs_}{({\sl number})} {gen} {absolute value function} +\macrodef{ACsymbol}{ACsymbol}{(at {\sl position, len, ht,} + [A]U|D|L|R|{\sl degrees}) } + {cct} + {draw an AC symbol ( 1-cycle sine wave); If arg 4 contains A, two arcs + are drawn. The current drawing direction is default, otherwise Up, Down, + Left, Right, or at {\sl degrees} slant; e.g., + {\tt ebox; $\lbrace$ ACsymbol(at last [],{,}dimen\_/8) $\rbrace$} } \macrodef{adc}{adc}{({\sl width,height,nIn,nN,nOut,nS})} {cct} {ADC with defined width, height, and number of inputs {\tt In$i$}, @@ -630,6 +637,7 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,% MMR = momentary contact on make and release, O = hand operation button, P = pushbutton, + Pr{\tt [T|M]} = proximity (touch-sensitive or magnetically controlled), Th = thermal control linkage, Tr = tripping, Y = pull switch, @@ -769,7 +777,7 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,% \macrodef{fuse}{fuse}{({\sl linespec, type, wid, ht})} {cct} {fuse symbol, type$=$ - {\tt A|B|C|D|S|HB|HC} or {\tt dA=D}\seesect{Twoterminal:}} + {\tt A|B|C|D|S|HB|HC|SB} or {\tt dA=D}\seesect{Twoterminal:}} \macrodef{g\_}{g_}{} {gen} {green color value} @@ -801,12 +809,14 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,% \macrodef{grid\_}{grid_}{({\sl x},{\sl y})} {log} {absolute grid location} -\macrodef{ground}{ground}{(at {\sl location}, T, N|F|S|L|P|E, U|D|L|R|{\sl +\macrodef{ground}{ground}{(at {\sl location}, T, N|F|S|L|P[A]|E, U|D|L|R|{\sl degrees})} {cct} { ground, without stem for nonblank 2nd arg; {\tt N}=normal, {\tt F}=frame, {\tt S}=signal, {\tt L}=low-noise, - {\tt P}=protective, {\tt E}=European; up, down, left, right, or angle + {\tt P}=protective, + {\tt PA}=protective alternate, + {\tt E}=European; up, down, left, right, or angle from horizontal (default -90) \seesect{Composite:}} \macrodef{gshade}{gshade}{({\sl gray value},A,B,...,Z,A,B)} @@ -821,9 +831,13 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,% \macrodef{H\_ht}{H_ht}{} {log} {hysteresis symbol dimension in {\tt L\_unit}s} -\macrodef{Header}{Header}{(1|2,{\sl rows,wid,ht,type})} +\macrodef{Header}{Header}{(1|2,{\sl rows,wid,ht,box attributes})} {log} - {Header block with 1 or 2 columns and square Pin 1 + {Header block with 1 or 2 columns and square Pin 1: + arg1 = number of columns; + arg2 = pins per column; + arg3,4 = custom wid, ht; + arg5 = e.g., {\tt fill\_(0.9)} \seesect{Composite:}} \macrodef{HeaderPin}{HeaderPin}{({\sl location, type, Picname},% n|e|s|w,{\sl length})} @@ -981,13 +995,19 @@ n|e|s|w,{\sl length})} \macrodef{lg\_bartxt}{lg_bartxt}{} {log} {draws an overline over logic-pin text (except for xfig)} -\macrodef{lg\_pin}{lg_pin}{({\sl location, logical name, pin label}, +\macrodef{lg\_pin}{lg_pin}{({\sl location, label, Picname}, n|e|s|w[L|M|I|O][N][E], {\sl pinno, optlen})} {log} - {comprehensive logic pin; {\tt n|e|s|w}=direction, - {\tt L}=active low out, {\tt M}=active low in, - {\tt I}=inward arrow, {\tt O}=outward arrow, - {\tt N}=negated, {\tt E}=edge trigger} + {comprehensive logic pin; + {\sl label}= text (indicating logical pin function, usually), + {\sl Picname}= pic label for referring to the pin (line), + {\tt n|e|s|w}=orientation (north, south, east, west), + {\tt L}=active low out, + {\tt M}=active low in, + {\tt I}=inward arrow, + {\tt O}=outward arrow, + {\tt N}=negated, + {\tt E}=edge trigger} \macrodef{lg\_pintxt}{lg_pintxt}{} {log} {reduced-size text for logic pins} @@ -1030,7 +1050,8 @@ n|e|s|w,{\sl length})} value2, $\ldots$})} {gen} {Repeat {\sl actions} with {\sl variable} set successively to - {\sl value1, value2, $\ldots$}, setting macro {\tt m4Lx} to 1, 2, $\ldots$} + {\sl value1, value2, $\ldots$}, setting macro {\tt m4Lx} to 1, 2, $\ldots$, + terminating if {\sl variable} is nul} \macrodef{lp\_xy}{lp_xy}{} {log} {coordinates used by {\tt lg\_pin}} @@ -1077,9 +1098,11 @@ n|e|s|w,{\sl length})} \macrodef{memristor}{memristor}{({\sl linespec, wid, ht})} {cct} {memristor element\seesect{Twoterminal:}} -\macrodef{microphone}{microphone}{( U|D|L|R|{\sl degrees, size})} +\macrodef{microphone}{microphone}{( A|U|D|L|R|{\sl degrees, size})} {cct} - {microphone, {\sl In1} to {\sl In3} defined + {microphone; if arg1 = A: upright mic, otherwise arg1 sets direction + of standard microphone with + {\sl In1} to {\sl In3} defined \seesect{Composite:}} \macrodef{Min}{Min}{({\sl arg, arg, $\ldots$})} {gen} @@ -1114,6 +1137,7 @@ n|e|s|w,{\sl length})} {\tt L:} G pin to channel (obsolete); {\tt [u][d]M:} G pin to channel; u: at drain end; d: at source end {\tt [u][d]M{\sl n}:} multiple gates G0 to G{\sl n} + {\tt Py:} parallel diode; {\tt Pz:} parallel zener diode; {\tt Q:} connect B pin to S pin; {\tt R:} thick channel; @@ -1278,6 +1302,9 @@ nw,nn,ne,ns,pin lgth,style, other commands})} %\macrodef{par\_}{par_}{({\sl element},{\sl element},{\sl separation})} % {cct} % {two same-direction, same-length elements in parallel} +\macrodef{proximity}{proximity}{(\sl linespec)} + {cct} + {proximity detector (= {\tt consource(,P)})} \macrodef{pc\_\_}{pc__}{} {gen} {absolute points} @@ -1659,15 +1686,22 @@ nw,nn,ne,ns,pin lgth,style, other commands})} e.g., to draw a dashed sine curve, amplitude {\sl a}, of {\sl n} cycles of length {\sl x} from {\sl A}, {\tt sinusoid(a,twopi\_*n/x,-pi\_/2,0,x,dashed) with .Start at A}} -\macrodef{source}{source}{(\linespec,V|v|I|i|AC|B|F|G|H|Q|L|N|P|S|T|X|U|{\sl - other},{\sl diameter},R)} - {cct} - {source, blank or voltage (2 types), current (2 types), AC, - or type F, G, Q, B, L, N, X or labelled, - H = step (Heaviside), - P = pulse, U = square, R = ramp, - S = sinusoid, T = triangle; other = custom interior label or waveform, - R = reversed polarity \seesect{Twoterminal:}} +\macrodef{source}{source}{(\linespec, + V|v|I|i|AC|B|F|G|H|J|Q|L|N|P|S[C[r]]|E[r]]|T|X|U|{\sl other}, + {\sl diameter},R)} + {cct} + {source, blank or: + V = voltage source; v = alternate voltage source; + I = current source; i = alternate current source; + AC = AC source; B = bulb; F = fluorescent; G = + generator; H = step function; L = lamp; + N = neon; P = pulse; Q = charge; R = ramp; r = right + orientation; S = sinusoid; SC = quarter arc; SE = + arc; T = triangle; U = square-wave; X = interior X; + other = custom interior label or waveform; + arg 4: R = reversed polarity; + arg 5 modifies the circle with e.g., color or fill + \seesect{Twoterminal:}} \macrodef{sourcerad\_}{sourcerad_}{} {cct} {default source radius} @@ -1881,11 +1915,14 @@ nw,nn,ne,ns,pin lgth,style, other commands})} {gen} {set current direction up \seesect{Placing:}} \macrodef{variable}{variable}{(`{\sl element}', - {\tt [A|P|L|[u]N][C|S]},{\sl angle},{\sl length})} + {\tt [A|P|L|[u]N|[u]NN][C|S]},{\sl angle},{\sl length})} {cct} {overlaid arrow or line to indicate variable 2-terminal element: {\tt A}=arrow, {\tt P}=preset, - {\tt L}=linear, {\tt N}=nonlinear, {\tt C}=continuous, {\tt S}=setpwise + {\tt L}=linear, + {\tt N}= symmetric nonlinear, + {\tt C}=continuous, {\tt S}=setpwise; {\tt u} changes the + nonlinearity direction \seesect{Twoterminal:}} \macrodef{Vcoords\_}{Vcoords_}{({\sl position})} {gen} diff --git a/graphics/circuit_macros/doc/fet.tex b/graphics/circuit_macros/doc/fet.tex new file mode 100644 index 0000000000..7fbd593d5a --- /dev/null +++ b/graphics/circuit_macros/doc/fet.tex @@ -0,0 +1,513 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,-0.175) + --(0.15,-0.175) + --(0.15,-0.16393)\dpicstop +\dpicdraw (0.5,-0.175) + --(0.35,-0.175) + --(0.35,-0.16393)\dpicstop +\dpicdraw (0.35,-0.175) + --(0.35,0)\dpicstop +\dpicdraw (0.125,0) + --(0.375,0)\dpicstop +\filldraw[line width=0bp](0.122222,0.083333) + --(0.15,0) + --(0.177778,0.083333) --cycle\dpicstop +\dpicdraw (0.15,0.175) + --(0.15,0.017568)\dpicstop +\dpicdraw (0.15,-0.175) + --(0.15,0)\dpicstop +\dpicdraw (0.25,0) circle (0.07874in)\dpicstop +\draw (0.875,-0.5) node{{\tt j\_fet(right\_ dimen\_,{,},E)}}; +\draw (0.15,0.175) node[above left=-2bp]{$G$}; +\draw (0,-0.175) node[left=-2bp]{$S$}; +\draw (0.5,-0.175) node[right=-2bp]{$D$}; +\dpicdraw (1.127778,-0.175) + --(1.127778,0)\dpicstop +\dpicdraw (0.902778,0) + --(1.152778,0)\dpicstop +\dpicdraw (0.927778,0) + --(0.927778,0.175)\dpicstop +\filldraw[line width=0bp](0.955556,0.066667) + --(0.927778,0.15) + --(0.9,0.066667) --cycle\dpicstop +\dpicdraw (0.927778,0.066667) + --(0.927778,0.132432)\dpicstop +\dpicdraw (0.927778,-0.175) + --(0.927778,0)\dpicstop +\draw (1.026389,-0.225) node[below=-2bp]{{\tt j\_fet(,{,}P,)}}; +\draw (0.927778,0.175) node[left=-2bp]{$G$}; +\draw (0.927778,-0.175) node[left=-2bp]{$S$}; +\draw (1.127778,-0.175) node[right=-2bp]{$D$}; +\dpicdraw (1.925,0.175) + --(1.925,0)\dpicstop +\filldraw[line width=0bp](1.897222,0.129167) + --(1.925,0.045833) + --(1.952778,0.129167) --cycle\dpicstop +\dpicdraw (1.925,0.129167) + --(1.925,0.063402)\dpicstop +\dpicdraw (2.025,0.175) + --(2.025,0)\dpicstop +\dpicdraw (1.8,0) + --(1.875,0)\dpicstop +\dpicdraw (1.9,0) + --(1.95,0)\dpicstop +\dpicdraw (1.975,0) + --(2.05,0)\dpicstop +\dpicdraw (2.025,-0.05) + --(1.825,-0.05) + --(1.825,-0.175)\dpicstop +\dpicdraw (1.925,0.16393) + --(1.925,0.175) + --(1.825,0.175) + --(1.825,0.16393)\dpicstop +\dpicdraw (1.825,0.175) + --(1.825,0)\dpicstop +\draw (1.925,-0.225) node[below=-2bp]{{\tt e\_fet(,R,{,})}}; +\draw (1.825,-0.175) node[left=-2bp]{$G$}; +\draw (1.825,0.175) node[left=-2bp]{$S$}; +\draw (2.025,0.175) node[right=-2bp]{$D$}; +\dpicdraw (1.925,-1.175) + --(1.925,-1)\dpicstop +\filldraw[line width=0bp](1.897222,-1.045833) + --(1.925,-1.129167) + --(1.952778,-1.045833) --cycle\dpicstop +\dpicdraw (1.925,-1.111598) + --(1.925,-1.045833)\dpicstop +\dpicdraw (2.025,-1.175) + --(2.025,-1)\dpicstop +\dpicdraw (1.8,-1) + --(1.875,-1)\dpicstop +\dpicdraw (1.9,-1) + --(1.95,-1)\dpicstop +\dpicdraw (1.975,-1) + --(2.05,-1)\dpicstop +\dpicdraw (2.025,-0.95) + --(1.825,-0.95) + --(1.825,-0.825)\dpicstop +\dpicdraw (1.925,-1.16393) + --(1.925,-1.175) + --(1.825,-1.175) + --(1.825,-1.16393)\dpicstop +\dpicdraw (1.825,-1.175) + --(1.825,-1)\dpicstop +\draw (2.025,-1.375) node[below=-2bp]{{\tt e\_fet(,{,}P)}}; +\dpicdraw (2.825,-0.175) + --(2.825,0)\dpicstop +\filldraw[line width=0bp](2.852778,-0.129167) + --(2.825,-0.045833) + --(2.797222,-0.129167) --cycle\dpicstop +\dpicdraw (2.825,-0.129167) + --(2.825,-0.063402)\dpicstop +\dpicdraw (2.925,-0.175) + --(2.925,0)\dpicstop +\dpicdraw (2.7,0) + --(2.95,0)\dpicstop +\dpicdraw (2.925,0.05) + --(2.725,0.05) + --(2.725,0.175)\dpicstop +\dpicdraw (2.825,-0.16393) + --(2.825,-0.175) + --(2.725,-0.175) + --(2.725,-0.16393)\dpicstop +\dpicdraw (2.725,-0.175) + --(2.725,0)\dpicstop +\draw (2.825,-0.225) node[below=-2bp]{{\tt d\_fet(,{,},)}}; +\dpicdraw (2.825,-1.175) + --(2.825,-1)\dpicstop +\filldraw[line width=0bp](2.797222,-1.045833) + --(2.825,-1.129167) + --(2.852778,-1.045833) --cycle\dpicstop +\dpicdraw (2.825,-1.111598) + --(2.825,-1.045833)\dpicstop +\dpicdraw (2.925,-1.175) + --(2.925,-1)\dpicstop +\dpicdraw (2.7,-1) + --(2.95,-1)\dpicstop +\dpicdraw (2.925,-0.95) + --(2.725,-0.95) + --(2.725,-0.825)\dpicstop +\dpicdraw (2.825,-1.16393) + --(2.825,-1.175) + --(2.725,-1.175) + --(2.725,-1.16393)\dpicstop +\dpicdraw (2.725,-1.175) + --(2.725,-1)\dpicstop +\draw (2.825,-1.225) node[below=-2bp]{{\tt d\_fet(,{,}P)}}; +\dpicdraw (3.827778,-0.1875) + --(3.827778,-0.0125)\dpicstop +\dpicdraw (3.602778,-0.0125) + --(3.852778,-0.0125)\dpicstop +\dpicdraw (3.627778,-0.1875) + --(3.627778,-0.0125)\dpicstop +\filldraw[line width=0bp](3.6,-0.058333) + --(3.627778,-0.141667) + --(3.655556,-0.058333) --cycle\dpicstop +\dpicdraw (3.627778,-0.124098) + --(3.627778,-0.058333)\dpicstop +\dpicdraw (3.627778,0.0375) + --(3.827778,0.0375)\dpicstop +\dpicdraw (3.727778,0.0375) + --(3.727778,0.1875)\dpicstop +\draw (3.726389,-0.2375) node[below=-2bp]{{\tt e\_fet(,{,},S)}}; +\dpicdraw (3.827778,-1.1875) + --(3.827778,-1.0125)\dpicstop +\dpicdraw (3.602778,-1.0125) + --(3.852778,-1.0125)\dpicstop +\dpicdraw (3.627778,-1.1875) + --(3.627778,-1.0125)\dpicstop +\filldraw[line width=0bp](3.655556,-1.141667) + --(3.627778,-1.058333) + --(3.6,-1.141667) --cycle\dpicstop +\dpicdraw (3.627778,-1.141667) + --(3.627778,-1.075902)\dpicstop +\dpicdraw (3.627778,-0.9625) + --(3.827778,-0.9625)\dpicstop +\dpicdraw (3.727778,-0.9625) + --(3.727778,-0.8125)\dpicstop +\draw (3.726389,-1.3875) node[below=-2bp]{{\tt e\_fet(,{,}P,S)}}; +\dpicdraw (4.727778,-0.1875) + --(4.727778,-0.0125)\dpicstop +\dpicdraw (4.502778,-0.0125) + --(4.752778,-0.0125)\dpicstop +\dpicdraw[line width=1.6bp](4.527778,-0.029104) + --(4.727778,-0.029104)\dpicstop +\dpicdraw (4.527778,-0.1875) + --(4.527778,-0.0125)\dpicstop +\filldraw[line width=0bp](4.5,-0.058333) + --(4.527778,-0.141667) + --(4.555556,-0.058333) --cycle\dpicstop +\dpicdraw (4.527778,-0.124098) + --(4.527778,-0.058333)\dpicstop +\dpicdraw (4.527778,0.0375) + --(4.727778,0.0375)\dpicstop +\dpicdraw (4.627778,0.0375) + --(4.627778,0.1875)\dpicstop +\draw (4.626389,-0.3875) node[below=-2bp]{{\tt d\_fet(,{,},S)}}; +\dpicdraw (4.727778,-1.1875) + --(4.727778,-1.0125)\dpicstop +\dpicdraw (4.502778,-1.0125) + --(4.752778,-1.0125)\dpicstop +\dpicdraw[line width=1.6bp](4.527778,-1.029104) + --(4.727778,-1.029104)\dpicstop +\dpicdraw (4.527778,-1.1875) + --(4.527778,-1.0125)\dpicstop +\filldraw[line width=0bp](4.555556,-1.141667) + --(4.527778,-1.058333) + --(4.5,-1.141667) --cycle\dpicstop +\dpicdraw (4.527778,-1.141667) + --(4.527778,-1.075902)\dpicstop +\dpicdraw (4.527778,-0.9625) + --(4.727778,-0.9625)\dpicstop +\dpicdraw (4.627778,-0.9625) + --(4.627778,-0.8125)\dpicstop +\draw (4.626389,-1.2375) node[below=-2bp]{{\tt d\_fet(,{,}P,S)}}; +\dpicdraw (5.6,-0.1625) + --(5.6,-0.0375)\dpicstop +\dpicdraw (5.4,-0.0375) + --(5.6,-0.0375)\dpicstop +\dpicdraw (5.4,-0.1625) + --(5.4,-0.0375)\dpicstop +\dpicdraw (5.4,0.0125) + --(5.6,0.0125)\dpicstop +\dpicdraw (5.5,0.0125) + --(5.5,0.1625)\dpicstop +\draw (5.5,-0.2125) node[below=-2bp]{{\tt c\_fet(,{,},)}}; +\dpicdraw (5.6,-1.1625) + --(5.6,-1.0375)\dpicstop +\dpicdraw (5.4,-1.0375) + --(5.6,-1.0375)\dpicstop +\dpicdraw (5.4,-1.1625) + --(5.4,-1.0375)\dpicstop +\dpicdraw (5.4,-0.9875) + --(5.6,-0.9875)\dpicstop +\dpicdraw (5.5,-0.954167) circle (0.013123in)\dpicstop +\dpicdraw (5.5,-0.920833) + --(5.5,-0.8375)\dpicstop +\draw (5.5,-1.3625) node[below=-2bp]{{\tt c\_fet(,{,}P)}}; +\dpicdraw (0.473333,-2.127778) + --(0.473333,-1.917778)\dpicstop +\dpicdraw (0.203333,-1.917778) + --(0.503333,-1.917778)\dpicstop +\filldraw[line width=0bp](0.2,-1.817778) + --(0.233333,-1.917778) + --(0.266667,-1.817778) --cycle\dpicstop +\dpicdraw (0.233333,-1.707778) + --(0.233333,-1.90021)\dpicstop +\dpicdraw (0.233333,-2.127778) + --(0.233333,-1.917778)\dpicstop +\draw (0.625,-2.227778) node{\tt mosfet(,{,}dGSDF,)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](0.176412,-1.797833) + --(0.233333,-1.757778) + --(0.163763,-1.759886) --cycle\dpicstop +\dpicdraw (0.214992,-1.763892) + --(0.083333,-1.807778)\dpicstop +\draw (0.083333,-1.807778) node[left=-2bp]{\tt dG}; +\filldraw[line width=0bp](0.296412,-1.957833) + --(0.353333,-1.917778) + --(0.283763,-1.919886) --cycle\dpicstop +\dpicdraw (0.334992,-1.923892) + --(0.053333,-2.017778)\dpicstop +\draw (0.053333,-2.017778) node[left=-2bp]{\tt F}; +\filldraw[line width=0bp](0.176412,-2.117833) + --(0.233333,-2.077778) + --(0.163763,-2.079886) --cycle\dpicstop +\dpicdraw (0.214992,-2.083892) + --(0.083333,-2.127778)\dpicstop +\draw (0.083333,-2.127778) node[left=-2bp]{\tt S}; +\filldraw[line width=0bp](0.542903,-2.079886) + --(0.473333,-2.077778) + --(0.530254,-2.117833) --cycle\dpicstop +\dpicdraw (0.491675,-2.083892) + --(0.623333,-2.127778)\dpicstop +\draw (0.623333,-2.127778) node[right=-2bp]{\tt D}; +\dpiclw=0.8bp +\dpicdraw (1.523333,-2.142778) + --(1.523333,-1.932778)\dpicstop +\dpicdraw (1.253333,-1.932778) + --(1.553333,-1.932778)\dpicstop +\dpicdraw (1.403333,-1.932778) + --(1.403333,-1.692778)\dpicstop +\filldraw[line width=0bp](1.436667,-1.852778) + --(1.403333,-1.752778) + --(1.37,-1.852778) --cycle\dpicstop +\dpicdraw (1.403333,-1.852778) + --(1.403333,-1.770346)\dpicstop +\dpicdraw (1.283333,-2.142778) + --(1.283333,-1.932778)\dpicstop +\draw (1.403333,-2.292778) node[below=-2bp]{\tt $\ldots$(,{,}uHSDF,)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](1.346412,-1.782833) + --(1.403333,-1.742778) + --(1.333763,-1.744886) --cycle\dpicstop +\dpicdraw (1.384992,-1.748892) + --(1.253333,-1.792778)\dpicstop +\draw (1.253333,-1.792778) node[left=-2bp]{\tt uH}; +\dpiclw=0.8bp +\dpicdraw (2.453333,-2.127778) + --(2.453333,-1.917778)\dpicstop +\filldraw[line width=0bp](2.486667,-2.072778) + --(2.453333,-1.972778) + --(2.42,-2.072778) --cycle\dpicstop +\dpicdraw (2.453333,-2.072778) + --(2.453333,-1.990346)\dpicstop +\dpicdraw (2.573333,-2.127778) + --(2.573333,-1.917778)\dpicstop +\dpicdraw (2.303333,-1.917778) + --(2.393333,-1.917778)\dpicstop +\dpicdraw (2.423333,-1.917778) + --(2.483333,-1.917778)\dpicstop +\dpicdraw (2.513333,-1.917778) + --(2.603333,-1.917778)\dpicstop +\dpicdraw (2.573333,-1.857778) + --(2.333333,-1.857778) + --(2.333333,-1.707778)\dpicstop +\dpicdraw (2.453333,-2.116708) + --(2.453333,-2.127778) + --(2.333333,-2.127778) + --(2.333333,-2.116708)\dpicstop +\dpicdraw (2.333333,-2.127778) + --(2.333333,-1.917778)\dpicstop +\draw (2.453333,-2.177778) node[below=-2bp]{\tt $\ldots$(,{,}dMEDSQuB,)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](2.276412,-1.797833) + --(2.333333,-1.757778) + --(2.263763,-1.759886) --cycle\dpicstop +\dpicdraw (2.314992,-1.763892) + --(2.183333,-1.807778)\dpicstop +\draw (2.183333,-1.807778) node[left=-2bp]{\tt dM}; +\filldraw[line width=0bp](2.370115,-1.962636) + --(2.423333,-1.917778) + --(2.354211,-1.925934) --cycle\dpicstop +\dpicdraw (2.405593,-1.925465) + --(2.123333,-2.047778)\dpicstop +\draw (2.123333,-2.047778) node[left=-2bp]{\tt E}; +\filldraw[line width=0bp](2.342649,-2.175481) + --(2.393333,-2.127778) + --(2.324761,-2.139703) --cycle\dpicstop +\dpicdraw (2.376041,-2.136424) + --(2.293333,-2.177778)\dpicstop +\draw (2.293333,-2.177778) node[left=-2bp]{\tt Q}; +\filldraw[line width=0bp](2.522903,-1.954886) + --(2.453333,-1.952778) + --(2.510254,-1.992833) --cycle\dpicstop +\dpicdraw (2.471675,-1.958892) + --(2.693333,-2.032778)\dpicstop +\draw (2.693333,-2.032778) node[right=-2bp]{\tt uB}; +\dpiclw=0.8bp +\dpicdraw (3.503333,-2.127778) + --(3.503333,-1.917778)\dpicstop +\filldraw[line width=0bp](3.536667,-2.072778) + --(3.503333,-1.972778) + --(3.47,-2.072778) --cycle\dpicstop +\dpicdraw (3.503333,-2.072778) + --(3.503333,-1.990346)\dpicstop +\dpicdraw (3.623333,-2.127778) + --(3.623333,-1.917778)\dpicstop +\dpicdraw (3.353333,-1.917778) + --(3.443333,-1.917778)\dpicstop +\dpicdraw (3.473333,-1.917778) + --(3.533333,-1.917778)\dpicstop +\dpicdraw (3.563333,-1.917778) + --(3.653333,-1.917778)\dpicstop +\dpicdraw (3.383333,-1.857778) + --(3.623333,-1.857778) + --(3.623333,-1.707778)\dpicstop +\dpicdraw (3.383333,-2.127778) + --(3.383333,-1.917778)\dpicstop +\draw (3.503333,-2.277778) node[below=-2bp]{{\tt $\ldots$(,{,}uMEDSuB)}}; +\draw (3.623333,-1.707778) node[left=-2bp]{$G$}; +\draw (3.383333,-2.127778) node[left=-2bp]{$S$}; +\draw (3.623333,-2.127778) node[right=-2bp]{$D$}; +\draw (3.503333,-2.127778) node[below=-2bp]{$B$}; +\dpicdraw (4.643333,-2.112778) + --(4.643333,-1.962778)\dpicstop +\dpicdraw (4.403333,-1.962778) + --(4.643333,-1.962778)\dpicstop +\dpicdraw (4.403333,-2.112778) + --(4.403333,-1.962778)\dpicstop +\dpicdraw (4.403333,-1.902778) + --(4.643333,-1.902778)\dpicstop +\dpicdraw (4.523333,-1.862778) circle (0.015748in)\dpicstop +\dpicdraw (4.523333,-1.822778) + --(4.523333,-1.722778)\dpicstop +\draw (4.523333,-2.162778) node[below=-2bp]{\tt $\ldots$(,{,}ZSDFdT,)}; +\dpiclw=0.4bp +\filldraw[line width=0bp](4.370335,-2.05406) + --(4.403333,-1.992778) + --(4.342051,-2.025776) --cycle\dpicstop +\dpicdraw (4.389662,-2.006449) + --(4.323333,-2.072778)\dpicstop +\draw (4.323333,-2.072778) node[left=-2bp]{\tt Z}; +\filldraw[line width=0bp](4.520367,-2.007933) + --(4.573333,-1.962778) + --(4.504258,-1.971321) --cycle\dpicstop +\dpicdraw (4.323333,-2.072778) + --(4.555637,-1.970564)\dpicstop +\filldraw[line width=0bp](4.577324,-2.08485) + --(4.643333,-2.062778) + --(4.576074,-2.04487) --cycle\dpicstop +\dpicdraw (4.323333,-2.072778) + --(4.624009,-2.063382)\dpicstop +\filldraw[line width=0bp](4.592903,-1.744886) + --(4.523333,-1.742778) + --(4.580254,-1.782833) --cycle\dpicstop +\dpicdraw (4.541675,-1.748892) + --(4.763333,-1.822778)\dpicstop +\draw (4.763333,-1.822778) node[right=-2bp]{\tt dT}; +\dpiclw=0.8bp +\dpicdraw (5.483333,-1.917778) + --(5.273333,-1.917778)\dpicstop +\filldraw[line width=0bp](5.328333,-1.951111) + --(5.428333,-1.917778) + --(5.328333,-1.884444) --cycle\dpicstop +\dpicdraw (5.410765,-1.917778) + --(5.328333,-1.917778)\dpicstop +\dpicdraw (5.483333,-1.797778) + --(5.273333,-1.797778)\dpicstop +\dpicdraw (5.273333,-2.067778) + --(5.273333,-1.977778)\dpicstop +\dpicdraw (5.273333,-1.947778) + --(5.273333,-1.887778)\dpicstop +\dpicdraw (5.273333,-1.857778) + --(5.273333,-1.767778)\dpicstop +\dpicdraw (5.213333,-1.797778) + --(5.213333,-2.037778) + --(5.063333,-2.037778)\dpicstop +\dpicdraw (5.603333,-1.797778) + --(5.603333,-1.874477)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (5.603333,-1.874477) + --(5.653333,-1.874477) + --(5.603333,-1.955544) + --(5.553333,-1.874477) + --(5.603333,-1.874477)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (5.549282,-1.936079) + --(5.549282,-1.961079) + --(5.657385,-1.961079) + --(5.657385,-1.986079)\dpicstop +\dpicdraw (5.603333,-1.961079) + --(5.603333,-2.037778)\dpicstop +\dpicdraw (5.483333,-2.037778) + --(5.603333,-2.037778) + --(5.603333,-1.797778) + --(5.483333,-1.797778)\dpicstop +\dpicdraw (5.472264,-1.917778) + --(5.483333,-1.917778) + --(5.483333,-2.037778) + --(5.472264,-2.037778)\dpicstop +\dpicdraw (5.483333,-2.037778) + --(5.273333,-2.037778)\dpicstop +\dpicdraw (5.603333,-2.037778) + --(5.603333,-2.157778)\dpicstop +\dpicdraw (5.603333,-1.797778) + --(5.603333,-1.677778)\dpicstop +\dpicdraw (5.423333,-1.917778) circle (0.11811in)\dpicstop +\draw (5.393333,-2.367778) node[below=-2bp]{\tt IRF4905}; +\draw (5.063333,-2.037778) node[left=-2bp]{$G$}; +\draw (5.603333,-1.677778) node[above right=-2bp]{$D$}; +\draw (5.603333,-2.157778) node[below right=-2bp]{$S$}; +\dpicdraw (0.2,-1.175) + --(0.2,-1)\dpicstop +\filldraw[line width=0bp](0.172222,-1.045833) + --(0.2,-1.129167) + --(0.227778,-1.045833) --cycle\dpicstop +\dpicdraw (0.2,-1.111598) + --(0.2,-1.045833)\dpicstop +\dpicdraw (0.3,-1.175) + --(0.3,-1)\dpicstop +\dpicdraw (0.075,-1) + --(0.325,-1)\dpicstop +\dpicdraw (0.075,-0.843875) + --(0.075,-0.95) + --(0.158333,-0.95)\dpicstop +\dpicdraw (0.241667,-0.804388) + --(0.241667,-0.95) + --(0.325,-0.95)\dpicstop +\dpicdraw (0.2,-1.16393) + --(0.2,-1.175) + --(0.1,-1.175) + --(0.1,-1.16393)\dpicstop +\dpicdraw (0.1,-1.175) + --(0.1,-1)\dpicstop +\dpicdraw (0.2,-1) circle (0.07874in)\dpicstop +\draw (0.075,-0.843875) node[above left=-2bp]{$G0$}; +\draw (0.241667,-0.804388) node[above right=-2bp]{$G1$}; +\draw (0.725,-1.48) node{\tt mosfet(,{,}dBSDFQM1,E)}; +\dpicdraw (1.025,-1.175) + --(1.025,-1)\dpicstop +\filldraw[line width=0bp](0.997222,-1.045833) + --(1.025,-1.129167) + --(1.052778,-1.045833) --cycle\dpicstop +\dpicdraw (1.025,-1.111598) + --(1.025,-1.045833)\dpicstop +\dpicdraw (1.125,-1.175) + --(1.125,-1)\dpicstop +\dpicdraw (0.9,-1) + --(1.15,-1)\dpicstop +\dpicdraw (1.15,-0.8) + --(1.15,-0.95) + --(1.066667,-0.95)\dpicstop +\dpicdraw (0.983333,-0.8) + --(0.983333,-0.95) + --(0.9,-0.95)\dpicstop +\dpicdraw (1.025,-1.16393) + --(1.025,-1.175) + --(0.925,-1.175) + --(0.925,-1.16393)\dpicstop +\dpicdraw (0.925,-1.175) + --(0.925,-1)\dpicstop +\draw (1.15,-0.8) node[above right=-2bp]{$G0$}; +\draw (0.983333,-0.8) node[above left=-2bp]{$G1$}; +\draw (1.025,-1.275) node{\tt ...(,{,}dBSDFQuM1)}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/fet.m4 b/graphics/circuit_macros/doc/fetMan.m4 index 08498ef83d..08498ef83d 100644 --- a/graphics/circuit_macros/doc/fet.m4 +++ b/graphics/circuit_macros/doc/fetMan.m4 diff --git a/graphics/circuit_macros/doc/relaycoil.m4 b/graphics/circuit_macros/doc/relaycoilMan.m4 index b3273794cd..b3273794cd 100644 --- a/graphics/circuit_macros/doc/relaycoil.m4 +++ b/graphics/circuit_macros/doc/relaycoilMan.m4 diff --git a/graphics/circuit_macros/doc/sampleIC.m4 b/graphics/circuit_macros/doc/sampleIC.m4 new file mode 100644 index 0000000000..bf2bb2358e --- /dev/null +++ b/graphics/circuit_macros/doc/sampleIC.m4 @@ -0,0 +1,16 @@ +.PS +log_init +command "\small\sf" + + U: box wid 18*L_unit ht 9*lg_pinsep + + Loopover_(`x', + `lg_pin(U.nw-(0,m4Lx*lg_pinsep),,,w`'x)', + nul,L,M,I,O,N,E,NE) + + define(`Upin', + `lg_pin(U.ne-(0,(17-`$1')*lg_pinsep),`$2',Pin`$1',e`$3',`$1',8*L_unit)') + Loopover_(`x', + `Upin(patsubst(x,;,`,'))', + 16;Vin;, 15;D0;L, 14;D1;M, 13;D2;I, 12;D3;O, 11;D4;N, 10;D5;E, 9;D6;NE ) +.PE diff --git a/graphics/circuit_macros/doc/thyristor.tex b/graphics/circuit_macros/doc/thyristor.tex new file mode 100644 index 0000000000..33b2c5261c --- /dev/null +++ b/graphics/circuit_macros/doc/thyristor.tex @@ -0,0 +1,561 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (-2.38478,-0.179985) + --(-2.38478,-0.3189)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-2.38478,-0.3189) + --(-2.343113,-0.3189) + --(-2.38478,-0.385534) + --(-2.426446,-0.3189) + --(-2.38478,-0.3189)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-2.430498,-0.391069) + --(-2.339061,-0.391069)\dpicstop +\dpicdraw (-2.363946,-0.391069) + --(-2.32228,-0.463238)\dpicstop +\dpicdraw (-2.38478,-0.391069) + --(-2.38478,-0.529985)\dpicstop +\draw (-2.38478,-0.179985) node[above=-2bp]{\sl A}; +\draw (-2.38478,-0.529985) node[below=-2bp]{\sl K}; +\draw (-2.32228,-0.463238) node[right=-2bp]{\sl G}; +\draw (-2.376389,-0.779985) node{\tt thyristor}; +\dpicdraw (-1.876389,-0.179985) + --(-1.876389,-0.3189)\dpicstop +\dpicdraw (-1.876389,-0.3189) + --(-1.813889,-0.427154)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-1.834722,-0.3189) + --(-1.793056,-0.3189) + --(-1.834722,-0.385534) + --(-1.876389,-0.3189) + --(-1.834722,-0.3189)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-1.963774,-0.391069) + --(-1.789004,-0.391069)\dpicstop +\dpicdraw (-1.963774,-0.3189) + --(-1.789004,-0.3189)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-1.918056,-0.391069) + --(-1.876389,-0.391069) + --(-1.918056,-0.324435) + --(-1.959722,-0.391069) + --(-1.918056,-0.391069)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-1.876389,-0.391069) + --(-1.876389,-0.529985)\dpicstop +\draw (-1.876389,-0.179985) node[above=-2bp]{\sl T1}; +\draw (-1.876389,-0.529985) node[below=-2bp]{\sl T2}; +\draw (-1.813889,-0.427154) node[below right=-2bp]{\sl G}; +\draw (-1.876389,-0.879985) node{\tt ...(,B)}; +\dpicdraw (-1.376389,-0.179985) + --(-1.376389,-0.3439)\dpicstop +\dpicdraw (-1.376389,-0.3439) + --(-1.438889,-0.452154)\dpicstop +\dpicdraw (-1.418056,-0.3439) + --(-1.376389,-0.3439) + --(-1.418056,-0.410534) + --(-1.459722,-0.3439) + --(-1.418056,-0.3439)\dpicstop +\dpicdraw (-1.463774,-0.416069) + --(-1.289004,-0.416069)\dpicstop +\dpicdraw (-1.463774,-0.3439) + --(-1.289004,-0.3439)\dpicstop +\dpicdraw (-1.334722,-0.416069) + --(-1.293056,-0.416069) + --(-1.334722,-0.349435) + --(-1.376389,-0.416069) + --(-1.334722,-0.416069)\dpicstop +\dpicdraw (-1.376389,-0.416069) + --(-1.376389,-0.579985)\dpicstop +\draw (-1.376389,-0.179985) node[above=-2bp]{\sl T1}; +\draw (-1.376389,-0.579985) node[below=-2bp]{\sl T2}; +\draw (-1.438889,-0.452154) node[below left=-2bp]{\sl G}; +\draw (-1.376389,-0.799985) node{\tt ...(,BRK)}; +\dpicdraw (-0.776389,-0.179985) + --(-0.776389,-0.3189)\dpicstop +\dpicdraw (-0.776389,-0.3189) + --(-0.693056,-0.463238) + --(-0.637945,-0.463238)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-0.734722,-0.3189) + --(-0.693056,-0.3189) + --(-0.734722,-0.385534) + --(-0.776389,-0.3189) + --(-0.734722,-0.3189)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-0.863774,-0.391069) + --(-0.689004,-0.391069)\dpicstop +\dpicdraw (-0.863774,-0.3189) + --(-0.689004,-0.3189)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-0.818056,-0.391069) + --(-0.776389,-0.391069) + --(-0.818056,-0.324435) + --(-0.859722,-0.391069) + --(-0.818056,-0.391069)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-0.776389,-0.391069) + --(-0.776389,-0.529985)\dpicstop +\dpicdraw (-0.776389,-0.354985) circle (0.068898in)\dpicstop +\draw (-0.776389,-0.179985) node[above=-2bp]{\sl T1}; +\draw (-0.776389,-0.529985) node[below=-2bp]{\sl T2}; +\draw (-0.637945,-0.463238) node[below right=-2bp]{\sl G}; +\draw (-0.776389,-0.879985) node{\tt ...(,BE)}; +\dpicdraw (-0.28478,-0.179985) + --(-0.28478,-0.3189)\dpicstop +\dpicdraw (-0.28478,-0.3189) + --(-0.243113,-0.3189) + --(-0.28478,-0.385534) + --(-0.326446,-0.3189) + --(-0.28478,-0.3189)\dpicstop +\dpicdraw (-0.330498,-0.391069) + --(-0.239061,-0.391069)\dpicstop +\dpicdraw (-0.263946,-0.391069) + --(-0.22228,-0.463238)\dpicstop +\dpicdraw (-0.28478,-0.391069) + --(-0.28478,-0.529985)\dpicstop +\draw (-0.28478,-0.179985) node[above=-2bp]{\sl A}; +\draw (-0.28478,-0.529985) node[below=-2bp]{\sl K}; +\draw (-0.22228,-0.463238) node[right=-2bp]{\sl G}; +\draw (-0.276389,-0.879985) node{\tt ...(,A)}; +\dpicdraw (0.21522,-0.179985) + --(0.21522,-0.3189)\dpicstop +\dpicdraw (0.21522,-0.3189) + --(0.256887,-0.3189) + --(0.21522,-0.385534) + --(0.21522,-0.3189)\dpicstop +\dpicdraw (0.21522,-0.3189) + --(0.173554,-0.3189)\dpicstop +\dpicdraw (0.169502,-0.391069) + --(0.260939,-0.391069)\dpicstop +\dpicdraw (0.236054,-0.391069) + --(0.27772,-0.463238)\dpicstop +\dpicdraw (0.21522,-0.391069) + --(0.21522,-0.529985)\dpicstop +\draw (0.21522,-0.179985) node[above=-2bp]{\sl A}; +\draw (0.21522,-0.529985) node[below=-2bp]{\sl K}; +\draw (0.27772,-0.463238) node[right=-2bp]{\sl G}; +\draw (0.223611,-0.749985) node{\tt ...(,F)}; +\dpicdraw (0.873611,-0.179985) + --(0.873611,-0.3189)\dpicstop +\dpicdraw (0.873611,-0.3189) + --(0.790278,-0.463238) + --(0.735167,-0.463238)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.831944,-0.3189) + --(0.873611,-0.3189) + --(0.831944,-0.385534) + --(0.790278,-0.3189) + --(0.831944,-0.3189)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.786226,-0.391069) + --(0.960996,-0.391069)\dpicstop +\dpicdraw (0.786226,-0.3189) + --(0.960996,-0.3189)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.915278,-0.391069) + --(0.956944,-0.391069) + --(0.915278,-0.324435) + --(0.873611,-0.391069) + --(0.915278,-0.391069)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.873611,-0.391069) + --(0.873611,-0.529985)\dpicstop +\dpicdraw (0.873611,-0.354985) circle (0.068898in)\dpicstop +\draw (0.873611,-0.179985) node[above=-2bp]{\sl T1}; +\draw (0.873611,-0.529985) node[below=-2bp]{\sl T2}; +\draw (0.735167,-0.463238) node[below left=-2bp]{\sl G}; +\draw (0.873611,-0.879985) node{\tt ...(,BRE)}; +\dpicdraw (1.623611,-0.179985) + --(1.623611,-0.3189)\dpicstop +\dpicdraw (1.623611,-0.3189) + --(1.665278,-0.3189) + --(1.623611,-0.385534) + --(1.581944,-0.3189) + --(1.623611,-0.3189)\dpicstop +\dpicdraw (1.623611,-0.3189) + --(1.623611,-0.391069)\dpicstop +\dpicdraw (1.577893,-0.391069) + --(1.66933,-0.391069)\dpicstop +\dpicdraw (1.602778,-0.391069) + --(1.561111,-0.463238) + --(1.486111,-0.463238)\dpicstop +\dpicdraw (1.623611,-0.391069) + --(1.623611,-0.529985)\dpicstop +\dpicdraw (1.623611,-0.354985) circle (0.068898in)\dpicstop +\draw (1.623611,-0.179985) node[above=-2bp]{\sl A}; +\draw (1.623611,-0.529985) node[below=-2bp]{\sl K}; +\draw (1.486111,-0.463238) node[below left=-2bp]{\sl G}; +\draw (1.623611,-0.749985) node{\tt ...(,UARE)}; +\dpicdraw (2.123611,-0.179985) + --(2.123611,-0.3189)\dpicstop +\dpicdraw (2.123611,-0.3189) + --(2.165278,-0.3189) + --(2.123611,-0.385534) + --(2.081944,-0.3189) + --(2.123611,-0.3189)\dpicstop +\dpicdraw (2.077893,-0.354985) + --(2.16933,-0.354985)\dpicstop +\dpicdraw (2.077893,-0.391069) + --(2.16933,-0.391069)\dpicstop +\dpicdraw (2.123611,-0.391069) + --(2.123611,-0.529985)\dpicstop +\dpiclw=0.4bp +\filldraw[line width=0bp](2.135537,-0.286412) + --(2.123611,-0.354985) + --(2.171314,-0.304301) --cycle\dpicstop +\dpicdraw (2.223611,-0.254985) + --(2.198611,-0.254985) + ..controls (2.181944,-0.254985) and (2.166719,-0.268769) + ..(2.152934,-0.296338) + --(2.132257,-0.337692)\dpicstop +\dpiclw=0.8bp +\draw (2.123611,-0.179985) node[above=-2bp]{\sl A}; +\draw (2.123611,-0.529985) node[below=-2bp]{\sl K}; +\draw (2.223611,-0.254985) node[right=-2bp]{\sl G}; +\draw (2.123611,-0.879985) node{\tt ...(,AV)}; +\dpicdraw (2.523611,-0.229985) + --(2.523611,-0.429985)\dpicstop +\dpicdraw (2.723611,-0.179985) + --(2.523611,-0.269985)\dpicstop +\filldraw[line width=0bp](2.638206,-0.187957) + --(2.573611,-0.247485) + --(2.661004,-0.238619) --cycle\dpicstop +\dpicdraw (2.673611,-0.202485) + --(2.589632,-0.240275)\dpicstop +\dpicdraw (2.723611,-0.479985) + --(2.523611,-0.389985)\dpicstop +\filldraw[line width=0bp](2.586219,-0.448619) + --(2.673611,-0.457485) + --(2.609017,-0.397957) --cycle\dpicstop +\dpicdraw (2.65759,-0.450275) + --(2.573611,-0.412485)\dpicstop +\dpicdraw (2.523611,-0.329985) + --(2.597685,-0.363318)\dpicstop +\draw (2.723611,-0.179985) node[above right=-2bp]{\sl A}; +\draw (2.723611,-0.479985) node[below right=-2bp]{\sl K}; +\draw (2.597685,-0.363318) node[right=-2bp]{\sl G}; +\draw (2.623611,-0.699985) node{\tt ...(,IEC)}; +\dpicdraw (-2.457639,-1.336073) + --(-2.457639,-1.474989)\dpicstop +\dpicdraw (-2.457639,-1.474989) + --(-2.415972,-1.474989) + --(-2.457639,-1.541623) + --(-2.499306,-1.474989) + --(-2.457639,-1.474989)\dpicstop +\dpicdraw (-2.457639,-1.474989) + --(-2.457639,-1.547157)\dpicstop +\dpicdraw (-2.436806,-1.511073) + --(-2.34942,-1.511073)\dpicstop +\dpicdraw (-2.503357,-1.547157) + --(-2.41192,-1.547157)\dpicstop +\dpicdraw (-2.457639,-1.547157) + --(-2.457639,-1.686073)\dpicstop +\draw (-2.457639,-1.336073) node[above left=-2bp]{\sl A}; +\draw (-2.457639,-1.686073) node[below left=-2bp]{\sl K}; +\draw (-2.34942,-1.511073) node[right=-2bp]{\sl G}; +\draw (-2.426389,-2.036073) node{\tt ...(,UAH)}; +\dpicdraw (-1.867998,-1.336073) + --(-1.867998,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-1.867998,-1.474989) + --(-1.826331,-1.474989) + --(-1.867998,-1.541623) + --(-1.909665,-1.474989) + --(-1.867998,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-1.913717,-1.547157) + --(-1.82228,-1.547157)\dpicstop +\dpicdraw (-1.888831,-1.474989) + --(-1.930498,-1.40282)\dpicstop +\dpicdraw (-1.867998,-1.547157) + --(-1.867998,-1.686073)\dpicstop +\draw (-1.867998,-1.336073) node[above=-2bp]{\sl A}; +\draw (-1.867998,-1.686073) node[below=-2bp]{\sl K}; +\draw (-1.930498,-1.40282) node[left=-2bp]{\sl Ga}; +\draw (-1.876389,-1.906073) node{\tt ...(,N)}; +\dpicdraw (-1.326389,-1.336073) + --(-1.326389,-1.474989)\dpicstop +\dpicdraw (-1.326389,-1.474989) + --(-1.284722,-1.474989) + --(-1.326389,-1.541623) + --(-1.368056,-1.474989) + --(-1.326389,-1.474989)\dpicstop +\dpicdraw (-1.326389,-1.474989) + --(-1.326389,-1.547157)\dpicstop +\dpicdraw (-1.372107,-1.547157) + --(-1.28067,-1.547157)\dpicstop +\dpicdraw (-1.305556,-1.474989) + --(-1.263889,-1.40282) + --(-1.188889,-1.40282)\dpicstop +\dpicdraw (-1.326389,-1.547157) + --(-1.326389,-1.686073)\dpicstop +\dpicdraw (-1.326389,-1.511073) circle (0.068898in)\dpicstop +\draw (-1.326389,-1.336073) node[above=-2bp]{\sl A}; +\draw (-1.326389,-1.686073) node[below=-2bp]{\sl K}; +\draw (-1.188889,-1.40282) node[above right=-2bp]{\sl Ga}; +\draw (-1.326389,-2.036073) node{\tt ...(,UANRE)}; +\dpicdraw (-0.78478,-1.336073) + --(-0.78478,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-0.78478,-1.474989) + --(-0.743113,-1.474989) + --(-0.78478,-1.541623) + --(-0.826446,-1.474989) + --(-0.78478,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-0.830498,-1.547157) + --(-0.739061,-1.547157)\dpicstop +\dpicdraw (-0.763946,-1.547157) + --(-0.72228,-1.619326)\dpicstop +\dpicdraw (-0.78478,-1.547157) + --(-0.78478,-1.686073)\dpicstop +\draw (-0.78478,-1.336073) node[above=-2bp]{\sl A}; +\draw (-0.78478,-1.686073) node[below left=-2bp]{\sl K}; +\draw (-0.72228,-1.619326) node[below right=-2bp]{\sl G}; +\draw (-0.776389,-1.906073) node{\tt ...(,SCR)}; +\dpicdraw (-0.226389,-1.336073) + --(-0.226389,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-0.226389,-1.474989) + --(-0.184722,-1.474989) + --(-0.226389,-1.541623) + --(-0.268056,-1.474989) + --(-0.226389,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-0.272107,-1.547157) + --(-0.18067,-1.547157)\dpicstop +\dpicdraw (-0.205556,-1.547157) + --(-0.163889,-1.619326) + --(-0.088889,-1.619326)\dpicstop +\dpicdraw (-0.226389,-1.547157) + --(-0.226389,-1.686073)\dpicstop +\dpicdraw (-0.226389,-1.511073) circle (0.068898in)\dpicstop +\draw (-0.226389,-1.336073) node[above=-2bp]{\sl A}; +\draw (-0.226389,-1.686073) node[below=-2bp]{\sl K}; +\draw (-0.088889,-1.619326) node[below right=-2bp]{\sl G}; +\draw (-0.226389,-2.036073) node{\tt ...(SCRE)}; +\dpicdraw (0.423611,-1.336073) + --(0.423611,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.423611,-1.474989) + --(0.465278,-1.474989) + --(0.423611,-1.541623) + --(0.381944,-1.474989) + --(0.423611,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.377893,-1.547157) + --(0.46933,-1.547157)\dpicstop +\dpicdraw (0.402778,-1.547157) + --(0.361111,-1.619326) + --(0.286111,-1.619326)\dpicstop +\dpicdraw (0.423611,-1.547157) + --(0.423611,-1.686073)\dpicstop +\dpicdraw (0.423611,-1.511073) circle (0.068898in)\dpicstop +\draw (0.423611,-1.336073) node[above=-2bp]{\sl A}; +\draw (0.423611,-1.686073) node[below=-2bp]{\sl K}; +\draw (0.286111,-1.619326) node[below left=-2bp]{\sl G}; +\draw (0.423611,-1.906073) node{\tt ...(SCRRE)}; +\dpicdraw (0.973611,-1.336073) + --(0.973611,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (0.973611,-1.474989) + --(1.015278,-1.474989) + --(0.973611,-1.541623) + --(0.931944,-1.474989) + --(0.973611,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (0.927893,-1.547157) + --(1.01933,-1.547157)\dpicstop +\dpicdraw (0.952778,-1.474989) + --(0.911111,-1.40282)\dpicstop +\dpicdraw (0.994444,-1.547157) + --(1.036111,-1.619326)\dpicstop +\dpicdraw (0.973611,-1.547157) + --(0.973611,-1.686073)\dpicstop +\draw (0.973611,-1.336073) node[above=-2bp]{\sl A}; +\draw (0.973611,-1.686073) node[below=-2bp]{\sl K}; +\draw (1.036111,-1.619326) node[right=-2bp]{\sl G}; +\draw (0.973611,-2.036073) node{\tt ...(SCS)}; +\draw (0.911111,-1.40282) node[above left=-2bp]{\sl Ga}; +\dpicdraw (1.523611,-1.336073) + --(1.523611,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (1.523611,-1.474989) + --(1.565278,-1.474989) + --(1.523611,-1.541623) + --(1.481944,-1.474989) + --(1.523611,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (1.477893,-1.547157) + --(1.56933,-1.547157)\dpicstop +\dpicdraw (1.502778,-1.474989) + --(1.461111,-1.40282) + --(1.386111,-1.40282)\dpicstop +\dpicdraw (1.544444,-1.547157) + --(1.586111,-1.619326) + --(1.661111,-1.619326)\dpicstop +\dpicdraw (1.523611,-1.547157) + --(1.523611,-1.686073)\dpicstop +\dpicdraw (1.523611,-1.511073) circle (0.068898in)\dpicstop +\draw (1.523611,-1.336073) node[above=-2bp]{\sl A}; +\draw (1.523611,-1.686073) node[below=-2bp]{\sl K}; +\draw (1.661111,-1.619326) node[below right=-2bp]{\sl G}; +\draw (1.523611,-1.906073) node{\tt ...(SCSE)}; +\draw (1.386111,-1.40282) node[above left=-2bp]{\sl Ga}; +\dpicdraw (2.173611,-1.336073) + --(2.173611,-1.474989)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.173611,-1.474989) + --(2.215278,-1.474989) + --(2.173611,-1.541623) + --(2.173611,-1.474989)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.173611,-1.474989) + --(2.002372,-1.474989)\dpicstop +\dpicdraw (2.173611,-1.547157) + --(2.173611,-1.686073)\dpicstop +\dpicdraw (2.173611,-1.511073) circle (0.068898in)\dpicstop +\draw (2.173611,-1.336073) node[above=-2bp]{\sl A}; +\draw (2.173611,-1.686073) node[below=-2bp]{\sl K}; +\draw (2.002372,-1.474989) node[left=-2bp]{\sl G}; +\draw (2.173611,-2.036073) node{\tt ...(SUSE)}; +\dpicdraw (2.823611,-1.336073) + --(2.823611,-1.438904)\dpicstop +\dpicdraw (2.781944,-1.438904) + --(2.823611,-1.438904)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (2.823611,-1.438904) + --(2.865278,-1.438904) + --(2.823611,-1.583242) + --(2.781944,-1.583242) + --(2.823611,-1.438904)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (2.865278,-1.583242) + --(2.823611,-1.583242)\dpicstop +\dpicdraw (2.865278,-1.511073) + --(2.648611,-1.511073)\dpicstop +\dpicdraw (2.823611,-1.583242) + --(2.823611,-1.686073)\dpicstop +\dpicdraw (2.823611,-1.511073) circle (0.068898in)\dpicstop +\draw (2.823611,-1.336073) node[above=-2bp]{\sl T1}; +\draw (2.823611,-1.686073) node[below=-2bp]{\sl T2}; +\draw (2.648611,-1.511073) node[left=-2bp]{\sl G}; +\draw (2.823611,-1.906073) node{\tt ...(SBSE)}; +\dpicdraw (-2.751389,-2.402454) + --(-2.412473,-2.402454)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-2.412473,-2.402454) + --(-2.412473,-2.360788) + --(-2.345839,-2.402454) + --(-2.412473,-2.444121) + --(-2.412473,-2.402454)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-2.340304,-2.448173) + --(-2.340304,-2.356736)\dpicstop +\dpicdraw (-2.340304,-2.381621) + --(-2.268136,-2.339954)\dpicstop +\dpicdraw (-2.340304,-2.402454) + --(-2.001389,-2.402454)\dpicstop +\draw (-2.001389,-2.394064) node[right=-2bp]{\tt scr(,{,}Q)}; +\draw (-2.268136,-2.339954) node[above=-2bp]{\sl Q.G}; +\dpicdraw (-2.751389,-2.802454) + --(-2.412473,-2.802454)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-2.412473,-2.802454) + --(-2.412473,-2.760788) + --(-2.345839,-2.802454) + --(-2.412473,-2.844121) + --(-2.412473,-2.802454)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-2.340304,-2.848173) + --(-2.340304,-2.756736)\dpicstop +\dpicdraw (-2.412473,-2.823288) + --(-2.484642,-2.864954)\dpicstop +\dpicdraw (-2.340304,-2.781621) + --(-2.268136,-2.739954)\dpicstop +\dpicdraw (-2.340304,-2.802454) + --(-2.001389,-2.802454)\dpicstop +\draw (-2.001389,-2.802454) node[right=-2bp]{\tt scs(,{,}Q2)}; +\draw (-2.268136,-2.739954) node[above=-2bp]{\sl Q2.G}; +\draw (-2.484642,-2.864954) node[below=-2bp]{\sl Q2.Ga}; +\dpicdraw (-0.973611,-2.600574) + --(-0.634696,-2.600574)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (-0.634696,-2.600574) + --(-0.634696,-2.642241) + --(-0.568062,-2.600574) + --(-0.634696,-2.600574)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (-0.634696,-2.600574) + --(-0.634696,-2.429335)\dpicstop +\dpicdraw (-0.562527,-2.600574) + --(-0.223611,-2.600574)\dpicstop +\dpicdraw (-0.598611,-2.600574) circle (0.068898in)\dpicstop +\draw (-0.223611,-2.600574) node[right=-2bp]{\tt sus(,RE,Q3)}; +\draw (-0.634696,-2.429335) node[above=-2bp]{\sl Q3.G}; +\dpicdraw (0.976389,-2.600574) + --(1.27922,-2.600574)\dpicstop +\dpicdraw (1.27922,-2.642241) + --(1.27922,-2.600574)\dpicstop +\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} +\global\def\dpicstop{--} +\dpicshdraw[fill=white!0!black] +\dpicdraw (1.27922,-2.600574) + --(1.27922,-2.558907) + --(1.423558,-2.600574) + --(1.423558,-2.642241) + --(1.27922,-2.600574)\dpicstop +cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} +\dpicdraw (1.423558,-2.558907) + --(1.423558,-2.600574)\dpicstop +\dpicdraw (1.351389,-2.558907) + --(1.351389,-2.775574)\dpicstop +\dpicdraw (1.423558,-2.600574) + --(1.726389,-2.600574)\dpicstop +\dpicdraw (1.351389,-2.600574) circle (0.068898in)\dpicstop +\draw (1.726389,-2.600574) node[right=-2bp]{\tt sbs(,E,Q4)}; +\draw (1.351389,-2.775574) node[below=-2bp]{\sl Q4.G}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/thyristor.m4 b/graphics/circuit_macros/doc/thyristorMan.m4 index ecc6448bf3..ecc6448bf3 100644 --- a/graphics/circuit_macros/doc/thyristor.m4 +++ b/graphics/circuit_macros/doc/thyristorMan.m4 diff --git a/graphics/circuit_macros/doc/ujt.tex b/graphics/circuit_macros/doc/ujt.tex new file mode 100644 index 0000000000..46a8566fe6 --- /dev/null +++ b/graphics/circuit_macros/doc/ujt.tex @@ -0,0 +1,81 @@ +\begin{tikzpicture}[scale=2.54] +% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0.9,-0.15) + --(0.9,0)\dpicstop +\dpicdraw (0.9,0) + --(0.725,0)\dpicstop +\dpicdraw (0.725,-0.025) + --(0.725,0.225)\dpicstop +\dpicdraw (0.725,0.2) + --(0.9,0.2) + --(0.9,0.35)\dpicstop +\dpicdraw (0.55,0.2) + --(0.725,0.1)\dpicstop +\filldraw[line width=0bp](0.61699,0.129727) + --(0.703125,0.1125) + --(0.644553,0.177963) --cycle\dpicstop +\dpicdraw (0.55,0.2) + --(0.687872,0.121216)\dpicstop +\dpicdraw (0.725,0.1) circle (0.07874in)\dpicstop +\draw (0.9,-0.15) node[right=-2bp]{\sl B1}; +\draw (0.4625,0.25) node{{\sl E}}; +\draw (0.9,0.35) node[right=-2bp]{\sl B2}; +\draw (0.725,-0.3) node{{\tt ujt(up\_ dimen\_,{,},E)}}; +\dpicdraw (2.125,0) + --(1.95,0)\dpicstop +\dpicdraw (1.95,-0.025) + --(1.95,0.225)\dpicstop +\dpicdraw (1.95,0.2) + --(2.125,0.2)\dpicstop +\dpicdraw (1.775,0.2) + --(1.95,0.1)\dpicstop +\filldraw[line width=0bp](1.88301,0.170273) + --(1.796875,0.1875) + --(1.855447,0.122037) --cycle\dpicstop +\dpicdraw (1.95,0.1) + --(1.812128,0.178784)\dpicstop +\draw (2.125,0) node[below=-2bp]{\sl B1}; +\draw (1.6875,0.25) node{{\sl E}}; +\draw (2.125,0.2) node[above=-2bp]{\sl B2}; +\draw (2.05,-0.175) node[below=-2bp]{{\tt ujt(,{,}P,)}}; +\dpicdraw (2.925,0) + --(3.1,0)\dpicstop +\dpicdraw (3.1,-0.025) + --(3.1,0.225)\dpicstop +\dpicdraw (3.1,0.2) + --(2.925,0.2)\dpicstop +\dpicdraw (3.275,0.2) + --(3.1,0.1)\dpicstop +\filldraw[line width=0bp](3.180447,0.177963) + --(3.121875,0.1125) + --(3.20801,0.129727) --cycle\dpicstop +\dpicdraw (3.275,0.2) + --(3.137128,0.121216)\dpicstop +\draw (2.925,0) node[below=-2bp]{\sl B1}; +\draw (3.3625,0.25) node{{\sl E}}; +\draw (2.925,0.2) node[above=-2bp]{\sl B2}; +\draw (3.1,-0.175) node[below=-2bp]{{\tt ujt(,R,{,})}}; +\dpicdraw (4.075,0) + --(4.25,0)\dpicstop +\dpicdraw (4.25,-0.025) + --(4.25,0.225)\dpicstop +\dpicdraw (4.25,0.2) + --(4.075,0.2)\dpicstop +\dpicdraw (4.425,0.2) + --(4.25,0.1)\dpicstop +\filldraw[line width=0bp](4.344553,0.122037) + --(4.403125,0.1875) + --(4.31699,0.170273) --cycle\dpicstop +\dpicdraw (4.25,0.1) + --(4.387872,0.178784)\dpicstop +\draw (4.075,0) node[below=-2bp]{\sl B1}; +\draw (4.5125,0.25) node{{\sl E}}; +\draw (4.075,0.2) node[above=-2bp]{\sl B2}; +\draw (4.25,-0.175) node[below=-2bp]{{\tt ujt(,R,P,)}}; +\end{tikzpicture} +\vspace*{-0.5\baselineskip} diff --git a/graphics/circuit_macros/doc/ujt.m4 b/graphics/circuit_macros/doc/ujtMan.m4 index aa4e708462..aa4e708462 100644 --- a/graphics/circuit_macros/doc/ujt.m4 +++ b/graphics/circuit_macros/doc/ujtMan.m4 diff --git a/graphics/circuit_macros/dpictools.pic b/graphics/circuit_macros/dpictools.pic index ead69e973e..8f39057417 100644 --- a/graphics/circuit_macros/dpictools.pic +++ b/graphics/circuit_macros/dpictools.pic @@ -3,7 +3,7 @@ # m4 macro NeedDpicTools or the pic statement copy "HOMELIB_/dpictools.pic" # when HOMELIB_ is defined or, generically, copy "<path>dpictools.pic" -# Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under # +# Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under # # the LaTeX Project Public Licence in file Licence.txt. The files of # # this distribution may be redistributed or modified provided that this # # copyright notice is included and provided that modifications are clearly # @@ -149,9 +149,9 @@ define arraymin { { $3 = -1; if "$4" != "" then { $4 = 0 }; m_arrm = 1e25 # for data separated by comma, spaces, or tabs define copythru { sh "sed -e 's/^[ ]*/$1(/' -e 's/[ ]*$/)/' -e 's/[, ][ ]*/,/g' $2 \ - > copy_tmp__" - copy "copy_tmp__" - sh "rm -f copy_tmp__";} + > copythru_tmp__" + copy "copythru_tmp__" + sh "rm -f copythru_tmp__";} # randn(array_name,n,mean,stddev) # Assign n Gaussian random numbers diff --git a/graphics/circuit_macros/examples/AntiqueClock.m4 b/graphics/circuit_macros/examples/AntiqueClock.m4 index 566fb4c814..814824bee7 100644 --- a/graphics/circuit_macros/examples/AntiqueClock.m4 +++ b/graphics/circuit_macros/examples/AntiqueClock.m4 @@ -2,7 +2,11 @@ # AntiqueClock.m4 gen_init NeedDpicTools -iflatex(command "{\sf") + +# PSTricks or tikz only: +ifelse(ifpstricks(T)`'ifpgf(T),T,` + +iflatex(`latexcommand({\sf)') # https://tex.stackexchange.com/questions/236923/generate-analog-clock-with-numbered-face-add-seconds-roman-numerals @@ -102,7 +106,7 @@ Face: circle thick 0 fill_(1) rad r3 at C # Text rotation for PSTricks or TikZ define(`rottext', - `ifpstricks(`\rput[c]{%g}(0,0)')ifpgf(`\pgftext[rotate=%g]')') + `ifpstricks(`\rput[c]{%g}(0,0)',`ifpgf(`\pgftext[rotate=%g]',%g)')') # Outer numbers command sprintf("\font\outerfont=cmss12 at %4.2fin",r3-r4) for mn = -15 to 15 by 5 do { sprintf("rottext{\outerfont %g}",\ @@ -138,5 +142,8 @@ Face: circle thick 0 fill_(1) rad r3 at C Clock1: AntiqueClock(,,,3) # Clock2: AntiqueClock(4,50,07,2) at Clock1.e+(1.5,0) -iflatex(command "}%") + iflatex(`latexcommand(})') + +',` "AntiqueClock.m4 requires pstricks or pgf" ') + .PE diff --git a/graphics/circuit_macros/examples/Arrester.m4 b/graphics/circuit_macros/examples/Arrester.m4 new file mode 100644 index 0000000000..791a2f2162 --- /dev/null +++ b/graphics/circuit_macros/examples/Arrester.m4 @@ -0,0 +1,28 @@ +.PS +# Arrester.m4 +cct_init + +divert(-1) + +divert(0)dnl + +movewid = movewid/2 + M: arrester + {"\tt arr{}ester()" at last [].s below} + N: arrester(,D) with .A at M.end+(movewid,0) + {"\strut\tt $\cdots$(,D)" at last [].s below} + P: arrester(,LD) with .A at N.B+(movewid,0) + {"\tt (,LD)" at last [].s below} + move; H: arrester(,S) + {"\tt (,S)" at last [].s below} + move; Q: arrester(,E) + {"\tt (,E)" at last [].s below} + R: arrester(,ED) with .A at Q.end+(movewid,0) + {"\tt $\cdots$(,ED)" at last [].s below} + thinlines_ + Loopover_(`X', + `spline <- from X.A up 8bp__ then up 6bp__ right 4bp__; "\sl A" ljust + spline <- from X.B up 8bp__ then up 6bp__ left 4bp__; "\sl B" rjust + arrow <- from X.G right 12bp__ up 2bp__; "\sl G" ljust',N,R) + +.PE diff --git a/graphics/circuit_macros/examples/Audio.m4 b/graphics/circuit_macros/examples/Audio.m4 index 722a2434d8..662c6d0c99 100644 --- a/graphics/circuit_macros/examples/Audio.m4 +++ b/graphics/circuit_macros/examples/Audio.m4 @@ -46,14 +46,6 @@ L:[ thicklines_ ] with .w at last [].e+(0.0,0.5) [ - M: microphone - `"\tt microphone"' at M.s+(0,-0.2) #below - In123(M) - thinlines_ - arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above - thicklines_ - ] with .sw at last [].se+(0.4,0) -[ Z: buzzer `"\tt buzzer"' at Z.s+(0,-0.2) #below In123(Z) @@ -71,6 +63,24 @@ R:[ "\sl Face" above thicklines_ ] with .sw at last [].se+(0.4,0) +[ + M: microphone + `"\tt microphone"' at M.s+(0,-0.2) #below + In123(M) + thinlines_ + arrow <- from M.Circle.n up 0.15 ; "\sl Circle" above + thicklines_ + ] with .sw at last [].se+(0.4,0) +[ + M: microphone(A) + `"\tt microphone(A)"' at M.s+(0,-0.2) #below + thinlines_ + arrow <- from M.Head.e+(0,0.05) right 0.2; "\sl Head" ljust + spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1 + "\sl Head.b" ljust + arrow <- from M.Stand.s right 0.2; "\sl Stand.s" ljust + thicklines_ + ] with .n at last [].s+(0,-0.05) [[ E: earphone `"\tt earphone"' at E.s+(0,-0.2) #below @@ -89,6 +99,6 @@ R:[ "\sl C" at E.C thicklines_ ] with .sw at last [].se+(0.6,0) -] with .n at (0.6 between L and R, R.s)+(0,0.1-ifdpic(0.2,0.25)) +] with .n at (0.6 between L and R, R.s)+(0.5,0.1-ifdpic(0.2,0.25)) .PE diff --git a/graphics/circuit_macros/examples/Conn.m4 b/graphics/circuit_macros/examples/Conn.m4 index 7253d2b313..204ad5d96a 100644 --- a/graphics/circuit_macros/examples/Conn.m4 +++ b/graphics/circuit_macros/examples/Conn.m4 @@ -17,7 +17,7 @@ T:[ "$\vdots$" at (0.5 between last "" and 2nd last "")+(0.15,0.02) thicklines_ CS1: "`\tt tstrip(U)'" at S1.s+(0,-0.15) - S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.7,0.15) + S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.8,0.15) thinlines_ arrow <- up 0.2 right 0.1 from S2.T1; "T1" above arrow <- up 0.2 right 0.1 from S2.T5; "T5" above @@ -36,7 +36,7 @@ C: [ thicklines_ C2: ccoax(at C1+(0,0.3),F) `"\tt ccoax(,F)"' ht 11 pt__ wid 0.65 at C2.ne ljust - ] with .C1.sw at T.S2.se+(0.5,0.0) + ] with .C1.sw at T.S2.se+(0.6,0.0) Y: [ tconn(,O) @@ -46,24 +46,24 @@ Y: [ {`"\tt (,>)"' at last line.c+(0,-0.2)} move to P1.end+(0.3,0) tconn(,>>) - {`"\tt (,>>)"' at last line.c+(0,-0.2)} + {`"\tt (,>{}>)"' at last line.c+(0,-0.2)} move to P1.start+(0,linewid) P3: tconn(,<) {`"\tt tconn(,<)"' at last line.c+(0,-0.2)} move to P3.end+(0.3,0) tconn(,<<) - {`"\tt (,<<)"' at last line.c+(0,-0.2)} + {`"\tt (,<{}<)"' at last line.c+(0,-0.2)} ] with .sw at (C.e.x-0.4,T.s.y) B: [ tbox(V_2) - `"\tt tbox(V\_2)"' at last [].sw below ljust - [ left_; - tbox(V_1,,,<>) ] with .nw at last [].sw+(0,-0.25) - `"\tt tbox(V\_1,{,},<>)"' at last [].sw below ljust -# `"\tt left\_"' at last [].sw +(0,-0.2) ljust `"\tt tbox(V\_1)"' ljust -] with .nw at Y.ne+(0.2,0) + { `"\tt tbox(V\_2)"' at last [].sw below ljust } + tbox(V_1,,,<) with .sw at last [].se+(0.75,0) + { `"\tt tbox(V\_1,{,},<)"' at last [].s below } + tbox(V_1,,,<>) with .sw at last [].se+(0.75,0) + { `"\tt tbox(V\_1,{,},<>)"' at last [].s below } +] with .nw at T.sw+(0,-0.2) .PE diff --git a/graphics/circuit_macros/examples/Connectors.m4 b/graphics/circuit_macros/examples/Connectors.m4 new file mode 100644 index 0000000000..5c3207c17d --- /dev/null +++ b/graphics/circuit_macros/examples/Connectors.m4 @@ -0,0 +1,24 @@ +.PS +# Connectors +log_init +include(ics.m4) + +# ArduinoUno +# "{\sf Arduino Uno Rev 3}" at last [].Connector.s below + Ar: ArduinoLeonardo #with .sw at last [].se+(0.25,0) + "{\sf Arduino Leonardo}" at last [].Connector.s below + + RPI: RPi with .sw at last [].se+(0.25,0) + "{\sf Raspberry Pi 4 GPIO}" at last [].GPIO.s below + + HD: HDMI_micro with .nw at last [].ne+(0.25,0.5) + "\sf Micro" rjust at HD.Base.sw+(-2bp__,10bp__) "\sf HDMI" rjust + + S: USB_C_Socket with .sw at (HD.e.x+0.25,RPI.s.y) + "\sf USB-C Socket" at S.Base.s below + "\sf B12" at S.B12.end above ljust + "\sf B1" at S.B1.end above ljust + "\sf A1" at S.A1.end above rjust + "\sf A12" at S.A12.end above rjust + +.PE diff --git a/graphics/circuit_macros/examples/Fuses.m4 b/graphics/circuit_macros/examples/Fuses.m4 index b308e5aadb..bde24fac3e 100644 --- a/graphics/circuit_macros/examples/Fuses.m4 +++ b/graphics/circuit_macros/examples/Fuses.m4 @@ -4,7 +4,8 @@ cct_init movewid = 0.25 - {fuse ; {"`{\tt fuse}'" at last line.c+(0,-0.2)} + { + fuse ; {"`{\tt fuse}'" at last line.c+(0,-0.2)} move fuse(,D) ; {"`{\tt fuse(,D)}'" at last line.c+(0,-0.2)} move @@ -14,11 +15,10 @@ movewid = 0.25 move fuse(,S) ; {"`{\tt fuse(,S)}'" at last line.c+(0,-0.2)} move - fuse(,HB) ; {"`{\tt fuse(,HB)}'" at last line.c+(0,-0.2)} + fuse(,SB) ; {"`{\tt fuse(,SB)}'" at last line.c+(0,-0.2)} } move down; right_ - fuse(,HC,0.5,0.3) ; {"`{\tt (,HC,0.5,0.3)}'" at last line.c+(0,-0.25)} - move + { cbreaker; {"`{\tt cbreaker}'" at last line.c+(0,-0.25)} move cbreaker(,R); {"`{\tt cbreaker(,R)}'" at last line.c+(0,-0.25)} @@ -27,6 +27,13 @@ movewid = 0.25 move cbreaker(,{,}T); {"`{\tt $\ldots$(,{,}T)}'" at last line.c+(0,-0.25)} move - cbreaker(,{,}TS); {"`{\tt $\ldots$(,{,}TS)}'" at last line.c+(0,-0.25)} + cbreaker(,{,}TS); {"`{\tt $\ldots$(,{,}TS)}'" at last line.c+(0,-0.25) } + } + move down; right_ + { + fuse(,HB) ; {"`{\tt fuse(,HB)}'" at last line.c+(0,-0.2)} + move + fuse(,HC,0.5,0.3) ; {"`{\tt (,HC,0.5,0.3)}'" at last line.c+(0,-0.25)} + } .PE diff --git a/graphics/circuit_macros/examples/Grounds.m4 b/graphics/circuit_macros/examples/Grounds.m4 index 13b4730b80..e93fadf33c 100644 --- a/graphics/circuit_macros/examples/Grounds.m4 +++ b/graphics/circuit_macros/examples/Grounds.m4 @@ -8,15 +8,18 @@ Ground: ground GT: ground(,T) move right sep GF: ground(,,F) +sep = 0.55 move right sep GE: ground(,,E) move right sep -B: Here+(0,-0.5) ; { - "{\tt `ground'}" wid 32bp__ at (Ground,B) - "{\tt `ground'(,T)}" at (GT,B)+(0,7bp__) +B: Here+(0,-0.5) +D: B+(0,11bp__) + + { "{\tt `ground'}" wid 32bp__ at (Ground,B) + "{\tt `ground'(,T)}" at (GT,B)+(0,11bp__) "{\tt (,{,}F)}" at (GF,B) - "{\tt (,{,}E)}" at (GE,B)} + "{\tt (,{,}E)}" at (GE,D)} GS: ground(,,S) @@ -28,12 +31,16 @@ GQ: ground(,,Q) GL: ground(,,L) move right sep GP: ground(,,P) + move right sep +GPA: ground(,T,PA) C: Here+(0,-0.5) +E: C+(0,11bp__) "{\tt (,{,}S)}" at (GS,C) - "{\tt (,{,}S,90)}" at (GS90,C) + "{\tt (,{,}S,90)}" at (GS90,E) "{\tt (,{,}Q)}" at (GQ,C) - "{\tt (,{,}L)}" at (GL,C) + "{\tt (,{,}L)}" at (GL,E) "{\tt (,{,}P)}" at (GP,C) + "{\tt (,T,PA)}" at (GPA,E) .PE diff --git a/graphics/circuit_macros/examples/Headers.m4 b/graphics/circuit_macros/examples/Headers.m4 index a4e1abce3b..1c040227e3 100644 --- a/graphics/circuit_macros/examples/Headers.m4 +++ b/graphics/circuit_macros/examples/Headers.m4 @@ -5,7 +5,11 @@ log_init Header {"\sl P1" at last [].P1 rjust `"\tt Header"' at last [].s+(0,-10pt__) - "\sl P2" at last [].P2 rjust} + "\sl P2" at last [].P2 rjust + thinlines_ + arrow <- from last [].Block.ne-(0,0.1) up 0.15 right 0.15 + "\sl Block" ljust + thicklines_ } Header(2,3,8mm__,10mm__) with .nw at last [].ne+(0.75,-0.05) {"\sl P1" at last [].P1 rjust diff --git a/graphics/circuit_macros/examples/MC.m4 b/graphics/circuit_macros/examples/MC.m4 index 6e4eb88ea0..d76016c6e4 100644 --- a/graphics/circuit_macros/examples/MC.m4 +++ b/graphics/circuit_macros/examples/MC.m4 @@ -2,6 +2,7 @@ # MC.m4 cct_init +MC: [ dv = dimen_*0.6 dh = dimen_*0.4 backup = dimen_/6 @@ -32,4 +33,49 @@ cct_init source(right_ dimen_,AC); llabel(sprintf("$v_{\char%g}$",64+i)) if i==2 then { Output: dot } else { line down (2-i)*dv } }} +] + +Three: [ + dv = dimen_*0.6 + dh = dimen_ + define(`swfet',`mosfet(`$1',,dMEDSuBQPy)') + define(`swpair',`[ up_ + BS: swfet(up_ dimen_); { "`$1'" at BS.D-(0,2bp__) rjust } + L: line up_ 3*dimen_ from BS.D + TS: swfet(up_ dimen_) with .S at Here; { "`$2'" at TS.S+(0,2bp__) rjust } + T: TS.D + B: BS.S + C: L.c + ]') + + V1: gap(up_ 5*dimen_,1,A); { "$V_1$" at last arrow.c rjust } + line right_ dh/2 + { C1: capacitor(down_ to (Here,V1.start)); llabel(C_1) } + for_(1,3,1,` + line right_ dh ifelse(m4x,1,,*5/4) + {SP1`'m4x: swpair(S1`'eval(m4x+3),S1`'m4x) with .T at Here + dot(at last [].C + (0,(2-m4x)*dh)) + line right_ (3-m4x)*dh*5/4 + inductor(right_ dimen_,L); llabel(,L_{1\char`'eval(64+m4x)}) + line down_ (2-m4x)*dimen_*2/3 + pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') + line down_ (2-m4x)*dimen_/3 + M: move right_ dimen_/8 + line up_ (2-m4x)*dimen_/3 + pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') + line up_ (2-m4x)*dimen_*2/3 + inductor(right_ dimen_,L); llabel(,L_{2\char`'eval(64+m4x)}) + line right_ dimen_/8+(m4x-1)*dh*5/4 + dot + SP2`'m4x: swpair(S2`'eval(m4x+3),S2`'m4x) with .C at Here+(0,(m4x-2)*dh) } + ') + "$T_r$" at M.c+(0,dimen_/2) + line from V1.start to SP13.B + line from SP21.B to SP23.B+(dh*3/4,0) + { C2: capacitor(up_ to (Here,V1.end)); llabel(,,C_2) } + line right_ dh/2 + gap(up_ 5*dimen_,1,A); { "$V_2$" at last arrow.c ljust } + line to SP21.T chop dotrad_ chop 0 + +] with .nw at MC.sw+(0,-0.2) .PE diff --git a/graphics/circuit_macros/examples/Makefile b/graphics/circuit_macros/examples/Makefile index 92968df523..d729596a17 100644 --- a/graphics/circuit_macros/examples/Makefile +++ b/graphics/circuit_macros/examples/Makefile @@ -27,18 +27,15 @@ LIBDIR = .. # The dpic processor: PIC = dpic -p -#PIC = $$HOME/dpic/bu*/p2c/ftp/dpic -p -#PIC = /cygdrive/d/Dwight/dpic/p2c/Windows/dpic -p -#PIC = dpic -1 -p -#PIC = $$HOME/dpic/build/test/dpic -p +#PIC = $$HOME/dpic/build/p2c/ftp/dpic -p #PIC = $$HOME/dpic/dev/p2c/ftp/dpic -p -#PIC = $$HOME/tmp/dpic -p #PIC = $$HOME/dpic/bison/dpic -p #PIC = $$HOME/dpic/bdev/dpic -p CONFIGFILE = pstricks.m4 -# This is for testing the mingw version of dpic: +# Testing the mingw version of dpic: +#PIC = $$HOME/dpic/bison/distsrc/Windows/dpic -p #CUSTOM=windows.m4 # Uncomment for gpic. Use gpic or pic as applicable on your machine: @@ -61,8 +58,9 @@ DOC = examples PICS = \ ABlogix.tex Adder.tex Alogix.tex AmpTable.tex Antennas.tex \ AntiqueClock.tex Audio.tex Bip.tex Btree.tex Buttons.tex Byte.tex \ - CanLogic.tex CctTable.tex Conn.tex Contacts.tex Contact.tex control.tex \ - Counting.tex Crossbar.tex Crow.tex csc.tex Csource.tex Decoder.tex \ + CanLogic.tex CctTable.tex Conn.tex Connectors.tex \ + Contacts.tex Contact.tex control.tex Counting.tex Crossbar.tex Crow.tex \ + csc.tex Csource.tex Decoder.tex \ Demultiplexer.tex diamond.tex Dini.tex Diodes.tex Drive.tex Emarrows.tex \ ex00.tex ex01.tex ex02.tex ex03.tex ex04.tex ex05.tex ex06.tex ex08.tex \ ex09.tex ex10.tex ex11.tex ex12.tex ex15.tex ex16.tex ex17.tex ex18.tex \ @@ -111,7 +109,7 @@ BS = tr '|' '\134' make $*.tex printf "|documentclass[11pt]{article}\n\ |usepackage{times,pstricks,boxdims,graphicx,pst-grad,pst-slpe}\n\ -|usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits}\n\ +|usepackage{siunitx}\n\ |setlength{|textwidth}{28cm}|setlength{|textheight}{28cm}\n\ |setlength{|oddsidemargin}{0pt}|setlength{|evensidemargin}{0pt}\n\ |setlength{|hoffset}{-1cm}\n\ @@ -174,10 +172,10 @@ BS = tr '|' '\134' $(DOC).pdf: clean pdfmode $(DOC).frp touch $(DOC).dim rm -f $(BOXDIMS) $(BOXPICS) - make PIC="dpic -g" CONFIGFILE=pgf.m4 DIMFILE=$(DOC).dim pics + make PIC="$(PIC) -g" CONFIGFILE=pgf.m4 DIMFILE=$(DOC).dim pics pdflatex $(DOC) rm -f $(BOXDIMS) $(BOXPICS) - make PIC="dpic -g" CONFIGFILE=pgf.m4 DIMFILE=$(DOC).dim pics + make PIC="$(PIC) -g" CONFIGFILE=pgf.m4 DIMFILE=$(DOC).dim pics pdflatex $(DOC) optpdf $(DOC).pdf @@ -202,14 +200,14 @@ $(DOC).dvi: $(DOC).frs latex $(DOC) $(DOC).frs: $(DOC).tex files.tex header.tex psmode - make PIC="dpic -p" CONFIGFILE=pstricks.m4 DIMFILE=$(DOC).dim pics + make PIC="$(PIC) -p" CONFIGFILE=pstricks.m4 DIMFILE=$(DOC).dim pics cp $(LIBDIR)/doc/Version.tex . latex $(DOC) rm -f $(DOC).dvi touch $(DOC).frs $(DOC).frp: $(DOC).tex files.tex header.tex pdfmode - make PIC="dpic -g" CONFIGFILE=pgf.m4 DIMFILE=$(DOC).dim pics + make PIC="$(PIC) -g" CONFIGFILE=pgf.m4 DIMFILE=$(DOC).dim pics cp $(LIBDIR)/doc/Version.tex . pdflatex $(DOC) rm -f $(DOC).pdf @@ -235,7 +233,7 @@ echopics: clobber: clean rm -f *.ps - -@for dir in mf mpost pdflatex xfig psfrag pgf svg dev test; \ + -@for dir in mf mpost pdflatex xfig psfrag svg dev test; \ do (if test -d $$dir ; then cd $$dir; make clobber; fi) ; done rm -f *.warn rm -f examples.pdf diff --git a/graphics/circuit_macros/examples/Pconn.m4 b/graphics/circuit_macros/examples/Pconn.m4 index fbda5cc2e7..cb8afd0875 100644 --- a/graphics/circuit_macros/examples/Pconn.m4 +++ b/graphics/circuit_macros/examples/Pconn.m4 @@ -19,27 +19,23 @@ P1: [ arrow from G.w to C1.G.e arrow from G.e to C2.G.w `"\tt (,AF)"' at last [].s below - C03: pconnex(,AC) with .w at C2.e+(0.2,0) + C03: pconnex(,AC) with .w at C2.e+(0.25,0) `"\tt (,AC)"' at last [].s below C3: pconnex(,ACF) with .w at last [].e+(0.2,0) `"\tt (,ACF)"' at last [].s below - C5: pconnex(U,D) with .w at last [].e+(0.2,0) + C5: pconnex(U,D) with .w at last [].e+(0.25,0) `"\tt (U,D)"' at last [].s below - C6: pconnex(U,DF) with .w at last [].e+(0.2,0) + C6: pconnex(U,DF) with .w at last [].e+(0.25,0) `"\tt (U,DF)"' at last [].s below - C7: pconnex(U,J) with .w at last [].e+(0.2,0) + C7: pconnex(U,J) with .w at last [].e+(0.25,0) `"\tt (U,J)"' at last [].s below - C8: pconnex(U,JF) with .w at last [].e+(0.2,0) + C8: pconnex(U,JF) with .w at last [].e+(0.25,0) `"\tt (U,JF)"' at last [].s below ] P2: [ - C4: pconnex(,P) - `"\tt (,P)"' at last [].s below - C11: pconnex(,PF) with .w at last [].e+(0.2,0) - `"\tt (,PF)"' at (C11,last "") below - C9: pconnex(,G) with .w at last [].e+(0.2,0) + C9: pconnex(,G) #with .w at last [].e+(0.2,0) `"\tt (,G)"' at last [].s below C91: pconnex(,GF) with .w at last [].e+(0.2,0) `"\tt (,GF)"' at last [].s below @@ -47,6 +43,15 @@ P2: [ `"\tt (L,GF)"' at last [].s below C10: pconnex(,GC) with .w at last [].e + (0.2,0) `"\tt (,GC)"' ht 11pt__ at last [].s below -] with .nw at P1.C1.sw + (0,-0.25) + C12: pconnex(,GCF) with .w at last [].e + (0.2,0) + `"\tt (,GCF)"' ht 11pt__ at last [].s below +] with .nw at P1.C1.sw + (0,-0.35) + +P3: [ + C4: pconnex(,P) + `"\tt (,P)"' at last [].s below + C11: pconnex(,PF) with .w at last [].e+(0.2,0) + `"\tt (,PF)"' at (C11,last "") below +] with .nw at P2.C9.sw + (0,-0.35) .PE diff --git a/graphics/circuit_macros/examples/README-examples b/graphics/circuit_macros/examples/README-examples index 7585e3dc77..5561e4d3fc 100644 --- a/graphics/circuit_macros/examples/README-examples +++ b/graphics/circuit_macros/examples/README-examples @@ -8,7 +8,8 @@ of unix, linux, cygwin, djgpp, ...): 2. In this directory, type "make". If your installed dpic is the Mingw version included in the dpic distribution, (a) edit the file windows.m4 to point to your installation folder, and (b) uncomment - the CUSTOM= line in the Makefile, or type "make CUSTOM=windows.m4". + the CUSTOM=windows.m4 line in the Makefile, or type + "make CUSTOM=windows.m4". To test one of the diagrams, say ex01.m4, type one of the following (and have a look at the comments at the top of the Makefile): diff --git a/graphics/circuit_macros/examples/Rectifiers.m4 b/graphics/circuit_macros/examples/Rectifiers.m4 index e24315d0fd..23d544f812 100644 --- a/graphics/circuit_macros/examples/Rectifiers.m4 +++ b/graphics/circuit_macros/examples/Rectifiers.m4 @@ -59,19 +59,22 @@ Threephase: [ linethick_(1) ] Cct3:[ - No: dot; {"$N_o$" below rjust } - { inductor(to Here+(Rect_(dimen_,60)),W); E2: "$e_2$" ljust } - { inductor(to Here+(Rect_(dimen_,-60)),W); E3: "$e_3$" ljust } - { inductor(from No-(dimen_,0) to No,W); E1: "$e_1$" above at last line.start } + No: dot; "$N_o$" at last [].s below rjust + E2: No+(Rect_(dimen_,60)) + E3: No+(Rect_(dimen_,-60)) + E1: No+(-dimen_,0) + inductor(from No to E2,W); round; "$e_2$" ljust + inductor(from No to E3,W); round; "$e_3$" ljust + inductor(from E1 to No,W); round(at E1); "$e_1$" at E1 above D3: diode(down_ from E3); b_current(i_3,rjust); llabel(,,D_3) - line from E1 to (E1,D3.start) - D1: diode(down_); b_current(i_1,rjust); llabel(,,D_1) - line from E2 left E2.x-E1.x+dimen_/3 then down E2.y-E3.y \ - then to 0.5 between D1.start and D3.start + line from E1 to (E1.x,D3.start.y+dimen_/3) then right_ (E3.x-E1.x)/2 \ + then down_ dimen_/3 + D1: diode(down_); b_current(i_1,rjust); llabel(,,D_1); dot + line from E2 left_ E2.x-E1.x+dimen_/3 then down_ E2.y-E3.y \ + then to 2 between D3.start and D1.start; corner D2: diode(down_); b_current(i_2,rjust); llabel(,,D_2) - { line from D1.end to D3.end } - dot - arrowline(down elen_/2); rlabel(,i_L) + { line from D2.end to D3.end } + arrowline(from D1.end down_ elen_/2); rlabel(,i_L) resistor(right_ elen_); rlabel(+,e_L,-); llabel(,R) line to (Here,No) then to No ] with .e at Threephase.w-(0.5,0) diff --git a/graphics/circuit_macros/examples/SampleFlow.m4 b/graphics/circuit_macros/examples/SampleFlow.m4 new file mode 100644 index 0000000000..f8d73ca203 --- /dev/null +++ b/graphics/circuit_macros/examples/SampleFlow.m4 @@ -0,0 +1,35 @@ +.PS +# SampleFlow.m4 +darrow_init + +boxwid = 1.9 +boxht = 1.0 +linethick = 1.2 + + define(`dlthick',0.25) + define(`dfillcolor',`0.7,0.7,0.7') + + define rbox {box rad boxht/10} + define offset { with .nw at last box.se+(-0.15,-0.125)} + define indent { at last box.w+(0.1,0)} + define connect { + { Dline(from 2nd last box.s to (2nd last box,last box),E;ends=!-) + dleft + darrow(to last box.w) } } + + command "{\sf\huge" + + B1: rbox + { "Sample" ljust indent "Acquisition" ljust } + B2: rbox offset + {"Sample" ljust indent "Checking" ljust } + connect + B3: rbox offset + {"Dimensionality" ljust indent "Sample Check" ljust } + connect + B4: rbox offset + {"Sample" ljust indent "Synthesis" ljust "Techniques" ljust } + connect + + command "}%" +.PE diff --git a/graphics/circuit_macros/examples/Sources.m4 b/graphics/circuit_macros/examples/Sources.m4 index a70cea1113..8a4bab9bc6 100644 --- a/graphics/circuit_macros/examples/Sources.m4 +++ b/graphics/circuit_macros/examples/Sources.m4 @@ -21,7 +21,8 @@ define(`NL',`; move down $1; right_') {source(,X) ; move ; "`source(,X)'" ljust} NL {source(,F) ; move ; "`source(,F)'" ljust} NL {source(,G) ; move ; "`source(,G)'" ljust} NL - {source(,Q) ; move ; "`source(,Q)'" ljust} + {source(,Q) ; move ; "`source(,Q)'" ljust} NL(0.3) + {proximity ; move ; "`\shortstack[l]{proximity\\ = consource(,P)}'" ljust} } move right_ 2.0 { @@ -34,8 +35,8 @@ define(`NL',`; move down $1; right_') {source(,SCr) ; move ; "`source(,SCr)'" ljust} NL {source(,T) ; move ; "`source(,T)'" ljust} NL {source(,L) ; move ; "`source(,L)'" ljust} NL - {source(,B) ; move ; "`source(,B)'" ljust} NL(moveht*0.8) - {nullator ; move ; "`nullator'" ljust} NL(moveht*0.6) + {source(,B) ; move ; "`source(,B)'" ljust} NL + {nullator ; move ; "`nullator'" ljust} NL(moveht*0.8) {norator ; move ; "`norator'" ljust} } move right_ 2.0 @@ -49,7 +50,7 @@ define(`NL',`; move down $1; right_') {source(,SE) ; move ; "`source(,SE)'" ljust} NL {consource(,V) ; move ; "`consource(,V)'" ljust} NL(0.32) {consource(,v) ; move ; "`consource(,v)'" ljust} NL(0.3) - {battery ; move ; "`battery'" ljust} NL + {battery ; move ; "`battery'" ljust} NL(0.3) {battery(,3,R) ; move ; "`battery(,3,R)'" ljust} iflatex(`ifpsfrag(,`latexcommand(})')') diff --git a/graphics/circuit_macros/examples/Switches.m4 b/graphics/circuit_macros/examples/Switches.m4 index d8262be92d..46b3f9240d 100644 --- a/graphics/circuit_macros/examples/Switches.m4 +++ b/graphics/circuit_macros/examples/Switches.m4 @@ -2,38 +2,40 @@ # Switches.m4 cct_init +define(`Below',`at last [].s+(0,-10bp__)') + movewid = 0.25 # Row 1 right_; { - lswitch; {S:"\tt ls{}witch" at last [].s+(0,-10bp__)} + lswitch; {S:"\tt ls{}witch" Below} move right_ - lswitch(,,O); {"\tt (,,O)" at (last [],S)} + lswitch(,,O); {"\tt (,{,}O)" at (last [],S)} move right_ - lswitch(,,C); {"\tt (,,C)" at (last [],S)} + lswitch(,,C); {"\tt (,{,}C)" at (last [],S)} move right_ - lswitch(,,DA); {"\tt (,,DA)" at (last [],S)} + lswitch(,,DA); {"\tt (,{,}DA)" at (last [],S)} move right_ - lswitch(,,dDO); {"\tt (,,dDO)" at (last [],S)} + lswitch(,,dDO); {"\tt (,{,}dDO)" at (last [],S)} move right_ - lswitch(,,uDC); {"\tt (,,uDC)" at (last [],S)} + lswitch(,,uDC); {"\tt (,{,}uDC)" at (last [],S)} } # Row 2 move down; right_; { - lswitch(,,K); {S:"\tt (,,K)" at last [].s+(0,-10bp__)} + lswitch(,,K); {S:"\tt (,{,}K)" Below} move right_ - lswitch(,,KD); {"\tt (,,KD)" at (last [],S)} + lswitch(,,KD); {"\tt (,{,}KD)" at (last [],S)} move right_ - lswitch(,,KOD); {"\tt (,,KOD)" at (last [],S)} + lswitch(,,KOD); {"\tt (,{,}KOD)" at (last [],S)} move right_ - lswitch(,,KCD); {"\tt (,,KCD)" at (last [],S)} + lswitch(,,KCD); {"\tt (,{,}KCD)" at (last [],S)} move right_ bswitch; {"\tt `bswitch'" at (last [],S)} move right_ - bswitch(,,C); {"\tt (,,C)" at (last [],S)} + bswitch(,,C); {"\tt (,{,}C)" at (last [],S)} } # Row 3 move down; right_; { - D: dswitch(,,); {S: "\tt ds{}witch(,{},)" at last [].s+(0,-10bp__)} + D: dswitch(,,); {S: "\tt ds{}witch(,{},)" Below} thinlines_ { spline <- from 0.25 along_(D) up 0.1 then up 0.05 left 0.1 {"\tt W" rjust} @@ -41,7 +43,7 @@ movewid = 0.25 {"\tt B" rjust }} thicklines_ move right_ - D: dswitch(,,WdBK); {"\tt (,,WdBK)" at (last [],S)+(0,-4bp__)} + D: dswitch(,,WdBK); {"\tt (,{,}WdBK)" at (last [],S)+(0,-4bp__)} thinlines_ { spline <- from tr_xy(0,-2) up 0.1 then up 0.10 left 0.1 {"\tt dB" rjust} @@ -49,69 +51,81 @@ movewid = 0.25 {"\tt K" above }} thicklines_ move right_ - dswitch(,,WBmdDK); {"\tt (,,WBmdDK)" at (last [],S)} + dswitch(,,WBmdDK); {"\tt (,{,}WBmdDK)" at (last [],S)} move right_ - dswitch(,,WBKTr); {"\tt (,,WBKTr)" at (last [],S)} + dswitch(,,WBKTr); {"\tt (,{,}WBKTr)" at (last [],S)} move right_ - dswitch(,,WdBL); {"\tt (,,WdBL)" at (last [],S+(0,-4bp__))} + dswitch(,,WdBL); {"\tt (,{,}WdBL)" at (last [],S+(0,-4bp__))} move right_ - dswitch(,,WBCo); {"\tt (,,WBCo)" at (last [],S)} + dswitch(,,WBCo); {"\tt (,{,}WBCo)" at (last [],S)} } # Row 4 move down; right_; { - dswitch(,,WBKCo); {S: "\tt (,,WBKCo)" at last [].s+(0,-10bp__)} + dswitch(,,WBKCo); {S: "\tt (,{,}WBKCo)" Below} move right_ - dswitch(,,WBCb); {"\tt (,,WBCb)" at (last [],S)} + dswitch(,,WBCb); {"\tt (,{,}WBCb)" at (last [],S)} move right_ - dswitch(,,WBDI); {"\tt (,,WBDI)" at (last [],S)} + dswitch(,,WBDI); {"\tt (,{,}WBDI)" at (last [],S)} move right_ - dswitch(,,WBSd); {"\tt (,,WBSd)" at (last [],S)} + dswitch(,,WBSd); {"\tt (,{,}WBSd)" at (last [],S)} move right_ - dswitch(,,WBFDI); {"\tt (,,WBFDI)" at (last [],S)} + dswitch(,,WBFDI); {"\tt (,{,}WBFDI)" at (last [],S)} move right_ - dswitch(,,WBFSd); {"\tt (,,WBFSd)" at (last [],S)} + dswitch(,,WBFSd); {"\tt (,{,}WBFSd)" at (last [],S)} } # Row 5 move down moveht*5/4; right_; { - dswitch(,,WBTh); {S: "\tt (,,WBTh)" at last [].s+(0,-10bp__)} + dswitch(,,WBTh); {S: "\tt (,{,}WBTh)" Below} move right_ - dswitch(,,WBKC); {"\tt (,,WBKC)" at (last [],S)} + dswitch(,,WBKC); {"\tt (,{,}WBKC)" at (last [],S)} move right_ - dswitch(,,WBM); {"\tt (,,WBM)" at (last [],S)} + dswitch(,,WBM); {"\tt (,{,}WBM)" at (last [],S)} move right_ - dswitch(,,WBCO); {"\tt (,,WBCO)" at (last [],S)} + dswitch(,,WBCO); {"\tt (,{,}WBCO)" at (last [],S)} move right_ - dswitch(,,WBMP); {"\tt (,,WBMP)" at (last [],S)} + dswitch(,,WBMP); {"\tt (,{,}WBMP)" at (last [],S)} move right_ - dswitch(,,WBoKCP); {"\tt (,,WBoKCP)" at (last [],S)} + dswitch(,,WBoKCP); {"\tt (,{,}WBoKCP)" at (last [],S)} } # Row 6 move down moveht*5/4; right_; { - dswitch(,,WBCY); {S: "\tt (,,WBCY)" at last [].s+(0,-10bp__)} + dswitch(,,WBCY); {S: "\tt (,{,}WBCY)" Below} move right_ - dswitch(,,WBCZ); {"\tt (,,WBCZ)" at (last [],S)} + dswitch(,,WBCZ); {"\tt (,{,}WBCZ)" at (last [],S)} move right_ - dswitch(,,WBCE); {"\tt (,,WBCE)" at (last [],S)} + dswitch(,,WBCE); {"\tt (,{,}WBCE)" at (last [],S)} move right_ - dswitch(,,WBRH); {"\tt (,,WBRH)" at (last [],S)} + dswitch(,,WBRH); {"\tt (,{,}WBRH)" at (last [],S)} move right_ - dswitch(,,WBRdH); {"\tt (,,WBRdH)" at (last [],S)} + dswitch(,,WBRdH); {"\tt (,{,}WBRdH)" at (last [],S)} move right_ - dswitch(,,WBRHH); {"\tt (,,WBRHH)" at (last [],S)} + dswitch(,,WBRHH); {"\tt (,{,}WBRHH)" at (last [],S)} } # Row 7 + move down moveht; right_; { + move down_ 2bp__; right_ + dswitch(,,WBPr); {S: "\tt (,{,}WBPr)" Below} + move right_ + dswitch(,,WBPrT); {S: "\tt (,{,}WBPrT)" Below} +# move right_ +# Proxim; {S: "\tt Pro{}xim" Below} +# move right_ +# Magn; {S: "\tt Mag{}n" Below} + move down_ 6bp__ then right_ + dswitch(,,WBPrM); {S: "\tt (,{,}WBPrM)" Below} + } +# Row 8 move down; right_; { - dswitch(,,WBMMR); {S: "\tt (,,WBMMR)" at last [].s+(0,-10bp__)} + dswitch(,,WBMMR); {S: "\tt (,{,}WBMMR)" Below} move right_ - dswitch(,,WBMM); {"\tt (,,WBMM)" at (last [],S)} + dswitch(,,WBMM); {"\tt (,{,}WBMM)" at (last [],S)} move right_ - dswitch(,,WBMR); {"\tt (,,WBMR)" at (last [],S)} + dswitch(,,WBMR); {"\tt (,{,}WBMR)" at (last [],S)} move right_ - dswitch(,,WBEL); {"\tt (,,WBEL)" at (last [],S)} + dswitch(,,WBEL); {"\tt (,{,}WBEL)" at (last [],S)} move right_ - dswitch(,,WBLE); {"\tt (,,WBLE)" at (last [],S)} + dswitch(,,WBLE); {"\tt (,{,}WBLE)" at (last [],S)} move right_ - dswitch(,,WBoKEL); {"\tt (,,WBoKEL)" at (last [],S)} + dswitch(,,WBoKEL); {"\tt (,{,}WBoKEL)" at (last [],S)} } - .PE diff --git a/graphics/circuit_macros/examples/Tubediags.m4 b/graphics/circuit_macros/examples/Tubediags.m4 index e07336e4e3..b49f0ffa8e 100644 --- a/graphics/circuit_macros/examples/Tubediags.m4 +++ b/graphics/circuit_macros/examples/Tubediags.m4 @@ -4,7 +4,7 @@ cct_init include(tubedefs.m4) -iflatex(`command "{\sf"') +iflatex(`latexcommand({\sf)') Overall:[ @@ -366,5 +366,5 @@ PO: dot #showbox_ #print last [].wid,last [].ht -iflatex(command "}") +iflatex(latexcommand(})) .PE diff --git a/graphics/circuit_macros/examples/Variable.m4 b/graphics/circuit_macros/examples/Variable.m4 index 6fac01e164..e52e30913d 100644 --- a/graphics/circuit_macros/examples/Variable.m4 +++ b/graphics/circuit_macros/examples/Variable.m4 @@ -3,11 +3,11 @@ cct_init define(`elen_',dimen_); down_ -[ { variable(`capacitor') }; move right - { variable(`resistor',uN) }; move right - { variable(`capacitor(,C)') }; move right - { variable(`inductor') }; move right - { variable(`inductor(,W)') } +[ { variable(`resistor',A) }; {"A" at last line.end below}; move right + { variable(`resistor',N) }; {"N" at last line.end below}; move right + { variable(`resistor',uN) }; {"uN" at last line.end below}; move right + { variable(`resistor',NN) }; {"uN" at last line.end below}; move right + { variable(`resistor',uNN) }; {"uNN" at last line.end below}; #; move right ] [ skp = 0.4 diff --git a/graphics/circuit_macros/examples/debug2.m4 b/graphics/circuit_macros/examples/debug2.m4 index eccd9d38bb..6b6edf77ba 100644 --- a/graphics/circuit_macros/examples/debug2.m4 +++ b/graphics/circuit_macros/examples/debug2.m4 @@ -20,9 +20,9 @@ % If boxdims.sty is not found, then either it has not been copied to % where latex can find it or the latex filename database has not been % updated correctly. Instructions for the latter depend on the operating -% system and may invlove commands texhash, mktexlsr, tlmgr, possibly preceded -% by sudo, or (for MiKTeX) clicking on the Refresh FNDB button. See steps 3 -% and 4 (ignore 1 and 2) at +% system and may involve commands texhash, mktexlsr, tlmgr, possibly preceded +% by sudo, or (for MiKTeX) clicking on the Refresh FNDB button. +% See Manual Installation, steps 3 and 4 (ignore 1 and 2) at % https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages % % On my Ubuntu machine, boxdims.sty is in diff --git a/graphics/circuit_macros/examples/examples.pdf b/graphics/circuit_macros/examples/examples.pdf Binary files differindex 2f31b4f030..d59436e0a3 100644 --- a/graphics/circuit_macros/examples/examples.pdf +++ b/graphics/circuit_macros/examples/examples.pdf diff --git a/graphics/circuit_macros/examples/examples.tex b/graphics/circuit_macros/examples/examples.tex index 0e483fa094..e2f90fc585 100644 --- a/graphics/circuit_macros/examples/examples.tex +++ b/graphics/circuit_macros/examples/examples.tex @@ -28,20 +28,17 @@ Most of the examples can be processed using either dpic~-p, dpic~-g, or gpic~-t, but the possibility of other postprocessing has meant that sometimes the source is slightly more complicated than it would be if - only one workflow had been assumed. The most simplicity and elegance - is achieved by sticking to one pic interpreter and one postprocessor. + only one workflow had been assumed. Some of the examples require dpic. + The most simplicity and elegance is achieved by sticking to one pic + interpreter and one postprocessor. - A few of these examples are also found in the manual - Circuit\_macros.pdf. There are other examples in the examples directory - that are not included in this document. To process {\sl file}.m4, type, for - example, "make {\sl file}.pdf." + This document duplicates a few diagrams from the manual + Circuit\_macros.pdf. There are also a few files in the + examples directory that are not included in this document. To process + {\sl file}.m4, type, for example, "make {\sl file}.pdf." -% The tables of elements attempt to illustrate each macro option -% at least once but the number of option combinations is huge so these -% examples are not exhaustive. - - A few of the examples following the circuits test some of the boundaries - of what macros and the pic language can do. +% Some of the boundaries of what macros and the pic language can do are +% tested toward the end of the following examples. \input files \endinput diff --git a/graphics/circuit_macros/examples/files.tex b/graphics/circuit_macros/examples/files.tex index 3f14c21bdb..334c7657f6 100644 --- a/graphics/circuit_macros/examples/files.tex +++ b/graphics/circuit_macros/examples/files.tex @@ -140,6 +140,12 @@ } \bfig{ + \centerline{\getpic{Connectors}} + \caption{Some connectors with simple geometry and lists of labels + \src{Connectors.m4}.} + } + +\bfig{ \centerline{\getpic{fet}} \caption{FETs, showing programmable components and example customizations \src{fet.m4}.} @@ -247,7 +253,7 @@ \bfig{ \centerline{\getpic{MC}} - \caption{A three-phase switched AC-AC converter + \caption{A three-phase switched AC-AC converter and a DC-DC converter \src{MC.m4}.} } @@ -666,6 +672,7 @@ \src{Btree.m4}.} } +\ifmpost\else% Tex capacity exceeded at this point under metapost \bfig{ \centerline{\getpic{Ttree}} \caption{Another tree @@ -710,5 +717,6 @@ \src{Inclpdf.m4}.} } \fi\fi\fi\fi\fi +\fi % ifmpost \end{document} diff --git a/graphics/circuit_macros/examples/ics.m4 b/graphics/circuit_macros/examples/ics.m4 index 023b0d2a56..15e0f05bb8 100644 --- a/graphics/circuit_macros/examples/ics.m4 +++ b/graphics/circuit_macros/examples/ics.m4 @@ -1,26 +1,26 @@ divert(-1) - Macros defining some integrated circuits + Macros defining some integrated circuits and connectors -define(`lg_pinsep',3*L_unit) logic pin separation in logic units -define(`lg_chipwd',18*L_unit) default chip width - - `Chip outline sizes' -define(`chip_gen',` box invis wid lg_chipwd ht lg_pinsep*eval(`$1'/2+1) - arcd(last box.n, lg_pinsep/2, 180, 360) - { line to last box.ne chop -linewid bp__/2 } - { line from last arc.start to last box.nw chop -linewid bp__/2 } - line from last box.nw to last box.sw then to last box.se then to last box.ne - ') + `DIP_chip_outline( pin count, wid )' +define(`DIP_chip_outline', + `[ define(`m4chgw',`ifelse(`$2',,(18*L_unit),`$2')')dnl + Chip: box invis wid m4chgw ht lg_pinsep*eval((`$1')/2+1) + arcd(last box.n, lg_pinsep/2, 180, 360) + { line to last box.ne chop -linewid bp__/2 } + { line from last arc.start to last box.nw chop -linewid bp__/2 } + line from last box.nw to last box.sw then to last box.se then to last box.ne + `$3']') `A sequence of pins along the east or west side of a chip: - lg_pinseq(initial pin no,final pin no, - e|w,initial offset,pinnum_root,Labelroot,[not])' -lg_pinseq(1,8,w) + lg_pinseq(initial pin no, final pin no, + e|w, initial offset, pinnum_root, Labelroot, [N])' + `e.g., lg_pinseq(1,8,w)' define(`lg_pinseq',`for_($1,$2,1, - `lg_pin( Chip.s`$3'+(0,eval($4+m4x)*lg_pinsep), + `lg_pin( Chip.s`$3'+(0,($4+m4x)*lg_pinsep), $6`'m4x,Pin`'eval($5`'m4x),`$3'`$7',eval($5`'m4x))') ') + define(`ic6116',`[ Chip: box wid_ lg_chipwd ht_ 15*lg_pinsep lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin12,w,12) lg_pin(Chip.sw_+(0,2*lg_pinsep),lg_bartxt(CS),Pin18,wN,18) @@ -113,4 +113,163 @@ define(`icVS1053',`[ Chip: chip_gen(32) SDCD,RX,TX,7,6,5,4,3,2,1,0,GND,3V3,AGND,MIC-,MIC+) `$1']') + `ArduinoUno( wid,ht,pinlen )' +define(`ArduinoUno',`[ + define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl +# + command "{\small\sf" + Connector: box wid m4bwid ht m4bht +# + plen = ifelse(`$4',,`2*L_unit',`$4') +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) + { "x" ljust at last line.start }')', + IOREF, RESET,`$+$`'3V3',`$+$`'5V', GND, GND, VIN, + nul, A0, A1, A2, A3, A4, A5) +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) + { "x" rjust at last line.start }')', + SCL, SDA, AREF, GND, D13, D12, \char126 D11, \char126 D10, \char126 D9, D8, + nul, D7, \char126 D6, \char126 D5, D4, \char126 D3, D2, TX D1, RX D0) +# + command "}" + `$4'] ') + + `ArduinoLeonardo( wid,ht,pinlen )' +define(`ArduinoLeonardo',`[ + define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl +# + command "{\small\sf" + Connector: box wid m4bwid ht m4bht +# + plen = ifelse(`$4',,`2*L_unit',`$4') +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) + { "x" ljust at last line.start }')', + IOREF, RESET,`$+$`'3V3',`$+$`'5V', GND, GND, VIN, + nul, A0, A1, A2, A3, A4, A5) +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) + { "x" rjust at last line.start }')', + SCL, SDA, AREF, GND, + \char126 D13, D12, \char126 D11, \char126 D10, \char126 D9, D8, + nul, D7, \char126 D6, \char126 D5, D4, \char126 D3, D2, TX D1, RX D0) +# + command "}" + `$4'] ') + + `RPi( wid,ht,pinlen )' +define(`RPi',`[ + define(`m4bwid',`ifelse(`$1',,`34*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`21*lg_pinsep',`$2')')dnl +# + command "{\small\sf" + GPIO: box wid m4bwid ht m4bht + plen = ifelse(`$4',,`6*L_unit',`$4') +# +define A_LeftGPIO { + exec sprintf("Pin%g: line left_ plen from GPIO.nw-(0,%g)",\ + 2*(`$'1)-1,(`$'1)*lg_pinsep) + { "`$'3" ljust at last line.start } + "`$'2" at last line.c above } +# +Loopover_(`x',`ifelse(x,nul,,`A_LeftGPIO(m4Lx,patsubst(x,;,`,'))')', + ;3V3, + 2;SDA1, 3;SCL1, 4;GPIO\_GCLK, + ;GND, + 17;GPIO\_GEN0, 27;GPIO\_GEN2, 22;GPIO\_GEN3, + ;3V3, + 10;SPI\_MOSI, 9;SPI\_MISO, 11;SPI\_SCLK, + ;GND, + ;ID\_SD, + 5;, 6;, 13;, 19;, 26;, + ;GND ) +# +define A_RightGPIO { + exec sprintf("Pin%g: line right_ plen from GPIO.ne-(0,%g)",\ + 2*(`$'1),(`$'1)*lg_pinsep) + { "`$'3" rjust at last line.start } + "`$'2" at last line.c above } +# +Loopover_(`x',`ifelse(x,nul,,`A_RightGPIO(m4Lx,patsubst(x,;,`,'))')', + ;5V, + ;5V, + ;GND, + 14;TXD0, 15;RXD0, 18;GPIO\_GEN1, + ;GND, + 23;GPIO\_GEN4, 24;GPIO\_GEN5, + ;GND, + 25;GPIO\_GEN6, 8;SPI\_CEO\_N, 7;SPI\_CE1\_N, + ;ID\_SC, + ;GND, + 12;, + ;GND, + 16;, 20;, 21; ) +# + command "}" + `$4'] ') + + `USB_C_Socket( wid, ht, pinlen )' +define(`USB_C_Socket',`[ + define(`m4bwid',`ifelse(`$1',,`18*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`14*lg_pinsep',`$2')')dnl + command "{\small\sf" +# + Base: box wid m4bwid ht m4bht rad 5/3*lg_pinsep + plen = ifelse(`$4',,`6*L_unit',`$4') +# + Loopover_(`x', + `B`'eval(13-m4Lx): dnl + line left_ plen from Base.n-(m4bwid/2,(m4Lx+0.5)*lg_pinsep) + {"x" ljust at last line.start}', + GND, RX1$+$, RX1$-$, VBUS, SBU2, D$-$, D$+$, CC2, VBUS, TX2$-$, TX2$+$, GND) +# + Loopover_(`x', + `A`'m4Lx: line right_ plen from Base.n+(m4bwid/2,-(m4Lx+0.5)*lg_pinsep) + {"x" rjust at last line.start}', + GND, TX1$+$, TX1$-$, VBUS, CC1, D$+$, D$-$, SBU1, VBUS, RX2$-$, RX2$+$, GND) +# + command "}" + `$4']') + + `HDMI_micro( wid, ht, pinlen )' +define(`HDMI_micro',`[ + define(`m4bwid',`ifelse(`$1',,`16*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep+m4bwid*2/3',`$2')')dnl + command "{\small\sf" +# + Base:[line up m4bht/2 then right m4bwid*2/3 \ + then right m4bwid/3 down m4bwid/3 \ + then down m4bht-2*m4bwid/3 then down m4bwid/3 left m4bwid/3 \ + then left m4bwid*2/3 then to Here] + plen = ifelse(`$4',,`6*L_unit',`$4') +# + Loopover_(`x', + `Pin`'m4Lx: line left_ plen from Base.nw-(0,m4bwid/3+m4Lx*lg_pinsep) + {"x" ljust at last line.start} + "m4Lx" at last line.c above', + HPD, UTILITY, D2$+$, D2\_SH, D2$-$, D1$+$, D1\_SH, D1$-$, D0$+$, D0\_SH, + D0$-$, CLK$+$, CLK\_SH, CLK$-$, CEC, GND, SCL, SDA, $+``$''5V) + line from Base.nw+(m4bwid*2/3-lg_pinsep,0) up plen + r_text(21) at last line.c+(-5bp__,0) + r_text(SH2) at last line.start + (0,-10bp__) + line from Base.nw+(m4bwid*2/3-2*lg_pinsep,0) up plen + r_text(20) at last line.c+(-5bp__,0) + r_text(SH1) at last line.start + (0,-10bp__) + line from Base.sw+(m4bwid*2/3-lg_pinsep,0) down plen + r_text(23) at last line.c+(-5bp__,0) + r_text(SH4) at last line.start + (0, 10bp__) + line from Base.sw+(m4bwid*2/3-2*lg_pinsep,0) down plen + r_text(22) at last line.c+(-5bp__,0) + r_text(SH3) at last line.start + (0, 10bp__) +# + command "}" + `$4']') + divert(0)dnl diff --git a/graphics/circuit_macros/examples/mf/cct.mf b/graphics/circuit_macros/examples/mf/cct.mf index 789ec556e1..7134b617a0 100644 --- a/graphics/circuit_macros/examples/mf/cct.mf +++ b/graphics/circuit_macros/examples/mf/cct.mf @@ -1,5 +1,5 @@ % cct.mf, generated by Mfpic, v1.10 2012/12/03, -% from TeX source "font" on 2020/02/16 at 21:34 +% from TeX source "font" on 2020/05/01 at 17:17 numeric mfpicversion; mfpicversion := 110; if unknown mode: mode := localfont; fi if unknown mag: mag := 1000/1000; fi @@ -135,15 +135,15 @@ resizedrawpen (0.4bp); store (curpath) drawn -circle ((0.3084,-0),0.002767); +circle ((0.3084,0),0.002767); resizedrawpen (0.8bp); store (curpath) drawn polyline (false) -((0.3084,-0), -(0.333333,-0)); +((0.3084,0), +(0.333333,0)); endmfpic; % (3) line 59 in the TeX source. %------------------------------------------ @@ -217,15 +217,15 @@ resizedrawpen (0.4bp); store (curpath) drawn -circle ((-0,-0.3084),0.002767); +circle ((0,-0.3084),0.002767); resizedrawpen (0.8bp); store (curpath) drawn polyline (false) -((-0,-0.3084), -(-0,-0.333333)); +((0,-0.3084), +(0,-0.333333)); endmfpic; % (4) line 77 in the TeX source. %------------------------------------------ @@ -3121,7 +3121,7 @@ polyline (false) store (curpath) drawn -arcplr ((0,0.1375),180,-0,0.175); +arcplr ((0,0.1375),-180,-360,0.175); store (curpath) drawn @@ -4687,7 +4687,7 @@ polyline (false) store (curpath) drawn -arcplr ((0,-0.2),-0,-180,0.15); +arcplr ((0,-0.2),0,-180,0.15); endmfpic; % (103) line 1561 in the TeX source. %------------------------------------------ @@ -4739,7 +4739,7 @@ polyline (false) store (curpath) drawn -arcplr ((0,0.2),180,0,0.15); +arcplr ((0,0.2),-180,-360,0.15); endmfpic; % (105) line 1581 in the TeX source. %------------------------------------------ @@ -5035,7 +5035,7 @@ polyline (false) store (curpath) drawn -arcplr ((0,-0.2),-0,-180,0.15); +arcplr ((0,-0.2),0,-180,0.15); store (curpath) drawn @@ -5095,7 +5095,7 @@ polyline (false) store (curpath) drawn -arcplr ((0,0.2),180,0,0.15); +arcplr ((0,0.2),-180,-360,0.15); store (curpath) drawn diff --git a/graphics/circuit_macros/examples/mpost/Makefile b/graphics/circuit_macros/examples/mpost/Makefile index 3373e88305..2b8099c34d 100644 --- a/graphics/circuit_macros/examples/mpost/Makefile +++ b/graphics/circuit_macros/examples/mpost/Makefile @@ -22,6 +22,7 @@ DOC = examplesmpost FIGS = Adder.1 Alogix.1 ABlogix.1 Antennas.1 AmpTable.1 Audio.1 \ AntiqueClock.1 \ Bip.1 Btree.1 Byte.1 Buttons.1 \ + Connectors.1 Contact.1 Contacts.1 \ Counting.1 Crossbar.1 Crow.1 Csource.1 CanLogic.1 CctTable.1 Conn.1 \ Decoder.1 Demultiplexer.1 Dini.1 Diodes.1 Drive.1 \ Emarrows.1 Flow.1 Fuses.1 \ @@ -71,7 +72,7 @@ DIMFILE = tmp.dim @(printf 'verbatimtex\n' ;\ printf '=documentclass[11pt]{article}\n' ;\ printf '=usepackage{times,boxdims,graphicx}\n' ;\ - printf '=usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits}\n' ;\ + printf '=usepackage{siunitx}\n' ;\ $(MKDIM) ;\ printf '=begin{document} etex\n' ) $(TR) > $*.mp # $(M4) $(DIMFILE) $(DOC).dim $*.m4 | $(DPIC) -s >> $*.mp diff --git a/graphics/circuit_macros/examples/mpost/README-mpost b/graphics/circuit_macros/examples/mpost/README-mpost index 8ac5ba426f..53d0263f27 100644 --- a/graphics/circuit_macros/examples/mpost/README-mpost +++ b/graphics/circuit_macros/examples/mpost/README-mpost @@ -7,6 +7,8 @@ output of dpic. passed through m4, dpic, and MetaPost, and then is imported into examplesmpost.tex by the \includegraphics macro. On MikTeX, check the MKDIM definition in the Makefile before typing "make". + The current version truncates the input near the end to avoid + a "Tex capacity exceeded error". 2. To work on a single file, copy the source into test.m4 in this directory and type make tst. The files test.pic, test.mp, test.1, tst.dvi, and tst.ps diff --git a/graphics/circuit_macros/examples/mpost/examplesmpost.tex b/graphics/circuit_macros/examples/mpost/examplesmpost.tex index 280a985c49..45baa6b325 100644 --- a/graphics/circuit_macros/examples/mpost/examplesmpost.tex +++ b/graphics/circuit_macros/examples/mpost/examplesmpost.tex @@ -4,7 +4,7 @@ \usepackage{times,boxdims,pstricks} \usepackage{rotating} \usepackage{graphicx} -\usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits} +\usepackage{siunitx} \input ../header diff --git a/graphics/circuit_macros/examples/mpost/mptest b/graphics/circuit_macros/examples/mpost/mptest index 29f6d5841a..cfc94b6bc0 100755 --- a/graphics/circuit_macros/examples/mpost/mptest +++ b/graphics/circuit_macros/examples/mpost/mptest @@ -18,7 +18,7 @@ m4 $LIBS $1.m4 > $1.pic ( echo 'verbatimtex =documentclass[11pt]{article} =usepackage{times,boxdims}=usepackage{graphicx} -=usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits} +=usepackage{siunitx} =begin{document} etex ') | tr '=' '\134' > $1.mp diff --git a/graphics/circuit_macros/examples/mpost/tstmpost.tex b/graphics/circuit_macros/examples/mpost/tstmpost.tex index a791b3d9dd..a64a66241f 100644 --- a/graphics/circuit_macros/examples/mpost/tstmpost.tex +++ b/graphics/circuit_macros/examples/mpost/tstmpost.tex @@ -1,7 +1,7 @@ \documentclass[11pt,dvips]{article} \usepackage[dvips]{graphicx} \usepackage{amssymb,pstricks,boxdims,pst-grad} -\usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits} +\usepackage{siunitx} \addtolength{\textwidth}{2cm} \addtolength{\textheight}{3cm} \setlength{\oddsidemargin}{0pt} diff --git a/graphics/circuit_macros/examples/odistmakefile b/graphics/circuit_macros/examples/odistmakefile deleted file mode 100644 index f6e26d9d37..0000000000 --- a/graphics/circuit_macros/examples/odistmakefile +++ /dev/null @@ -1,548 +0,0 @@ -# Examples distmakefile. -# -# CTAN dist files: make -f distmakefile dist zips -# The CTAN file is tmp/Circuit_macros/Circuit_macrosN.N.tar.gz -# or -# make -f distmakefile distece -# The ECE file is ~/tmp/CMdistfiles.tar.gz -# Change the version number in doc/Version.tex - -# Circuit_macro directory, change this if necessary: -LIBDIR = $$HOME/lib -LIBDIR=/cygdrive/D/Dwight/lib -# LIBDIR = .. - -# The dpic processor: -PIC = dpic -p - -CONFIGFILE = pstricks.m4 - -# Uncomment for gpic. Use gpic or pic as applicable on your machine: -# PIC = gpic -t -# PIC = pic -t -# CONFIGFILE = gpic.m4 - -######################################################################### - -# M4 = m4 -B32000 -# M4 = m4 -I $(LIBDIR) -# Environment variable M4PATH has been set to the installation directory: -M4 = m4 - -######################################################################### - -THISFILE = distmakefile - -DOC = examples -PICS = \ - Adder.tex Alogix.tex ABlogix.tex AmpTable.tex Antennas.tex Audio.tex \ - Bip.tex Btree.tex Byte.tex Buttons.tex \ - CanLogic.tex CctTable.tex Conn.tex Counting.tex Crossbar.tex Crow.tex \ - Csource.tex \ - Decoder.tex Demultiplexer.tex Dini.tex Diodes.tex Drive.tex \ - Emarrows.tex Flow.tex Fuses.tex Grounds.tex \ - Headers.tex Heathkit.tex \ - I2L.tex Incleps.tex Jack.tex \ - Logic.tex Loglog.tex MC.tex Mixer.tex MotorControl.tex Multiplexer.tex \ - NLG.tex NPDT.tex Nport.tex \ - Opamp.tex Optoiso.tex \ - Pconn.tex PushPull.tex Quantum.tex \ - Rectifiers.tex Relay.tex Rotbox.tex \ - Schottky.tex ShiftR.tex Sierpinski.tex Sixpole.tex Sources.tex SQUID.tex \ - Switches.tex \ - TTLnand.tex Tgate.tex Three.tex Timer.tex Ttree.tex Tubediags.tex \ - Variable.tex Windings.tex Xform.tex \ - control.tex csc.tex diamond.tex \ - ex00.tex ex01.tex ex02.tex ex03.tex ex04.tex ex05.tex ex06.tex \ - ex08.tex ex09.tex ex10.tex ex11.tex ex12.tex ex15.tex \ - ex16.tex ex17.tex ex18.tex ex21.tex exp.tex fet.tex \ - graysurf.tex lcct.tex pwrsupply.tex quick.tex recycle.tex rose.tex \ - sfg.tex shapes.tex thyristor.tex ujt.tex worm.tex XOR.tex - -PICS = `make -f Makefile echopics` - -MANFIGS = AmpTable Antennas Audio Bip CctTable Conn Contact Contacts \ - Demultiplexer Diodes \ - Emarrows Fuses Grounds Headers Jack Logic Multiplexer NLG NPDT Nport Opamp \ - Pconn Relay ShiftR Sources Switches Tgate Variable Windings Xform fet quick \ - thyristor ujt - -# Files that have to be processed twice: -BOXDIMS = ex09 Crow Incleps Loglog Opamp Windings - -M4LIBS = $(CONFIGFILE) - -# Convert options -EPSOPTS = -trim -TIFOPTS = -trim -SVGOPTS = -trim -GIFOPTS = -trim -PNGOPTS = -trim -density 400 -scale 25% -quality 92 -alpha Remove - -DVIPSOPTS = -Ppdf -G0 -t ledger - -DIMFILE = $(DOC).dim -LTX = latex --shell-escape --quiet -BS = tr '|' '\134' - -.SUFFIXES: .ps .dvi .tex .m4 .pic .eps .png .pdf .svg .tif .gif -.dvi.ps: - dvips $(DVIPSOPTS) $* -o $*.ps - chmod 644 $*.ps -.m4.tex: - @if test -n "$(DIMFILE)" ; then touch $(DIMFILE) ; fi ; touch F_$*.dim - $(M4) $(M4LIBS) $(DIMFILE) F_$*.dim $*.m4 | sed -e '/^ *$$/d' > $*.pic - $(PIC) $*.pic > $*.tex -.m4.pic: - @if test -n "$(DIMFILE)" ; then touch $(DIMFILE) ; fi - $(M4) $(M4LIBS) $(DIMFILE) $*.m4 > $*.pic -.m4.dvi: - make -f $(THISFILE) $*.tex - printf "|documentclass[11pt]{article}\n\ -|usepackage{times,pstricks,boxdims,graphicx,pst-grad,pst-slpe}\n\ -|usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits}\n\ -|setlength{|textwidth}{28cm}|addtolength{|textheight}{28cm}\n\ -|setlength{|oddsidemargin}{0pt}|setlength{|evensidemargin}{0pt}\n\ -|setlength{|hoffset}{-1cm}\n\ -|newbox|graph\n\ -|pagestyle{empty}|thispagestyle{empty}\n\ -|begin{document}\n\ -|noindent|input{"$*".tex}\n\ -|end{document}\n" | $(BS) > F_$*.tex - latex --quiet F_$* - touch F_$*.dim $(DIMFILE) ; rm -f $*.tex $*.pic ; make -f $(THISFILE) $*.tex - latex --quiet F_$* - touch F_$*.dim $(DIMFILE) ; rm -f $*.tex $*.pic ; make -f $(THISFILE) $*.tex - latex --quiet F_$* -.m4.eps: - make -f $(THISFILE) $*.dvi - dvips -Ppdf F_$* -T128cm,28cm -o $*.ps -# Recent changes to PSTricks(?) have clashed with the use of TeXtoEPS -# so use ps2epsi - ps2epsi $*.ps $*.epsi - ( sed -e '/%%Pages:/d' -e '/BeginPreview/,$$d' -e '/%%HiResBoundingBox/d' \ - $*.epsi | tr '\015' '\012' ; sed -e '1,/EndPreview/d' $*.epsi ) | awk \ - '/^%%BoundingBox/{print $$1" "$$2" "$$3" "$$4+10" "$$5+15; next}; {print}' \ - >$*.eps -.m4.ps: - make -f $(THISFILE) $*.tex && mv $*.tex test.tex; latex --quiet tst - rm -f test.tex $*.pic - if test -f tst.dim ; then cp tst.dim F_$*.dim ; fi - make -f $(THISFILE) $*.tex && mv $*.tex test.tex; latex --quiet tst - dvips $(DVIPSOPTS) tst -o $*.ps - chmod 644 $*.ps -.m4.svg: - make -f $(THISFILE) $*.ps - convert $(SVGOPTS) $*.ps $*.svg -.m4.png: - make -f $(THISFILE) $*.ps -# make -f $(THISFILE) $*.eps -# convert $(PNGOPTS) $*.eps $*.png - convert $(PNGOPTS) $*.ps $*.png - @if test -f $*.png.0 ; then mv $*.png.0 $*.png ; fi -.m4.gif: - make -f $(THISFILE) $*.ps - convert $(GIFOPTS) $*.ps $*.gif -.m4.tif: - make -f $(THISFILE) $*.ps - convert $(TIFOPTS) $*.ps $*.tif - @if test -f $*.tif.0 ; then mv $*.tif.0 $*.tif ; fi -.m4.pdf: - touch F_$*.dim - $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic - dpic -g $*.pic > test.tex - sed -e '/^\\usepackage.*graphicx/s/^.*$$/\\usepackage{tikz}/' \ - -e '/pstricks/d' tst.tex > F_$*.tex - pdflatex --quiet F_$* - $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic - dpic -g $*.pic > test.tex - pdflatex --quiet F_$* - mv F_$*.pdf $*.pdf - -######################################################################### -default: - @printf "\n === making default\n" - @printf "\n\n\nUSAGE: make -f $(THISFILE) distece\n\n\n" - -$(DOC).ps: $(DOC).dvi - -doclinks: - @printf "\n === making doclinks\n" - -for nm in $(MANFIGS) ; do cp $(LIBDIR)/doc/$$nm.m4 . ; done - touch doclinks - -$(DOC).dvi: $(DOC).frs - @printf "\n === making $(DOC).dvi\n" - touch $(DOC).dim - for file in $(BOXDIMS) ; do \ - rm -f $$file.tex $$file.pic ; \ - make -f $(THISFILE) PIC="$(PIC)" DIMFILE=$(DOC).dim $${file}.tex ; done - latex --quiet $(DOC) - for file in $(BOXDIMS) ; do \ - rm -f $$file.tex $$file.pic ; \ - make -f $(THISFILE) PIC="$(PIC)" DIMFILE=$(DOC).dim $${file}.tex ; done - latex --quiet $(DOC) - -$(DOC).frs: $(DOC).tex files.tex header.tex - @printf "\n === making $(DOC).frs\n" - printf "|usepackage{pstricks,pst-grad}\n" | $(BS) > mode.tex - make -f $(THISFILE) $(PICS) - cp $(LIBDIR)/doc/Version.tex . - latex --quiet $(DOC) - touch $(DOC).frs - rm -f $(DOC).dvi - -tst: - make -f $(THISFILE) test.tex; latex --quiet tst; rm -f test.tex test.pic - make -f $(THISFILE) DIMFILE=tst.dim test.tex; latex --quiet tst - dvips $(DVIPSOPTS) tst -o tst.ps - -tst1: test.tex tst.tex - latex --quiet tst - dvips $(DVIPSOPTS) tst -o tst.ps - -gtst: - touch test.m4; make -f $(THISFILE) PIC="gpic -t" CONFIGFILE="" tst - -gtst1: - touch test.m4; make -f $(THISFILE) PIC="gpic -t" CONFIGFILE="" tst1 - -# Distribution files -NAME=Circuit_macros -TMP=/tmp - -# Makes test.m4, examples.pdf, Circuit_macros.pdf, -# Copying, examples/mf/cct.tfm examples/xfig -dist: - @printf "\n === making lib/examples/dist\n" - (cd .. ; make clobber ) - touch test.m4; cp test.m4 $(TMP)/test`date +%Y.%m.%d.%H:%M:%S` - find . -name test.m4 -exec rm -f {} \; - make -f $(THISFILE) test.m4 - (cd $(LIBDIR)/doc; make ) - make -f Makefile examples.pdf - ( cd $(LIBDIR); mv doc/Circuit_macros.pdf . ; \ - mv examples/examples.pdf . ; \ - make clobber; chmod 644 Circuit_macros.pdf examples.pdf; \ - cp -p Circuit_macros.pdf examples.pdf $(TMP) ; \ - mv Circuit_macros.pdf doc; mv examples.pdf examples ) -# touch reducedfiles -# make -f $(THISFILE) reducedfiles -# while test -f reducedfiles ; do sleep 1; done - make -f $(THISFILE) Copying - @printf "\n === making lib/examples/mf/cct.tfm\n" - (cd mf; make; chmod 644 cct.tfm; make clean) - @printf "\n === making lib/examples/xfig\n" - (cd xfig; make; make clean) - (cd $(LIBDIR)/doc; make clean ) - -dir=`pwd` ; if [ "`basename $$dir`" = "examples" ] ; then \ - rm -f $(LIBDIR)/examples.tar.gz ; fi - -EXCHANGE="`find C:/Program*\\(x86\\)/Adobe -name Acrobat.exe -print`" - -reducedfiles: - @printf "\n === making reducedfiles\n" - -( cd $(LIBDIR)/doc ; \ - printf "\n\n save Circuit_macros.pdf as reduced size pdf\n\n" ; \ - pwd | sed -e 's%/cygdrive/\(.\)%\1:%' -e 's%/%\\\\%g' \ - -e 's%^%$(EXCHANGE) %' -e 's%$$%\\\\Circuit_macros.pdf%' | sh ) && \ - ( printf "\n\n save examples.pdf as reduced size pdf\n\n" ; \ - pwd | sed -e 's%/cygdrive/\(.\)%\1:%' -e 's%/%\\\\%g' \ - -e 's%^%$(EXCHANGE) %' -e 's%$$%/examples.pdf%' | sh ) && \ - -$(TMP)/$(NAME): - if test -d $(TMP)/$(NAME); then rm -rf $(TMP)/$(NAME); \ - mkdir -p $(TMP)/$(NAME) ; fi - -COPIED = boxdims.sty CHANGES Copying darrow.m4 doc examples gpic.m4 \ - lib3D.m4 libcct.m4 libgen.m4 liblog.m4 Licence.txt \ - Makefile mfpic.m4 mpost.m4 pgf.m4 postscript.m4 psfrag.m4 pstricks.m4 \ - README svg.m4 xfig.m4 dpictools.pic - -REMOVED = examples/test examples/dev examples/pdflatex examples/xfig/info \ - examples/htmlsource examples/html examples/dist examples/zips \ - examples/SCP examples/distmakefile examples/boxdims \ - m4s \ - doc/expl-m4.pdf - -zipdir: $(TMP)/$(NAME) - @printf "\n === making lib/examples/zips\n" - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - PCVersion=`echo $$Version | sed -e 's/\./_/g'` ; \ - rm -rf $(TMP)/$(NAME)$$Version ; mkdir $(TMP)/$(NAME)$$Version; \ - (cd $(LIBDIR); cp -r $(COPIED) $(TMP)/$(NAME)$$Version ); \ - (cd $(TMP)/$(NAME)$$Version ; rm -rf $(REMOVED) ) ; \ - (cd $(TMP)/$(NAME)$$Version ; find . -type f -exec chmod 644 {} \; ) ; \ - (cd $(TMP)/$(NAME)$$Version ; find . -type f -empty -exec rm {} \; ) ; \ - (cd $(TMP)/$(NAME)$$Version ; find . -type d -exec chmod 755 {} \; ) ; \ - (cd $(TMP)/$(NAME)$$Version ; chmod +x examples/mf/mftest ) ; \ - (cd $(TMP)/$(NAME)$$Version ; chmod +x examples/mpost/mptest ) ; \ - (cd $(LIBDIR)/doc; make clobber ) - touch zipdir - -zips: zipdir - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - ( cd $(TMP); \ - tar cf - $(NAME)$$Version | gzip > $(NAME)$$Version.tar.gz ; \ - (cd $(NAME)$$Version; zip -r $(NAME) * ) ; \ - mv $(NAME)$$Version/$(NAME).zip $(NAME)$$PCVersion.zip ; \ - printf "\n$(TMP)/$(NAME)$$Version and\n" ; \ - printf "$(TMP)/$(NAME)$$Version.tar.gz created\n"; \ - printf "\n$(TMP)/$(NAME)$$PCVersion.zip created\n" ) -# touch zips - -test.m4: - @printf "\n === making test.m4\n" - printf \ -".PS\n\ -# Test.m4\n\ -cct_init\n\ -# Use this file to do a quick test of diagrams you are developing.\n\ -# Enter the drawing commands here and (if you have a \"make\" utility) type\n\ -# make tst\n\ -# Otherwise, to process a file called filename.m4, type one of\n\ -# make filename.ps\n\ -# make filename.eps\n\ -# make filename.pdf\n\ -# make filename.gif (requires ImageMagick convert)\n\ -# make filename.png (requires ImageMagick convert)\n\ -# make filename.tif (requires ImageMagick convert)\n\ -# To perform tests in a new folder, copy the Makefile, this file,\n\ -# and tst.tex (or your own equivalent) to that folder.\n\ -.PE\n" > test.m4 - -# For the git repository -GITDIR=$${HOME}/dpic/git/Circuit_macros -gitsync: dist zipdir - cd $(GITDIR) && rsync -a -v $(TMP)/Cir*[0-9]/* . - cp -p htmlsource/.gitignore $(GITDIR) - -distfile: - @printf "\n === making distfile\n" - rm -f dist zips htmlfiles - make -f $(THISFILE) dist zips htmlfiles - rm -rf distfile distfile.tar.gz; mkdir distfile - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - cp -p $(TMP)/$(NAME)$$Version.tar.gz \ - $(TMP)/$(NAME)$$Version/README $(TMP)/$(NAME)$$Version/CHANGES \ - distfile ;\ - PCVersion=`echo $$Version | sed -e 's/\./_/g'` ; \ - cp -p $(TMP)/$(NAME)$$PCVersion.zip distfile ;\ - mkdir distfile/html - cp -rp html/* distfile/html - (cd distfile/html; mv index.html .. ; rm -f access.log *.pl ) -# tarlib distfile - -EPSFILES=${PICS:%.tex=%.eps} -# Make an encapsulated Postscript file for each example (requires pstricks) -eps: - @printf "\n === making eps\n" - make -f $(THISFILE) ${PICS:%.tex=%.eps} - -Copying: $(LIBDIR)/doc/Version.tex - @printf "\n === making Copying\n" - sed -e \ - "s%Version *[0-9.]*,%`cat $(LIBDIR)/doc/Version.tex`,%" $(LIBDIR)/Copying \ - > xxx - sed -e "s%opyright (c) [^ ][^ ]* J%opyright (c) `date '+%Y'` J%" xxx \ - > $(LIBDIR)/Copying ; rm -f xxx -# for file in `find $(LIBDIR) -name Copying -print` ; do \ -# if test ! "$$file" = "$(LIBDIR)/Copying" ; then \ -# cp $(LIBDIR)/Copying $$file; fi ; done - (cd $(LIBDIR) ; for file in `grep -l 'Version [0-9][\.0-9]*,' *` ; do \ - if test ! \( "$$file" = "Copying" -o "$$file" = "CHANGES" \) ; then \ - ( sed -e '/opyright (c)/,$$d' $$file ; cat Copying ; echo "" ; \ - sed -e '1,/opyright (c)/d' $$file | sed -e '1,/^ *$$/d' ) > xxx ; \ - sed -e "s%Version *[0-9.]*:%`cat doc/Version.tex`:%" xxx \ - > $$file ; rm -f xxx ; fi ; done ; ) - (cd $(LIBDIR) ; \ - ( sed -e '/opyright (c)/,$$d' dpictools.pic ; \ - sed -e 's/^ *\*/\#/' -e 's/\* *$$/\#/' Copying ; echo "" ; \ - sed -e '1,/opyright (c)/d' dpictools.pic | sed -e '1,/^ *$$/d' ) > xxx ;\ - sed -e "s%Version *[0-9.]*:%`cat doc/Version.tex`:%" xxx \ - > dpictools.pic ; rm xxx ) - -htmlfiles: html svgfiles pngs html/examples.html html/index.html \ - Circuit_macros.ico html/Optosample.png - @printf "\n === making lib/examples/htmlfiles\n" - mv Circuit_macros.ico html - if test -f examples.pdf ; \ - then printf "\n\n examples.pdf found\n" ; \ - else printf "\n\n examples.pdf not found\n" ; fi - if test -f doc/Circuit_macros.pdf ; \ - then printf "\n\n doc/Circuit_macros.pdf found\n" ; \ - cp doc/Circuit_macros.pdf html ; \ - else printf "\n\n doc/Circuit_macros.pdf not found\n" ; \ - cp $(TMP)/Circuit_macros.pdf $(LIBDIR)/doc ; fi - cp examples.pdf html - (cd html; chmod 644 *.svg *.txt *.html *.pdf ) - touch htmlfiles - -html: - @printf "\n === making html\n" - if test ! -d html ; then mkdir html ; fi - ( cd htmlsource; cp -p $(PERLFILE).pl .htaccess ../html ) - -svgfiles: html - @printf "\n === making svgfiles\n" - ( cd svg; make ) - for file in `ls svg/*SVG.m4` ; \ - do cp $$file html/`basename $$file .m4`.txt ; done - cp -p svg/examplesSVG.html svg/*.svg svg/*.jpg html - touch svgfiles - -Circuit_macros.ico: html htmlsource/favicon.m4 - @printf "\n === making Circuit_macros.ico\n" - cp htmlsource/favicon.m4 . - make -f $(THISFILE) favicon.eps - convert -density 105 favicon.eps Circuit_macros.ico - rm -f favicon.* - -html/index.html: htmlsource/index.htmx html - @printf "\n === making index.html\n" - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - PCVersion=`echo $$Version | sed -e 's/\./_/g'` ; \ - sed -e 's/XXX/'$$Version'/' \ - -e 's/PCVersion/'$$PCVersion'/' \ - htmlsource/index.htmx > html/index.html - -html/Optosample.png: html htmlsource/Optosample.m4 - @printf "\n === making Optosample.png\n" - cp htmlsource/Optosample.m4 . - make -f $(THISFILE) Optosample.eps - convert Optosample.eps Optosample.png - mv Optosample.png html/Optosample.png - rm -f Optosample.* - -TR = tr '^@' '\012`' -html/examples.html: html htmlsource/examples.htmx files.tex - @printf "\n === making examples.html\n" - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - sed -e 's/Version XXX/Version '$$Version'/' htmlsource/examples.htmx \ - > html/examples.html - cat files.tex | sed -e '/bfig[\{]/d' -e '/^ *[\}][\}]* *$$/d' \ - -e '/src[\{]/d' -e '/\\if/d' -e '/\\fi/d' -e '/includegraphics/d' \ - -e '/\%ignore\%/d' -e '/^\%/d' -e '/\\end[\{]/d' -e '/^\%/d' \ - -e '/getpic/s/\\getpic[\{]\([^\}]*\)[\}][\}]*/ <\1> /g' \ - -e '/<[^-]/s/^[^<]*<//' -e '/<[^-]/s/>[^<]*</> /g' -e '/[^-]>/s/>.*$$/>/' \ - -e 's/\([^ -][^ -]*\)>/IS_"\1.png" A_"\1 diagram">B_"\1.txt" T_\1.m4Y/'\ - -e 's/IS_/<P><IMG SRC=/' -e 's/A_/ALT=/' -e 's/B_/<BR>^<A HREF=/' \ - -e 's/T_/TARGET="_blank"><P>/' -e 's/4Y/4<\/A>:/' \ - -e 's/^.*caption[\{]//' -e '/^ *$$/s/^ */<HR>/' \ - -e 's/\\hbox//g' \ - | sed \ - -e '/<P>/!s/{\\tt \([^}]*\)}/<tt>\1<\/tt>/g' \ - -e '/<P>/!s/{\\texttt \([^}]*\)}/<tt>\1<\/tt>/g' \ - -e '/<P>/!s/{\\bf \([^}]*\)}/<tt>\1<\/tt>/g' \ - -e '/<P>/!s/{\\em \([^}]*\)}/<em>\1<\/em>/g' \ - -e '/<P>/!s/{\\it \([^}]*\)}/<em>\1<\/em>/g' \ - -e '/<P>/!s/{\\sl \([^}]*\)}/<em>\1<\/em>/g' \ - -e '/<P>/!s%\([^\\]\)_\(.\)%\1<sub>\2</sub>%g' \ - -e '/<P>/!s%\([^\\]\)\^\(.\)%\1<sup>\2</sup>%g' \ - -e 's%``%"%g' -e "s%''%\"%g" -e 's/\~/ /g' \ - -e 's%\\%%g' -e 's/\$$//g' \ - | sed -e 's/HREF=Inclpdf.m4/HREF=Inclpdf.txt/' | $(TR) \ - >> html/examples.html - cat htmlsource/endexamples.htmx >> html/examples.html - -BACKGROUND = blight - -pngs: basenames - @printf "\n === making pngs\n" - cp htmlsource/$(BACKGROUND).m4 . - -for nm in `cat basenames` ; do \ - echo "make -f $(THISFILE) $$nm.png ; mv $$nm.png html/$$nm.png" ;\ - make -f $(THISFILE) $$nm.png ; mv $$nm.png html/$$nm.png ;\ - ls -l html/$$nm.png ; \ - done - make -f $(THISFILE) $(BACKGROUND).png - mv $(BACKGROUND).png html/$(BACKGROUND).png - rm -f $(BACKGROUND).tex - -for nm in `cat basenames` ; do\ - cp $$nm.m4 html/$$nm.txt ; done - cp Inclpdf.m4 html/Inclpdf.txt - echo "" > html/Inclpdf.m4 - cat Inclpdf.m4 >> html/Inclpdf.m4 - chmod 644 html/Inclpdf.m4 - -gifs: basenames - @printf "\n === making gifs\n" - -for nm in `cat basenames` ; do \ - make -f $(THISFILE) $$nm.gif ; mv $$nm.gif html/$$nm.gif ;\ - done - make -f $(THISFILE) $(BACKGROUND).gif - mv $(BACKGROUND).gif html/$(BACKGROUND).gif - rm -f $(BACKGROUND).tex - -for nm in `cat basenames` ; do\ - cp $$nm.m4 html/$$nm.txt ; done - cp Inclpdf.m4 html/Inclpdf.txt - echo "" > html/Inclpdf.m4 - cat Inclpdf.m4 >> html/Inclpdf.m4 - chmod 644 html/Inclpdf.m4 - -basenames: files.tex - @printf "\n === making basenames\n" - grep '\\getpic' files.tex | sed -e '/Inclpdf/d' \ - -e 's%\\getpic[\{]\([^\}]*\)[\}]% <\1> %g' \ - -e 's/^[^<]*<//' -e 's/>[^<]*</ /g' -e 's/>.*$$//' \ - | sort | uniq > basenames - -# To make but not distribute everything: make dist zips htmlfiles - -ECETMP = /cygdrive/d/Dwight/tmp -ECENAM = CMdistfiles -ECEDIR = $(ECETMP)/$(NAME) -PERLFILE = Circuit_macros_access_log - -# (cd lib/examples; make -f distmakefile distece 2>&1)2>&1 > typescript -distece: - @printf "\n === making lib/examples/distece\n" - (cd ..; find . -type f -exec chmod 644 {} \; ) - rm -f dist zips htmlfiles - make -f $(THISFILE) dist zips htmlfiles - rm -rf $(ECEDIR)* ; mkdir $(ECEDIR) - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - PCVersion=`echo $$Version | sed -e 's/\./_/g'` ; \ - cp -p $(TMP)/$(NAME)$$Version.tar.gz \ - $(TMP)/$(NAME)$$PCVersion.zip \ - $(TMP)/$(NAME)$$Version/README $(TMP)/$(NAME)$$Version/CHANGES \ - $(TMP)/$(NAME)$$Version/doc/Circuit_macros.pdf \ - $(ECEDIR) - rm -rf $(ECEDIR)/html ; mkdir $(ECEDIR)/html - cp -rp html/* $(ECEDIR)/html - mv $(ECEDIR)/html/index.html $(ECEDIR)/index.html - (cd $(ECETMP); tarlib $(NAME); mv $(NAME).tar.gz $(ECENAM).tar.gz ) - echo ""; echo ""; ls -l $(ECETMP)/$(ECENAM).tar.gz - -testall: - (cd mf; make) - (cd mpost; make) -# (cd pgf; make) - (cd psfrag; make) - (cd svg; make) - (cd xfig; make) - -clobber: clean - rm -f *.ps - -@for dir in mf mpost pdflatex xfig psfrag pgf svg dev test; \ - do (if test -d $$dir ; then cd $$dir; make clobber; fi) ; done - rm -f *.warn - rm -rf index.html html basenames *.png* dist zips htmlfiles svgfiles - rm -rf $(TMP)/Cir* $(ECETMP)/Cir* $(ECEDIR) - if test -f Incl.pdf ; then \ - mv Incl.pdf Incl.pdx; rm -f *.pdf; mv Incl.pdx Incl.pdf ; fi - for file in `ls *.tex` ; do \ - nm=`echo $$file | sed -e "s/\(.*\)\.tex/\1/"` ; \ - if test -s $$nm.m4 ; then rm -f $$nm.pic $$nm.tex ; fi ; done - -clean: - @printf "\nclean:\n" - find .. -name \*stackdump -exec rm {} \; - rm -f core snapshots *.ico *favicon* $(BACKGROUND).* zipdir - rm -f *.dvi *.aux *.log *.toc *.blg *.eps *.epsi eps *-mfpic* - rm -f fig*.tex $(PICS) *.roff *.int *.pic gpic.m4 test.tex xxx* *.fig - rm -f *.dim *.bak *.frs $(RPICS) rotate.ps tst.ps *.bbl *-pics.ps *.gif - rm -f *.tfm *[0-9]pk *.png *.1 - rm -f F_*.tex Version.tex doclinks *stackdump *.ico - rm -rf distfile distfile.tar.gz - @printf "\n" diff --git a/graphics/circuit_macros/examples/psfrag/Makefile b/graphics/circuit_macros/examples/psfrag/Makefile index 83eb573f8e..314d8c3ef1 100644 --- a/graphics/circuit_macros/examples/psfrag/Makefile +++ b/graphics/circuit_macros/examples/psfrag/Makefile @@ -23,8 +23,10 @@ DOC = examplespsfrag FIGS = Adder.eps Alogix.eps ABlogix.eps Antennas.eps Audio.eps AmpTable.eps \ AntiqueClock.eps \ Bip.eps Btree.eps Byte.eps Buttons.eps \ - CanLogic.eps CctTable.eps Conn.eps Counting.eps Crossbar.eps Crow.eps \ + CanLogic.eps CctTable.eps Conn.eps Connectors.eps \ + Counting.eps Crossbar.eps Crow.eps \ Decoder.eps Demultiplexer.eps Dini.eps Diodes.eps Drive.eps \ + Contact.eps Contacts.eps \ Csource.eps \ Emarrows.eps Flow.eps Fuses.eps \ GrayCode.eps Grounds.eps Headers.eps Heathkit.eps Jack.eps \ diff --git a/graphics/circuit_macros/examples/psfrag/examplespsfrag.tex b/graphics/circuit_macros/examples/psfrag/examplespsfrag.tex index 594eafcd08..2baa5cd04f 100644 --- a/graphics/circuit_macros/examples/psfrag/examplespsfrag.tex +++ b/graphics/circuit_macros/examples/psfrag/examplespsfrag.tex @@ -2,7 +2,7 @@ \documentclass[11pt]{article} \usepackage{times,boxdims} -\usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits} +\usepackage{siunitx} \usepackage{rotating} \usepackage{graphicx} \usepackage[scanall]{psfrag} diff --git a/graphics/circuit_macros/examples/psfrag/tstpsfrag.tex b/graphics/circuit_macros/examples/psfrag/tstpsfrag.tex index 2073079ef1..6aa6ed438f 100644 --- a/graphics/circuit_macros/examples/psfrag/tstpsfrag.tex +++ b/graphics/circuit_macros/examples/psfrag/tstpsfrag.tex @@ -1,6 +1,6 @@ \documentclass[dvips]{article} \usepackage{times,boxdims,graphicx} -\usepackage[amssymb,Gray,thinqspace,textstyle]{SIunits} +\usepackage{siunitx} \usepackage[scanall]{psfrag} \addtolength{\textwidth}{2cm} \addtolength{\textheight}{3cm} diff --git a/graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 b/graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 index 0848a53cbe..63c169d3e2 100644 --- a/graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 +++ b/graphics/circuit_macros/examples/svg/AntiqueClockSVG.m4 @@ -4,9 +4,7 @@ gen_init(svg_font(font-family="sans-serif" font-stretch="condensed")) # https://tex.stackexchange.com/questions/236923/generate-analog-clock-with-numbered-face-add-seconds-roman-numerals -# `Initialize rotated text. Any unrotated text must -# appear after the rotated text.' -svgrot_init(AntiqueClockSVG) +svg_rot_init(AntiqueClockSVG) # `hms2deg(hr,min,sec) hr:min:sec to degrees # blank arg1: degrees for minute hand @@ -74,8 +72,8 @@ define(`AntiqueClock',`[ # h,m,s,diam second = ifelse(`$3',,51,`$3') # outer radius ifelse(`$4',,`skale=0.5; r1=2',`r1=(`$4')/2; skale=r1/4') - r2 = r1-0.5*skale - r3 = r2-0.14*skale + r2 = r1 - 0.5*skale + r3 = r2 - 0.14*skale r4 = r3 - 0.35*skale r5 = r4 - 0.17*skale r6 = r5 - 0.63*skale @@ -117,11 +115,11 @@ Face: circle thick 0 fill_(1) rad r3 at C textht = (r3-r4)*0.6 for mn = -15 to 15 by 5 do { t = 90-mn/60*360 R:(Rect_((r3+r4)/2,t)) - svg_rot(mn/60*360,sprintf("%g",pmod(mn,60)) at C+R+adj(t)) + svg_rot(-mn/60*360,sprintf("%g",pmod(mn,60)) at C+R+adj(t)) } for mn = 20 to 40 by 5 do { t = 450-mn/60*360 R: (Rect_((r3+r4)/2,t)) - svg_rot(-180+mn/60*360, sprintf("%g",pmod(mn,60)) at C+R+adj(t)) + svg_rot(180-mn/60*360, sprintf("%g",pmod(mn,60)) at C+R+adj(t)) } # Outer tics for mn = 1 to 60 do { t = 90-mn/60*360 @@ -131,11 +129,11 @@ Face: circle thick 0 fill_(1) rad r3 at C textht = (r5-r6)*0.6 Loopover_(`mx',`tt = 90-(m4Lx-4)/12*360 R: (Rect_((r5+r6)/2,tt)) - svg_rot(90-tt, "mx" at C+R+adj(tt)) ', + svg_rot(tt-90, "mx" at C+R+adj(tt)) ', IX,X,XI,XII,I,II,III) Loopover_(`mx',`tt = 360-m4Lx*30 R: (Rect_((r5+r6)/2,tt)) - svg_rot(270-tt, "mx" at C+R+adj(tt)) ', + svg_rot(tt-270, "mx" at C+R+adj(tt)) ', IV,V,VI,VII,VIII) # Inner tics diff --git a/graphics/circuit_macros/examples/svg/AudioSVG.m4 b/graphics/circuit_macros/examples/svg/AudioSVG.m4 index 116f155e58..709fdf4c25 100644 --- a/graphics/circuit_macros/examples/svg/AudioSVG.m4 +++ b/graphics/circuit_macros/examples/svg/AudioSVG.m4 @@ -1,5 +1,5 @@ .PS -# `Audio.m4' +# `AudioSVG.m4' cct_init(svg_font(sans-serif,11bp__,2bp__)) define(`In123',` @@ -44,14 +44,6 @@ L:[ thicklines_ ] with .sw at last [].se+(0.35,0) [ - M: microphone - `"microphone"' at M.s+(0,-0.2) below - In123(M) - thinlines_ - arrow <- from M.Circle.n up 0.15 ; "svg_it(Circle)" above - thicklines_ - ] with .sw at last [].se+(0.4,0) -[ Z: buzzer `"buzzer"' at Z.s+(0,-0.2) below In123(Z) @@ -69,6 +61,24 @@ R:[ "svg_it(Face)" wid 0.5 at Here above thicklines_ ] with .sw at last [].se+(0.4,0) +[ + M: microphone + `"microphone"' wid 60bp__ at M.s+(0,-0.2) below + In123(M) + thinlines_ + arrow <- from M.Circle.n up 0.15 ; "svg_it(Circle)" above + thicklines_ + ] with .sw at last [].se+(0.4,0) +[ + M: microphone(A) + "`microphone(A)'" at M.s+(0,-0.2) #below + thinlines_ + arrow <- from M.Head.e+(0,0.05) right 0.2; "svg_it(Head)" wid 40bp__ ljust + spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1 + "svg_it(Head.b)" ljust + arrow <- from M.Stand.s right 0.2; "svg_it(Stand.s)" ljust + thicklines_ + ] with .n at last [].s+(0,-0.2) [[ E: earphone `"earphone"' at E.s+(0,-0.2) below @@ -87,7 +97,7 @@ R:[ "svg_it(C)" at E.C thicklines_ ] with .sw at last [].se+(0.4,0) -] with .n at (0.5 between L and R,L.s)+(0,-0.2) +] with .n at (0.5 between L and R,L.s)+(0.5,-0.2) command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/Banking.m4 b/graphics/circuit_macros/examples/svg/Banking.m4 deleted file mode 100644 index 630326f867..0000000000 --- a/graphics/circuit_macros/examples/svg/Banking.m4 +++ /dev/null @@ -1,59 +0,0 @@ -.PS -#Banking.m4 - -gen_init - - scale = 2.54 # use cm - svg_font(Arial Black,11 bp__,2 bp__) - boxwid = 6.8 - boxht = 4.5 - linethick_(1.5) - - define(`heading', - `<tspan font-style=\"bold\" font-size=\"120%\" fill=\"white\">`$1'</tspan>') - define(`subheading', - `<tspan fill=\"white\" font-size=\"75%\" font-style=\"bold\">[`$1']</tspan>') - define(`wtext',`<tspan fill=\"white\">`$1'</tspan>') - - C: circle diam 2.6 colored "mediumblue" - Person: box rad boxht/4 colored "mediumblue" with .n at C.s+(0,C.rad/8) \ - "heading(Personal Banking)" \ - "" \ - "heading(Customer)" \ - "subheading(Person)" \ - "" \ - "wtext(A customer of the bank`,' with)" \ - "wtext(personal bank accounts.)" - - A1: arrow thick 1.5 dashed down 3.5 from Person.s - svg_font(Arial,11 bp__,2 bp__) - { box invis fill 1 ht 0.4 wid 1.0 "Uses" at A1 } - command "</g>" - Internet: box colored "steelblue" \ - "heading(Internet Banking System)" \ - "subheading(Software system)" \ - "" \ - "wtext(Allows customers to view)" \ - "wtext(information about their bank)" \ - "wtext(accounts`,' and make payments.)" - - svg_font(Arial,11 bp__,2 bp__) - A2: arrow thick 1.5 dashed right 5.4 from Internet.e \ - "Sends e-mail" above "using" below - command "</g>" - Email: box colored "slategrey" \ - "heading(E-mail System)" \ - "subheading(Software system)" \ - "" \ - "wtext(Internal Microsoft Exchange)" \ - "wtext(e-mail system.)" - - A3:arrow thick 1.5 dashed from Email.nw+(0.4,0) to Person.se+(0.3,Person.ht/5) - svg_font(Arial,11 bp__,2 bp__) - { box invis fill 1 ht 0.4 wid 3.3 "Sends e-mails to" at A3 } - command "</g>" - -# etc - - command "</g>" # font -.PE diff --git a/graphics/circuit_macros/examples/svg/ButtonsSVG.m4 b/graphics/circuit_macros/examples/svg/ButtonsSVG.m4 index b9e9c12e69..79c9463639 100644 --- a/graphics/circuit_macros/examples/svg/ButtonsSVG.m4 +++ b/graphics/circuit_macros/examples/svg/ButtonsSVG.m4 @@ -1,7 +1,7 @@ .PS # ButtonsSVG.m4 gen_init(svg_font(sans-serif,11bp__)) -copy "HOMELIB_/dpictools.pic" +NeedDpicTools divert(-1) ################################################################# diff --git a/graphics/circuit_macros/examples/svg/ConnSVG.m4 b/graphics/circuit_macros/examples/svg/ConnSVG.m4 index 9d828ee48f..7344baeb23 100644 --- a/graphics/circuit_macros/examples/svg/ConnSVG.m4 +++ b/graphics/circuit_macros/examples/svg/ConnSVG.m4 @@ -1,6 +1,6 @@ .PS # `ConnSVG.m4' -cct_init(svg_font(sans-serif,11.5bp__)) +cct_init(svg_font(sans-serif,10.5bp__)) T:[ S1: tstrip(U) @@ -55,13 +55,13 @@ Y: [ ] with .sw at (C.e.x-0.3,T.s.y) B: [ - tbox(V`'svg_sub(2)) - `"tbox(V`'svg_sub(2))"' wid 105bp__ with .nw at last [].sw+(0,-4bp__) - [ left_; - tbox(V`'svg_sub(1)) ] with .nw at last [].sw+(0,-0.25) - `"left_"' at last [].sw +(0,-0.2) ljust `"tbox(V`'svg_sub(1))"' wid 100bp__ \ - ljust -] with .nw at Y.ne+(0.2,0) + tbox(V`'svg_sub(1)) + { `"tbox'(V`'svg_sub(1))" wid 47bp__ with .nw at last [].sw+(0,-4bp__) } + tbox(V`'svg_sub(2),,,<) with .sw at last [].se+(0.75,0) + { `"tbox'(V`'svg_sub(2)`,,,<)"' at last [].s below } + tbox(V`'svg_sub(3),,,<>) with .sw at last [].se+(0.75,0) + { `"tbox'(V`'svg_sub(3)`,,,<>)"' at last [].s below } +] with .nw at T.sw+(0,-0.2) command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/ConnectorsSVG.m4 b/graphics/circuit_macros/examples/svg/ConnectorsSVG.m4 new file mode 100644 index 0000000000..59860a2d1e --- /dev/null +++ b/graphics/circuit_macros/examples/svg/ConnectorsSVG.m4 @@ -0,0 +1,30 @@ +.PS +# ConnectorsSVG.m4 +log_init +include(icsSVG.m4) + +svg_font(sans-serif,8.5bp__) +#vg_rot_init(test) +svg_rot_init(ConnectorsSVG) + +# ArduinoUno +# "Arduino Uno Rev 3" at last [].Connector.s below + Ar: ArduinoLeonardo #with .sw at last [].se+(0.25,0) + "Arduino Leonardo" at last [].Connector.s below + + RPI: RPi with .sw at last [].se+(0.25,0) + "Raspberry Pi 4 GPIO" at last [].GPIO.s below + + HD: HDMI_micro with .nw at last [].ne+(0.25,0.5) + "Micro" rjust at HD.Base.sw+(0,10bp__) "HDMI" rjust + + S: USB_C_Socket with .sw at (HD.e.x+0.25,RPI.s.y) + "USB-C Socket" at S.Base.s below + "B12" at S.B12.end above ljust + "B1" at S.B1.end above ljust + "A1" at S.A1.end above rjust + "A12" at S.A12.end above rjust + + command "</g>" + +.PE diff --git a/graphics/circuit_macros/examples/svg/CsourceSVG.m4 b/graphics/circuit_macros/examples/svg/CsourceSVG.m4 index e194f01f8c..c95aaff3d4 100644 --- a/graphics/circuit_macros/examples/svg/CsourceSVG.m4 +++ b/graphics/circuit_macros/examples/svg/CsourceSVG.m4 @@ -4,7 +4,7 @@ cct_init(svg_font(sans-serif,11bp__,2bp__)) # The default line separation is a bit small if the top line contains # subscripts, so we space stacked lines explicitly: -define(`stbelow',`at last ""-(0,textht*1.3)') +define(`stbelow',`at last ""-(0,textht*1.5)') define(`loffset',`+(textoffset,0)') define(`roffset',`-(textoffset,0)') diff --git a/graphics/circuit_macros/examples/svg/FontsSVG.m4 b/graphics/circuit_macros/examples/svg/FontsSVG.m4 index 856014836b..57dcd431a5 100644 --- a/graphics/circuit_macros/examples/svg/FontsSVG.m4 +++ b/graphics/circuit_macros/examples/svg/FontsSVG.m4 @@ -3,10 +3,13 @@ gen_init textht = 0.2 -define(`ft',`{ svg_font(`$1',`$2',`$3',"`$1'")}; move down 0.5; right_') +define(`ft',`{ svg_font(`$1',`$2',`$3',"`$1'" ljust) + move to (B.w+(2.5,0),Here) + svg_font(`$1',`$2',`$3',"ABCDEFG abcdefg" ljust)} + move down 0.5; right_') -B: box wid 4 ht 7 - move to B.nw+(2,-0.5) +B: box wid 5.5 ht 7 + move to B.nw+(0.5,-0.5) ft(Arial) ft(Helvetica) @@ -23,6 +26,6 @@ B: box wid 4 ht 7 ft(Arial Black) ft(Impact) - textht = 0.1 - "These may be vewer-dependent" above ljust at B.sw + textht = 0.12 + "These may be viewer-dependent" above ljust at B.sw .PE diff --git a/graphics/circuit_macros/examples/svg/FusesSVG.m4 b/graphics/circuit_macros/examples/svg/FusesSVG.m4 index a4617e6221..a421c45b57 100644 --- a/graphics/circuit_macros/examples/svg/FusesSVG.m4 +++ b/graphics/circuit_macros/examples/svg/FusesSVG.m4 @@ -14,11 +14,10 @@ movewid = 0.25 move fuse(,S) ; {"`fuse(,S)'" at last line.c+(0,-0.2)} move - fuse(,HB) ; {"`fuse(,HB)'" at last line.c+(0,-0.2)} + fuse(,SB) ; {"`fuse(,SB)'" at last line.c+(0,-0.2)} } move down; right_ - fuse(,HC,0.5,0.3) ; {"`(,HC,0.5,0.3)'" ljust at last line.start+(0,-0.25)} - move + { cbreaker; {"`cbreaker'" at last line.c+(0,-0.25)} move cbreaker(,R); {"`cbreaker(,R)'" at last line.c+(0,-0.25)} @@ -28,6 +27,13 @@ movewid = 0.25 cbreaker(,,T); {"`...(,,T)'" at last line.c+(0,-0.25)} move cbreaker(,,TS); {"`...(,,TS)'" at last line.c+(0,-0.25)} + } + move down; right_ + { + fuse(,HB) ; {"`fuse(,HB)'" at last line.c+(0,-0.2)} + move + fuse(,HC,0.5,0.3) ; {"`(,HC,0.5,0.3)'" ljust at last line.start+(0,-0.25)} + } command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/GroundsSVG.m4 b/graphics/circuit_macros/examples/svg/GroundsSVG.m4 index 7c4d741d0e..c1a9589f2d 100644 --- a/graphics/circuit_macros/examples/svg/GroundsSVG.m4 +++ b/graphics/circuit_macros/examples/svg/GroundsSVG.m4 @@ -8,15 +8,17 @@ Ground: ground GT: ground(,T) move right sep GF: ground(,,F) +sep = 0.55 move right sep GE: ground(,,E) move right sep -B: Here+(0,-0.5) ; { - "`ground'" wid 36bp__ at (Ground,B) - "`ground'(,T)" at (GT,B)+(0,12bp__) +B: Here+(0,-0.5) +D: B+(0,11bp__) + { "`ground'" wid 36bp__ at (Ground,B) + "`ground'(,T)" at (GT,B)+(0,11bp__) "(,,F)" at (GF,B) - "(,,E)" at (GE,B)} + "(,,E)" at (GE,D)} GS: ground(,,S) @@ -28,13 +30,17 @@ GQ: ground(,,Q) GL: ground(,,L) move right sep GP: ground(,,P) + move right sep +GPA: ground(,T,PA) C: Here+(0,-0.5) +E: C+(0,11bp__) "(,,S)" at (GS,C) - "(,,S,90)" at (GS90,C) + "(,,S,90)" at (GS90,E) "(,,Q)" at (GQ,C) - "(,,L)" at (GL,C) + "(,,L)" at (GL,E) "(,,P)" at (GP,C) + "(,T,PA)" wid 32bp__ at (GPA,E) command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/HeadersSVG.m4 b/graphics/circuit_macros/examples/svg/HeadersSVG.m4 index c222f18650..15e4cda70b 100644 --- a/graphics/circuit_macros/examples/svg/HeadersSVG.m4 +++ b/graphics/circuit_macros/examples/svg/HeadersSVG.m4 @@ -5,7 +5,11 @@ log_init(svg_font(sans-serif,10bp__)) Header {"svg_it(P1)" wid 15bp__ at last [].P1 rjust `"Header"' wid 45bp__ at last [].s+(0,-10pt__) - "svg_it(P2)" at last [].P2 rjust} + "svg_it(P2)" at last [].P2 rjust + thinlines_ + arrow <- from last [].Block.ne-(0,0.1) up 0.15 right 0.15 + "svg_it(Block)" ljust + thicklines_ } Header(2,3,8mm__,10mm__) with .nw at last [].ne+(0.75,-0.05) {"svg_it(P1)" at last [].P1 rjust diff --git a/graphics/circuit_macros/examples/svg/MCSVG.m4 b/graphics/circuit_macros/examples/svg/MCSVG.m4 index ef1d215809..cececf42b5 100644 --- a/graphics/circuit_macros/examples/svg/MCSVG.m4 +++ b/graphics/circuit_macros/examples/svg/MCSVG.m4 @@ -3,6 +3,7 @@ cct_init(svg_font(Times,11bp__)) textoffset = 3bp__ +MC:[ dv = dimen_*0.6 dh = dimen_*0.4 backup = dimen_/6 @@ -40,5 +41,57 @@ textoffset = 3bp__ llabel(sprintf("svg_it(v`'svg_sub(&``#''%g;,66%))",64+i)) if i==2 then { Output: dot } else { line down (2-i)*dv } }} +] + +Three: [ + dv = dimen_*0.6 + dh = dimen_ + define(`swfet',`mosfet(`$1',,dMEDSuBQPy)') + define(`swpair',`[ up_ + BS: swfet(up_ dimen_); { "`$1'" at BS.D-(0,2bp__) rjust } + L: line up_ 3*dimen_ from BS.D + TS: swfet(up_ dimen_) with .S at Here; { "`$2'" at TS.S+(0,2bp__) rjust } + T: TS.D + B: BS.S + C: L.c + ]') + + V1: gap(up_ 5*dimen_,1,A) + { "svg_it(V)svg_sub(1)" wid 12bp__ at last arrow.c rjust } + line right_ dh/2 + { C1: capacitor(down_ to (Here,V1.start)); llabel(svg_it(C)svg_sub(1)) } + for_(1,3,1,` + line right_ dh ifelse(m4x,1,,*5/4) + {SP1`'m4x: swpair(svg_it(S`'svg_sub(1`'eval(m4x+3))), + svg_it(S`'svg_sub(1`'m4x))) with .T at Here + dot(at last [].C + (0,(2-m4x)*dh)) + line right_ (3-m4x)*dh*5/4 + inductor(right_ dimen_,L) + {sprintf("svg_it(L`'svg_sub(1&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)} + line down_ (2-m4x)*dimen_*2/3 + pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') + line down_ (2-m4x)*dimen_/3 + M: move right_ dimen_/8 + line up_ (2-m4x)*dimen_/3 + pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') + line up_ (2-m4x)*dimen_*2/3 + inductor(right_ dimen_,L) + {sprintf("svg_it(L`'svg_sub(2&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)} + line right_ dimen_/8+(m4x-1)*dh*5/4 + dot + SP2`'m4x: swpair(svg_it(S`'svg_sub(2`'eval(m4x+3))), + svg_it(S`'svg_sub(2`'m4x))) with .C at Here+(0,(m4x-2)*dh) } + ') + "svg_it(T)svg_sub(r)" at M.c+(0,dimen_*2/3) + line from V1.start to SP13.B + line from SP21.B to SP23.B+(dh*3/4,0) + { C2: capacitor(up_ to (Here,V1.end)); llabel(,,svg_it(C`'svg_sub(2))) } + line right_ dh/2 + gap(up_ 5*dimen_,1,A) + { "svg_it(V`'svg_sub(2))" wid 12bp__ at last arrow.c ljust } + line to SP21.T chop dotrad_ chop 0 + +] with .nw at MC.sw+(0,-0.2) + command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/Makefile b/graphics/circuit_macros/examples/svg/Makefile index 5ee232a5ea..4471d513f4 100644 --- a/graphics/circuit_macros/examples/svg/Makefile +++ b/graphics/circuit_macros/examples/svg/Makefile @@ -1,14 +1,21 @@ LIBDIR = $$HOME/lib M4LIBS = svg.m4 SVGconfig.m4 +M4LIBS = svg.m4 # To process a single file, copy it to test.m4 and type "make tst" # to produce tstSVG.html DPIC = dpic -#DPIC = $$HOME/dpic/bu*/p2c/ftp/dpic -#DPIC = $$HOME/dpic/bu*/test/dpic -#DPIC = $$HOME/dpic/dev/p2c/ftp/dpic +#DPIC = $$HOME/dpic/build/p2c/ftp/dpic +#DPIC = ../../../dpic/build/p2c/ftp/dpic #DPIC = ../../../dpic/bison/dpic +#DPIC = ../../../dpic/bdev/dpic + +# To test the Windows executable. Change these as needed for the operating +# system. NOTE: AntiqueClockSVG.m4 and Connectors.m4 use awk and sed which +# do not work at present with the Windows version. +# M4LIBS = svg.m4 windows.m4 +# DPIC = ../../../dpic/bison/distsrc/Windows/dpic .SUFFIXES: .pic .svg .m4 .pic.svg: @@ -23,8 +30,9 @@ CCTSVG = \ AdderSVG.svg AlogixSVG.svg ABlogixSVG.svg AmpTableSVG.svg AntennasSVG.svg \ AntiqueClockSVG.svg \ AudioSVG.svg \ BipSVG.svg BtreeSVG.svg ByteSVG.svg ButtonsSVG.svg \ - CanLogicSVG.svg CctTableSVG.svg ConnSVG.svg ContactSVG.svg ContactsSVG.svg \ - CountingSVG.svg CrossbarSVG.svg CrowSVG.svg CrullerSVG.svg CsourceSVG.svg \ + CanLogicSVG.svg CctTableSVG.svg ConnSVG.svg ConnectorsSVG.svg \ + ContactSVG.svg ContactsSVG.svg \ + CountingSVG.svg CrossbarSVG.svg CrowSVG.svg CsourceSVG.svg \ DecoderSVG.svg DemultiplexerSVG.svg DiniSVG.svg DiodesSVG.svg DriveSVG.svg \ EmarrowsSVG.svg \ FlowSVG.svg FontsSVG.svg FusesSVG.svg GrayCodeSVG.svg GroundsSVG.svg \ @@ -68,6 +76,7 @@ tst: test.pic: if test -f test.pic ; then echo "Usage: make clean tst" ; fi m4 $(M4LIBS) test.m4 | $(SED) > test.pic + m4 $(M4LIBS) test.m4 | $(SED) > test.pic tstSVG.html: tstSVG.htmx $(TEST).svg Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ @@ -78,7 +87,14 @@ tstSVG.html: tstSVG.htmx $(TEST).svg xst: Incleps.png -AntiqueClockSVG.svg: +AntiqueClockSVG.svg ConnectorsSVG.svg: + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg + grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz + +xntiqueClockSVG.svg: m4 $(M4LIBS) AntiqueClockSVG.m4 | sed -e '/^\%/d' > AntiqueClockSVG.pic $(DPIC) -v AntiqueClockSVG.pic > AntiqueClockSVG.svg m4 $(M4LIBS) AntiqueClockSVG.m4 | sed -e '/^\%/d' > AntiqueClockSVG.pic @@ -96,8 +112,9 @@ Incleps.png: clean: @printf "\n svg clean:\n" rm -f *.svg *.dim *.ps *log *.siz *.pic examplesSVG.html Incleps.png - rm -f tstSVG.html + rm -f tstSVG.html copy_tmp__ @printf "\n" clobber: clean + (cd dev; make clobber) rm -f test.m4 diff --git a/graphics/circuit_macros/examples/svg/MixerSVG.m4 b/graphics/circuit_macros/examples/svg/MixerSVG.m4 index aa778337b3..1712e017ed 100644 --- a/graphics/circuit_macros/examples/svg/MixerSVG.m4 +++ b/graphics/circuit_macros/examples/svg/MixerSVG.m4 @@ -1,7 +1,7 @@ .PS #`MixerSVG.m4 # Showing VMOS mosfet and custom transformer' -cct_init(svg_font(sans-serif,11bp__,1bp__)) +cct_init(svg_font(sans-serif,10.5bp__,1bp__)) define(`dimen_',0.6) define(`elen_',0.75) diff --git a/graphics/circuit_macros/examples/svg/PconnSVG.m4 b/graphics/circuit_macros/examples/svg/PconnSVG.m4 index 348a619317..b0fdb65e80 100644 --- a/graphics/circuit_macros/examples/svg/PconnSVG.m4 +++ b/graphics/circuit_macros/examples/svg/PconnSVG.m4 @@ -19,27 +19,23 @@ P1: [ arrow from G.w to C1.G.e arrow from G.e to C2.G.w `"(,AF)"' at last [].s below - C03: pconnex(,AC) with .w at C2.e+(0.2,0) + C03: pconnex(,AC) with .w at C2.e+(0.25,0) `"(,AC)"' at last [].s below C3: pconnex(,ACF) with .w at last [].e+(0.2,0) `"(,ACF)"' at last [].s below - C5: pconnex(U,D) with .w at last [].e+(0.2,0) + C5: pconnex(U,D) with .w at last [].e+(0.25,0) `"(U,D)"' at last [].s below - C6: pconnex(U,DF) with .w at last [].e+(0.2,0) + C6: pconnex(U,DF) with .w at last [].e+(0.25,0) `"(U,DF)"' at last [].s below - C7: pconnex(U,J) with .w at last [].e+(0.2,0) + C7: pconnex(U,J) with .w at last [].e+(0.25,0) `"(U,J)"' at last [].s below - C8: pconnex(U,JF) with .w at last [].e+(0.2,0) + C8: pconnex(U,JF) with .w at last [].e+(0.25,0) `"(U,JF)"' wid 21bp__ at last [].s below ] P2: [ - C4: pconnex(,P) - `"(,P)"' at last [].s below - C11: pconnex(,PF) with .w at last [].e+(0.2,0) - `"(,PF)"' at C11.s below - C9: pconnex(,G) with .w at C11.e+(0.2,0) + C9: pconnex(,G) `"(,G)"' at last [].s below C91: pconnex(,GF) with .w at last [].e+(0.2,0) `"(,GF)"' at last [].s below @@ -47,7 +43,17 @@ P2: [ `"(L,GF)"' at last [].s below C10: pconnex(,GC) with .w at last [].e + (0.2,0) `"(,GC)"' at last [].s below -] with .nw at P1.C1.sw + (0,-0.25) + C12: pconnex(,GCF) with .w at last [].e + (0.2,0) + `"(,GCF)"' at last [].s below +] with .nw at P1.C1.sw + (0,-0.35) + +P3:[ + C4: pconnex(,P) + `"(,P)"' at last [].s below + C11: pconnex(,PF) with .w at last [].e+(0.2,0) + `"(,PF)"' at C11.s below +] with .nw at P2.C9.sw + (0,-0.35) + command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/RectifiersSVG.m4 b/graphics/circuit_macros/examples/svg/RectifiersSVG.m4 index 3329094082..c6473744eb 100644 --- a/graphics/circuit_macros/examples/svg/RectifiersSVG.m4 +++ b/graphics/circuit_macros/examples/svg/RectifiersSVG.m4 @@ -60,20 +60,21 @@ Threephase: [ linethick_(1) ] Cct3:[ - No: dot; {"N`'svg_sub(o)" below rjust } - { inductor(to Here+(Rect_(dimen_,60)),W); E2: "e`'svg_sub(2)" ljust } - { inductor(to Here+(Rect_(dimen_,-60)),W); E3: "e`'svg_sub(3)" ljust } - { inductor(from No-(dimen_,0) to No,W) - E1: "e`'svg_sub(1)" above at last line.start } + No: dot; {"N`'svg_sub(o)" at last [].s below rjust } + { inductor(to Here+(Rect_(dimen_,60)),W); E2: Here; "e`'svg_sub(2)" ljust } + { inductor(to Here+(Rect_(dimen_,-60)),W); E3: Here; "e`'svg_sub(3)" ljust } + { inductor(from No-(dimen_,0) to No,W); E1: last line.start + "e`'svg_sub(1)" at E1 above } D3: diode(down_ from E3); b_current(i`'svg_sub(3),rjust) llabel(,,D`'svg_sub(3)) - line from E1 to (E1,D3.start) + line from E1 to (E1.x,D3.start.y+dimen_/3) then right_ (E3.x+E1.x)/2-E1.x \ + then down_ dimen_/3 D1: diode(down_); b_current(i`'svg_sub(1),rjust); llabel(,,D`'svg_sub(1)) line from E2 left E2.x-E1.x+dimen_/3 then down E2.y-E3.y \ - then to 0.5 between D1.start and D3.start + then to 2 between D3.start and D1.start D2: diode(down_); b_current(i`'svg_sub(2),rjust); llabel(,,D`'svg_sub(2)) - { line from D1.end to D3.end } - dot + { line from D2.end to D3.end } + dot(at D1.end) arrowline(down elen_/2); rlabel(,i`'svg_sub(L)) resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) line to (Here,No) then to No diff --git a/graphics/circuit_macros/examples/svg/SVGconfig.m4 b/graphics/circuit_macros/examples/svg/SVGconfig.m4 index 372a93937b..e8aa1fa3ec 100644 --- a/graphics/circuit_macros/examples/svg/SVGconfig.m4 +++ b/graphics/circuit_macros/examples/svg/SVGconfig.m4 @@ -50,21 +50,9 @@ define(`SIdefaults',` ') define(`local_init',` +`#' local init begin scaledefaults(1.1) +`#' local init end ') -# If the variable dptextratio is not found you don't have -# dpic version 2018.05.15 or later. In that case, change -# dptextratio to 1 in the following (or delete *dptextrario ). -define(`svg_font',` -command "<g patsubst(ifelse(`$1',,, -index(`$1',font),0,`$1', -index(`$1',style),0,`$1', -style="font-family:`$1'") -,",\\")>" - ifelse(`$2',,,`textht=(`$2')*dptextratio') - ifelse(`$3',,,`textoffset=`$3'') - `$4' - ifelse(`$4',,,`command "</g>"')') - divert(0)dnl diff --git a/graphics/circuit_macros/examples/svg/ShiftRSVG.m4 b/graphics/circuit_macros/examples/svg/ShiftRSVG.m4 index 022f4ced9f..9a0b56d523 100644 --- a/graphics/circuit_macros/examples/svg/ShiftRSVG.m4 +++ b/graphics/circuit_macros/examples/svg/ShiftRSVG.m4 @@ -21,8 +21,8 @@ define(`customFF',`FlipFlopX(wid 10*L_unit ht FF_ht*L_unit,, line from T to (T,F0.W3) then to F0.W3.end NCLR: NOT_gate(right T.x-Serial.x from (Serial,F0.S1.end),N) - "CLEAR" at NCLR.start rjust - line left textht*5 from last ""+(-textoffset,0.8*textht) + "CLEAR" wid 33bp__ at NCLR.start rjust + line left last "".wid with .c at last "".n+(0,1.5bp__) CLK: NOT_gate(right T.x-Serial.x from NCLR.start+(0,-BUF_ht*3/2*L_unit)) "CLOCK" at CLK.start rjust diff --git a/graphics/circuit_macros/examples/svg/SourcesSVG.m4 b/graphics/circuit_macros/examples/svg/SourcesSVG.m4 index 8096317a5d..2a611fe681 100644 --- a/graphics/circuit_macros/examples/svg/SourcesSVG.m4 +++ b/graphics/circuit_macros/examples/svg/SourcesSVG.m4 @@ -15,7 +15,8 @@ define(`NL',`; move down $1; right_') {source(,X) ; move ; "`source(,X)'" ljust} NL {source(,F) ; move ; "`source(,F)'" ljust} NL {source(,G) ; move ; "`source(,G)'" ljust} NL - {source(,Q) ; move ; "`source(,Q)'" ljust} + {source(,Q) ; move ; "`source(,Q)'" ljust} NL(0.3) + {proximity ; move ; "`proximity" ljust "= consource(,P)'" ljust} } move right_ 2.0 { @@ -27,8 +28,8 @@ define(`NL',`; move down $1; right_') {source(,S) ; move ; "`source(,S)'" ljust} NL {source(,T) ; move ; "`source(,T)'" ljust} NL {source(,L) ; move ; "`source(,L)'" ljust} NL - {source(,B) ; move ; "`source(,B)'" ljust} NL(moveht*0.8) - {nullator ; move ; "`nullator'" ljust} NL(moveht*0.6) + {source(,B) ; move ; "`source(,B)'" ljust} NL + {nullator ; move ; "`nullator'" ljust} NL(moveht*0.8) {norator ; move ; "`norator'" ljust} } move right_ 2.0 diff --git a/graphics/circuit_macros/examples/svg/SwitchesSVG.m4 b/graphics/circuit_macros/examples/svg/SwitchesSVG.m4 index 04fc2f52c5..95c9f2b2ca 100644 --- a/graphics/circuit_macros/examples/svg/SwitchesSVG.m4 +++ b/graphics/circuit_macros/examples/svg/SwitchesSVG.m4 @@ -101,6 +101,15 @@ movewid = 0.25 dswitch(,,WBRHH); {"svg_tt(`(,,WBRHH)')" at (last [],S)} } # Row 7 + move down moveht*5/4; right_; { + move down 2bp__; right_ + dswitch(,,WBPr); {S: "svg_tt(`(,,WBPr)')" at last [].s+(0,-10bp__)} + move right_ + dswitch(,,WBPrT); {S: "svg_tt(`(,,WBPrT)')" at last [].s+(0,-10bp__)} + move down_ 6bp__ then right_ + dswitch(,,WBPrM); {S: "svg_tt(`(,,WBPrM)')" at last [].s+(0,-10bp__)} + } +# Row 8 move down; right_; { dswitch(,,WBMMR); {S: "svg_tt(`(,,WBMMR)')" at last [].s+(0,-10bp__)} move right_ diff --git a/graphics/circuit_macros/examples/svg/TimerSVG.m4 b/graphics/circuit_macros/examples/svg/TimerSVG.m4 index dcdb2cc477..d1a0c2ffa1 100644 --- a/graphics/circuit_macros/examples/svg/TimerSVG.m4 +++ b/graphics/circuit_macros/examples/svg/TimerSVG.m4 @@ -1,6 +1,6 @@ .PS # TimerSVG.m4 -cct_init(svg_font(sans-serif,11bp__,1bp__)) +cct_init(svg_font(sans-serif,10.5bp__)) define(`ic555',`[Chip: box ht boxwid wid boxwid "555" P7: "7" ljust at 1/6<Chip.sw,Chip.nw> diff --git a/graphics/circuit_macros/examples/svg/TubediagsSVG.m4 b/graphics/circuit_macros/examples/svg/TubediagsSVG.m4 index cfc87b0a6a..6409325558 100644 --- a/graphics/circuit_macros/examples/svg/TubediagsSVG.m4 +++ b/graphics/circuit_macros/examples/svg/TubediagsSVG.m4 @@ -1,7 +1,7 @@ .PS # TubediagsSVG.m4 -cct_init(svg_font(sans-serif,11bp__,2bp__)) +cct_init(svg_font(sans-serif,10bp__,2bp__)) include(../tubedefs.m4) # Some base diagrams diff --git a/graphics/circuit_macros/examples/svg/VariableSVG.m4 b/graphics/circuit_macros/examples/svg/VariableSVG.m4 index 642b81466a..ccab653936 100644 --- a/graphics/circuit_macros/examples/svg/VariableSVG.m4 +++ b/graphics/circuit_macros/examples/svg/VariableSVG.m4 @@ -1,36 +1,29 @@ .PS -# `Variable.m4' -cct_init(svg_font(sans-serif,11bp__)) +# `VariableSVG.m4' +cct_init -define(`elen_',dimen_) -down_ -[ { variable(`capacitor') } - move right; down_ - { variable(`resistor',uN) } - move right; down_ - { variable(`capacitor(,C)') } - move right; down_ - { variable(`inductor') } - move right; down_ - { variable(`inductor(,W)') } +define(`elen_',dimen_); down_ +[ { variable(`resistor',A) }; {"svg_tt(A)" at last line.end below}; move right + { variable(`resistor',N) }; {"svg_tt(N)" at last line.end below}; move right + { variable(`resistor',uN) }; {"svg_tt(uN)" at last line.end below}; move right + { variable(`resistor',NN) }; {"svg_tt(uN)" at last line.end below}; move right + { variable(`resistor',uNN) }; {"svg_tt(uNN)" at last line.end below} ] [ skp = 0.4 hskip = linewid*0.5 cskip = hskip Orig: Here - { move right cskip - move right elen_; move up 0.15 then down 0.15 then right_ hskip - line invis right_ elen_ "C"; move right_ hskip - line invis right_ elen_ "S" } + { move right cskip+elen_+hskip + line invis right_ elen_ "svg_tt(C)"; move right_ hskip + { move up_ 0.25 } + line invis right_ elen_ "svg_tt(S)" } Loopover_(`char', `move down skp ifelse(char,A,*0.5) - { line invis right_ cskip "char" + { line invis right_ cskip "svg_tt(char)" variable(`capacitor(,C)',char); move right_ hskip variable(`capacitor(,C)',char`'C); move right_ hskip variable(`capacitor(,C)',char`'S) }', A,P,L,N) ] with .w at last [].e+(0.4,0) - - command "</g>" # end font .PE diff --git a/graphics/circuit_macros/examples/svg/ex01SVG.m4 b/graphics/circuit_macros/examples/svg/ex01SVG.m4 index 535bdec795..3a20d90a18 100644 --- a/graphics/circuit_macros/examples/svg/ex01SVG.m4 +++ b/graphics/circuit_macros/examples/svg/ex01SVG.m4 @@ -1,6 +1,6 @@ .PS # ex01.m4 -cct_init(svg_font(sans-serif,11bp__)) +cct_init(svg_font(sans-serif,10.5bp__)) linewid = linewid*1.5 # let's make the circuit elements bigger than usual define(`elen_',linewid) # but not longer diff --git a/graphics/circuit_macros/examples/svg/ex09SVG.m4 b/graphics/circuit_macros/examples/svg/ex09SVG.m4 index 507245235e..b267c68ea0 100644 --- a/graphics/circuit_macros/examples/svg/ex09SVG.m4 +++ b/graphics/circuit_macros/examples/svg/ex09SVG.m4 @@ -65,7 +65,7 @@ define(`bdot', move right 0.8 # Upper left diagram - spacer + spacer # Lower left diagram [ define(`lwid',`29bp__') @@ -76,18 +76,21 @@ Ctr: 0.5 between A and B L: move left 0.85*sk from A linethick_(1) - dimension_(from A to B,0.5*sk,label,lwid,0.1*sk) - "`dimension_(from A to B,0.5,label,29bp__,0.1)'" wid 90 \ - with .w at (L.end,A +(0,-9)) + dimension_(from A to B,0.5*sk,svg_it(label),lwid,0.1*sk) + "`dimension_(from A to B,0.5,label,29bp__,0.1)'" wid 70 \ + with .w at (L.end.x+2,A.y-10) + move down_ 4 from last "" thinlines_ - arrow from A to B chop 0.05*sk "linespec" below - dimension_(up_ 0.5*sk from A,0.2*sk,"offset" rjust,,,->) - dimension_(up_ 0.1*sk from B,-0.2*sk," tic offset" ljust) - dimension_(up_ 0.1*sk from B+(0,0.5*sk),-0.2*sk," tic offset" ljust) + arrow from A to B chop 0.05*sk "svg_it(linespec)" below + dimension_(up_ 0.5*sk from A,0.2*sk,"svg_it(offset)" rjust,,,->) + dimension_(up_ 0.1*sk from B,-0.2*sk," svg_it(tic offset)" ljust) + dimension_(up_ 0.1*sk from B+(0,0.5*sk),-0.2*sk, + " svg_it(tic offset)" ljust) dimension_(from Ctr+(-lwid/2,0.5*sk) right lwid,0.2*sk, - "blank width" above) -] with .nw at last [].sw+(0,-0.7*sk) + "svg_it(blank width)" above) +] with .nw at last [].sw+(0,-0.4*sk) +#showbox_ # Upper right diagram [ A: bdot(at (0,0),A, above rjust) @@ -104,23 +107,22 @@ T: C+(-0.45*sk,-0.5*sk) dimension_(from C to D chop dotrad_,,svg_it(T`'svg_sub(15)),15bp__) arcdimension_(from C to D with .c at 0.5 between A and B,12bp__, svg_it(C) to svg_it(D),34bp__) -Q: C+(-9,-9) +Q: C+(-9,-15) `define' leftparagraph { [ baselineskip = textht*1.5; { move right $1 } for i = 2 to $+ do { move to Here+(0,-baselineskip) - exec sprintf("{ `\"$%g \"' ljust }; ",i) } ] } - -define(`svg_comma',`svg_symbol(&`#'44;)') -leftparagraph(5.7*scale; baselineskip = 1.5*textht, - `dimension_(from A to B,0.3,svg_it(AB),20bp__)', - `dimension_(from C to B,,svg_it(X),16bp__)', - `dimension_(from C to A,0.3,svg_it(CA),14bp__,,->)', - `dimension_(from D to B,-0.3,"svg_it(DB)" ljust)', - `dimension_(from C to D chop dotrad_,,svg_it(T`'svg_sub(15)),15bp__)', + exec sprintf("{ `\"$%g \"' wid 4.5*scale ljust }; ",i) } ] } + +leftparagraph(1.7*scale; baselineskip = 1.5*textht, + `dimension_(from A to B,0.3,AB,20bp__)', + `dimension_(from C to B,,X,16bp__)', + `dimension_(from C to A,0.3,CA,14bp__,,->)', + `dimension_(from D to B,-0.3,"DB" ljust)', + `dimension_(from C to D chop dotrad_,,T`'svg_sub(15),15bp__)', `arcdimension_'svg_symbol(&`#'40;)`from C to D with .c at 0.5 \ between A and B'svg_comma`12bp__'svg_comma, - svg_ensp `svg_it(C) to svg_it(D)'svg_comma`34bp__'svg_symbol(&`#'41;) + svg_ensp `C to D'svg_comma`34bp__'svg_symbol(&`#'41;) ) with .nw at Q ] with .nw at 1st [].ne+(1.7*sk,0) diff --git a/graphics/circuit_macros/examples/svg/examplesSVG.htmx b/graphics/circuit_macros/examples/svg/examplesSVG.htmx index 91bc93f48e..825c1d5cf4 100644 --- a/graphics/circuit_macros/examples/svg/examplesSVG.htmx +++ b/graphics/circuit_macros/examples/svg/examplesSVG.htmx @@ -107,16 +107,29 @@ There are a number of other issues: They are subject to change: <ul> <li> - m4tt`'svg_font(</g>font-face,height,textoffset,dpic commands`'m4tt)</g>: - Change font face, size, and dpic textoffset parameter. + m4tt`'svg_font(</g>font-face,nominal size[:dptextratio],textoffset, + dpic commands`'m4tt)</g>: + Change font face, size, textratio and dpic textoffset parameters. + Change font face and dpic m4tt`'textht</g>, m4tt`'dptextratio</g>, + and m4tt`'textoffset</g> parameters. If arg4 is blank, the font is changed and requires m4tt`'command "</g>"</g> to cancel the font change. + <br> + Note: + Nominal height = text height in drawing units; actual height = + nominal ht x m4tt`'dptextratio</g>. + <br> Examples: <br> m4tt`'svg_font(Times)</g><br> + m4tt`'svg_font(Times,14bp__)</g><br> + m4tt`'svg_font(sans-serif,14bp__:0.71)</g><br> m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)</g><br> m4tt`'svg_font(font-family="Times")</g><br> m4tt`'svg_font(font-family="Times" font-style="italic")</g><br> m4tt`'svg_font(style="font-family:Times; font-style:italic")</g> + <li>m4tt svgfontratio(</g>font name`'m4tt)</g>; + Reasonable m4tt`'dptextratio</g> value for common fonts, used + by m4tt`'svg_font</g>. <li>m4tt svg_tspan(</g>text attributes, text`'m4tt)</g>; e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ)</g> <li>m4tt svg_it(</g>text`'m4tt)</g>: for italics @@ -131,6 +144,13 @@ There are a number of other issues: subscript <li>m4tt svg_sup(</g>text, size percent, y displ, x displ`'m4tt)</g>: superscript + <li>m4tt svg_rot(</g>degrees, "text" [at position]`'m4tt)</g>: + Rotate text degrees (default 90) ccw. + Requires m4tt`'svg_rot_init(</g>filename`'m4tt)</g> and the source + must be processed twice. + <li>m4tt svg_rot_init(</g>filename`'m4tt)</g>: + filename is the basename of the output of + m4tt`'dpic -v filename.pic > filename.svg`'m4tt <li>m4tt svg_symbol(</g>text`'m4tt)</g>: allow quoted pound sign in text, e.g., m4tt`'svg_symbol(10&`#'176;)</g> produces 10° <li>m4tt svgLink(</g>URL, drawing object, m4tt[B])</g>: @@ -140,103 +160,63 @@ There are a number of other issues: arg 3 = B) <li>m4tt svgLinkString</g> as above but for strings attached to objects <li> Greek and other symbols: + +<table cellpadding="0" cellspacing="0" width="100%" > <table cellpadding="0" cellspacing="0" width="100%" > <tr> -<td width="7%"> m4tt svg_alpha</g> - <td align="left"> changecom(,)&`#'945;changecom(`#') -<td width="7%"> m4tt svg_beta</g> - <td align="left"> changecom(,)&`#'946;changecom(`#') -<td width="7%"> m4tt svg_chi</g> - <td align="left"> changecom(,)&`#'967;changecom(`#') -<td width="7%"> m4tt svg_comma</g> - <td align="left"> changecom(,)&`#'44;changecom(`#') -<td width="7%"> m4tt svg_Delta</g> - <td align="left"> changecom(,)&`#'916;changecom(`#') -<td width="7%"> m4tt svg_delta</g> - <td align="left"> changecom(,)&`#'948;changecom(`#') -<td width="7%"> m4tt svg_epsilon</g> - <td align="left"> changecom(,)&`#'949;changecom(`#') -<td width="7%"> m4tt svg_eta</g> - <td align="left"> changecom(,)&`#'951;changecom(`#') +<td width="8%"> m4tt svg_alpha</g> <td align="left"> changecom(,)&`#'945;changecom(`#') +<td width="8%"> m4tt svg_beta</g> <td align="left"> changecom(,)&`#'946;changecom(`#') +<td width="8%"> m4tt svg_Gamma</g> <td align="left"> changecom(,)&`#'915;changecom(`#') +<td width="8%"> m4tt svg_gamma</g> <td align="left"> changecom(,)&`#'947;changecom(`#') +<td width="8%"> m4tt svg_Delta</g> <td align="left"> changecom(,)&`#'916;changecom(`#') +<td width="8%"> m4tt svg_delta</g> <td align="left"> changecom(,)&`#'948;changecom(`#') +<td width="10%"> m4tt svg_epsilon</g> <td align="left"> changecom(,)&`#'949;changecom(`#') +<td width="8%"> m4tt svg_zeta</g> <td align="left"> changecom(,)&`#'950;changecom(`#') <tr> -<td width="7%"> m4tt svg_Gamma</g> - <td align="left"> changecom(,)&`#'915;changecom(`#') -<td width="7%"> m4tt svg_gamma</g> - <td align="left"> changecom(,)&`#'947;changecom(`#') -<td width="7%"> m4tt svg_iota</g> - <td align="left"> changecom(,)&`#'953;changecom(`#') -<td width="7%"> m4tt svg_kappa</g> - <td align="left"> changecom(,)&`#'954;changecom(`#') -<td width="7%"> m4tt svg_Lambda</g> - <td align="left"> changecom(,)&`#'923;changecom(`#') -<td width="7%"> m4tt svg_lambda</g> - <td align="left"> changecom(,)&`#'955;changecom(`#') -<td width="7%"> m4tt svg_micro</g> - <td align="left"> changecom(,)&`#'956;changecom(`#') -<td width="7%"> m4tt svg_mu</g> - <td align="left"> changecom(,)&`#'956;changecom(`#') +<td width="8%"> m4tt svg_eta</g> <td align="left"> changecom(,)&`#'951;changecom(`#') +<td width="8%"> m4tt svg_Theta</g> <td align="left"> changecom(,)&`#'920;changecom(`#') +<td width="8%"> m4tt svg_theta</g> <td align="left"> changecom(,)&`#'952;changecom(`#') +<td width="8%"> m4tt svg_iota</g> <td align="left"> changecom(,)&`#'953;changecom(`#') +<td width="8%"> m4tt svg_kappa</g> <td align="left"> changecom(,)&`#'954;changecom(`#') +<td width="8%"> m4tt svg_Lambda</g> <td align="left"> changecom(,)&`#'923;changecom(`#') +<td width="8%"> m4tt svg_lambda</g> <td align="left"> changecom(,)&`#'955;changecom(`#') +<td width="8%"> m4tt svg_mu</g> <td align="left"> changecom(,)&`#'956;changecom(`#') <tr> -<td width="7%"> m4tt svg_nu</g> - <td align="left"> changecom(,)&`#'957;changecom(`#') -<td width="7%"> m4tt svg_ohm</g> - <td align="left"> changecom(,)&`#'937;changecom(`#') -<td width="7%"> m4tt svg_Omega</g> - <td align="left"> changecom(,)&`#'937;changecom(`#') -<td width="7%"> m4tt svg_omega</g> - <td align="left"> changecom(,)&`#'969;changecom(`#') -<td width="7%"> m4tt svg_Phi</g> - <td align="left"> changecom(,)&`#'934;changecom(`#') -<td width="7%"> m4tt svg_phi</g> - <td align="left"> changecom(,)&`#'966;changecom(`#') -<td width="7%"> m4tt svg_Pi</g> - <td align="left"> changecom(,)&`#'928;changecom(`#') -<td width="7%"> m4tt svg_pi</g> - <td align="left"> changecom(,)&`#'960;changecom(`#') +<td width="8%"> m4tt svg_nu</g> <td align="left"> changecom(,)&`#'957;changecom(`#') +<td width="8%"> m4tt svg_Xi</g> <td align="left"> changecom(,)&`#'926;changecom(`#') +<td width="8%"> m4tt svg_xi</g> <td align="left"> changecom(,)&`#'958;changecom(`#') +<td width="8%"> m4tt svg_Pi</g> <td align="left"> changecom(,)&`#'928;changecom(`#') +<td width="8%"> m4tt svg_pi</g> <td align="left"> changecom(,)&`#'960;changecom(`#') +<td width="8%"> m4tt svg_rho</g> <td align="left"> changecom(,)&`#'961;changecom(`#') +<td width="8%"> m4tt svg_Sigma</g> <td align="left"> changecom(,)&`#'931;changecom(`#') +<td width="8%"> m4tt svg_sigma</g> <td align="left"> changecom(,)&`#'963;changecom(`#') <tr> -<td width="7%"> m4tt svg_Psi</g> - <td align="left"> changecom(,)&`#'936;changecom(`#') -<td width="7%"> m4tt svg_psi</g> - <td align="left"> changecom(,)&`#'968;changecom(`#') -<td width="7%"> m4tt svg_rho</g> - <td align="left"> changecom(,)&`#'961;changecom(`#') -<td width="7%"> m4tt svg_Sigma</g> - <td align="left"> changecom(,)&`#'931;changecom(`#') -<td width="7%"> m4tt svg_sigma</g> - <td align="left"> changecom(,)&`#'963;changecom(`#') -<td width="7%"> m4tt svg_tau</g> - <td align="left"> changecom(,)&`#'964;changecom(`#') -<td width="7%"> m4tt svg_Theta</g> - <td align="left"> changecom(,)&`#'920;changecom(`#') -<td width="7%"> m4tt svg_theta</g> - <td align="left"> changecom(,)&`#'952;changecom(`#') +<td width="8%"> m4tt svg_tau</g> <td align="left"> changecom(,)&`#'964;changecom(`#') +<td width="10%"> m4tt svg_upsilon</g> <td align="left"> changecom(,)&`#'965;changecom(`#') +<td width="8%"> m4tt svg_Phi</g> <td align="left"> changecom(,)&`#'934;changecom(`#') +<td width="8%"> m4tt svg_phi</g> <td align="left"> changecom(,)&`#'966;changecom(`#') +<td width="8%"> m4tt svg_chi</g> <td align="left"> changecom(,)&`#'967;changecom(`#') +<td width="8%"> m4tt svg_Psi</g> <td align="left"> changecom(,)&`#'936;changecom(`#') +<td width="8%"> m4tt svg_psi</g> <td align="left"> changecom(,)&`#'968;changecom(`#') +<td width="8%"> m4tt svg_Omega</g> <td align="left"> changecom(,)&`#'937;changecom(`#') <tr> -<td width="7%"> m4tt svg_upsilon</g> - <td align="left"> changecom(,)&`#'965;changecom(`#') -<td width="7%"> m4tt svg_Xi</g> - <td align="left"> changecom(,)&`#'926;changecom(`#') -<td width="7%"> m4tt svg_xi</g> - <td align="left"> changecom(,)&`#'958;changecom(`#') -<td width="7%"> m4tt svg_zeta</g> - <td align="left"> changecom(,)&`#'950;changecom(`#') -<td width="7%"> m4tt svg_lt</g> - <td align="left"> changecom(,)&`#'60;changecom(`#') -<td width="7%"> m4tt svg_gt</g> - <td align="left"> changecom(,)&`#'62;changecom(`#') -<td width="7%"> m4tt svg_leq</g> - <td align="left"> changecom(,)&`#'8804;changecom(`#') -<td width="7%"> m4tt svg_geq</g> - <td align="left"> changecom(,)&`#'8805;changecom(`#') +<td width="8%"> m4tt svg_omega</g> <td align="left"> changecom(,)&`#'969;changecom(`#') +<td width="8%"> m4tt svg_micro</g> <td align="left"> changecom(,)&`#'956;changecom(`#') +<td width="8%"> m4tt svg_ohm</g> <td align="left"> changecom(,)&`#'937;changecom(`#') +<td width="8%"> m4tt svg_lt</g> <td align="left"> changecom(,)&`#'60;changecom(`#') +<td width="8%"> m4tt svg_gt</g> <td align="left"> changecom(,)&`#'62;changecom(`#') +<td width="8%"> m4tt svg_leq</g> <td align="left"> changecom(,)&`#'8804;changecom(`#') +<td width="8%"> m4tt svg_geq</g> <td align="left"> changecom(,)&`#'8805;changecom(`#') +<td width="8%"> m4tt svg_prime</g> <td align="left"> changecom(,)&`#'8242;changecom(`#') <tr> -<td width="7%"> m4tt svg_prime</g> - <td align="left"> changecom(,)&`#'8242;changecom(`#') -<td width="7%"> m4tt svg_ensp</g> - <td align="left"> |changecom(,)&`#'8194;changecom(`#')| -<td width="7%"> m4tt svg_emsp</g> - <td align="left"> |changecom(,)&`#'8195;changecom(`#')| -<td width="7%"> m4tt svg_thinsp</g> - <td align="left"> |changecom(,)&`#'8201;changecom(`#')| -<td width="7%"> m4tt svg_backsl</g> - <td align="left"> changecom(,)&`#'92;changecom(`#') +<td width="8%"> m4tt svg_backsl</g> <td align="left"> changecom(,)&`#'92;changecom(`#') +<td width="8%"> m4tt svg_pound</g> <td align="left"> changecom(,)&`#'35;changecom(`#') +<td width="8%"> m4tt svg_comma</g> <td align="left"> changecom(,)&`#'44;changecom(`#') +<td width="8%"> m4tt svg_lparen</g> <td align="left"> changecom(,)&`#'40;changecom(`#') +<td width="8%"> m4tt svg_rparen</g> <td align="left"> changecom(,)&`#'41;changecom(`#') +<td width="8%"> m4tt svg_emsp</g> <td align="left"> |changecom(,)&`#'8195;changecom(`#')| +<td width="8%"> m4tt svg_ensp</g> <td align="left"> |changecom(,)&`#'8194;changecom(`#')| +<td width="8%"> m4tt svg_thinsp</g> <td align="left"> |changecom(,)&`#'8201;changecom(`#')| </table> </ul> @@ -277,6 +257,7 @@ cfig(JackSVG) cfig(ConnSVG) cfig(PconnSVG) cfig(HeadersSVG) +cfig(ConnectorsSVG) cfig(fetSVG) cfig(ujtSVG) cfig(thyristorSVG) @@ -285,7 +266,7 @@ cfig(TgateSVG) cfig(NportSVG) cfig(NLGSVG) cfig(WindingsSVG) -cfig(ex01.m4) +cfig(ex01SVG) cfig(TimerSVG) cfig(OptoisoSVG) cfig(MixerSVG) @@ -328,6 +309,7 @@ cfig(CanLogicSVG) cfig(AlogixSVG) cfig(ABlogixSVG) cfig(XORSVG) +cfig(paletteSVG) cfig(ex00SVG) cfig(controlSVG) cfig(GrayCodeSVG) @@ -355,6 +337,11 @@ cfig(ex15SVG) cfig(CountingSVG) cfig(CrowSVG) cfig(FlowSVG) + <!-- <p> + More flow-chart examples? Try + <a href="https://buraphakit.sourceforge.io/EFI/EFI_2019_S2_W13.shtml" + TARGET="_blank">here.</a> + </p> --> cfig(BtreeSVG) cfig(TtreeSVG) cfig(InclepsSVG) diff --git a/graphics/circuit_macros/examples/svg/graysurfSVG.m4 b/graphics/circuit_macros/examples/svg/graysurfSVG.m4 index 5427b62afc..13c91aabc0 100644 --- a/graphics/circuit_macros/examples/svg/graysurfSVG.m4 +++ b/graphics/circuit_macros/examples/svg/graysurfSVG.m4 @@ -1,7 +1,7 @@ .PS # graysurfSVG.m4 threeD_init -copy "HOMELIB_/dpictools.pic" +NeedDpicTools Overall: [ [] diff --git a/graphics/circuit_macros/examples/svg/icsSVG.m4 b/graphics/circuit_macros/examples/svg/icsSVG.m4 index 9a1f40634a..0733bbef64 100644 --- a/graphics/circuit_macros/examples/svg/icsSVG.m4 +++ b/graphics/circuit_macros/examples/svg/icsSVG.m4 @@ -1,9 +1,10 @@ divert(-1) - Macros defining some integrated circuits + Macros defining some integrated circuits and connectors define(`lg_pinsep',3*L_unit) logic pin separation in logic units define(`lg_chipwd',18*L_unit) default chip width +define(`overbar_',`{ line right last "".wid with .c at last "".n+(0,1bp__) }') `A sequence of pins along the east or west side of a chip: lg_pinseq(initial pin no,final pin no, @@ -15,19 +16,17 @@ define(`lg_pinseq',`for_($1,$2,1, define(`ic6116',`[ Chip: box wid_ lg_chipwd ht_ 15*lg_pinsep lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin12,w,12) lg_pin(Chip.sw_+(0,2*lg_pinsep),,Pin18,wN,18) - "svg_small(CS,75)" wid textht*1.5 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(CS,75)" wid textht*1.5 at (Chip.w,last line) ljust; overbar_ lg_pinseq(0,2,w,4,9+,D) lg_pinseq(3,7,w,4,10+,D) lg_pin(Chip.sw_+(0,13*lg_pinsep),,Pin21,w,21) "svg_small(R/W,75)" wid textht*2.0 at (Chip.w,last line) ljust - { line right last "".wid/2 from last "".n+(2,0)*textoffset } + { line right last "".wid/2 from last "".n+(0,1bp__) } lg_pin(Chip.sw_+(0,14*lg_pinsep),V`'svg_small(CC,75),Pin24,w,24) lg_pin(Chip.se_+(0,lg_pinsep),,Pin20,eN,20) - "svg_small(OE,75)" wid textht*1.5 at (Chip.e,last line) rjust - { line left last "".wid from last "".ne+(-1,0)*textoffset } + "svg_small(OE,75)" wid textht*1.5 at (Chip.e,last line) rjust; overbar_ lg_pinseq(0,7,e,3,8-,A) lg_pinseq(8,9,e,3,31-,A) @@ -39,17 +38,15 @@ define(`ic6502',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep lg_pin(Chip.sw_+(0,2*lg_pinsep),V`'svg_small(SS,75),Pin1,w,1) lg_pin(Chip.sw_+(0,4*lg_pinsep),,Pin34,w,34) "svg_small(R/W,75)" wid textht*2.0 at (Chip.w,last line) ljust - { line right last "".wid/2 from last "".n+(2,0)*textoffset } + { line right last "".wid/2 from last "".n+(0,1bp__) } lg_pinseq(0,7,w,6,33-,D) lg_pin(Chip.sw_+(0,15*lg_pinsep),,Pin40,wN,40) - "svg_small(RESET,75)" wid textht*3.8 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(RESET,75)" wid textht*3.8 at (Chip.w,last line) ljust; overbar_ lg_pin(Chip.sw_+(0,17*lg_pinsep),SYNC,Pin7,w,7) lg_pin(Chip.sw_+(0,19*lg_pinsep),,Pin6,wN,6) - "svg_small(NMI,75)" wid textht*2.1 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(NMI,75)" wid textht*2.1 at (Chip.w,last line) ljust; overbar_ lg_pin(Chip.sw_+(0,21*lg_pinsep),RDY,Pin2,w,2) lg_pin(Chip.sw_+(0,22*lg_pinsep),SO,Pin38,w,38) @@ -59,8 +56,7 @@ define(`ic6502',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep lg_pinseq(0,11,e,6,9+,A) lg_pinseq(12,15,e,6,10+,A) lg_pin(Chip.se+(0,23*lg_pinsep),,Pin4,eN,4) - "svg_small(IRQ,75)" wid textht*2.0 at (Chip.e,last line) rjust - { line left last "".wid from last "".ne+(-1,0)*textoffset } + "svg_small(IRQ,75)" wid textht*2.0 at (Chip.e,last line) rjust; overbar_ `$1']') define(`ic6522',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep @@ -68,8 +64,7 @@ define(`ic6522',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep lg_pin(Chip.sw_+(0,3*lg_pinsep),CS1,Pin24,w,24) lg_pin(Chip.sw_+(0,4*lg_pinsep),CK,Pin25,w,25) lg_pin(Chip.sw_+(0,5*lg_pinsep),,Pin23,wN,23) - "svg_small(CS2,75)" wid textht*2.2 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(CS2,75)" wid textht*2.2 at (Chip.w,last line) ljust; overbar_ lg_pin(Chip.sw_+(0,7*lg_pinsep),RS0(A0),Pin38,w,38) lg_pin(Chip.sw_+(0,8*lg_pinsep),RS1(A1),Pin37,w,37) @@ -78,11 +73,10 @@ define(`ic6522',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep lg_pinseq(0,7,w,12,33-,D) lg_pin(Chip.sw_+(0,21*lg_pinsep),,Pin22,w,22) "svg_small(R/W,75)" wid textht*2.0 at (Chip.w,last line) ljust - { line right last "".wid/2 from last "".n+(2,0)*textoffset } + { line right last "".wid/2 from last "".n+(0,1bp__) } lg_pin(Chip.sw_+(0,22*lg_pinsep),,Pin21,wN,21) - "svg_small(IRQ,75)" wid textht*2.0 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(IRQ,75)" wid textht*2.0 at (Chip.w,last line) ljust; overbar_ lg_pin(Chip.sw_+(0,23*lg_pinsep),V`'svg_small(CC,75),Pin20,w,20) lg_pinseq(0,7,e,1,10+,PB) @@ -90,20 +84,17 @@ define(`ic6522',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep lg_pinseq(0,7,e,12,2+,PA) lg_pinseq(1,2,e,19,41-,CA) lg_pin(Chip.se_+(0,23*lg_pinsep),,Pin34,eN,34) - "svg_small(RESET,75)" wid textht*3.8 at (Chip.e,last line) rjust - { line left last "".wid from last "".ne+(-1,0)*textoffset } + "svg_small(RESET,75)" wid textht*3.8 at (Chip.e,last line) rjust; overbar_ `$1']') define(`ic74LS138',`[ Chip: box wid_ lg_chipwd ht_ 11*lg_pinsep lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin8,w,8) lg_pin(Chip.sw_+(0,2*lg_pinsep),,Pin4,wN,4) - "svg_small(G2a,75)" wid textht*2.0 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(G2a,75)" wid textht*2.0 at (Chip.w,last line) ljust; overbar_ lg_pin(Chip.sw_+(0,3*lg_pinsep),,Pin5,wN,5) - "svg_small(G2b,75)" wid textht*2.0 at (Chip.w,last line) ljust - { line right last "".wid from last "".nw+(1,0)*textoffset } + "svg_small(G2b,75)" wid textht*2.0 at (Chip.w,last line) ljust; overbar_ lg_pin(Chip.sw_+(0,5*lg_pinsep),A,Pin1,w,1) lg_pin(Chip.sw_+(0,6*lg_pinsep),B,Pin2,w,2) @@ -114,4 +105,154 @@ define(`ic74LS138',`[ Chip: box wid_ lg_chipwd ht_ 11*lg_pinsep lg_pin(Chip.se_+(0,9*lg_pinsep),Y7,Pin7,eN,7) `$1']') + `ArduinoUno( wid,ht,pinlen )' +define(`ArduinoUno',`[ + define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl +# + + Connector: box wid m4bwid ht m4bht +# + plen = ifelse(`$4',,`2*L_unit',`$4') +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) + { "x" ljust at last line.start }')', + IOREF, RESET,`+`'3V3',`+`'5V', GND, GND, VIN, + nul, A0, A1, A2, A3, A4, A5) +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) + { "x" rjust at last line.start }')', + SCL, SDA, AREF, GND, D13, D12, ~D11, ~D10, ~D9, D8, + nul, D7, ~D6, ~D5, D4, ~D3, D2, TX D1, RX D0) +# + `$4'] ') + + `ArduinoLeonardo( wid,ht,pinlen )' +define(`ArduinoLeonardo',`[ + define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl +# + Connector: box wid m4bwid ht m4bht +# + plen = ifelse(`$4',,`2*L_unit',`$4') +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) + { "x" ljust at last line.start }')', + IOREF, RESET,`+`'3V3',`+`'5V', GND, GND, VIN, + nul, A0, A1, A2, A3, A4, A5) +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) + { "x" rjust at last line.start }')', + SCL, SDA, AREF, GND, + ~D13, D12, ~D11, ~D10, ~D9, D8, + nul, D7, ~D6, ~D5, D4, ~D3, D2, TX D1, RX D0) +# + `$4'] ') + + `RPi( wid,ht,pinlen )' +define(`RPi',`[ + define(`m4bwid',`ifelse(`$1',,`34*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`21*lg_pinsep',`$2')')dnl +# + GPIO: box wid m4bwid ht m4bht + plen = ifelse(`$4',,`6*L_unit',`$4') +# +define A_LeftGPIO { + exec sprintf("Pin%g: line left_ plen from GPIO.nw-(0,%g)",\ + 2*(`$'1)-1,(`$'1)*lg_pinsep) + { "`$'3" ljust at last line.start } + "`$'2" at last line.c above } +# +Loopover_(`x',`ifelse(x,nul,,`A_LeftGPIO(m4Lx,patsubst(x,;,`,'))')', + ;3V3, + 2;SDA1, 3;SCL1, 4;GPIO_GCLK, + ;GND, + 17;GPIO_GEN0, 27;GPIO_GEN2, 22;GPIO_GEN3, + ;3V3, + 10;SPI_MOSI, 9;SPI_MISO, 11;SPI_SCLK, + ;GND, + ;ID_SD, + 5;, 6;, 13;, 19;, 26;, + ;GND ) +# +define A_RightGPIO { + exec sprintf("Pin%g: line right_ plen from GPIO.ne-(0,%g)",\ + 2*(`$'1),(`$'1)*lg_pinsep) + { "`$'3" rjust at last line.start } + "`$'2" at last line.c above } +# +Loopover_(`x',`ifelse(x,nul,,`A_RightGPIO(m4Lx,patsubst(x,;,`,'))')', + ;5V, + ;5V, + ;GND, + 14;TXD0, 15;RXD0, 18;GPIO_GEN1, + ;GND, + 23;GPIO_GEN4, 24;GPIO_GEN5, + ;GND, + 25;GPIO_GEN6, 8;SPI_CEO_N, 7;SPI_CE1_N, + ;ID_SC, + ;GND, + 12;, + ;GND, + 16;, 20;, 21; ) +# + `$4'] ') + + `USB_C_Socket( wid, ht, pinlen )' +define(`USB_C_Socket',`[ + define(`m4bwid',`ifelse(`$1',,`18*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`14*lg_pinsep',`$2')')dnl +# + Base: box wid m4bwid ht m4bht rad 5/3*lg_pinsep + plen = ifelse(`$4',,`6*L_unit',`$4') +# + Loopover_(`x', + `B`'eval(13-m4Lx): dnl + line left_ plen from Base.n-(m4bwid/2,(m4Lx+0.5)*lg_pinsep) + {"x" ljust at last line.start}', + GND, RX1+, RX1-, VBUS, SBU2, D-, D+, CC2, VBUS, TX2-, TX2+, GND) +# + Loopover_(`x', + `A`'m4Lx: line right_ plen from Base.n+(m4bwid/2,-(m4Lx+0.5)*lg_pinsep) + {"x" rjust at last line.start}', + GND, TX1+, TX1-, VBUS, CC1, D+, D-, SBU1, VBUS, RX2-, RX2+, GND) +# + `$4']') + + `HDMI_micro( wid, ht, pinlen )' +define(`HDMI_micro',`[ + define(`m4bwid',`ifelse(`$1',,`16*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`19*lg_pinsep+m4bwid*2/3',`$2')')dnl +# + Base:[line up m4bht/2 then right m4bwid*2/3 \ + then right m4bwid/3 down m4bwid/3 \ + then down m4bht-2*m4bwid/3 then down m4bwid/3 left m4bwid/3 \ + then left m4bwid*2/3 then to Here] + plen = ifelse(`$4',,`6*L_unit',`$4') +# + Loopover_(`x', + `Pin`'m4Lx: line left_ plen from Base.nw-(0,m4bwid/3+(m4Lx-1/2)*lg_pinsep) + {"x" ljust at last line.start} + "m4Lx" at last line.c above', + HPD, UTILITY, D2+, D2_SH, D2-, D1+, D1_SH, D1-, D0+, D0_SH, + D0-, CLK+, CLK_SH, CLK-, CEC, GND, SCL, SDA, +5V) + line from Base.nw+(m4bwid*2/3-lg_pinsep,0) up plen + svg_rot(90,"21" at last line.c +(-2bp__,0)) + svg_rot(90,sprintf("SH2") at last line.start + (4bp__,-8bp__)) + line from Base.nw+(m4bwid*2/3-2*lg_pinsep,0) up plen + svg_rot(90,"20" at last line.c+(-2bp__,0)) + svg_rot(90,"SH1" at last line.start + (4bp__,-8bp__)) + line from Base.sw+(m4bwid*2/3-lg_pinsep,0) down plen + svg_rot(90,"23" at last line.c+(-2bp__,0)) + svg_rot(90,"SH4" at last line.start + (4bp__,14bp__)) + line from Base.sw+(m4bwid*2/3-2*lg_pinsep,0) down plen + svg_rot(90,"22" at last line.c+(-2bp__,0)) + svg_rot(90,"SH3" at last line.start + (4bp__,14bp__)) +# + `$4']') + divert(0)dnl diff --git a/graphics/circuit_macros/examples/svg/lcctSVG.m4 b/graphics/circuit_macros/examples/svg/lcctSVG.m4 index 9994b32309..ba25e60172 100644 --- a/graphics/circuit_macros/examples/svg/lcctSVG.m4 +++ b/graphics/circuit_macros/examples/svg/lcctSVG.m4 @@ -1,7 +1,7 @@ .PS # lcctSVG.m4 maxpswid = 10 -log_init(svg_font(sans-serif,11bp__,1bp__)) +log_init(svg_font(sans-serif,11bp__,2bp__)) include(icsSVG.m4) textht = textht * 0.9 diff --git a/graphics/circuit_macros/examples/svg/paletteSVG.m4 b/graphics/circuit_macros/examples/svg/paletteSVG.m4 index 2a26afdb99..2bad59ba93 100644 --- a/graphics/circuit_macros/examples/svg/paletteSVG.m4 +++ b/graphics/circuit_macros/examples/svg/paletteSVG.m4 @@ -333,7 +333,7 @@ A:Gridbox( FlipFlop(D) ] with .nw at (0,0) -"A draft palette of elements for Inkscape using a 1 mm grid" \ +"A draft palette of a few elements for Inkscape using a 1 mm grid" \ ljust below at last [].sw command "</g>" # end font diff --git a/graphics/circuit_macros/examples/svg/recycleSVG.m4 b/graphics/circuit_macros/examples/svg/recycleSVG.m4 index d6246cc9ab..135f31414e 100644 --- a/graphics/circuit_macros/examples/svg/recycleSVG.m4 +++ b/graphics/circuit_macros/examples/svg/recycleSVG.m4 @@ -1,7 +1,7 @@ .PS # recycle.m4 gen_init -copy "HOMELIB_`'dpictools.pic" +NeedDpicTools [ # Gradient fill and clipping are simply # done with PStricks or Tikz but the other diff --git a/graphics/circuit_macros/examples/svg/tstSVG.htmx b/graphics/circuit_macros/examples/svg/tstSVG.htmx index f15d09b7c7..6bb5ab2029 100644 --- a/graphics/circuit_macros/examples/svg/tstSVG.htmx +++ b/graphics/circuit_macros/examples/svg/tstSVG.htmx @@ -60,16 +60,28 @@ more basic. <ul> <ul> <li> - m4tt`'svg_font(</g>font-face,height,textoffset,dpic commands`'m4tt)</g>: - Change font face, size, and dpic textoffset parameter. + m4tt`'svg_font(</g>font-face,nominal size[:dptextratio],textoffset, + dpic commands`'m4tt)</g>: + Change font face and dpic m4tt`'textht</g>, m4tt`'dptextratio</g>, + and m4tt`'textoffset</g> parameters. If arg4 is blank, the font is changed and requires m4tt`'command "</g>"</g> to cancel the font change. + <br> + Note: + Nominal height = text height in drawing units; actual height = + nominal ht x m4tt`'dptextratio</g>. + <br> Examples: <br> m4tt`'svg_font(Times)</g><br> + m4tt`'svg_font(Times,14bp__)</g><br> + m4tt`'svg_font(sans-serif,14bp__:0.71)</g><br> m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)</g><br> m4tt`'svg_font(font-family="Times")</g><br> m4tt`'svg_font(font-family="Times" font-style="italic")</g><br> m4tt`'svg_font(style="font-family:Times; font-style:italic")</g> + <li>m4tt svgfontratio(</g>font name`'m4tt)</g>; + Reasonable m4tt`'dptextratio</g> value for common fonts, used + by m4tt`'svg_font</g>. <li>m4tt svg_tspan(</g>text attributes, text`'m4tt)</g>; e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ)</g> <li>m4tt svg_it(</g>text`'m4tt)</g>: for italics @@ -84,6 +96,13 @@ more basic. subscript <li>m4tt svg_sup(</g>text, size percent, y displ, x displ`'m4tt)</g>: superscript + <li>m4tt svg_rot(</g>degrees, "text" [at position]`'m4tt)</g>: + Rotate text degrees (default 90) ccw. + Requires m4tt`'svg_rot_init(</g>filename`'m4tt)</g> and the source + must be processed twice. + <li>m4tt svg_rot_init(</g>filename`'m4tt)</g>: + filename is the basename of the output of + m4tt`'dpic -v filename.pic > filename.svg`'m4tt <li>m4tt svg_symbol(</g>text`'m4tt)</g>: allow quoted pound sign in text, e.g., m4tt`'svg_symbol(10&`#'176;)</g> produces 10° <li>m4tt svgLink(</g>URL, drawing object, m4tt[B])</g>: @@ -96,102 +115,61 @@ more basic. <table cellpadding="0" cellspacing="0" width="100%" > <tr> -<td width="7%"> m4tt svg_alpha</g> - <td align="left"> changecom(,)&`#'945;changecom(`#') -<td width="7%"> m4tt svg_beta</g> - <td align="left"> changecom(,)&`#'946;changecom(`#') -<td width="7%"> m4tt svg_chi</g> - <td align="left"> changecom(,)&`#'967;changecom(`#') -<td width="7%"> m4tt svg_comma</g> - <td align="left"> changecom(,)&`#'44;changecom(`#') -<td width="7%"> m4tt svg_Delta</g> - <td align="left"> changecom(,)&`#'916;changecom(`#') -<td width="7%"> m4tt svg_delta</g> - <td align="left"> changecom(,)&`#'948;changecom(`#') -<td width="7%"> m4tt svg_epsilon</g> - <td align="left"> changecom(,)&`#'949;changecom(`#') -<td width="7%"> m4tt svg_eta</g> - <td align="left"> changecom(,)&`#'951;changecom(`#') +<td width="8%"> m4tt svg_alpha</g> <td align="left"> changecom(,)&`#'945;changecom(`#') +<td width="8%"> m4tt svg_beta</g> <td align="left"> changecom(,)&`#'946;changecom(`#') +<td width="8%"> m4tt svg_Gamma</g> <td align="left"> changecom(,)&`#'915;changecom(`#') +<td width="8%"> m4tt svg_gamma</g> <td align="left"> changecom(,)&`#'947;changecom(`#') +<td width="8%"> m4tt svg_Delta</g> <td align="left"> changecom(,)&`#'916;changecom(`#') +<td width="8%"> m4tt svg_delta</g> <td align="left"> changecom(,)&`#'948;changecom(`#') +<td width="10%"> m4tt svg_epsilon</g> <td align="left"> changecom(,)&`#'949;changecom(`#') +<td width="8%"> m4tt svg_zeta</g> <td align="left"> changecom(,)&`#'950;changecom(`#') <tr> -<td width="7%"> m4tt svg_Gamma</g> - <td align="left"> changecom(,)&`#'915;changecom(`#') -<td width="7%"> m4tt svg_gamma</g> - <td align="left"> changecom(,)&`#'947;changecom(`#') -<td width="7%"> m4tt svg_iota</g> - <td align="left"> changecom(,)&`#'953;changecom(`#') -<td width="7%"> m4tt svg_kappa</g> - <td align="left"> changecom(,)&`#'954;changecom(`#') -<td width="7%"> m4tt svg_Lambda</g> - <td align="left"> changecom(,)&`#'923;changecom(`#') -<td width="7%"> m4tt svg_lambda</g> - <td align="left"> changecom(,)&`#'955;changecom(`#') -<td width="7%"> m4tt svg_micro</g> - <td align="left"> changecom(,)&`#'956;changecom(`#') -<td width="7%"> m4tt svg_mu</g> - <td align="left"> changecom(,)&`#'956;changecom(`#') +<td width="8%"> m4tt svg_eta</g> <td align="left"> changecom(,)&`#'951;changecom(`#') +<td width="8%"> m4tt svg_Theta</g> <td align="left"> changecom(,)&`#'920;changecom(`#') +<td width="8%"> m4tt svg_theta</g> <td align="left"> changecom(,)&`#'952;changecom(`#') +<td width="8%"> m4tt svg_iota</g> <td align="left"> changecom(,)&`#'953;changecom(`#') +<td width="8%"> m4tt svg_kappa</g> <td align="left"> changecom(,)&`#'954;changecom(`#') +<td width="8%"> m4tt svg_Lambda</g> <td align="left"> changecom(,)&`#'923;changecom(`#') +<td width="8%"> m4tt svg_lambda</g> <td align="left"> changecom(,)&`#'955;changecom(`#') +<td width="8%"> m4tt svg_mu</g> <td align="left"> changecom(,)&`#'956;changecom(`#') <tr> -<td width="7%"> m4tt svg_nu</g> - <td align="left"> changecom(,)&`#'957;changecom(`#') -<td width="7%"> m4tt svg_ohm</g> - <td align="left"> changecom(,)&`#'937;changecom(`#') -<td width="7%"> m4tt svg_Omega</g> - <td align="left"> changecom(,)&`#'937;changecom(`#') -<td width="7%"> m4tt svg_omega</g> - <td align="left"> changecom(,)&`#'969;changecom(`#') -<td width="7%"> m4tt svg_Phi</g> - <td align="left"> changecom(,)&`#'934;changecom(`#') -<td width="7%"> m4tt svg_phi</g> - <td align="left"> changecom(,)&`#'966;changecom(`#') -<td width="7%"> m4tt svg_Pi</g> - <td align="left"> changecom(,)&`#'928;changecom(`#') -<td width="7%"> m4tt svg_pi</g> - <td align="left"> changecom(,)&`#'960;changecom(`#') +<td width="8%"> m4tt svg_nu</g> <td align="left"> changecom(,)&`#'957;changecom(`#') +<td width="8%"> m4tt svg_Xi</g> <td align="left"> changecom(,)&`#'926;changecom(`#') +<td width="8%"> m4tt svg_xi</g> <td align="left"> changecom(,)&`#'958;changecom(`#') +<td width="8%"> m4tt svg_Pi</g> <td align="left"> changecom(,)&`#'928;changecom(`#') +<td width="8%"> m4tt svg_pi</g> <td align="left"> changecom(,)&`#'960;changecom(`#') +<td width="8%"> m4tt svg_rho</g> <td align="left"> changecom(,)&`#'961;changecom(`#') +<td width="8%"> m4tt svg_Sigma</g> <td align="left"> changecom(,)&`#'931;changecom(`#') +<td width="8%"> m4tt svg_sigma</g> <td align="left"> changecom(,)&`#'963;changecom(`#') <tr> -<td width="7%"> m4tt svg_Psi</g> - <td align="left"> changecom(,)&`#'936;changecom(`#') -<td width="7%"> m4tt svg_psi</g> - <td align="left"> changecom(,)&`#'968;changecom(`#') -<td width="7%"> m4tt svg_rho</g> - <td align="left"> changecom(,)&`#'961;changecom(`#') -<td width="7%"> m4tt svg_Sigma</g> - <td align="left"> changecom(,)&`#'931;changecom(`#') -<td width="7%"> m4tt svg_sigma</g> - <td align="left"> changecom(,)&`#'963;changecom(`#') -<td width="7%"> m4tt svg_tau</g> - <td align="left"> changecom(,)&`#'964;changecom(`#') -<td width="7%"> m4tt svg_Theta</g> - <td align="left"> changecom(,)&`#'920;changecom(`#') -<td width="7%"> m4tt svg_theta</g> - <td align="left"> changecom(,)&`#'952;changecom(`#') +<td width="8%"> m4tt svg_tau</g> <td align="left"> changecom(,)&`#'964;changecom(`#') +<td width="10%"> m4tt svg_upsilon</g> <td align="left"> changecom(,)&`#'965;changecom(`#') +<td width="8%"> m4tt svg_Phi</g> <td align="left"> changecom(,)&`#'934;changecom(`#') +<td width="8%"> m4tt svg_phi</g> <td align="left"> changecom(,)&`#'966;changecom(`#') +<td width="8%"> m4tt svg_chi</g> <td align="left"> changecom(,)&`#'967;changecom(`#') +<td width="8%"> m4tt svg_Psi</g> <td align="left"> changecom(,)&`#'936;changecom(`#') +<td width="8%"> m4tt svg_psi</g> <td align="left"> changecom(,)&`#'968;changecom(`#') +<td width="8%"> m4tt svg_Omega</g> <td align="left"> changecom(,)&`#'937;changecom(`#') <tr> -<td width="7%"> m4tt svg_upsilon</g> - <td align="left"> changecom(,)&`#'965;changecom(`#') -<td width="7%"> m4tt svg_Xi</g> - <td align="left"> changecom(,)&`#'926;changecom(`#') -<td width="7%"> m4tt svg_xi</g> - <td align="left"> changecom(,)&`#'958;changecom(`#') -<td width="7%"> m4tt svg_zeta</g> - <td align="left"> changecom(,)&`#'950;changecom(`#') -<td width="7%"> m4tt svg_lt</g> - <td align="left"> changecom(,)&`#'60;changecom(`#') -<td width="7%"> m4tt svg_gt</g> - <td align="left"> changecom(,)&`#'62;changecom(`#') -<td width="7%"> m4tt svg_leq</g> - <td align="left"> changecom(,)&`#'8804;changecom(`#') -<td width="7%"> m4tt svg_geq</g> - <td align="left"> changecom(,)&`#'8805;changecom(`#') +<td width="8%"> m4tt svg_omega</g> <td align="left"> changecom(,)&`#'969;changecom(`#') +<td width="8%"> m4tt svg_micro</g> <td align="left"> changecom(,)&`#'956;changecom(`#') +<td width="8%"> m4tt svg_ohm</g> <td align="left"> changecom(,)&`#'937;changecom(`#') +<td width="8%"> m4tt svg_lt</g> <td align="left"> changecom(,)&`#'60;changecom(`#') +<td width="8%"> m4tt svg_gt</g> <td align="left"> changecom(,)&`#'62;changecom(`#') +<td width="8%"> m4tt svg_leq</g> <td align="left"> changecom(,)&`#'8804;changecom(`#') +<td width="8%"> m4tt svg_geq</g> <td align="left"> changecom(,)&`#'8805;changecom(`#') +<td width="8%"> m4tt svg_prime</g> <td align="left"> changecom(,)&`#'8242;changecom(`#') <tr> -<td width="7%"> m4tt svg_prime</g> - <td align="left"> changecom(,)&`#'8242;changecom(`#') -<td width="7%"> m4tt svg_ensp</g> - <td align="left"> |changecom(,)&`#'8194;changecom(`#')| -<td width="7%"> m4tt svg_emsp</g> - <td align="left"> |changecom(,)&`#'8195;changecom(`#')| -<td width="7%"> m4tt svg_thinsp</g> - <td align="left"> |changecom(,)&`#'8201;changecom(`#')| -<td width="7%"> m4tt svg_backsl</g> - <td align="left"> changecom(,)&`#'92;changecom(`#') +<td width="8%"> m4tt svg_backsl</g> <td align="left"> changecom(,)&`#'92;changecom(`#') +<td width="8%"> m4tt svg_pound</g> <td align="left"> changecom(,)&`#'35;changecom(`#') +<td width="8%"> m4tt svg_comma</g> <td align="left"> changecom(,)&`#'44;changecom(`#') +<td width="8%"> m4tt svg_lparen</g> <td align="left"> changecom(,)&`#'40;changecom(`#') +<td width="8%"> m4tt svg_rparen</g> <td align="left"> changecom(,)&`#'41;changecom(`#') +<td width="8%"> m4tt svg_emsp</g> <td align="left"> |changecom(,)&`#'8195;changecom(`#')| +<td width="8%"> m4tt svg_ensp</g> <td align="left"> |changecom(,)&`#'8194;changecom(`#')| +<td width="8%"> m4tt svg_thinsp</g> <td align="left"> |changecom(,)&`#'8201;changecom(`#')| </table> + </ul> <li> Inkscape: It may be efficient to define elements by macro and to place them using a WYSIWYG graphics editor. A draft page intended diff --git a/graphics/circuit_macros/examples/svg/windows.m4 b/graphics/circuit_macros/examples/svg/windows.m4 new file mode 100644 index 0000000000..bc4527f36e --- /dev/null +++ b/graphics/circuit_macros/examples/svg/windows.m4 @@ -0,0 +1,12 @@ +divert(-1) +# windows.m4 +# This file is used if the CUSTOM=windows.m4 function is turned on in Makefile +define(`windows_') + +# To makd NeedDpicTools work, +# change the absolute Windows path to your installation directory: + +define(`NeedDpicTools',`if "dpictools" != "1" then { + copy "D:\Dwight\lib\dpictools.pic" } define(`dfitcurve__') ') + +divert(0)dnl diff --git a/graphics/circuit_macros/examples/windows.m4 b/graphics/circuit_macros/examples/windows.m4 index 1b2a904af0..bc4527f36e 100644 --- a/graphics/circuit_macros/examples/windows.m4 +++ b/graphics/circuit_macros/examples/windows.m4 @@ -1,7 +1,10 @@ divert(-1) -# This file is used if the CUSTOM= function is turned on in Makefile +# windows.m4 +# This file is used if the CUSTOM=windows.m4 function is turned on in Makefile +define(`windows_') -# Change the absolute Windows path to your installation directory: +# To makd NeedDpicTools work, +# change the absolute Windows path to your installation directory: define(`NeedDpicTools',`if "dpictools" != "1" then { copy "D:\Dwight\lib\dpictools.pic" } define(`dfitcurve__') ') diff --git a/graphics/circuit_macros/examples/xfig/xfiglib.fig b/graphics/circuit_macros/examples/xfig/xfiglib.fig index 386844bc5c..6b3d4fb3e4 100644 --- a/graphics/circuit_macros/examples/xfig/xfiglib.fig +++ b/graphics/circuit_macros/examples/xfig/xfiglib.fig @@ -6,7 +6,7 @@ Letter 100.00 Single -2 -# dpic version 2020.03.01 option -x for Fig 3.2 +# dpic version 2020.06.01 option -x for Fig 3.2 1200 2 6 0 0 3975 5025 6 0 0 3975 5025 @@ -184,8 +184,10 @@ Single 2 1 0 1 0 -1 0 -1 -1 0 0 0 0 0 0 2 1125 1425 1125 1275 1 3 0 1 0 -1 0 -1 -1 0 1 0.0 1125 1125 150 150 1275 1125 1275 1125 -5 1 0 1 0 -1 0 -1 -1 0 0 0 0 0 1075 1125 1025 1125 1075 1075 1125 1125 +6 1025 1075 1225 1175 +5 1 0 1 0 -1 0 -1 -1 0 0 1 0 0 1075 1125 1125 1125 1075 1075 1025 1125 5 1 0 1 0 -1 0 -1 -1 0 0 1 0 0 1175 1125 1125 1125 1175 1175 1225 1125 +-6 2 1 0 1 0 -1 0 -1 -1 0 0 0 0 0 0 2 1125 975 1125 825 -6 diff --git a/graphics/circuit_macros/gpic.m4 b/graphics/circuit_macros/gpic.m4 index 9a5c596dce..16d58c7a15 100644 --- a/graphics/circuit_macros/gpic.m4 +++ b/graphics/circuit_macros/gpic.m4 @@ -1,7 +1,7 @@ divert(-1) gpic.m4 Initialization for gpic. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/lib3D.m4 b/graphics/circuit_macros/lib3D.m4 index 53d2004b43..e469841036 100644 --- a/graphics/circuit_macros/lib3D.m4 +++ b/graphics/circuit_macros/lib3D.m4 @@ -3,7 +3,7 @@ lib3D.m4 Macros for rotation, projection, and other operations on argument triples representing 3D vectors. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/libcct.m4 b/graphics/circuit_macros/libcct.m4 index b213af9e91..0ae189ad17 100644 --- a/graphics/circuit_macros/libcct.m4 +++ b/graphics/circuit_macros/libcct.m4 @@ -1,7 +1,7 @@ divert(-1) libcct.m4 -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -551,15 +551,15 @@ define(`xtal',`eleminit_(`$1') `source( linespec, V|v|I|i|AC|B|F|G|H|Q|L|N|P|R|S[C[r]|E[r]]]|T|X|U|other, diameter, R, fill) - V = voltage source; v=alternate voltage source; + V = voltage source; v = alternate voltage source; I = current source; i = alternate current source; - AC = AC source, B = bulb, F = fluorescent, G = generator, - Q = charge, L = lamp, N = neon, P = pulse, R = ramp, - SC = quarter arc, SE = arc; r = right orientation, - S = sinusoid, - T = triangle, X = interior X, U = square-wave, - other = custom interior label or waveform, - R = reversed polarity + AC = AC source; B = bulb; F = fluorescent; G = + generator; H = step function; L = lamp; + N = neon; P = pulse; Q = charge; R = ramp; r = right + orientation; S = sinusoid; SC = quarter arc; SE = + arc; T = triangle; U = square-wave; X = interior X; + other = custom interior label or waveform; + arg 4: R = reversed polarity; arg 5 modifies the circle with e.g., color or fill' define(`source',`ifelse(`$4',R, `reversed(`source',`$1',`$2',`$3',,shift(shift(shift(shift($@)))))', @@ -621,10 +621,7 @@ define(`source',`ifelse(`$4',R, at rvec_( m4h/2,0) ifsvg(+(0,textht/10))}', `$2',v,`{line from rvec_(-m4h,0) \ to rvec_(m4h,0)}', - `$2',AC,`{ - arc rad m4h/3 cw from Here-(m4h*2/3,0) \ - to Here with .c at Here-(m4h/3,0) - arc rad m4h/3 ccw from Here to Here+(m4h*2/3,0) with .c at Here+(m4h/3,0)}', + `$2',AC,`{ACsymbol(,,,AR)}', `$2',P,`{ line from Here+(-m4h/2,-m4h/4) \ to Here+(-m4h/4,-m4h/4) \ then to Here+(-m4h/4,m4h/4) \ @@ -652,13 +649,7 @@ define(`source',`ifelse(`$4',R, `$2',SE,`{ arc from Cintersect(Here,m4h,rvec_(0,2*m4h),1.8*m4h) \ to Cintersect(Here,m4h,rvec_(0,2*m4h),1.8*m4h,R) \ with .c at rvec_(0,2*m4h) }', - `$2',S,`{ ifgpic( - `arc rad m4h/3 cw from Here-(m4h*2/3,0) \ - to Here with .c at Here-(m4h/3,0) - arc rad m4h/3 ccw from Here to Here+(m4h*2/3,0) with .c at Here+(m4h/3,0)', - `savem4dir(`m4srcstack') right_ - sinusoid(m4h/2,twopi_/(m4h),pi_/2,-m4h/2,m4h/2) with .Origin at Here - restorem4dir(`m4srcstack') ') }', + `$2',S,`{ACsymbol(,,,R)}', `$2',T,`{ line from Here+(-m4h*3/4,-m4h/4) \ to Here+(-m4h/4,m4h/4) \ then to Here+(m4h/4,-m4h/4) \ @@ -706,34 +697,75 @@ define(`ttmotor',`eleminit_(`$1') { [box invis ht_ m4r*2 wid_ (m4r+m4w)*2] at last circle.c } line to rvec_(rp_len,0) invis ') - `Controlled source - consource( linespec ,V|I|v|i, R ) + `consource( linespec ,V|I|v|i|P, R ) + Controlled source + Arg3: + V= voltage + I= current + v= voltage type 2 + i= current type 2 + P= proximity sensor arg 4 can be used to modify the body with e.g. color or fill' define(`consource',`ifelse(`$3',R, `reversed(`consource',`$1',`$2',,shift(shift(shift($@))))', `eleminit_(`$1') {line to rvec_(rp_len/2-csdim_,0) - {line to rvec_(csdim_,csdim_) \ - then to rvec_(2*csdim_,0)\ - then to rvec_(csdim_,-csdim_) \ - then to Here `$4' } + M4CSN: rvec_(csdim_,csdim_) + M4CSS: rvec_(csdim_,-csdim_) + M4CSE: rvec_(2*csdim_,0) + M4CSW: Here + {line to M4CSN then to M4CSE then to M4CSS then to Here `$4'} ifelse(`$2',I, `{arrow from rvec_(csdim_/4,0) \ to rvec_(csdim_*7/4,0)}', `$2',i, - `{line from rvec_(csdim_,csdim_) \ - to rvec_(csdim_,-csdim_)}', + `{line from M4CSN to M4CSS}', `$2',V, - `{"ifsvg(-,`$-$')" at rvec_(csdim_*0.5,0) ifsvg(+(0,textht/10))} - {"ifsvg(+,`$+$')" at rvec_(csdim_*1.5,0) ifsvg(+(0,textht/10))}', + `{"iflatex(`$-$',-)" at rvec_(csdim_*0.5,0) ifsvg(+(0,textht/10))} + {"iflatex(`$+$',+)" at rvec_(csdim_*1.5,0) ifsvg(+(0,textht/10))}', `$2',v, - `{line to rvec_(2*csdim_,0)} ') - line from rvec_(2*csdim_,0) \ - to rvec_(rp_len/2+csdim_,0) } + `{line to M4CSE} ', + `$2',P, + `{ Proxim(2*csdim_) at rvec_(csdim_,0) }') + line from M4CSE to rvec_(rp_len/2+csdim_,0) } {[box invis ht_ 2*csdim_ wid_ 2*csdim_] at rvec_(rp_len/2,0)} line to rvec_(rp_len,0) invis ')') + `Proxim(size, U|D|L|R|degrees) + Proximity symbol + Arg2 default: current direction' +define(`Proxim',`[ + define(`m4prwid',`ifelse(`$1',,(dimen_/2),`($1)')')dnl + setdir_(ifelse(`$2',,`ifdef(`m4a_',rp_ang*rtod_,0)',`$2')) + M4PRN: rvec_(0, m4prwid/2) + M4PRE: rvec_(m4prwid/2,0) + M4PRS: rvec_(0,-m4prwid/2) + M4PRW: rvec_(-m4prwid/2,0) + { line from 1/2 between M4PRN and M4PRE to M4PRE then to M4PRS \ + then to M4PRW then to M4PRN then to 1/2 between M4PRN and M4PRE } + { line from 1/4 between M4PRW and M4PRN to 1/4 between M4PRE and M4PRN } + { line from 1/4 between M4PRW and M4PRS to 1/4 between M4PRE and M4PRS } + `$3'; resetdir_ ]') + + `Magn(len, ht, U|D|L|R|degrees) + Magnetic relay action symbol' +define(`Magn',`[ + define(`m4mawi2',`ifelse(`$1',,(dimen_/4),`(($1)/2)')')dnl + define(`m4mah2',`ifelse(`$2',,(dimen_/8),`(($2)/2)')')dnl + setdir_(ifelse(`$3',,`ifdef(`m4a_',rp_ang*rtod_,0)',`$3')) + m4fshade(0, line from vec_( 0, m4mah2) \ + to vec_( m4mawi2, m4mah2) \ + then to vec_( m4mawi2,-m4mah2) \ + then to vec_( m4mawi2/2,-m4mah2) \ + then to vec_( m4mawi2/2,0) \ + then to vec_(-m4mawi2/2,0) \ + then to vec_(-m4mawi2/2,-m4mah2) \ + then to vec_(-m4mawi2,-m4mah2) \ + then to vec_(-m4mawi2, m4mah2) \ + then to vec_( 0, m4mah2)) + `$4'; resetdir_ ]') + `battery( linespec, n, R ) Arg 3: reversed polarity' define(`battery',`ifelse(`$3',R, @@ -765,7 +797,7 @@ define(`ebox',`eleminit_(`$1') line to rvec_(rp_len,0) invis ') `fuse( linespec, chars, wid, ht ) - chars A|B|C|D|S|HB|HC or dA (=D)' + chars dA|B|C|D|S|SB|HB|HC or dA (=D)' define(`fuse',`eleminit_(`$1') define(`m4fusetype',`ifelse(`$2',,A,`$2',D,dA,`$2')')dnl define(`m4ht',ifelse(`$4',,`dimen_/5'ifinstr(`$2',H,*5/3),`($4)'))dnl @@ -775,7 +807,7 @@ define(`fuse',`eleminit_(`$1') sc_draw(`m4fusetype',HB, `{move to rvec_(m4d,0); lbox(m4wd-2*m4d,m4ht-2*m4d)} {lbox(m4wd,m4ht)} - line to rvec_(m4wd+max(0,rp_len/2-m4wd/2),0)}') + line to rvec_(m4wd+max(0,rp_len/2-m4wd/2),0)') sc_draw(`m4fusetype',HC, `{move to rvec_(m4d,0); {lbox(m4wd-2*m4d,m4ht-2*m4d)} {line from rvec_((m4wd-2*m4d)/5,m4ht/2-m4d) \ @@ -783,30 +815,87 @@ define(`fuse',`eleminit_(`$1') line from rvec_((m4wd-2*m4d)*4/5,m4ht/2-m4d) \ to rvec_((m4wd-2*m4d)*4/5,-m4ht/2+m4d) } {lbox(m4wd,m4ht)} - move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)}') + move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)') sc_draw(`m4fusetype',A, `arc cw to rvec_(m4ht,0) rad m4ht/2 with .c at rvec_(m4ht/2,0)dnl ifelse(m4a,d,`; {dot(at last arc.start,,1)}') arc ccw to rvec_(m4ht,0) rad m4ht/2 with .c at rvec_(m4ht/2,0) line to rvec_(max(0,rp_len/2-m4wd/2),0)dnl - ifelse(m4a,d,`; dot(at last line.start,,1)') }') + ifelse(m4a,d,`; dot(at last line.start,,1)')') + sc_draw(`m4fusetype',SB, + `{lbox(m4wd,m4ht)} + {line to rvec_(m4wd+max(0,rp_len/2-m4wd/2),0)} + {m4fshade(m4fill,lbox(m4wd/5,m4ht))} + move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)') sc_draw(`m4fusetype',B, `{lbox(m4wd,m4ht)} - line to rvec_(m4wd+max(0,rp_len/2-m4wd/2),0)}') + line to rvec_(m4wd+max(0,rp_len/2-m4wd/2),0)') sc_draw(`m4fusetype',C, `{lbox(m4wd,m4ht)} {line from rvec_(m4wd/5,-m4ht/2) \ to rvec_(m4wd/5,m4ht/2)} {line from rvec_(m4wd*4/5,-m4ht/2) \ to rvec_(m4wd*4/5,m4ht/2)} - move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)}') + move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)') sc_draw(`m4fusetype',S, `{lbox(m4wd,m4ht)} {m4fshade(m4fill,lbox(m4wd/5,m4ht))} - move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)}') + move to rvec_(m4wd,0); line to rvec_(max(0,rp_len/2-m4wd/2),0)') + } {[box invis ht_ m4ht wid_ m4wd] at rvec_(rp_len/2,0)} line to rvec_(rp_len,0) invis ') + `arrester( linespec, [G|E|S][D[L]], len, ht ) + G= spark gap (default) + E= gas discharge + S= surge + D= double (creates 3-terminal element) + DL= double, left orientation' +define(`arrester', + `define(`m4wd',ifelse(`$3',,`dimen_/2',`($3)'))dnl + define(`m4ht',ifelse(`$4',,`dimen_/5',`($4)'))dnl + define(`m4arm',ifinstr(`$2',L,,-))dnl + define(`m4ardna',`patsubst(patsubst(`$2',L),D)')dnl + define(`m4awd',arrowwid*4/3)define(`m4aht',arrowht*2/3)dnl + define(`m4len',`ifinstr(`$2',D,`ifelse(`$1',,dimen_)',`$1')')dnl + ifinstr(`$2',D,[)eleminit_(m4len)ifinstr(`$2',D,,`;{')dnl + ifinstr( m4ardna,S, + `line to rvec_(max(0,rp_len/2-m4wd/2),0) + {lbox(m4wd,m4ht)} + {arrow to rvec_(m4wd*0.4,0) wid m4awd ht m4aht} + ifinstr(`$2',D, + `A: 3rd last line.start; B: last line.end; C: 1/2 between A and B + move to rvec_(m4wd/2,m4arm`'(-m4ht/2)) + Gb: line to rvec_(0,m4arm`'(m4ht*2)) + G: Here]', + `line from rvec_(m4wd,0) to rvec_(max(0,rp_len/2+m4wd/2),0)} + {[box invis ht_ m4ht wid_ m4wd] at rvec_(rp_len/2,0)} + line to rvec_(rp_len,0) invis ') ', + m4ardna,E, + `arrow to rvec_(max(0,rp_len/2-m4wd/8),0) wid m4awd ht m4aht + {dot(at rvec_(-m4aht/4,-m4wd/4),dotrad_*2/3)} + {move to rvec_(m4wd/4,0) + arrow <- to rvec_(max(0,rp_len/2-m4wd/8),0) wid m4awd ht m4aht } + {circle diam m4wd at rvec_(m4wd/8,0)} + ifinstr(`$2',D, + `A: 2nd last arrow.start; B: last arrow.end; C: last circle.c + move to rvec_(m4wd/8,m4arm`'(-m4ht/2)) + Gb: line to rvec_(0,m4arm`'ifelse(`$3',,`dimen_/2',`($3)')) + G: Here]', + `}; {[box invis ht_ m4wd wid_ m4wd] at rvec_(rp_len/2,0)} + line to rvec_(rp_len,0) invis ')', + `define(`m4wd',ifelse(`$3',,`dimen_/8',`($3)'))dnl + arrow to rvec_(max(0,rp_len/2-m4wd/2),0) wid m4awd ht m4aht + { move to rvec_(m4wd,0) + arrow <- to rvec_(max(0,rp_len/2-m4wd/2),0) wid m4awd ht m4aht } + ifinstr(`$2',D, + `A: 2nd last arrow.start; B: last arrow.end; C: 1/2 between A and B + move to rvec_(m4wd/2,m4arm`'(-m4awd)) + Gb: line to rvec_(0,m4arm`'ifelse(`$3',,`dimen_/2',`($3)')) + G: Here]', + `}; {[box invis ht_ m4ht wid_ m4wd+2*m4aht] at rvec_(rp_len/2,0)} + line to rvec_(rp_len,0) invis ')')') + `memristor( linespec, wid, ht )' define(`memristor',`eleminit_(`$1') define(`m4ht',ifelse(`$3',,`dimen_/5',`($3)'))define(`m4htx',`m4ht/4')dnl @@ -949,10 +1038,11 @@ define(`arrowline',`line ifelse(`$1',,`to rvec_(elen_,0)',`$1') chop lin_leng(last line)/2-arrowht/2 [box invis ht_ arrowwid wid_ arrowht] at last line.c }') - `ground( at position, T, N|F|S|L|P|E, D|U|L|R|degrees) + `ground( at position, T, N|F|S|L|P[A]|E, + D|U|L|R|degrees) T=truncated stem; N=normal ground, F=frame, S=signal, L=low-noise, P=protective, - E=European; + E=European; PA=protective alternate down (default), up, left, right, angle (deg)' define(`ground',`box invis ht 0 wid 0 with .c ifelse(`$1',,`at Here',`$1') define(`m4v',`dimen_/6')define(`m4h',`dimen_/16')dnl @@ -979,6 +1069,12 @@ define(`ground',`box invis ht 0 wid 0 with .c ifelse(`$1',,`at Here',`$1') arc cw rad m4v*3/2 from rvec_(Rect_(m4v*3/2,-60)) \ to rvec_(Rect_(m4v*3/2,60)) with .c at Here} ground(,T,,`$4')', + `$3',PA, + `{Grnd_T: line to rvec_(0,m4v*1.6) \ + then to rvec_(5.5*m4h,0) \ + then to rvec_(0,-m4v*1.6) \ + then to Here} + ground(at rvec_(m4h,0),T,,`$4')', `$3',P, `{Grnd_C: circle rad m4v*3/2 at rvec_(m4h,0)} ground(,T,,`$4')', @@ -1146,7 +1242,6 @@ define(`lswitch',`eleminit_(`$1') dnl arrowht = m4t1 ; arrowwid = m4t2; ifelse(`$4',,,`{`$4'}') line to rvec_(rp_len,0) invis ') - `dswitch(linespec,R,W[ud]B[K] chars) Comprehensive IEEE-IEC single-pole switch: arg2=R: orient to the right of drawing dir @@ -1180,6 +1275,8 @@ define(`lswitch',`eleminit_(`$1') dnl MMR = momentary contact on make and release O = hand operation button P = pushbutton + Pr[T|M] = proximity [touch-sensitive or + magnetically controlled] R = time-delay operating arm Sd = Switch-disconnector Th = thermal control linkage @@ -1281,6 +1378,10 @@ define(`m4R',`ifelse(`$2',R,-)')define(`m4sc',`dimen_/24')dnl move to M4dT1+vec_(0,m4c`'m4dTr/2) m4fshade(0,lbox(m4dTr,m4dTr)) point_(m4angtmp) ') + sc_draw(`dna_',PrM, + `M4T: Proxim(dimen_/3) at M4B.c+ta_xy(0,ifelse(m4a,d,-)8) + line dashed dimen_/16 from M4B.c to M4T chop 0 chop dimen_/6 + Magn(dimen_/3,dimen_/6) at M4T+vec_(0,ifelse(m4a,d,-)dimen_/4)') sc_draw(`dna_',M, `define(`m4t',ifelse(m4a,d,-))dnl M4T: M4B.c+ta_xy(0,m4t`'12) @@ -1294,6 +1395,13 @@ define(`m4R',`ifelse(`$2',R,-)')define(`m4sc',`dimen_/24')dnl sc_draw(`dna_',O, `line from M4T + ta_xy(-2.5,0) \ to M4T + ta_xy(2.5,0) ') + sc_draw(`dna_',PrT, + `M4T: Proxim(dimen_/3) at M4B.c+ta_xy(0,ifelse(m4a,d,-)8) + line dashed dimen_/16 from M4B.c to M4T chop 0 chop dimen_/6 + line to rvec_(dimen_/4,0) with .c at M4T+vec_(0,ifelse(m4a,d,-)dimen_/6)') + sc_draw(`dna_',Pr, + `M4T: Proxim(dimen_/3) at M4B.c+ta_xy(0,ifelse(m4a,d,-)8) + line dashed dimen_/16 from M4B.c to M4T chop 0 chop dimen_/6 ') sc_draw(`dna_',P, `line from M4T + ta_xy(-2.5,-2.5) \ to M4T + ta_xy(-2.5,0) \ @@ -2118,6 +2226,7 @@ define(`c_fet',`mosfet(`$1',`$2',`ZSDF'ifelse(`$3',P,d)T,,`$4')') udM: G pin to channel center or u: pin at drain end, d: pin at source end udMn: gates G0 to Gn as above + Py: parallel diode Pz: parallel zener diode Q: connect B pin to S pin R: thick channel @@ -2200,15 +2309,18 @@ define(`mosfet', Gl: line from tr_xy(2,(m4s+1)) \ to tr_xy(-2,(m4s+1)) \ then to G')') - sc_draw(`dna_',Pz, + sc_draw(`dna_',Py,`pushdef(`m4pdd_mosfet')') + sc_draw(`dna_',Pz,`pushdef(`m4pdd_mosfet',Z)') + ifdef(`m4pdd_mosfet', `define(`m4q',m4a)dnl Diode: diode(ifelse(m4q,d,to,from) tr_xy(-2,-2) \ - ifelse(m4q,d,from,to) tr_xy( 2,-2),Z) + ifelse(m4q,d,from,to) tr_xy( 2,-2),m4pdd_mosfet) ifelse(m4q,d,rp_ang = rp_ang + pi_) line from tr_xy(-2,0) \ to tr_xy(-2,-2) \ then to tr_xy(2,-2) \ - then to tr_xy(2,0)') + then to tr_xy(2,0) + popdef(`m4pdd_mosfet')') sc_draw(`dna_',Q, `Ql: line from tr_xy(0,0)+vec_(0,m4R`'linethick pt__) \ to tr_xy(0,0) \ @@ -2464,8 +2576,10 @@ define(`resized',`define(`m4resiztmp',dimen_)define(`dimen_',(dimen_)*(`$1'))dnl `variable(`element', type, angle, length) overlaid arrow or line on two-terminal element - to show variablility: type = [A|P|L|[u]N][C|S] + to show variablility: + type = [A|P|L|[u]N|[u]NN][C|S] A=arrow, P=preset, L=linear, N=nonlinear, + NN=symmetric nonlinear, u changes direction, C=continuous, S=setpwise' define(`variable',`$1 {[ define(`dna_',`ifelse($2,,A,$2)') ang = ifelse(`$3',,45,`$3') @@ -2473,6 +2587,11 @@ define(`variable',`$1 sc_draw(`dna_',P,`Line: line to M4_T [line to (Rect_(dimen_/6,ang-90))] at Line.end') sc_draw(`dna_',L,`Line: line to M4_T') + sc_draw(`dna_',NN,`Line: ifelse(m4a,u, + `line from Here-(dimen_/6,0) to Here \ + then to M4_T then to M4_T+(dimen_/6,0)', + `line from Here-(0,dimen_/6) to Here \ + then to M4_T then to M4_T+(0,dimen_/6)') ') sc_draw(`dna_',N,`Line: line to M4_T ifelse(m4a,u,`line up dimen_/6 from Line.end', `line left dimen_/6 from Line.start')') @@ -2669,7 +2788,6 @@ define(`contact',`[ dnl ') `$3'] ') - `relaycoil( chars, wid, ht, U|D|L|R|degrees ) chars: X or default: external lines from A2 and B2 @@ -2679,8 +2797,8 @@ define(`contact',`[ dnl SO slow operating SOR slow operating and release SR slow release - HS hight speed - HS hight speed + HS high speed + HS high speed NAC unaffected by AC current AC AC current ML mechanically latched @@ -2951,7 +3069,7 @@ define(`m4pcrpin',`[ifinstr(`$2',F,`circle diam `$1'', `Header(1|2,rows,wid,ht,type) arg1: number of columns arg2: pins per column - arg3,4: custom sizes + arg3,4: custom wid, ht arg5: eg fill_(0.9)' define(`Header', `[define(`m4Hm',`ifelse(`$2',,2,`$2')')define(`m4Hn',`ifelse(`$1',,1,`$1')')dnl @@ -3041,7 +3159,8 @@ define(`gyrator', down Box.ht/4 then right N1b.x-N1a.x then up Box.ht/4 arcd(Box+(0,Box.ht/4),(N1b.x-N1a.x)/3,90+90,90+270) `$5')') ') - + `proximity(linespec)' +define(`proximity',`consource(`$1',P)') `nullator(linespec, wid, ht)' define(`nullator',`eleminit_(`$1') define(`m4wd',ifelse(`$2',,`dimen_/2',`($2)'))dnl @@ -3080,6 +3199,25 @@ define(`norator',`eleminit_(`$1') {[box invis ht_ m4ht wid_ m4wd] at rvec_(rp_len/2,0)} line to rvec_(rp_len,0) invis ') + `ACsymbol(at position, len, ht, [A]U|D|L|R|degrees) + Arg4: drawing direction (default: current direction) + Arg4 contains A: use arcs instead of sinusoid + A convenience for drawing a 1-cycle sinusoid, + e.g. source; ACsymbol(at last [])' +define(`ACsymbol',`[ Origin: Here + define(`m4range',`ifelse(`$2',,(dimen_/3),`($2)')')dnl + define(`m4ACd',patsubst(`$4',A))dnl + setdir_(ifelse(m4ACd,,`ifdef(`m4a_',rp_ang*rtod_,0)',m4ACd)) + Start: rvec_(-m4range/2,0) + End: rvec_( m4range/2,0) + define(`m4amp',`ifelse(`$3',,`m4range/3',`($3)/2')') + ifinstr(ifgpic(A)`$4',A, + `{ arc ccw to Start with .c at rvec_(-m4range/4,-max(m4range/4-m4amp,0)) } + { arc ccw to End with .c at rvec_( m4range/4, max(m4range/4-m4amp,0)) }', + `{ sinusoid(m4amp,twopi_/m4range,pi_/2,-m4range/2,m4range/2) \ + with .Origin at Origin } ') + `$5'; resetdir_ ] with .Origin ifelse(`$1',,`at Here',`$1')') + `n-terminal box nterm(box specs; other commands, nw,nn,ne,ns, @@ -3156,16 +3294,37 @@ define(`bell',`[setdir_($1,R) In2: Here In3: rvec_(0,-m4h/4) `$3'; resetdir_ ]') - `microphone(U|D|L|R|degrees, vert size)' -define(`microphone',`[setdir_($1,R) - define(`m4h',`ifelse(`$2',,`dimen_/2',`($2)')')dnl - {L1: line from rvec_(m4h,-m4h/2) \ - to rvec_(m4h,m4h/2)} - {Circle: circle diameter m4h at rvec_(m4h/2,0)} - In1: rvec_(m4h*(2-sqrt(3))/4,m4h/4) - In2: Here - In3: rvec_(m4h*(2-sqrt(3))/4,-m4h/4) - `$3'; resetdir_ ]') + `microphone(A|U|D|L|R|degrees, vert size) + Arg1= A, upright mic + Thanks to Arnold Knott' +define(`microphone',`ifinstr(`$1',A, + `[ define(`m4sfact',`(ifelse(`$2',,dimen_,(`$2'))*8/5)') + circlerad = m4sfact/1000 + cspace = m4sfact/100 + bwd = m4sfact/10 + bht = m4sfact/4+bwd + Stand: line up m4sfact/5 + { arc from Here+(-bwd,bwd) to Here+(bwd,bwd) with .c at Here+(0,bwd) + line up m4sfact/4-bwd from last arc.start + line up m4sfact/4-bwd from last arc.end } + Head: box rad bwd/2 ht bht wid bwd with .s at Here+(0,bwd/2) + Inner: box rad bwd/2 ht bht/2+bwd/2 wid bwd with .n at Head.n + move to Inner.s+(0,bwd/2) + for i=1 to 4 do { + for j=-1 to 1 do { + { circle at Here+(3*j*cspace,(abs(j)-3)*cspace) } + if j != 0 then {{ circle at Here+(j*3/2*cspace,0) }} } + move up 5*cspace } ]', + `[setdir_($1,R) + define(`m4h',`ifelse(`$2',,`dimen_/2',`($2)')')dnl + {L1: line from rvec_(m4h,-m4h/2) \ + to rvec_(m4h,m4h/2)} + {Circle: circle diameter m4h at rvec_(m4h/2,0)} + In1: rvec_(m4h*(2-sqrt(3))/4,m4h/4) + In2: Here + In3: rvec_(m4h*(2-sqrt(3))/4,-m4h/4) + `$3'; resetdir_ ]')') + `buzzer(U|D|L|R|degrees, vert size,[C])' define(`buzzer',`[setdir_($1,R) ifelse(`$3',, diff --git a/graphics/circuit_macros/libgen.m4 b/graphics/circuit_macros/libgen.m4 index 29a7e0811e..e03ab1ae27 100644 --- a/graphics/circuit_macros/libgen.m4 +++ b/graphics/circuit_macros/libgen.m4 @@ -2,7 +2,7 @@ divert(-1) libgen.m4 Base macros for dpic and gpic diagrams -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -110,7 +110,7 @@ ifgpic(` if (rp_len == 0) then { rp_ang=0 } else {')dnl dnl Insert customizations as desired, dnl e.g. ifmpost(` ... ') etc ifdef(`local_init',` -`# local'_init start +`# local'_init begin local_init `# local'_init end ') `$1' dnl Customizations in arg1 @@ -173,15 +173,15 @@ define(`SIdefaults', ellipseht = 12 ellipsewid = 18 dashwid = 2 - maxpswid = 8.5*25.4 - maxpsht = 11.5*25.4 + maxpswid = 8.5*scale + maxpsht = 11.5*scale ') `Conditionally add mpost code for latex command' define(`latexcommand',`command "ifmpost(verbatimtex) `$1' ifmpost(etex)"') define(`m4announceprocessor',`dnl Do not change the format of the next line: -`#' `$1' Version 9.2: ifelse(m4picprocessor,gpic,`Gpic', +`#' `$1' Version 9.3: ifelse(m4picprocessor,gpic,`Gpic', m4postprocessor,pstricks,`PSTricks', m4postprocessor,pgf,`TikZ PGF', m4postprocessor,mfpic,`Mfpic', @@ -773,6 +773,15 @@ ifelse(index(`$1',"),0,`substr(`$1',1,eval(len(`$1')-2))',`$1')}dnl wid s_wd(,`textwid') ht s_ht(,`textht')+s_dp')') define(`text_ang',90) + `r_text(text,degrees) + (requires PSTricks, pgf, or svg)' +define(`r_text',`define(`m4txt', +`ifelse(index(`$1',"),0,`substr(`$1',1,eval(len(`$1')-2))',`$1')')dnl +define(`m4rtang',`ifelse(`$2',,90,`$2')')dnl +ifsvg(`svg_rot(m4rtang,"m4txt")')dnl +ifpstricks(`"\rput[c]{m4rtang}(0,0){m4txt}"')dnl +ifpgf(`"\pgftext[rotate=m4rtang]{m4txt}"')') + `Like s_box but text is rotated text_ang degrees (requires PSTricks or pgf)' define(`rs_box', @@ -1509,8 +1518,8 @@ define(`sinc',`sin(max(pi_*abs(`$1'),1e-6))/max(pi_*abs(`$1'),1e-6)') `sinusoid(amplitude, frequency, phase, tmin,tmax, linetype ) - in the current direction (only with dpic) in [ ] - brackets; e.g., to draw a dashed sine curve, + cosine curve in the current direction (only with dpic) + in [ ] brackets; e.g., to draw a dashed sine curve, amplitude a, of n cycles over length 0 to x: sinusoid(a,twopi_*n/x,-pi_/2,0,x,dashed) \ with [.Start|.End|.Origin] at position' diff --git a/graphics/circuit_macros/liblog.m4 b/graphics/circuit_macros/liblog.m4 index 495ab2ad2b..ce261707ca 100644 --- a/graphics/circuit_macros/liblog.m4 +++ b/graphics/circuit_macros/liblog.m4 @@ -1,7 +1,7 @@ divert(-1) liblog.m4 Logic gates -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -52,6 +52,8 @@ define(`Mux_wid',8) `Multiplexer defaults' define(`Mux_ht',18) define(`lg_plen',4) `Logic pin' +define(`lg_pinsep',`(3*L_unit)') `logic pin separation in logic units' +define(`lg_chipwd',`(18*L_unit)') `default chip width' define(`lg_pintxt', `"ifxfig(`$1',`ifsvg(`svg_small(`$1',75)',`sp_{\scriptsize `$1'}sp_')')"') `Logic pin text with bar where possible' @@ -485,17 +487,17 @@ define(`NOT_gate',`ifinstr(`$2',B, `The comprehensive logic pin: lg_pin(location, label, Picname, n|e|s|w [L|M|I|O][N][E], pinno, optlen) - label=text indicating logical pin function; - Picname=pic label for referring to the pin; - n|e|s|w=orientation; + label=text (indicating logical pin function, usually) + Picname=pic label for referring to the pin + n|e|s|w=orientation (north, east, south, west) L=active low out; M=active low in; I=inward arrow; O=outward arrow - N=negated; E=edge trigger' + N=negated (NOT-circle); E=edge trigger' define(`lg_pin',`ifelse(`$1',,,`move to $1') - define(`dna_',`substr(`$4',1)')define(`m4lE',)define(`m4lN',)dnl + define(`dna_',`substr(`$4',1)')define(`m4lE',)define(`m4lch',0)dnl define(`m4ld',`ifelse(`$4',,e,`substr(`$4',0,1)')')dnl define(`m4lph',`ifelse(m4ld,n,0,m4ld,w,-1,m4ld,s,0,1)')dnl define(`m4lpv',`ifelse(m4ld,n,1,m4ld,w,0,m4ld,s,-1,0)')dnl - define(`m4lpl',`ifelse(`$6',,`lg_plen',`$6')')dnl + define(`m4lpl',`ifelse(`$6',,`lg_plen',(`$6')/L_unit)')dnl sc_draw(`dna_',E,`define(`m4lE',1)dnl { line from rsvec_(lp_xy(0,N_rad)) \ to rsvec_(lp_xy(-N_diam*sqrt(3)/2,0)) then to rsvec_(lp_xy(0,-N_rad)) }') @@ -504,29 +506,22 @@ define(`lg_pin',`ifelse(`$1',,,`move to $1') m4ld,s,`above_',`rjust_') at Here dnl ifxfig(`+(lp_xy(-0.72bp__,0))') dnl ifelse(m4lE,1,`+svec_(lp_xy(-N_diam*sqrt(3)/2,0))') }') - sc_draw(`dna_',N,`define(`m4lN',N) + sc_draw(`dna_',N,`define(`m4lch',N_diam*L_unit) { NOT_circle \ at rsvec_(lp_xy(N_rad,0)) }') - sc_draw(`dna_',L,`define(`m4lN',M) + sc_draw(`dna_',L,`define(`m4lch',N_rad*2.5*L_unit) {line from rsvec_(lp_xy(0, - ifelse(m4ld,w,-,m4ld,s,-)N_rad*3/2)) to rsvec_(lp_xy(N_rad*2.5,0)) }') - sc_draw(`dna_',M,`define(`m4lN',M) + ifelse(m4ld,w,-,m4ld,s,-)N_rad*3/2)) to rsvec_(lp_xy(N_rad*2.5,0)) \ + then to Here }') + sc_draw(`dna_',M,`define(`m4lch',N_rad*2.5*L_unit) { line to rsvec_(lp_xy(N_rad*2.5, - ifelse(m4ld,w,-,m4ld,s,-)N_rad*3/2)) then to rsvec_(lp_xy(N_rad*2.5,0))}') - {ifelse(`$3',,,`$3':) line to rsvec_(lp_xy(m4lpl,0))dnl - ifelse(m4lN,N,`chop N_diam*L_unit chop 0')dnl + ifelse(m4ld,w,-,m4ld,s,-)N_rad*3/2)) then to rsvec_(lp_xy(N_rad*2.5,0)) \ + then to Here}') + {ifelse(`$3',,,`$3':) line to rsvec_(lp_xy(m4lpl,0)) chop m4lch chop 0 dnl ifinstr(dna_,I,` <- wid linethick*5.6bp__ ht linethick*7.2bp__ ')dnl ifinstr(dna_,O,` -> wid linethick*5.6bp__ ht linethick*7.2bp__ ') - ifelse(`$5',,,`lg_pintxt(`$5') dnl - at rsvec_(lp_xy(vscal_(1/(L_unit),1pt__,0))) dnl - ifgpic( - `ifelse(m4ld,n,`+svec_(lp_xy(4pt__/(L_unit),0)) rjust_ below_', - m4ld,w,`+svec_(lp_xy(vscal_(1/(L_unit),1pt__,3pt__))) \ - ljust_ above_', - m4ld,s,`+svec_(lp_xy(2pt__/(L_unit),0)) rjust_ above_', - `+svec_(lp_xy(0,-3pt__/(L_unit))) rjust_ above_') ', - `ifelse(m4ld,n,`rjust_ below_', m4ld,w,`ljust_ above_', - `rjust_ above_')')') dnl + ifelse(`$5',,,`move to last line.c; lg_pintxt(`$5') dnl + ifelse(m4ld,n,`rjust_', m4ld,w,`above_',m4ld,e,`above_',`rjust_')') } ') define(`lp_xy',`vrot_(`$1',`$2',m4lph,m4lpv)') @@ -746,16 +741,6 @@ define(`m4ifboolvar_', define(`m4stackdump',`ifdef(`$1',`ifelse($1,,`popdef(`$1')', `$2`'popdef(`$1')m4stackdump(`$1',`$2')')')')dnl -# ****Obsolete `Define positions In1, In2, ... equal to -# positions stacked in `arg2', prefixed by arg1. -# If arg3 is not null then In is replaced by arg3. -# eg H:And(x,y); stackpromote_(H,`AutoInNames',In_)' -#define(`stackpromote_',`define(`m4nct',0) -#`#' Promoting stack `$2': -#stackexec_(`$2',`m4R_',`ifelse($2,,,`define(`m4nct',incr(m4nct)) -#ifelse(`$3',,In,$3)`'m4nct: ifelse(`$1',,,$1.)$2')') -#stackexec_(`m4R_',`$2')') - define(`DrawIn',` # Draw and label input $1 PrevInput: PrevInput-ifdef(`m4LI',`(0,autoinputsep)', diff --git a/graphics/circuit_macros/mfpic.m4 b/graphics/circuit_macros/mfpic.m4 index 2b38512d43..6e68706e24 100644 --- a/graphics/circuit_macros/mfpic.m4 +++ b/graphics/circuit_macros/mfpic.m4 @@ -1,7 +1,7 @@ divert(-1) mfpic.m4 Initialization for mfpic. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/mpost.m4 b/graphics/circuit_macros/mpost.m4 index b2ce311049..0698a3d8d9 100644 --- a/graphics/circuit_macros/mpost.m4 +++ b/graphics/circuit_macros/mpost.m4 @@ -1,7 +1,7 @@ divert(-1) mpost.m4 Initialization for metapost. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/pgf.m4 b/graphics/circuit_macros/pgf.m4 index 9117f8f537..5b292ccaea 100644 --- a/graphics/circuit_macros/pgf.m4 +++ b/graphics/circuit_macros/pgf.m4 @@ -1,7 +1,7 @@ divert(-1) pgf.m4 Initialization for Tikz-pgf. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/postscript.m4 b/graphics/circuit_macros/postscript.m4 index a59d78e177..21072c1d17 100644 --- a/graphics/circuit_macros/postscript.m4 +++ b/graphics/circuit_macros/postscript.m4 @@ -1,7 +1,7 @@ divert(-1) postscript.m4 Initialization for Postscript output. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/psfrag.m4 b/graphics/circuit_macros/psfrag.m4 index 999723386d..7bf1df5656 100644 --- a/graphics/circuit_macros/psfrag.m4 +++ b/graphics/circuit_macros/psfrag.m4 @@ -2,7 +2,7 @@ divert(-1) psfrag.m4 Initialization for dpic -f processing: Postscript with psfrag strings -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/pstricks.m4 b/graphics/circuit_macros/pstricks.m4 index 8d20667140..efe7cafe16 100644 --- a/graphics/circuit_macros/pstricks.m4 +++ b/graphics/circuit_macros/pstricks.m4 @@ -1,7 +1,7 @@ divert(-1) pstricks.m4 Initialization for PSTricks. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/circuit_macros/svg.m4 b/graphics/circuit_macros/svg.m4 index e270060393..84f7e21e06 100644 --- a/graphics/circuit_macros/svg.m4 +++ b/graphics/circuit_macros/svg.m4 @@ -1,7 +1,7 @@ divert(-1) svg.m4 Initialization for SVG output. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -41,24 +41,58 @@ define(`svg_gt',`$1') ', `define(`svg_tspan',`patsubst(<tspan `$1' >`$2'</tspan>,",\\")') -define(`svg_font',` +divert(-1) + `svg_font(fontname,nominal ht:dptextratio,textoffset) + or svg_font(fontname,nominal ht:dptextratio,textoffset, + text) + Note: nominal ht = text height in drawing units, + e.g. 12bp__ for 12pt text + actual height = nominal ht * dptextratio ' +define(`svg_font',`ifinstr(`$2',:, + `stacksplit_(`m4svgf',`$2',:) + ifelse(m4svgf,,,dptextratio = m4svgf; )popdef(`m4svgf')dnl + ifelse(m4svgf,,,`textht=(m4svgf)*dptextratio; ')undefine(`m4svgf')', + `dptextratio=svgfontratio(`$1'); dnl + ifelse(`$2',,,textht=(`$2')*dptextratio; )')dnl + ifelse(`$3',,,`textoffset=`$3'; ') command "<g patsubst(ifelse(`$1',,, index(`$1',font),0,`$1', index(`$1',style),0,`$1', style="font-family:`$1'") ,",\\")>" - ifelse(`$2',,,`textht=(`$2')*dptextratio; ')dnl - ifelse(`$3',,,`textoffset=`$3'; ')dnl `$4' ifelse(`$4',,,`command "</g>"')') + `e.g. svg_font(Times) + svg_font(Times,12bp__:0.66) svg_font(Times,11bp__,1bp__,"text" at A) svg_font(font-family="Times") svg_font(font-family="Times" font-style="italic") svg_font(style="font-family:Times; font-style:italic") + Some fairly safe choices: Arial, Helvetica, Times, Courier, Verdana, Georgia, Palatino, Garamond, Bookman, Cursive, Trebuchet MS, Arial Black, Impact. ' + `svgfontratio(fontname) + reasonable dptextratio values for common fonts' +define(`svgfontratio',`ifinstr( +`$1',Times,0.66, +`$1',sans-serif,0.71, +`$1',Arial,0.71, +`$1',Helvetica,0.71, +`$1',Courier,0.57, +`$1',Cursive,0.7, +`$1',Verdana,0.72, +`$1',Georgia,0.70, +`$1',Palatino,0.66, +`$1',Garamond,0.62, +`$1',Bookman,0.66, +`$1',Comic Sans MS,0.75, +`$1',Trebuchet MS,0.71, +`$1',Arial Black,0.71, +`$1',Impact,0.79, +dptextratio)') + `see http://www.ascii.cl/htmlcodes.htm and http://webdesign.about.com/od/localization/l/blhtmlcodes-gr.htm' define(`svg_symbol',`changecom(,)`$1'changecom(`#',)') @@ -136,6 +170,7 @@ define(`svg_ensp',`svg_symbol(&`#'8194;)') define(`svg_emsp',`svg_symbol(&`#'8195;)') define(`svg_thinsp',`svg_symbol(&`#'8201;)') define(`svg_backsl',`svg_symbol(&`#'92;)') +define(`svg_pound',`svg_symbol(&`#'35;)') ') define(`svgcolor',`sprintf("rgb(%g,%g,%g)",\ @@ -156,35 +191,49 @@ define(`svgLinkString',`"<a xlink:href=\"`$1'\"dnl `$2' dnl </a>"') -# svgrot_init(filename) +# svg_rot_init(filename) # filename is the basename of the output # produced by dpic -v filename.pic > filename.svg -define(`svgrot_init',`NeedDpicTools +define(`svg_rot_init',` +`# svg_rot'_init begin + NeedDpicTools define(`_file_',ifelse(`$1',,patsubst(__file__,.m4),`$1')) syscmd(touch _file_.svg _file_.cor; cp _file_.svg _file_.tmp) - sh "grep \"^ x=.*\/text>\" _file_.tmp | sed -e dnl - \"s/x=\\"\([0-9.]*\)\\" y=\\"\([0-9.]*\)\\".*/\1 \2/\" > _file_.cor" - svgrot_k = 0; svg_rotz = 0 - define svg_rotcoords { svgrot_k += 1 - if "$`'1" != "" then { x[svgrot_k] = $`'1; y[svgrot_k] = $`'2; svg_rotz = 1 } - } +# Extract from the .svg file the x= y= coordinates +# that appear after each transform="rotate(.." line + retcode = ( sh "awk -e \"/transform=\\"rotate/ { r=1 }; dnl + /x=\\".*y=\\"/ { if(r==1){ print; r=0 } }\" _file_.tmp dnl + | sed -e \"s/x=\\"\([0-9.]*\)\\" y=\\"\([0-9.]*\)\\".*/\1 \2/\" dnl + > _file_.cor" ) + if retcode != 0 then { print " + Awk failure + Awk and sed are required by svg_rot to rotate svg text. + " } + svgrot_k = 0 + define svg_rotcoords { if "$`'1" != "" then { svgrot_k += 1 + svg_rx[svgrot_k] = $`'1; svg_ry[svgrot_k] = $`'2 } + } copythru(svg_rotcoords, _file_.cor) sh "rm -f _file_.tmp _file_.cor" - svg_rotk = 0 + svgrot_i = 0 ifdef(`svg_rot_',,` -# `svg_rot(deg clockwise rotation,text or object) -# Requires svgrot_init(filename) -# Rotation of svg text is a can of worms because -# the final coordinates of the text are required; -# this forward reference has to be extracted from -# the output file and the source processed twice.' - define svg_rot { if svg_rotz then { svg_rotk += 1; command \ - sprintf("<g transform=\"rotate(%g %g %g)\">",$`'1,x[svg_rotk],y[svg_rotk]) }\ - else { command sprintf("<g transform=\"rotate(%g)\">",$`'1) } +# `svg_rot(degrees,"text" [at position]) +# Rotate text degrees ccw +# Requires svg_rot_init(filename) +# which uses both awk and sed. +# The source must be processed twice by m4 and dpic.' + define svg_rot { if retcode != 0 then {$`'2} else { + if "$`'1" != "" then { svg_rang = -($`'1) } else { svg_rang = -90 } + if svgrot_k != 0 then { svgrot_i +=1 + command sprintf("<g transform=\"rotate(%g %g %g)\">",svg_rang,\ + svg_rx[svgrot_i],svg_ry[svgrot_i]) }\ + else { command sprintf("<g transform=\"rotate(%g)\">",svg_rang) } $`'2 - command "</g>" } - define(`svg_rot_') ') + command "</g>" } } + define(`svg_rot_') + ') +`# svg_rot'_init end ') # ---------------------------------------------------------------------------# diff --git a/graphics/circuit_macros/xfig.m4 b/graphics/circuit_macros/xfig.m4 index 5cc6df1728..f092b44df5 100644 --- a/graphics/circuit_macros/xfig.m4 +++ b/graphics/circuit_macros/xfig.m4 @@ -1,7 +1,7 @@ divert(-1) xfig.m4 Initialization for xfig. -* Circuit_macros Version 9.2, copyright (c) 2020 J. D. Aplevich under * +* Circuit_macros Version 9.3, copyright (c) 2020 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/graphics/pstricks/contrib/pst-ovl/Changes b/graphics/pstricks/contrib/pst-ovl/Changes index b1e3740b5b..59686608b8 100644 --- a/graphics/pstricks/contrib/pst-ovl/Changes +++ b/graphics/pstricks/contrib/pst-ovl/Changes @@ -1,5 +1,6 @@ pst-ovl.tex ----------- (hv) + v 0.07b 2020-05-01 - typos in the documentation v 0.07a 2017-10-09 - load pstricks.sty first v 0.07 2016-05-03 - moved code from seminar - use names as \ps... diff --git a/graphics/pstricks/contrib/pst-ovl/README b/graphics/pstricks/contrib/pst-ovl/README index 04a3dd63f1..a97f1c552a 100644 --- a/graphics/pstricks/contrib/pst-ovl/README +++ b/graphics/pstricks/contrib/pst-ovl/README @@ -1,12 +1,10 @@ Save the files pst-ovl.sty|.tex| in a directory, which is part of your local TeX ovl. Then do not forget to run texhash to update this ovl if these packages are new to your TeX distribution. -For more information see the documentation of your LaTeX distribution -on installing packages into your LaTeX distribution or the -TeX Frequently Asked Questions: -(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages). pst-ovl needs pstricks, which should be part of your local TeX installation, otherwise get it from a CTAN server, f.ex. http://mirror.ctan.org/graphics/pstricks/ + +hvoss@tug.org
\ No newline at end of file diff --git a/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib b/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib index 96838e3a2d..0ea26b0a83 100644 --- a/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib +++ b/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.bib @@ -66,15 +66,6 @@ } -@Book{voss:chaos, - author = {Herbert Vo{\ss}}, - title = {Chaos und {F}raktale selbst programmieren: von {M}andelbrotmengen - {\"u}ber {F}arbmanipulationen zur perfekten Darstellung}, - publisher = {{Franzis Verlag}}, - year = {1994}, - address = {Poing} -} - @Article{girou:01:, author = {Denis Girou}, title = {Pr\'esentation de {PST}ricks}, @@ -104,33 +95,13 @@ year = 1989, } -@Manual{pstricks, +@online{pstricks, Title = {PSTricks - {\PS} macros for generic {\TeX}}, Author = {{Timothy van} Zandt}, - Organization = {}, Address = {\url{http://www.tug.org/application/PSTricks}}, - Note = {}, year = 1993 } -@Manual{pst-plot, - Title = {\texttt{pst-plot}: Plotting two dimensional functions and data}, - Author = {{Timothy van} Zandt}, - Organization = {}, - Address = {\url{CTAN:graphics/pstricks/generic/pst-plot.tex}}, - Note = {}, - year = 1999 -} - -@Manual{multido, - Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition}, - Author = {{Timothy van} Zandt}, - Organization = {}, - Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}}, - Note = {}, - year = 1997 -} - @Book{PSTricks2, author = {Herbert Vo\ss}, title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, @@ -156,7 +127,7 @@ address = {Cambridge} } -@Manual{wolfram, +@online{wolfram, author = {Eric Weisstein}, title = {Wolfram MathWorld}, publisher = {{Wolfram}}, diff --git a/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf b/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf Binary files differindex 152d118906..aea0eb93cf 100644 --- a/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf +++ b/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.pdf diff --git a/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex b/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex index 98f30a1037..070a0da0e4 100644 --- a/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex +++ b/graphics/pstricks/contrib/pst-ovl/doc/pst-ovl-doc.tex @@ -1,22 +1,21 @@ -%% $Id: pst-func-doc.tex 599 2011-11-03 19:38:28Z herbert $ -\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false, +%% $Id: pst-ovl-doc.tex 1169 2020-05-01 14:27:32Z herbert $ +\documentclass[fontsize=11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false, smallheadings, headexclude,footexclude,oneside]{pst-doc} -\usepackage[utf8]{inputenc} \usepackage{pst-ovl} \let\pstOVLFV\fileversion \renewcommand\bgImage{} +\usepackage{ragged2e} \addbibresource{\jobname.bib} -\lstset{language=PSTricks, - morekeywords={psPrintValue},basicstyle=\footnotesize\ttfamily} +\lstset{language=PSTricks,basicstyle=\footnotesize\ttfamily} % \begin{document} \title{\texttt{pst-ovl}} \subtitle{Helper functions for overlays; v.\pstOVLFV} -\author{Herbert Vo\ss} +\author{Herbert Voß} \docauthor{} \date{\today} \maketitle @@ -36,7 +35,7 @@ Overlays are made by creating an "`\Lcs{hbox}"' and then outputting the box seve times, printing different material in the box each time. The box is created by the commands \begin{lstlisting} - \Lcs{psoverlaybox} < stuff >\Lcs{endpsoverlaybox} + \psoverlaybox < stuff >\endpsoverlaybox \end{lstlisting} \LaTeX{} users can instead write: \begin{lstlisting} @@ -88,18 +87,8 @@ It is possible to define macros which hold the numbers: \psputoverlaybox{\main} \hspace{.5in} \psputoverlaybox{\one} \end{LTXexample} - - -\clearpage -\section{List of all optional arguments for \texttt{pst-ovl}} - -\xkvview{family=pst-ovl,columns={key,type,default}} - - - - \bgroup -\raggedright +\RaggedRight \nocite{*} \printbibliography \egroup diff --git a/graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro b/graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro index 188299ff6a..f26726d91e 100644 --- a/graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro +++ b/graphics/pstricks/contrib/pst-ovl/dvips/pst-ovl.pro @@ -1,4 +1,4 @@ -% $Id: pst-ovl.pro 859 2013-12-21 16:51:58Z herbert $ +% $Id: pst-ovl.pro 1169 2020-05-01 14:27:32Z herbert $ % %% PostScript prologue for pst-ovl.tex. %% Version 0.04, 2014/05/12 diff --git a/graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty b/graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty index 5eb1d9adcb..fd3638ab6d 100644 --- a/graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty +++ b/graphics/pstricks/contrib/pst-ovl/latex/pst-ovl.sty @@ -1,13 +1,13 @@ -%% $Id: pst-ovl.sty 859 2013-12-21 16:51:58Z herbert $ +%% $Id: pst-ovl.sty 1169 2020-05-01 14:27:32Z herbert $ %% -%% pst-ovl.sty Copyright (C) 2017 Herbert Voss <hvoss@tug.org> +%% pst-ovl.sty Copyright (C) 2017,2020 Herbert Voss <hvoss@tug.org> %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pst-ovl} - [2017/10/09 v0.01 LaTeX wrapper for `pst-ovl' (HV)] + [2020/05/01 v0.02 LaTeX wrapper for `pst-ovl' (HV)] \ProvidesFile{pst-ovl.tex} - [2017/10/09 v0.07a overlay macros `pst-ovl' (HV)] + [2020/05/01 v0.07b overlay macros `pst-ovl' (HV)] \RequirePackage{pstricks} \input{pst-ovl} %\@addtofilelist{pst-ovl.tex} diff --git a/graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex b/graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex index e0d7910586..11909c8cf4 100644 --- a/graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex +++ b/graphics/pstricks/contrib/pst-ovl/tex/pst-ovl.tex @@ -1,4 +1,4 @@ -%% $Id: pst-ovl.tex 859 2013-12-21 16:51:58Z herbert $ +%% $Id: pst-ovl.tex 1169 2020-05-01 14:27:32Z herbert $ %% %% %% This is file `pst-ovl.tex', @@ -7,7 +7,7 @@ %% %% Package `pst-ovl.tex' %% -%% 2015 -- Timothy Van Zandt +%% 2015,2020 -- Timothy Van Zandt %% Herbert Voss <hvoss@tug.org> %% %% This program can be redistributed and/or modified under the terms @@ -24,8 +24,8 @@ %% Requires main PSTricks \ifx\PSTricksLoaded\endinput\else\input pstricks \fi % -\def\fileversion{0.07a} -\def\filedate{2017/10/09} +\def\fileversion{0.07b} +\def\filedate{2020/05/01} \message{`pst-ovl' v\fileversion, \filedate\space (tvz,hv)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax diff --git a/language/chinese/ctex/README.md b/language/chinese/ctex/README.md index 0fb3ee02f4..ae64dbcadd 100644 --- a/language/chinese/ctex/README.md +++ b/language/chinese/ctex/README.md @@ -15,6 +15,10 @@ Authors and Contributors * Chen Zhichu <zhichu.chen@gmail.com> * Li Qing <sobenlee@gmail.com> * Liam Huang <liamhuang0205@gmail.com> +* Zeng Xiangdong <xdzeng96@gmail.com> +* Li Zeping <zepinglee@gmail.com> +* Zhou Yukai <muzimuzhi@gmail.com> +* Zhang Ruixi <ruixizhang42@gmail.com> Contributing ------------ @@ -26,7 +30,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2003--2019 + Copyright (C) 2003--2020 CTEX.ORG and any individual authors listed elsewhere in this file. ---------------------------------------------------------------------- @@ -40,11 +44,13 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". - The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. - - This package consists of the file ctex.dtx, + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + zhconv.lua, + zhconv-make.lua, and the derived files ctex.pdf, ctex.ins, ctex.sty, @@ -54,16 +60,15 @@ Copyright and Licence ctexbook.cls, ctexrep.cls, ctexbeamer.cls, - ctxdoc.cls, ctexcap.sty, ctexhook.sty, ctexpatch.sty, ctex-c5size.clo, ctex-cs4size.clo, - ctex-article.def, - ctex-book.def, - ctex-report.def, - ctex-beamer.def, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, ctex-scheme-plain.def, ctex-scheme-plain-article.def, ctex-scheme-plain-book.def, @@ -78,6 +83,7 @@ Copyright and Licence ctex-name-utf8.cfg, ctex.cfg, ctexopts.cfg, + ctexbackend.cfg, ctex-engine-pdftex.def, ctex-engine-xetex.def, ctex-engine-luatex.def, @@ -95,26 +101,25 @@ Copyright and Licence jt2zhrm.fd, jt2zhsf.fd, jt2zhtt.fd, - ctex-fontset-windows.def, - ctex-fontset-windowsnew.def, - ctex-fontset-windowsold.def, ctex-fontset-adobe.def, ctex-fontset-fandol.def, + ctex-fontset-founder.def, ctex-fontset-mac.def, ctex-fontset-macnew.def, ctex-fontset-macold.def, - ctex-fontset-founder.def, ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, ctexspa.def, ctexpunct.spa, ctexmakespa.tex, ctexspamacro.tex, - ctxdocstrip.tex, zhadobefonts.tex, zhfandolfonts.tex, zhfounderfonts.tex, + zhmacfonts.tex, zhubuntufonts.tex, zhwindowsfonts.tex, + zhconv-index.lua, translator-theorem-dictionary-ChineseGBK.dict, translator-theorem-dictionary-ChineseUTF8.dict, and README.md (this file). diff --git a/language/chinese/ctex/ctex.dtx b/language/chinese/ctex/ctex.dtx index d4a80e4344..bd92c7e0a0 100644 --- a/language/chinese/ctex/ctex.dtx +++ b/language/chinese/ctex/ctex.dtx @@ -2,7 +2,7 @@ % !TeX program = XeLaTeX % !TeX encoding = UTF-8 % -% Copyright (C) 2003--2019 +% Copyright (C) 2003--2020 % CTEX.ORG and any individual authors listed elsewhere in this file. % -------------------------------------------------------------------------- % @@ -16,9 +16,7 @@ % and version 1.3 or later is part of all distributions of % LaTeX version 2005/12/01 or later. % -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. +% This work has the LPPL maintenance status "maintained". % % -------------------------------------------------------------------------- % @@ -43,6 +41,10 @@ Authors and Contributors * Chen Zhichu <zhichu.chen@gmail.com> * Li Qing <sobenlee@gmail.com> * Liam Huang <liamhuang0205@gmail.com> +* Zeng Xiangdong <xdzeng96@gmail.com> +* Li Zeping <zepinglee@gmail.com> +* Zhou Yukai <muzimuzhi@gmail.com> +* Zhang Ruixi <ruixizhang42@gmail.com> Contributing ------------ @@ -54,7 +56,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2003--2019 + Copyright (C) 2003--2020 CTEX.ORG and any individual authors listed elsewhere in this file. ---------------------------------------------------------------------- @@ -68,11 +70,13 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. - - The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. + This work has the LPPL maintenance status "maintained". - This package consists of the file ctex.dtx, + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + zhconv.lua, + zhconv-make.lua, and the derived files ctex.pdf, ctex.ins, ctex.sty, @@ -82,16 +86,15 @@ Copyright and Licence ctexbook.cls, ctexrep.cls, ctexbeamer.cls, - ctxdoc.cls, ctexcap.sty, ctexhook.sty, ctexpatch.sty, ctex-c5size.clo, ctex-cs4size.clo, - ctex-article.def, - ctex-book.def, - ctex-report.def, - ctex-beamer.def, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, ctex-scheme-plain.def, ctex-scheme-plain-article.def, ctex-scheme-plain-book.def, @@ -106,6 +109,7 @@ Copyright and Licence ctex-name-utf8.cfg, ctex.cfg, ctexopts.cfg, + ctexbackend.cfg, ctex-engine-pdftex.def, ctex-engine-xetex.def, ctex-engine-luatex.def, @@ -123,26 +127,25 @@ Copyright and Licence jt2zhrm.fd, jt2zhsf.fd, jt2zhtt.fd, - ctex-fontset-windows.def, - ctex-fontset-windowsnew.def, - ctex-fontset-windowsold.def, ctex-fontset-adobe.def, ctex-fontset-fandol.def, + ctex-fontset-founder.def, ctex-fontset-mac.def, ctex-fontset-macnew.def, ctex-fontset-macold.def, - ctex-fontset-founder.def, ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, ctexspa.def, ctexpunct.spa, ctexmakespa.tex, ctexspamacro.tex, - ctxdocstrip.tex, zhadobefonts.tex, zhfandolfonts.tex, zhfounderfonts.tex, + zhmacfonts.tex, zhubuntufonts.tex, zhwindowsfonts.tex, + zhconv-index.lua, translator-theorem-dictionary-ChineseGBK.dict, translator-theorem-dictionary-ChineseUTF8.dict, and README.md (this file). @@ -160,9 +163,9 @@ Copyright and Licence \preamble - Copyright (C) 2003--2019 + Copyright (C) 2003--2020 CTEX.ORG and any individual authors listed in the documentation. ------------------------------------------------------------------------------- +--------------------------------------------------------------------- This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -174,16 +177,18 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. - - The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. + This work has the LPPL maintenance status "maintained". ------------------------------------------------------------------------------- +--------------------------------------------------------------------- \endpreamble \postamble - This package consists of the file ctex.dtx, + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + zhconv.lua, + zhconv-make.lua, and the derived files ctex.pdf, ctex.ins, ctex.sty, @@ -193,16 +198,15 @@ Copyright and Licence ctexbook.cls, ctexrep.cls, ctexbeamer.cls, - ctxdoc.cls, ctexcap.sty, ctexhook.sty, ctexpatch.sty, ctex-c5size.clo, ctex-cs4size.clo, - ctex-article.def, - ctex-book.def, - ctex-report.def, - ctex-beamer.def, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, ctex-scheme-plain.def, ctex-scheme-plain-article.def, ctex-scheme-plain-book.def, @@ -217,6 +221,7 @@ Copyright and Licence ctex-name-utf8.cfg, ctex.cfg, ctexopts.cfg, + ctexbackend.cfg, ctex-engine-pdftex.def, ctex-engine-xetex.def, ctex-engine-luatex.def, @@ -234,26 +239,25 @@ Copyright and Licence jt2zhrm.fd, jt2zhsf.fd, jt2zhtt.fd, - ctex-fontset-windows.def, - ctex-fontset-windowsnew.def, - ctex-fontset-windowsold.def, ctex-fontset-adobe.def, ctex-fontset-fandol.def, + ctex-fontset-founder.def, ctex-fontset-mac.def, ctex-fontset-macnew.def, ctex-fontset-macold.def, - ctex-fontset-founder.def, ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, ctexspa.def, ctexpunct.spa, ctexmakespa.tex, ctexspamacro.tex, - ctxdocstrip.tex, zhadobefonts.tex, zhfandolfonts.tex, zhfounderfonts.tex, + zhmacfonts.tex, zhubuntufonts.tex, zhwindowsfonts.tex, + zhconv-index.lua, translator-theorem-dictionary-ChineseGBK.dict, translator-theorem-dictionary-ChineseUTF8.dict, and README.md. @@ -270,16 +274,15 @@ Copyright and Licence \file{ctexrep.cls} {\from{\jobname.dtx}{class,report}} \file{ctexbeamer.cls} {\from{\jobname.dtx}{class,beamer}} \usepostamble\emptypostamble - \file{ctxdoc.cls} {\from{\jobname.dtx}{ctxdoc}} \file{ctexcap.sty} {\from{\jobname.dtx}{ctexcap}} \file{ctexhook.sty} {\from{\jobname.dtx}{ctexhook}} \file{ctexpatch.sty} {\from{\jobname.dtx}{ctexpatch}} \file{ctex-c5size.clo} {\from{\jobname.dtx}{c5size}} \file{ctex-cs4size.clo} {\from{\jobname.dtx}{cs4size}} - \file{ctex-article.def} {\from{\jobname.dtx}{heading,article}} - \file{ctex-book.def} {\from{\jobname.dtx}{heading,book}} - \file{ctex-report.def} {\from{\jobname.dtx}{heading,report}} - \file{ctex-beamer.def} {\from{\jobname.dtx}{heading,beamer}} + \file{ctex-heading-article.def} {\from{\jobname.dtx}{heading,article}} + \file{ctex-heading-book.def} {\from{\jobname.dtx}{heading,book}} + \file{ctex-heading-report.def} {\from{\jobname.dtx}{heading,report}} + \file{ctex-heading-beamer.def} {\from{\jobname.dtx}{heading,beamer}} \file{ctex-scheme-plain.def} {\from{\jobname.dtx}{scheme,generic,plain}} \file{ctex-scheme-plain-article.def} {\from{\jobname.dtx}{scheme,article,plain}} \file{ctex-scheme-plain-book.def} {\from{\jobname.dtx}{scheme,book,plain}} @@ -290,10 +293,11 @@ Copyright and Licence \file{ctex-scheme-chinese-book.def} {\from{\jobname.dtx}{scheme,book,chinese}} \file{ctex-scheme-chinese-report.def} {\from{\jobname.dtx}{scheme,report,chinese}} \file{ctex-scheme-chinese-beamer.def} {\from{\jobname.dtx}{scheme,beamer,chinese}} - \file{ctex-name-gbk.cfg} {\from{\jobname.dtx}{name,GBK}} + \ctxfile{GBK}{ctex-name-gbk.cfg} {\from{\jobname.dtx}{name,GBK}} \file{ctex-name-utf8.cfg} {\from{\jobname.dtx}{name,UTF8}} \file{ctex.cfg} {\from{\jobname.dtx}{config}} \file{ctexopts.cfg} {\from{\jobname.dtx}{ctexopts}} + \file{ctexbackend.cfg} {\from{\jobname.dtx}{backend}} \file{ctex-engine-pdftex.def} {\from{\jobname.dtx}{pdftex}} \file{ctex-engine-xetex.def} {\from{\jobname.dtx}{xetex}} \file{ctex-engine-luatex.def} {\from{\jobname.dtx}{luatex}} @@ -311,34 +315,29 @@ Copyright and Licence \file{jt2zhrm.fd} {\from{\jobname.dtx}{fd,rm,jt2}} \file{jt2zhsf.fd} {\from{\jobname.dtx}{fd,sf,jt2}} \file{jt2zhtt.fd} {\from{\jobname.dtx}{fd,tt,jt2}} - \file{ctex-fontset-windows.def} {\from{\jobname.dtx}{fontset,windows}} - \file{ctex-fontset-windowsnew.def} {\from{\jobname.dtx}{fontset,windowsnew}} - \file{ctex-fontset-windowsold.def} {\from{\jobname.dtx}{fontset,windowsold}} \file{ctex-fontset-adobe.def} {\from{\jobname.dtx}{fontset,adobe}} \file{ctex-fontset-fandol.def} {\from{\jobname.dtx}{fontset,fandol}} + \file{ctex-fontset-founder.def} {\from{\jobname.dtx}{fontset,founder}} \file{ctex-fontset-mac.def} {\from{\jobname.dtx}{fontset,mac}} - \file{ctex-fontset-macold.def} {\from{\jobname.dtx}{fontset,macold}} \file{ctex-fontset-macnew.def} {\from{\jobname.dtx}{fontset,macnew}} - \file{ctex-fontset-founder.def} {\from{\jobname.dtx}{fontset,founder}} + \file{ctex-fontset-macold.def} {\from{\jobname.dtx}{fontset,macold}} \file{ctex-fontset-ubuntu.def} {\from{\jobname.dtx}{fontset,ubuntu}} - \file{translator-theorem-dictionary-ChineseGBK.dict} + \file{ctex-fontset-windows.def} {\from{\jobname.dtx}{fontset,windows}} + \ctxfile{GBK}{translator-theorem-dictionary-ChineseGBK.dict} {\from{\jobname.dtx}{dict,theorem,GBK}} \file{translator-theorem-dictionary-ChineseUTF8.dict} {\from{\jobname.dtx}{dict,theorem,UTF8}} - \file{ctexspa.def} - { - \from{\jobname.dtx} {ctexspa} - \from{ctexpunct.spa} {} - } + \file{ctexspa.def} {\from{\jobname.dtx}{ctexspa} + \from{ctexpunct.spa}{}} \usedir{tex/generic/ctex} \file{ctexmakespa.tex} {\from{\jobname.dtx}{spa,make}} \file{ctexspamacro.tex} {\from{\jobname.dtx}{spa,macro}} \file{zhadobefonts.tex} {\from{\jobname.dtx}{zhmap,adobe}} \file{zhfandolfonts.tex} {\from{\jobname.dtx}{zhmap,fandol}} \file{zhfounderfonts.tex} {\from{\jobname.dtx}{zhmap,founder}} + \file{zhmacfonts.tex} {\from{\jobname.dtx}{zhmap,mac}} \file{zhubuntufonts.tex} {\from{\jobname.dtx}{zhmap,ubuntu}} \file{zhwindowsfonts.tex} {\from{\jobname.dtx}{zhmap,windows}} - \file{ctxdocstrip.tex} {\from{\jobname.dtx}{docstrip}} %</install> %<*internal> \usedir{source/latex/ctex} @@ -366,16 +365,15 @@ Copyright and Licence \Msg{* ctexbook.cls *} \Msg{* ctexrep.cls *} \Msg{* ctexbeamer.cls *} -\Msg{* ctxdoc.cls *} \Msg{* ctexcap.sty *} \Msg{* ctexhook.sty *} \Msg{* ctexpatch.sty *} \Msg{* ctex-c5size.clo *} \Msg{* ctex-cs4size.clo *} -\Msg{* ctex-article.def *} -\Msg{* ctex-book.def *} -\Msg{* ctex-report.def *} -\Msg{* ctex-beamer.def *} +\Msg{* ctex-heading-article.def *} +\Msg{* ctex-heading-book.def *} +\Msg{* ctex-heading-report.def *} +\Msg{* ctex-heading-beamer.def *} \Msg{* ctex-scheme-plain.def *} \Msg{* ctex-scheme-plain-article.def *} \Msg{* ctex-scheme-plain-book.def *} @@ -390,6 +388,7 @@ Copyright and Licence \Msg{* ctex-name-utf8.cfg *} \Msg{* ctex.cfg *} \Msg{* ctexopts.cfg *} +\Msg{* ctexbackend.cfg *} \Msg{* ctex-engine-pdftex.def *} \Msg{* ctex-engine-xetex.def *} \Msg{* ctex-engine-luatex.def *} @@ -407,23 +406,21 @@ Copyright and Licence \Msg{* jt2zhrm.fd *} \Msg{* jt2zhsf.fd *} \Msg{* jt2zhtt.fd *} -\Msg{* ctex-fontset-windows.def *} -\Msg{* ctex-fontset-windowsnew.def *} -\Msg{* ctex-fontset-windowsold.def *} \Msg{* ctex-fontset-adobe.def *} \Msg{* ctex-fontset-fandol.def *} +\Msg{* ctex-fontset-founder.def *} \Msg{* ctex-fontset-mac.def *} -\Msg{* ctex-fontset-macold.def *} \Msg{* ctex-fontset-macnew.def *} -\Msg{* ctex-fontset-founder.def *} +\Msg{* ctex-fontset-macold.def *} \Msg{* ctex-fontset-ubuntu.def *} +\Msg{* ctex-fontset-windows.def *} \Msg{* ctexspa.def *} \Msg{* ctexmakespa.tex *} \Msg{* ctexspamacro.tex *} -\Msg{* ctxdocstrip.tex *} \Msg{* zhadobefonts.tex *} \Msg{* zhfandolfonts.tex *} \Msg{* zhfounderfonts.tex *} +\Msg{* zhmacfonts.tex *} \Msg{* zhubuntufonts.tex *} \Msg{* zhwindowsfonts.tex *} \Msg{* translator-theorem-dictionary-ChineseGBK.dict *} @@ -442,12 +439,11 @@ Copyright and Licence \fi %</internal> %<*!(driver|readme|install|zhmap|spa|docstrip)> -%<*!(fd|ctexspa|dict)> -%<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\NeedsTeXFormat{LaTeX2e} -%<class|style|ctexcap|ctexhook|ctexpatch|ctxdoc>\RequirePackage{expl3} -%<+!driver>\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee <sobenlee@gmail.com> $ -%<ctxdoc> {ctex documentation (CTEX)} -%<ctxdoc>\ProvidesExplClass{ctxdoc} +%<*!(fd|ctexspa|dict|backend)> +%<class|style|ctexcap|ctexhook|ctexpatch>\NeedsTeXFormat{LaTeX2e} +%<class>\input{ctexbackend.cfg} +%<class|style|ctexcap|ctexhook|ctexpatch>\RequirePackage{expl3} +%<+!driver>\GetIdInfo$Id: ctex.dtx d2534e9 2020-05-01 21:11:07 +0800 Qing Lee <sobenlee@gmail.com> $ %<ctex> {Chinese adapter in LaTeX (CTEX)} %<ctex>\ProvidesExplPackage{\ExplFileName} %<ctexsize> {Chinese font size definition (CTEX)} @@ -502,7 +498,7 @@ Copyright and Licence %<scheme&chinese&beamer>\ProvidesExplFile{ctex-scheme-chinese-beamer.def} %<name&GBK> {Caption with encoding GBK (CTEX)} %<name&GBK>\ProvidesExplFile{ctex-name-gbk.cfg} -%<name&UTF8> {Caption with encoding UTF8 (CTEX)} +%<name&UTF8> {Caption with encoding UTF-8 (CTEX)} %<name&UTF8>\ProvidesExplFile{ctex-name-utf8.cfg} %<config> {Configuration file (CTEX)} %<config>\ProvidesExplFile{\ExplFileName.cfg} @@ -520,26 +516,22 @@ Copyright and Licence %<uptex>\ProvidesExplFile{ctex-engine-uptex.def} %<windows> {Windows fonts definition (CTEX)} %<windows>\ProvidesExplFile{ctex-fontset-windows.def} -%<windowsnew> {Windows fonts definition for Vista or later version (CTEX)} -%<windowsnew>\ProvidesExplFile{ctex-fontset-windowsnew.def} -%<windowsold> {Windows fonts definition for XP or earlier version (CTEX)} -%<windowsold>\ProvidesExplFile{ctex-fontset-windowsold.def} %<adobe> {Adobe fonts definition (CTEX)} %<adobe>\ProvidesExplFile{ctex-fontset-adobe.def} %<fandol> {Fandol fonts definition (CTEX)} %<fandol>\ProvidesExplFile{ctex-fontset-fandol.def} -%<mac> {Mac OS X fonts definition (CTEX)} +%<mac> {macOS fonts definition (CTEX)} %<mac>\ProvidesExplFile{ctex-fontset-mac.def} -%<macnew> {Mac OS X fonts definition for El Capitan or later version (CTEX)} +%<macnew> {macOS fonts definition for El Capitan or later version (CTEX)} %<macnew>\ProvidesExplFile{ctex-fontset-macnew.def} -%<macold> {Mac OS X fonts definition for Yosemite or earlier version (CTEX)} +%<macold> {macOS fonts definition for Yosemite or earlier version (CTEX)} %<macold>\ProvidesExplFile{ctex-fontset-macold.def} %<founder> {Founder fonts definition (CTEX)} %<founder>\ProvidesExplFile{ctex-fontset-founder.def} %<ubuntu> {Ubuntu fonts definition (CTEX)} %<ubuntu>\ProvidesExplFile{ctex-fontset-ubuntu.def} -%<!driver> {\ExplFileDate}{2.4.16}{\ExplFileDescription} -%</!(fd|ctexspa|dict)> +%<!driver> {\ExplFileDate}{2.5}{\ExplFileDescription} +%</!(fd|ctexspa|dict|backend)> %<c19&rm>\ProvidesFile{c19rm.fd}% %<c19&sf>\ProvidesFile{c19sf.fd}% %<c19&tt>\ProvidesFile{c19tt.fd}% @@ -553,11 +545,13 @@ Copyright and Licence %<jt2&sf>\ProvidesFile{jt2zhsf.fd}% %<jt2&tt>\ProvidesFile{jt2zhtt.fd}% %<ctexspa>\ProvidesFile{ctexspa.def}% +%<backend>\ProvidesFile{ctexbackend.cfg}% %<dict&theorem&GBK>\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}% %<dict&theorem&UTF8>\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}% -%<fd> [2019/05/29 v2.4.16 Chinese font definition (CTEX)] -%<ctexspa> [2019/05/29 v2.4.16 Space info for CJKpunct (CTEX)] -%<dict&theorem> [2019/05/29 v2.4.16 Chinese translation for theorem name (CTEX)] +%<fd> [2020/05/01 v2.5 Chinese font definition (CTEX)] +%<ctexspa> [2020/05/01 v2.5 Space info for CJKpunct (CTEX)] +%<backend> [2020/05/01 v2.5 Backend configuration file (CTEX)] +%<dict&theorem> [2020/05/01 v2.5 Chinese translation for theorem name (CTEX)] %</!(driver|readme|install|zhmap|spa|docstrip)> %<*driver> \documentclass{ctxdoc} @@ -580,8 +574,7 @@ Copyright and Licence % \changes{v2.4.12}{2018/01/13}{åŒæ¥ \LaTeXiii{} 2017/12/16。} % \changes{v2.4.15}{2019/03/23}{åŒæ¥ \LaTeXiii{} 2019/03/05。} % -% -% \CheckSum{5934} +% \CheckSum{6105} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -599,7 +592,7 @@ Copyright and Licence % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \GetFileId{ctex.sty}% +% \GetFileId{ctex.sty} % % \title{\bfseries \CTeX{} å®é›†æ‰‹å†Œ} % \author{\href{http://www.ctex.org}{CTEX.ORG}} @@ -612,13 +605,13 @@ Copyright and Licence % 日期转æ¢ç‰æ”¯æŒåŠŸèƒ½ï¼Œå¯é€‚应论文ã€æŠ¥å‘Šã€ä¹¦ç±ã€å¹»ç¯ç‰‡ç‰ä¸åŒç±»åž‹çš„ä¸æ–‡æ–‡æ¡£ã€‚ % % \CTeX{} å®é›†æ”¯æŒ \LaTeXã€\pdfLaTeXã€\XeLaTeXã€\LuaLaTeXã€\upLaTeX{} ç‰å¤šç§ä¸åŒ -% 的编译方å¼ï¼Œå¹¶ä¸ºå®ƒä»¬æ供了统一的界é¢ã€‚主è¦åŠŸèƒ½ç”±å®åŒ… \pkg{ctex} å’Œä¸æ–‡æ–‡æ¡£ç±» +% 的编译方å¼ï¼Œå¹¶ä¸ºå®ƒä»¬æ供了统一的界é¢ã€‚主è¦åŠŸèƒ½ç”±å®åŒ… \pkg{ctex} 以åŠä¸æ–‡æ–‡æ¡£ç±» % \cls{ctexart}ã€\cls{ctexrep}ã€\cls{ctexbook} å’Œ \cls{ctexbeamer} 实现。 % \end{abstract} % % \tableofcontents % -% \clearpage +% \bigskip % \setlength{\parskip}{0.8ex} % % \begin{documentation} @@ -629,14 +622,14 @@ Copyright and Licence % % \CTeX{} å®é›†çš„æºå¤´æœ‰ä¸¤ä¸ªï¼šä¸€æ˜¯çŽ‹ç£Šç¼–写的 \cls{cjkbook} 文档类,二是å´å‡Œäº‘编写的 % \file{GB.cap}。 -% 这些工作没有ç»è¿‡è®¤çœŸã€ç³»ç»Ÿçš„设计,也没有用户文档,ä¸åˆ©äºŽç»´æŠ¤å’Œæ”¹è¿›ã€‚ +% 这些工作没有ç»è¿‡è®¤çœŸç³»ç»Ÿçš„设计,也没有用户文档,ä¸åˆ©äºŽç»´æŠ¤å’Œæ”¹è¿›ã€‚ % % 2003 年,å´å‡Œäº‘使用 \pkg{doc} å’Œ \pkg{DocStrip} é‡æž„äº†æ•´ä¸ªå·¥ç¨‹ï¼Œå¹¶å¢žåŠ äº†è®¸å¤šæ–°çš„åŠŸèƒ½ï¼Œ % 称为 \pkg{ctex} å®åŒ…。2007 年,oseen 和王越在 \pkg{ctex} å®åŒ…的基础上, % å¢žåŠ äº†å¯¹ UTF-8 ç¼–ç 的支æŒï¼Œå¼€å‘出了 \pkg{ctexutf8} å®åŒ…。 % % 2009 å¹´ 5 月,我们在 Google Code 建立了 ctex-kit 项目^^A -% \footnote{\nolinkurl{http://code.google.com/p/ctex-kit/}}, +% \footnote{\nolinkurl{http://code.google.com/p/ctex-kit/},该链接现已失效。}, % 对 \pkg{ctex} å®åŒ…åŠç›¸å…³è„šæœ¬è¿›è¡Œäº†æ•´åˆï¼Œå¹¶åŠ 入了对 \XeTeX{} 引擎的支æŒã€‚ % 在开å‘新版本时,考虑到åˆä½œå¼€å‘和调试的方便,我们放弃了 \pkg{doc} å’Œ \pkg{DocStrip}, % 采å–了直接编写å®åŒ…代ç çš„æ–¹å¼ã€‚ @@ -649,11 +642,11 @@ Copyright and Licence % \href{https://github.com/CTeX-org/ctex-kit}{GitHub}^^A % \footnote{\url{https://github.com/CTeX-org/ctex-kit}}。 % -% 最åˆï¼ŒKnuth åœ¨è®¾è®¡å¼€å‘ \TeX{} 的时候没有考虑到多国è¯è¨€æ”¯æŒï¼Œç‰¹åˆ«æ˜¯å¯¹å¤šå—节的ä¸æ—¥éŸ© -% è¯è¨€çš„支æŒã€‚这使得 \TeX{} 以至åŽæ¥çš„ \LaTeX{} 对ä¸æ–‡çš„支æŒä¸€ç›´ä¸æ˜¯å¾ˆå¥½ã€‚å³ä½¿åœ¨ +% 最åˆï¼ŒKnuth åœ¨è®¾è®¡å¼€å‘ \TeX{} 的时候没有考虑到多国文å—支æŒï¼Œç‰¹åˆ«æ˜¯å¯¹å¤šå—节的ä¸æ—¥éŸ© +% 表æ„æ–‡å—的支æŒã€‚这使得 \TeX{} 以至åŽæ¥çš„ \LaTeX{} 对ä¸æ–‡çš„支æŒä¸€ç›´ä¸æ˜¯å¾ˆå¥½ã€‚å³ä½¿åœ¨ % \pkg{CJK} å®åŒ…解决了ä¸æ–‡å—符处ç†çš„问题以åŽï¼Œä¸æ–‡ç”¨æˆ·ä½¿ç”¨ \LaTeX{} ä»ç„¶è¦é¢å¯¹è®¸ % 多困难。 -% è¿™äº›å›°éš¾é‡Œï¼Œä»¥ç« èŠ‚æ ‡é¢˜çš„ä¸æ–‡åŒ–为最。由于ä¸æ–‡å’Œè¥¿æ–‡è¯è¨€ä¹ æƒ¯çš„å·®å¼‚ï¼Œç”¨æˆ·å¾ˆéš¾ä½¿ç”¨æ ‡å‡† +% è¿™äº›å›°éš¾é‡Œï¼Œä»¥ç« èŠ‚æ ‡é¢˜çš„ä¸æ–‡åŒ–为最。由于ä¸æ–‡å’Œè¥¿æ–‡ä¹¦å†™ä¹ æƒ¯çš„å·®å¼‚ï¼Œç”¨æˆ·å¾ˆéš¾ä½¿ç”¨æ ‡å‡† % 文档类ä¸çš„代ç 结构æ¥è¡¨è¾¾ä¸æ–‡æ ‡é¢˜ã€‚于是,用户ä¸å¾—ä¸å¯¹æ ‡å‡†æ–‡æ¡£ç±»åšè¾ƒå¤§çš„修改。 % 除æ¤ä¹‹å¤–ï¼Œæ—¥æœŸæ ¼å¼ã€é¦–行缩进ã€ä¸æ–‡å—å·å’Œå—è·ç‰ç»†èŠ‚问题,也需è¦ç²¾ç»†çš„è°ƒæ ¡ã€‚ % 我们设计 \CTeX{} å®é›†çš„目的之一就是解决这些 \LaTeX{} 文档的汉化难题。 @@ -661,23 +654,24 @@ Copyright and Licence % å¦ä¸€æ–¹é¢ï¼Œéšç€ \TeX{} 引擎和 \LaTeX{} å®åŒ…çš„ä¸æ–å‘展,\LaTeX{} çš„ä¸æ–‡æ”¯æŒæ–¹å¼ä»Žæ—©æœŸçš„ % 专用系统(如 \pkg{CCT})å‘展为适用于ä¸åŒå¼•æ“Žçš„多ç§æ–¹å¼^^A % \footnote{比如:\pdfTeX{} 引擎下的 \pkg{CJK}ã€\pkg{zhmCJK}å®åŒ…, -% \XeTeX{} 引擎下的 \pkg{xeCJK} å®åŒ…å’Œ \LuaTeX{} 引擎下的 \pkg{LuaTeX-ja} å® -% 包}。这些方å¼çš„适用情况和使用方å¼æœ‰ä¸å°‘细节上的差异,åŒæ—¶æ“作系统的ä¸åŒã€è¯è¨€çŽ¯å¢ƒçš„ä¸åŒç‰ +% \XeTeX{} 引擎下的 \pkg{xeCJK} å®åŒ…å’Œ \LuaTeX{} 引擎下的 \pkg{LuaTeX-ja} å®åŒ…。}。 +% 这些方å¼çš„适用情况和使用方å¼æœ‰ä¸å°‘细节上的差异,åŒæ—¶æ“作系统的ä¸åŒã€è¯è¨€çŽ¯å¢ƒçš„ä¸åŒç‰ % 客观情况åˆè¿›ä¸€æ¥å¸¦æ¥äº†æ›´å¤šçš„细节差异。我们设计 \CTeX{} å®é›†çš„å¦ä¸€ä¸ªä¸»è¦ç›®çš„就是 % å°½å¯èƒ½æ¶ˆé™¤è¿™äº›å·®å¼‚带æ¥çš„å½±å“,使用户能够以一个统一的接å£æ¥ä½¿ç”¨ä¸åŒçš„ä¸æ–‡æ”¯æŒæ–¹å¼ï¼Œ % 使得åŒä¸€ä»½æ–‡æ¡£èƒ½å¤Ÿåœ¨ä¸åŒçŽ¯å¢ƒä¸‹äº¤æ¢ä½¿ç”¨ã€‚ % -% \CTeX{} å®é›†çš„许多实现细节离ä¸å¼€çƒå¿ƒæœ‹å‹ä»¬åœ¨ \url{bbs.ctex.org} 论å›ä¸Šçš„讨论, -% 在æ¤å¯¹å‚与讨论的朋å‹ä»¬è¡¨ç¤ºæ„Ÿè°¢ã€‚ +% \CTeX{} å®é›†çš„许多实现细节离ä¸å¼€çƒå¿ƒæœ‹å‹ä»¬åœ¨ \nolinkurl{bbs.ctex.org} 论å›^^A +% \footnote{2018 年,\CTeX{} 论å›å› æ•…æ— é™æœŸå…³é—,æ¤é“¾æŽ¥çŽ°å·²å¤±æ•ˆã€‚}^^A +% 上的讨论,在æ¤å¯¹å‚与讨论的朋å‹ä»¬è¡¨ç¤ºæ„Ÿè°¢ã€‚ % % \subsection*{关于å®é›†åå—的说明} % % \CTeX{} 之å是英文å•è¯ China(ä¸å›½ï¼‰æˆ– Chinese(ä¸æ–‡ï¼‰çš„首å—æ¯â€œCâ€ä¸Ž “\TeX{}†% 结åˆè€Œæˆçš„。在纯文本环境下,该åå—应写作“CTeXâ€ã€‚ % -% \CTeX{} å®é›†æ˜¯ç”± \href{http://bbs.ctex.org}{\CTeX{} 社区} å‘起并维护的 +% \CTeX{} å®é›†æ˜¯ç”± \href{https://github.com/CTeX-org}{\CTeX{} 社区}å‘起并维护的 % \LaTeX{} \emph{å®åŒ…和文档类的集åˆ}。 -% 社区å¦æœ‰å‘布å为 \href{http://www.ctex.org/CTeX}{\CTeX{} 套装} +% 社区å¦æœ‰å‘布å为 \href{http://www.ctex.org/CTeX}{\CTeX{} 套装}^^A % çš„ \TeX{} å‘行版,与本文档所述的 \CTeX{} å®é›†å¹¶éžæ˜¯åŒä¸€äº‹ç‰©ã€‚ % % \pkg{ctex} 则是本å®é›†ä¸çš„ \pkg{ctex.sty} çš„åå—。这一完全å°å†™çš„å称,在过去 @@ -688,7 +682,7 @@ Copyright and Licence % % \subsection{\CTeX{} å®é›†çš„组æˆ} % -% 为了适应用户ä¸åŒçš„需求,我们将 \CTeX{} å®é›†çš„主è¦åŠŸèƒ½åˆ†æ•£åœ¨å››ä¸ªä¸æ–‡æ–‡æ¡£ç±»å’Œ +% 为了适应用户ä¸åŒçš„需求,我们将 \CTeX{} å®é›†çš„主è¦åŠŸèƒ½è®¾è®¡å®‰æŽ’在四个ä¸æ–‡æ–‡æ¡£ç±»å’Œ % 三个å®åŒ…当ä¸ï¼Œå…·ä½“的组æˆè§è¡¨~\ref{tab:ctex}。 % % \begin{table}[htbp] @@ -698,21 +692,21 @@ Copyright and Licence % \toprule % 类别 & 文件 & 说明 \\ % \midrule -% 文档类 & \file{ctexart.cls} & æ ‡å‡†æ–‡æ¡£ç±» \cls{article} 的汉化版本,一般适用于 -% çŸç¯‡å¹…çš„æ–‡ç« \\ -% & \file{ctexrep.cls} & æ ‡å‡†æ–‡æ¡£ç±» \cls{report} 的汉化版本,一般适用于 -% ä¸ç¯‡å¹…的报告 \\ -% & \file{ctexbook.cls} & æ ‡å‡†æ–‡æ¡£ç±» \cls{book} 的汉化版本,一般适用于 -% é•¿ç¯‡å¹…çš„ä¹¦ç± \\ -% & \file{ctexbeamer.cls} & 文档类 \cls{beamer} 的汉化版本,适用于 -% å¹»ç¯ç‰‡æ¼”示 \\ +% 文档类 & \file{ctexart.cls} & æ ‡å‡†æ–‡æ¡£ç±» \cls{article} 的汉化版本, +% 一般适用于çŸç¯‡å¹…çš„æ–‡ç« \\ +% & \file{ctexrep.cls} & æ ‡å‡†æ–‡æ¡£ç±» \cls{report} 的汉化版本, +% 一般适用于ä¸ç¯‡å¹…的报告 \\ +% & \file{ctexbook.cls} & æ ‡å‡†æ–‡æ¡£ç±» \cls{book} 的汉化版本, +% ä¸€èˆ¬é€‚ç”¨äºŽé•¿ç¯‡å¹…çš„ä¹¦ç± \\ +% & \file{ctexbeamer.cls} & 文档类 \cls{beamer} 的汉化版本, +% 适用于幻ç¯ç‰‡æ¼”示 \\ % \midrule -% å®åŒ… & \file{ctex.sty} & æ供全部功能,但\emph{默认ä¸å¼€å¯ç« èŠ‚æ ‡é¢˜è®¾ç½®åŠŸèƒ½}, -% 需è¦ä½¿ç”¨ \opt{heading} 选项æ¥å¼€å¯ \\ -% & \file{ctexsize.sty} & 定义和调整ä¸æ–‡å—å·ï¼Œåœ¨ \pkg{ctex} å®åŒ… -% 或 \CTeX{} ä¸æ–‡æ–‡æ¡£ç±»ä¹‹å¤–å•ç‹¬è°ƒç”¨ \\ +% å®åŒ… & \file{ctex.sty} & æ供全部功能,但\emph{默认ä¸å¼€å¯ç« èŠ‚æ ‡é¢˜è®¾ç½®åŠŸèƒ½}, +% 需è¦ä½¿ç”¨ \opt{heading} 选项æ¥å¼€å¯ \\ +% & \file{ctexsize.sty} & 定义和调整ä¸æ–‡å—å·ï¼Œå¯ä»¥åœ¨ \pkg{ctex} å®åŒ… +% 或 \CTeX{} ä¸æ–‡æ–‡æ¡£ç±»ä¹‹å¤–å•ç‹¬è°ƒç”¨ \\ % & \file{ctexheading.sty} & æä¾›ç« èŠ‚æ ‡é¢˜è®¾ç½®åŠŸèƒ½ï¼ˆè§ \ref{sec:secstyle} -% 节),在 \pkg{ctex} å®åŒ…或 \CTeX{} ä¸æ–‡ +% 节),å¯ä»¥åœ¨ \pkg{ctex} å®åŒ…或 \CTeX{} ä¸æ–‡ % 文档类之外å•ç‹¬è°ƒç”¨ \\ % \bottomrule % \end{tabularx} @@ -720,37 +714,42 @@ Copyright and Licence % % \subsection{\CTeX{} å®é›†çš„安装和更新} % \label{subsec:easy-ins} -% -% \CTeX{} å®é›†ä¾èµ–çš„å®åŒ…å’Œå®é›†å·²è¢«æœ€å¸¸è§çš„ \TeX{} å‘行版 \TeXLive{} å’Œ \MiKTeX{} -% 所收录。如果本地安装 \TeXLive{} 或 \MiKTeX{} ä¸æ˜¯å®Œå…¨ç‰ˆæœ¬ï¼Œå°±å¯èƒ½éœ€è¦é€šè¿‡è¿™ -% 两个å‘行版æ供的\emph{å®åŒ…管ç†å™¨}æ¥å®‰è£…å®åŒ…。 -% -% \TeXLive{} çš„å®åŒ…管ç†å™¨æ˜¯ tlmgr。用户å¯ä»¥åœ¨ç³»ç»Ÿå‘½ä»¤è¡Œä¸^^A -% \footnote{Windows 系统的命令行是 CMD 命令æç¤ºç¬¦ï¼Œä½ å¯ä»¥ä½¿ç”¨ Win + R 组åˆé”®^^A -% 打开“è¿è¡Œâ€å¯¹è¯æ¡†ï¼Œç„¶åŽè¾“å…¥ cmd 确认打开命令æ示符窗å£ã€‚}^^A -% 执行 +% 最常è§çš„ \TeX{} å‘行版(\TeXLive{} å’Œ \MiKTeX{})已收录 \CTeX{} å®é›†åŠå…¶ä¾èµ–çš„å®åŒ…å’Œå®é›†ã€‚ +% \footnote{\pkg{zhmCJK} å®åŒ…是个例外。当用户显å¼æŒ‡å®šé€‰é¡¹ \opt{zhmap = zhmCJK} 时,^^A +% \CTeX{} å®é›†ä¾èµ–它。由于,它没有被 \TeXLive{} å’Œ \MiKTeX{} 收录,用户å¯èƒ½éœ€è¦éµç…§å…¶è¯´æ˜Žæ–‡æ¡£ +% 自行安装。}如果本地安装 \TeXLive{} 或 \MiKTeX{} ä¸æ˜¯å®Œæ•´ç‰ˆæœ¬ï¼Œåˆ™å¯èƒ½éœ€è¦é€šè¿‡è¿™ +% 两个å‘行版æ供的\emph{包管ç†å™¨}æ¥å®‰è£…å®åŒ…。 +% +% \TeXLive{} 的包管ç†å™¨æ˜¯ tlmgr(\TeXLive{} Manager)。用户å¯ä»¥åœ¨ç³»ç»Ÿå‘½ä»¤è¡Œä¸^^A +% \footnote{Windows 系统的命令行是 CMD 命令æç¤ºç¬¦ï¼Œä½ å¯ä»¥ä½¿ç”¨ Win + R 组åˆé”® +% 打开“è¿è¡Œâ€å¯¹è¯æ¡†ï¼Œç„¶åŽè¾“å…¥ cmd 确认打开命令æ示符窗å£ã€‚}执行 % \begin{frameverb} % tlmgr gui % \end{frameverb} -% å¯åŠ¨ç®¡ç†å™¨çš„图形界é¢ï¼ˆWindows 用户也å¯ä»¥é€šè¿‡å¼€å§‹èœå•çš„ -% TeX Live 2015 \ding{212} TeX Live Manager 打开)。 -% 连接上远程仓库之åŽï¼Œæœç´¢ ctex 安装å³å¯ã€‚ -% tlmgr 的图形界é¢ä½¿ç”¨ Perl ç¼–å†™ï¼Œå®¹æ˜“é€ æˆç³»ç»Ÿå‡æ»ã€‚é‡åˆ°è¿™ç§é—®é¢˜çš„用户, +% å¯åŠ¨ç®¡ç†å™¨çš„图形界é¢ï¼ˆWindows 用户也å¯ä»¥é€šè¿‡å¼€å§‹èœå•çš„ TeX Live 20XX(年份) +% \ding{212} TeX Live Manager 打开)。连接上远程仓库之åŽï¼Œæœç´¢ |ctex| å³å¯å®‰è£…。 +% tlmgr 的图形界é¢ä½¿ç”¨ Perl 编写,在实践ä¸å‘çŽ°å®¹æ˜“é€ æˆç³»ç»Ÿå‡æ»ã€‚é‡åˆ°è¿™ç§é—®é¢˜çš„用户, % 也å¯ä»¥ç›´æŽ¥åœ¨ç³»ç»Ÿå‘½ä»¤è¡Œæ‰§è¡Œ % \begin{frameverb} % tlmgr install ctex % \end{frameverb} -% æ¥å®‰è£… \CTeX{} å®é›†\footnote{*nix 用户å¯èƒ½éœ€è¦è¶…级用户æƒé™æ‰èƒ½æ£ç¡®å®‰è£…å®é›†ã€‚}。 +% æ¥å®‰è£… \CTeX{} å®é›†^^A +% \footnote{*nix 用户å¯èƒ½éœ€è¦è¶…级用户æƒé™ï¼ˆsudo)æ‰èƒ½æ£ç¡®å®‰è£…å®é›†ã€‚}。 % -% \MiKTeX{} çš„å®åŒ…管ç†å™¨æ˜¯ mpm (\MiKTeX{} Package Manager)。用户å¯ä»¥åœ¨å¼€å§‹èœå• -% 找到 MiKTeX \ding{212} Maintenance (Admin) \ding{212} Package Manager (Admin), -% 打开管ç†å™¨ï¼Œè¿žæŽ¥ä¸Šè¿œç¨‹ä»“库之åŽï¼Œæœç´¢ ctex 安装å³å¯ã€‚ +% \MiKTeX{} 通常会在缺失å®åŒ…时自动完æˆå®‰è£…。如需手动安装,å¯ä»¥ä½¿ç”¨å…¶ç®¡ç†ç»´æŠ¤ +% 工具 \MiKTeX{} Console。用户å¯ä»¥æ‰“开管ç†å™¨ï¼Œè¿žæŽ¥ä¸Šè¿œç¨‹ä»“库之åŽï¼Œåœ¨â€œPackage†+% 选项å¡ä¸æœç´¢â€œctexâ€å¹¶å®‰è£…å³å¯ã€‚ +% 也å¯ä»¥ä½¿ç”¨ mpm(\MiKTeX{} Package Manager),在命令行执行 +% \begin{frameverb} +% mpm --admin --install=ctex +% \end{frameverb} +% æ¥å®‰è£… \CTeX{} å®é›†ã€‚ % -% 若希望了解 \CTeX{} å®é›†å…·ä½“çš„ä¾èµ–情况和手工安装å®é›†çš„方法, +% 若希望了解 \CTeX{} å®é›†å…·ä½“çš„ä¾èµ–情况或手工安装å®é›†çš„方法, % 请å‚阅第 \ref{sec:dep-ins}~节。 % -% 当å®åŒ…å‘布新版本,并被å‘行版在远程仓库安装之åŽï¼Œåœ¨æœ¬åœ°å°±å¯ä»¥é€šè¿‡å®åŒ…管ç†å™¨æ¥ -% å–得新版本。 +% 当我们将å®é›†çš„新版本å‘布于 CTAN,且为å‘行版的远程仓库更新åŽï¼Œç”¨æˆ·å°±å¯ä»¥åœ¨æœ¬åœ° +% 通过包管ç†å™¨èŽ·å–新版本。 % % 对于 \TeXLive{},å¯ä»¥åœ¨ tlmgr 的图形界é¢ç‚¹å‡»â€œæ›´æ–°å…¨éƒ¨å·²å®‰è£…çš„â€æŒ‰é’®æˆ–者在 % 命令行执行 @@ -759,14 +758,17 @@ Copyright and Licence % \end{frameverb} % æ¥å®Œæ•´æ›´æ–°å·²å®‰è£…çš„å®åŒ…。 % -% 对于 \MiKTeX{},在开始èœå•æ‰¾åˆ° -% MiKTeX \ding{212} Maintenance (Admin) \ding{212} Update (Admin), -% 按照界é¢è¯´æ˜Žæ›´æ–°å³å¯ã€‚ +% 对于 \MiKTeX{},在 \MiKTeX{} Console ä¸æ‰¾åˆ°â€œUpdatesâ€é€‰é¡¹å¡ï¼Œæ£€æŸ¥æ›´æ–°åŽå³å¯ +% 选择å‡çº§å®åŒ…。也å¯ä»¥ä½¿ç”¨ mpm,在命令行执行 +% \begin{frameverb} +% mpm --admin --update +% \end{frameverb} +% æ¥è¿›è¡Œæ›´æ–°ã€‚ % % \subsection{使用 \CTeX{} 文档类} % -% \emph{如果用户需è¦åœ¨æ ‡å‡†æ–‡æ¡£ç±»çš„åŸºç¡€ä¸Šæ·»åŠ ä¸æ–‡æ”¯æŒå’Œä¸æ–‡ç‰ˆå¼æ”¯æŒï¼Œæˆ‘们建议用户使用 \CTeX{} -% å®é›†æ供的四个ä¸æ–‡æ–‡æ¡£ç±»ã€‚} +% \emph{如果用户需è¦åœ¨ä¸‰ä¸ªæ ‡å‡†æ–‡æ¡£ç±»æˆ– \cls{beamer} çš„åŸºç¡€ä¸Šæ·»åŠ ä¸æ–‡åŠç‰ˆå¼çš„支æŒï¼Œ +% 我们建议用户使用 \CTeX{} å®é›†æ供的四个ä¸æ–‡æ–‡æ¡£ç±»ã€‚} % % \CTeX{} å®é›†æ供了四个ä¸æ–‡æ–‡æ¡£ç±»ï¼š\cls{ctexart}ã€\cls{ctexrep}ã€\cls{ctexbook} å’Œ % \cls{ctexbeamer},分别对应 \LaTeX{} çš„æ ‡å‡†æ–‡æ¡£ç±» \cls{article}ã€\cls{report}〠@@ -775,18 +777,18 @@ Copyright and Licence % \ref{subs:encoding}~节)}。 % % \begin{ctexexam} -% \documentclass[UTF8]{ctexart} +% \documentclass{ctexart} % \begin{document} % ä¸æ–‡æ–‡æ¡£ç±»æµ‹è¯•ã€‚ä½ éœ€è¦å°†æ‰€æœ‰æºæ–‡ä»¶ä¿å˜ä¸º UTF-8 ç¼–ç 。 % % ä½ å¯ä»¥ä½¿ç”¨ XeLaTeXã€LuaLaTeX 或 upLaTeX 编译,也å¯ä»¥ä½¿ç”¨ (pdf)LaTeX 编译。 -% 推è使用 XeLaTeX 或 LuaLaTeX 编译。 +% 推è使用 XeLaTeX 或 LuaLaTeX 编译。对高级用户,我们也推è使用 upLaTeX 编译。 % \end{document} % \end{ctexexam} % % 以下是使用 \cls{ctexbeamer} 文档类编写ä¸æ–‡æ¼”示文稿的一个示例。 % \begin{ctexexam} -% \documentclass[UTF8]{ctexbeamer} +% \documentclass{ctexbeamer} % \begin{document} % \begin{frame}{ä¸æ–‡æ¼”示文档} % \begin{itemize} @@ -794,6 +796,7 @@ Copyright and Licence % \item ä½ å¯ä»¥ä½¿ç”¨ XeLaTeXã€LuaLaTeX 或 upLaTeX 编译 % \item 也å¯ä»¥ä½¿ç”¨ (pdf)LaTeX 编译 % \item 推è使用 XeLaTeX 或 LuaLaTeX 编译 +% \item 对高级用户,我们也推è使用 upLaTeX 编译 % \end{itemize} % \end{frame} % \end{document} @@ -801,14 +804,14 @@ Copyright and Licence % % \subsection{使用 \pkg{ctex} å®åŒ…} % -% \emph{用户在使用éžæ ‡å‡†æ–‡æ¡£ç±»æ—¶ï¼Œå¦‚果需è¦æ·»åŠ ä¸æ–‡æ”¯æŒæˆ–ä¸æ–‡ç‰ˆå¼æ”¯æŒï¼Œåˆ™å¯ä»¥ä½¿ç”¨ \pkg{ctex} -% å®åŒ…。} +% \emph{用户在使用éžæ ‡å‡†æ–‡æ¡£ç±»åŠ \cls{beamer} 时,如果需è¦æ·»åŠ ä¸æ–‡åŠç‰ˆå¼çš„支æŒï¼Œ +% 则å¯ä»¥ä½¿ç”¨ \pkg{ctex} å®åŒ…。} % -% 有些文档类是建立在 \LaTeX{} æ ‡å‡†æ–‡æ¡£ç±»ä¹‹ä¸Šå¼€å‘的。这时,给 \pkg{ctex} å®åŒ… +% 对于建立在 \LaTeX{} æ ‡å‡†æ–‡æ¡£ç±»ä¹‹ä¸Šå¼€å‘的文档类,在使用 \pkg{ctex} å®åŒ…æ—¶ % åŠ ä¸Š \opt{heading} 选项,å¯ä»¥å°†ç« èŠ‚æ ‡é¢˜è®¾ç½®ä¸ºä¸æ–‡é£Žæ ¼ã€‚ % \begin{ctexexam} % \documentclass{ltxdoc} -% \usepackage[UTF8, heading = true]{ctex} +% \usepackage[heading = true]{ctex} % \begin{document} % \section{简介} % ç« èŠ‚æ ‡é¢˜ä¸æ–‡åŒ–çš„ \LaTeX{} 手册。 @@ -820,16 +823,13 @@ Copyright and Licence % % \CTeX{} å®é›†å·²ç»å°½å¯èƒ½å°±ä¸æ–‡çš„行文和版å¼ä¹ 惯åšäº†è°ƒæ•´å’Œé…置,通常而言,这些é…ç½® % å·²ç»å¤Ÿç”¨ã€‚å› æ¤ï¼Œé™¤éžå¿…è¦ï¼Œæˆ‘们ä¸å»ºè®®æ™®é€šç”¨æˆ·ä¿®æ”¹è¿™äº›é»˜è®¤é…ç½®ã€‚å¦‚æžœä½ è®¤ä¸º \CTeX{} å®é›† -% 的默认é…置还å¯ä»¥å®Œå–„,å¯ä»¥åœ¨é¡¹ç›®ä¸»é¡µä¸Š% +% 的默认é…置还å¯ä»¥å®Œå–„,å¯ä»¥åœ¨é¡¹ç›®ä¸»é¡µä¸Š^^A % \href{https://github.com/CTeX-org/ctex-kit/issues}{æ交 issue}, % å‘我们åæ˜ ï¼Œæˆ‘ä»¬ä¼šé…Œæƒ…åœ¨åŽç»ç‰ˆæœ¬ä¸äºˆä»¥æ”¹è¿›ã€‚ % % ä¸è¿‡ï¼Œ\CTeX{} å®é›†ä¹Ÿæ供了一系列选项。用户å¯ä»¥ä½¿ç”¨è¿™äº›é€‰é¡¹æ¥æŽ§åˆ¶ \CTeX{} å®é›†çš„行为。 -% 具体æ¥è¯´ï¼Œè¿™äº›é€‰é¡¹é‡Œï¼Œæœ‰çš„ä»¥ä¼ ç»Ÿçš„æ–¹å¼æ供, -% 也有的以 \meta{key}|=|\meta{value} çš„å½¢å¼æ供。对于以键值对形å¼æ供的选项, -% 在下é¢çš„说明ä¸ä½¿ç”¨\textbf{粗体}æ¥è¡¨ç¤º \CTeX{} 的默认设置。 -% -% å¦ä¸€æ–¹é¢ï¼Œè¿™äº›é€‰é¡¹å¯ä»¥åˆ†ä¸ºä»¥ä¸‹ä¸‰ç±»ï¼š +% 按形å¼åˆ†ç±»ï¼Œè¿™äº›é€‰é¡¹æœ‰çš„ä»¥ä¼ ç»Ÿçš„æ–¹å¼æ供,有的以 \meta{key}|=|\meta{value} çš„å½¢å¼æ供。 +% 按指定ä½ç½®åˆ†ç±»ï¼Œè¿™äº›é€‰é¡¹åˆå¯ä»¥åˆ†ä¸ºä»¥ä¸‹ä¸‰ç±»ï¼š % \begin{itemize} % \item åå—åŽå¸¦æœ‰ \rexptarget\rexpstar{} å·çš„选项,åªèƒ½ä½œä¸ºå®åŒ…/æ–‡æ¡£ç±»é€‰é¡¹ï¼Œéœ€è¦ % 在引入å®åŒ…/文档类的时候指定; @@ -891,28 +891,24 @@ Copyright and Licence % \end{table} % % ä¸åŒçš„编译方å¼å’Œä¸æ–‡æ”¯æŒæ–¹å¼ä¼šåœ¨ä¸€å®šç¨‹åº¦ä¸Šå½±å“ \CTeX{} å®é›†çš„行为,比如å®åŒ…对 -% ç¼–ç 的处ç†ã€‚ -% 在用户使用 \XeLaTeXã€\LuaLaTeX{} åŠ \upLaTeX{} 编译时,\CTeX{} å®é›†ä½¿ç”¨ï¼ˆä¸”ä»… -% 能使用)UTF-8 ç¼–ç ï¼›è€Œå› ä¸ºåŽ†å²åŽŸå› ,在用户使用 \LaTeX{} åŠ \pdfLaTeX{} 编译 -% 时,å®åŒ…默认使用 GBK ç¼–ç 。用户需è¦\emph{ä¿è¯ç¼–译方å¼ã€ -% æºæ–‡ä»¶ç¼–ç ã€å®åŒ…ç¼–ç 选项三者一致}。 -% 关于å®åŒ…ç¼–ç 选项,å¯ä»¥å‚考 \ref{subs:encoding}~节。 -% -% 除去文档编ç 之外,选择ä¸åŒçš„编译方å¼è¿˜å¯èƒ½å½±å“ \CTeX{} å®é›†å¯¹å—体选择ã€ç©ºæ ¼å¤„ç†ã€ -% æ ‡ç‚¹å¤„ç†çš„处ç†ã€‚具体的影å“将在本文档åŽç»å†…容ä¸è¿›è¡Œé˜è¿°ã€‚ +% 文档编ç ã€å—体选择ã€ç©ºæ ¼ã€æ ‡ç‚¹ç‰çš„处ç†ã€‚具体细节将在本文档åŽç»å†…容ä¸è¿›è¡Œé˜è¿°ã€‚ % % \subsection{ä¸æ–‡ç¼–ç } % \label{subs:encoding} % -% \begin{function}[rEXP]{GBK, UTF8} -% 指明编写文档时使用的编ç æ ¼å¼ã€‚\CTeX{} å®é›†æ— 法检测用户编写文档时使用的编ç æ ¼å¼ï¼Œå› æ¤ -% 需è¦ç”¨æˆ·è‡ªè¡ŒæŒ‡å®šç¼–ç 。\emph{我们建议用户总是使用 UTF-8 ç¼–ç ,并显å¼æŒ‡å®š \opt{UTF8} -% 选项,并使用 \XeLaTeXã€\LuaLaTeX{} 或 \upLaTeX{} 编译。} +% \begin{function}[rEXP,updated=2019-11-10]{GBK, UTF8} +% 指明编写文档时使用的编ç 。\CTeX{} å®é›†æ— 法检测文档æºæ–‡ä»¶çš„实际编ç æ ¼å¼ï¼Œå› æ¤éœ€è¦ +% 用户通过选项声明。如果没有显å¼æŒ‡å®šï¼Œåˆ™é»˜è®¤é‡‡ç”¨ UTF-8 ç¼–ç 。 +% +% 使用 \XeLaTeX{}ã€\LuaLaTeX{} 或 \upLaTeX{} 编译时,\CTeX{} å®é›†å¼ºåˆ¶ä½¿ç”¨ +% UTF-8 ç¼–ç ,æ¤æ—¶ \opt{GBK} é€‰é¡¹æ— æ•ˆï¼›ä½¿ç”¨ (pdf)\LaTeX{} 编译时, +% \CTeX{} å®é›†é»˜è®¤ä½¿ç”¨ UTF-8 ç¼–ç ,但用户也å¯ä»¥æ˜¾å¼å£°æ˜Ž \opt{GBK} 选项, +% 使 \CTeX{} å®é›†æŒ‰ GBK ç¼–ç 处ç†æ–‡æ¡£ã€‚ % -% 使用 \XeLaTeXã€\LuaLaTeX{} 或 \upLaTeX{} 编译时,\CTeX{} å®é›†å¼ºåˆ¶ä½¿ç”¨ UTF-8 -% ç¼–ç ,æ¤æ—¶ \opt{GBK} é€‰é¡¹æ— æ•ˆã€‚ -% 使用 (pdf)\LaTeX{} 编译时,\CTeX{} å®é›†é»˜è®¤å¯ç”¨ \opt{GBK} 选项;ä¸è¿‡ï¼Œç”¨æˆ·ä¹Ÿå¯ä»¥ -% 显å¼å£°æ˜Ž \opt{UTF8} 选项,使 \CTeX{} å®é›†å·¥ä½œåœ¨ UTF-8 ç¼–ç 下。 +% 用户需è¦\emph{ä¿è¯ç¼–译方å¼ã€æºæ–‡ä»¶ç¼–ç ã€å®åŒ…ç¼–ç 选项三者一致}。 +% +% \emph{我们建议编写新文档时始终使用 UTF-8 ç¼–ç ,而仅把 GBK ç¼–ç 留给 +% 历å²é—留文档。} % \end{function} % % \subsection{ä¸æ–‡å—库} @@ -920,9 +916,9 @@ Copyright and Licence % % 以往,为 \LaTeX{} 文档é…ç½®ä¸æ–‡æ”¯æŒæ˜¯ä¸€ä»¶ç›¸å½“ç¹ç的事情。默认情况下, % \CTeX{} å®é›†èƒ½è‡ªåŠ¨æ£€æµ‹ç”¨æˆ·ä½¿ç”¨çš„编译方å¼ï¼ˆå‚è§ \ref{subs:compile}~节)和 -% æ“作系统\footnote{\CTeX{} å®é›†çŽ°åœ¨èƒ½å¤Ÿè¯†åˆ« Mac~OS~X ç³»ç»Ÿä»¥åŠ Windows 系统。}, -% 选择åˆé€‚的底层支æŒå’Œå—库,从而简化é…置过程。自动é…置的情况å‚è§ -% 表~\ref{tab:default-font-select}。 +% æ“作系统\footnote{\CTeX{} å®é›†çŽ°åœ¨èƒ½å¤Ÿè¯†åˆ« macOS åŠ Windows 系统, +% 并将其他系统统一归为 Linux。},选择åˆé€‚的底层支æŒå’Œå—库,从而简化é…置过程。 +% 自动é…置的情况å‚è§è¡¨~\ref{tab:default-font-select}。 % % \begin{table}[htbp] % \centering @@ -931,42 +927,50 @@ Copyright and Licence % \label{tab:default-font-select} % \begin{tabular}{*{5}{c}} % \toprule -% & Mac OS X & Windows New\tnote{1} & Windows Old\tnote{2} & -% 其他 \\ +% & macOS Old\tnote{1} +% & macOS New\tnote{2} +% & Windows\tnote{3} +% & 其他 \\ % \midrule -% \XeLaTeX{} & \makecell{\pkg{xeCJK}\\åŽæ–‡å—库} & -% \makecell{\pkg{xeCJK}\\ä¸æ˜“å—库 + 微软雅黑} & \makecell{\pkg{xeCJK}\\ä¸æ˜“å—库} & -% \makecell{\pkg{xeCJK}\\Fandol å—库\tnote{3}} \\ +% \XeLaTeX & \makecell{\pkg{xeCJK}\\åŽæ–‡å—库} +% & \makecell{\pkg{xeCJK}\\åŽæ–‡å—库 + 苹方} +% & \makecell{\pkg{xeCJK}\\ä¸æ˜“å—库 + 微软雅黑} +% & \makecell{\pkg{xeCJK}\\Fandol å—库\tnote{4}} \\ % \cmidrule(lr){1-5} -% \LuaLaTeX{}\tnote{4} & \makecell{\pkg{LuaTeX-ja}\\åŽæ–‡å—库} & -% \makecell{\pkg{LuaTeX-ja}\\ä¸æ˜“å—库 + 微软雅黑} & -% \makecell{\pkg{LuaTeX-ja}\\ä¸æ˜“å—库} & -% \makecell{\pkg{LuaTeX-ja}\\Fandol å—库} \\ +% \LuaLaTeX\tnote{5} +% & \makecell{\pkg{LuaTeX-ja}\\åŽæ–‡å—库} +% & \makecell{\pkg{LuaTeX-ja}\\åŽæ–‡å—库 + 苹方} +% & \makecell{\pkg{LuaTeX-ja}\\ä¸æ˜“å—库 + 微软雅黑} +% & \makecell{\pkg{LuaTeX-ja}\\Fandol å—库} \\ % \cmidrule(lr){1-5} -% \pdfLaTeX{} & ä¸å¯ç”¨\tnote{5} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\ä¸æ˜“å—库 + 微软雅黑} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\ä¸æ˜“å—库} & ä¸å¯ç”¨\tnote{5} \\ +% \pdfLaTeX +% & ä¸å¯ç”¨ +% & ä¸å¯ç”¨ +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\ä¸æ˜“å—库 + 微软雅黑\tnote{6}} +% & ä¸å¯ç”¨ \\ % \cmidrule(lr){1-5} -% \makecell{\LaTeX{} + \\\dvipdfmx{}} & ä¸å¯ç”¨\tnote{6} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\ä¸æ˜“å—库 + 微软雅黑} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\ä¸æ˜“å—库} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\Fandol å—库} \\ +% \makecell{\LaTeX{} + \\\dvipdfmx} +% & ä¸å¯ç”¨ +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\åŽæ–‡å—库 + 苹方} +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\ä¸æ˜“å—库 + 微软雅黑\tnote{6}} +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\Fandol å—库} \\ % \cmidrule(lr){1-5} -% \makecell{\upLaTeX{} + \\\dvipdfmx{}} & ä¸å¯ç”¨\tnote{6} & -% \makecell{\pkg{zhmetrics-uptex}\\ä¸æ˜“å—库 + 微软雅黑} & -% \makecell{\pkg{zhmetrics-uptex}\\ä¸æ˜“å—库} & -% \makecell{\pkg{zhmetrics-uptex}\\Fandol å—库} \\ +% \makecell{\upLaTeX{} + \\\dvipdfmx} +% & ä¸å¯ç”¨ +% & \makecell{\pkg{zhmetrics-uptex}\\åŽæ–‡å—库 + 苹方} +% & \makecell{\pkg{zhmetrics-uptex}\\ä¸æ˜“å—库 + 微软雅黑} +% & \makecell{\pkg{zhmetrics-uptex}\\Fandol å—库} \\ % \bottomrule % \end{tabular} % \begin{tablenotes} -% \item [1] Windows Vista åŠä»¥åŽçš„ Windows æ“作系统。 -% \item [2] Windows XP åŠä»¥å‰çš„ Windows æ“作系统。 -% \item [3] 由马起å›ã€è‹æ°ã€é»„晨æˆç‰äººå¼€å‘çš„å¼€æºä¸æ–‡å—体, -% å‚è§ï¼š\url{https://github.com/clerkma/fandol-fonts}。 -% \item [4] \LuaLaTeX{} 编译时使用 \pkg{LuaTeX-ja} å®åŒ…。对æ¤ï¼Œ +% \item [1] Yosemite (10.10) åŠä»¥å‰çš„ macOS 系统。 +% \item [2] El Capitan (10.11) åŠä»¥åŽçš„ macOS 系统。 +% \item [3] ä»…æ”¯æŒ Windows Vista åŠä»¥åŽçš„ Windows æ“作系统。 +% \item [4] 由马起å›ã€è‹æ°ã€é»„晨æˆç‰äººå¼€å‘çš„å¼€æºä¸æ–‡å—体, +% å‚è§ï¼š\url{https://www.ctan.org/pkg/fandol}。 +% \item [5] \LuaLaTeX{} 编译时使用 \pkg{LuaTeX-ja} å®åŒ…。对æ¤ï¼Œ % 第 \ref{sec:lualatex-chinese}~节有特别说明。 -% \item [5] å— \pdfTeX{} çš„é™åˆ¶ï¼Œæ— 法嵌入 OpenType å—体。 -% \item [6] ç›®å‰å— \dvipdfmx{} çš„é™åˆ¶ï¼ŒMac OS X ç³»ç»Ÿä¸Šçš„é»‘ä½“å’Œä»¿å®‹æ— æ³•è¯»å–。 +% \item [6] 微软雅黑å—体并ä¸æ€»æ˜¯æœ‰æ•ˆï¼Œè¿™å’Œé€‰é¡¹ \opt{zhmap} çš„å–值有关。 % \end{tablenotes} % \end{threeparttable} % \end{table} @@ -980,14 +984,20 @@ Copyright and Licence % \begin{syntax} % zhmap = <\TTF|zhmCJK> % \end{syntax} -% 指定å—ä½“æ˜ å°„æœºåˆ¶ã€‚æœ¬é€‰é¡¹åªåœ¨ä½¿ç”¨ \pdfLaTeX/\LaTeX{} 编译时有æ„义。 +% 指定å—ä½“æ˜ å°„æœºåˆ¶ã€‚æœ¬é€‰é¡¹åªåœ¨ä½¿ç”¨ (pdf)\LaTeX{} 编译时有æ„义。 % \end{function} % \begin{optdesc} -% \item[true] 使用 \pkg{zhmetrics} å®åŒ…,将 CJK å—库通过 \tn{special} +% \item[true] 这是该选项的默认值。^^A +% \footnote{对于以键值对形å¼æ供的选项,文档以\textbf{粗体}æ¥è¡¨ç¤ºå…¶é»˜è®¤å€¼ã€‚^^A +% 下åŒï¼Œä¸å†é¢å¤–解释。}使用 \pkg{zhmetrics} å®åŒ…,将 CJK å—库通过 \tn{special} % å‘½ä»¤æ˜ å°„åˆ° \file{.ttf} 文件。 % % \item[false] ä½¿ç”¨ä¼ ç»Ÿçš„ CJK å—库(Type 1)^^A -% \footnote{如果需è¦ä½¿ç”¨è‡ªå®šä¹‰çš„å—ä½“æ˜ å°„æ–‡ä»¶ï¼Œæˆ–è€…å¸Œæœ›ä½¿ç”¨ Type1 å—库,请ç¦ç”¨æœ¬é€‰é¡¹ã€‚}。 +% \footnote{使用 (pdf)\LaTeX{} 编译时,如果需è¦ä½¿ç”¨è‡ªå®šä¹‰çš„å—ä½“æ˜ å°„æ–‡ä»¶ï¼ˆæ¯”å¦‚éœ€è¦ +% 使用 \LaTeX{} + Dvips 编译),或者希望使用 Type1 å—库,请ç¦ç”¨æœ¬é€‰é¡¹ã€‚为æ¤ï¼Œä½ +% å¯èƒ½éœ€è¦å®‰è£… CJK å—体。å‚考 \pkg{zhmetrics} å®åŒ…æ供的脚本 +% \href{https://github.com/CTeX-org/ctex-kit/blob/master/zhmetrics/CTeXFonts.lua} +% {\file{CTeXFonts.lua}}。}。 % % \item[zhmCJK] 载入 \pkg{zhmCJK} å®åŒ…^^A % \footnote{\pkg{zhmCJK} å®åŒ…基于 \pkg{zhmetrics} å’Œ \pkg{CJK} å®åŒ…,æ供与 @@ -997,8 +1007,7 @@ Copyright and Licence % % \begin{function}[added=2014-03-08]{fontset} % \begin{syntax} -% fontset =^^A -% <none|adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|windowsnew|windowsold|...> +% fontset = <adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none|...> % \end{syntax} % 指定 \CTeX{} å®é›†åŠ 载的å—库。 % @@ -1012,24 +1021,18 @@ Copyright and Licence % \item[adobe] 使用 Adobe å…¬å¸çš„四款ä¸æ–‡å—体,\emph{ä¸æ”¯æŒ \pdfLaTeX}。 % \item[fandol] 使用 Fandol ä¸æ–‡å—体,\emph{ä¸æ”¯æŒ \pdfLaTeX}。 % \item[founder] 使用方æ£å…¬å¸çš„ä¸æ–‡å—体。 -% \item[mac] 使用 Mac OS X 系统下的å—体,\emph{ä¸æ”¯æŒ (pdf)\LaTeX}。 -% \item[macnew] 使用 El Capitan 或之åŽçš„多å—é‡å®‹ä½“ã€è‹¹æ–¹é»‘体。 -% \item[macold] 使用 Yosemite 或之å‰çš„åŽæ–‡å—库。 -% \item[ubuntu] 使用 Ubuntu 系统下的文泉驿和文鼎å—体。 -% \item[windows] 使用简体ä¸æ–‡ Windows 系统下的ä¸æ–‡å—ä½“ï¼Œè‡ªåŠ¨åˆ¤æ– Windows ç³» -% 统版本,采用 |windowsnew| 或 |windowsold| 的设置。 -% \item[windowsnew] 使用简体ä¸æ–‡ Windows Vista 或之åŽç³»ç»Ÿä¸‹çš„ä¸æ˜“å—体和微软 -% 雅黑å—体。 -% \item[windowsold] 使用简体ä¸æ–‡ Windows XP 或之å‰ç³»ç»Ÿä¸‹çš„ä¸æ˜“å—体。 +% \item[mac] 使用 macOS 系统下的å—体,\emph{ä¸æ”¯æŒ \pdfLaTeX}ï¼Œæ ¹æ®ç‰ˆæœ¬åˆ†ä¸º +% |macnew| å’Œ |macold| 两ç§ã€‚ +% \item[macnew] 使用 El Capitan 或之åŽçš„多å—é‡åŽæ–‡å—体和苹方å—体。 +% \item[macold] 使用 Yosemite 或之å‰çš„åŽæ–‡å—体。 +% \item[ubuntu] 使用 Ubuntu 系统下的æ€æºå®‹ä½“ã€æ€æºé»‘体和 \TeX{} å‘行版自带的 +% 文鼎楷体,\emph{ä¸æ”¯æŒ \pdfLaTeX}。 +% \item[windows] 使用 Windows 系统下的ä¸æ˜“å—体和微软雅黑å—体。 +% 当使用 (pdf)\LaTeX{} 编译时,微软雅黑仅在以下两ç§æƒ…形有效: +% 安装有 \pkg{zhmCJK} å®åŒ…且选项 \opt{zhmap=zhmCJK} 时,或者 +% 安装有微软雅黑的 Type1 å—体且选项 \opt{zhmap=false} 时。 % \end{optdesc} % -% 注æ„:使用 (pdf)\LaTeX{} 编译的时候,若设置 \opt{zhmap = false}ï¼ˆæ¯”å¦‚éœ€è¦ -% 使用 \LaTeX{} + Dvips 编译),则需è¦æŒ‰ç…§ä¼ 统方å¼^^A -% \footnote{å¯ä»¥ä½¿ç”¨ \pkg{zhmetrics} å®åŒ…æ供的脚本 -% \href{https://github.com/CTeX-org/ctex-kit/blob/master/zhmetrics/CTeXFonts.lua} -% {\file{CTeXFonts.lua}}。}^^A -% 在本地安装好 CJK å—体。 -% % 如果ä¸æƒ³ä½¿ç”¨ \CTeX{} 预定义的ä¸æ–‡å—库,å¯ä»¥è®¾ç½® \opt{fontset} 为下述值之一。 % % \begin{optdesc} @@ -1043,7 +1046,7 @@ Copyright and Licence % \end{optdesc} % % 注æ„:\emph{如果希望使用 \tn{ctexset} 在导言区指定å—库,则需è¦å…ˆåœ¨å®åŒ…/文档类选项ä¸æŒ‡å®š -% \opt{fontset = none}}。例如: +% \opt{fontset = none}}(这会ç¦ç”¨ \CTeX{} å®é›†çš„æ“作系统检测功能和自动设定å—库功能)。例如: % \begin{ctexexam} % \documentclass[fontset = none]{ctexart} % \ctexset{fontset = founder} @@ -1054,27 +1057,25 @@ Copyright and Licence % \end{ctexexam} % % \CTeX{} å®é›†é¢„定义的ä¸æ–‡å—库还定义了一些å—体命令。除了在 \opt{ubuntu} å—库ä¸æ²¡æœ‰ -% \tn{fangsong} 的定义外,所有å—库都有以下四个å—体命令。 -% +% \tn{fangsong} 的定义外,所有å—库都有以下四个å—体命令: % \begin{optdesc} % \item[\tn{songti}] 宋体,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhsong}|。 % \item[\tn{heiti}] 黑体,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhhei}|。 % \item[\tn{fangsong}] 仿宋,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhfs}|。 % \item[\tn{kaishu}] 楷书,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhkai}|。 % \end{optdesc} -% -% 在 \opt{windows} å’Œ \opt{founder} å—库ä¸ï¼Œé¢å¤–定义了 \tn{lishu} å’Œ \tn{youyuan}。 +% 在 \opt{windows}ã€\opt{founder} å’Œ \opt{macnew} å—库ä¸ï¼Œé¢å¤–定义了 \tn{lishu} +% å’Œ \tn{youyuan}: % \begin{optdesc} % \item[\tn{lishu}] 隶书,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhli}|。 % \item[\tn{youyuan}] 圆体,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhyou}|。 % \end{optdesc} -% 在 \opt{windowsnew} å’Œ \opt{macnew} å—库ä¸ï¼Œè¿˜æœ‰ \tn{yahei}。 -% å…¶ä¸åœ¨ \opt{macnew} å—库ä¸ï¼Œ\tn{yahei} 实际调用苹方黑体。æ¤ä¸¾ä¹ƒæ˜¯ä¸ºäº†æ›´å¥½çš„兼容性而设。 +% 在 \opt{windows} å—库ä¸è¿˜å®šä¹‰äº† \tn{yahei}。出于兼容性的考虑,\tn{yahei} 命令 +% 在 \opt{macnew} å—库ä¸ä¹Ÿæœ‰å®šä¹‰ï¼Œä½†å®žé™…调用苹方黑体: % \begin{optdesc} % \item[\tn{yahei}] 微软雅黑,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhyahei}|。 % \end{optdesc} -% -% 在 \opt{macnew} å—库ä¸ï¼Œè¿˜å®šä¹‰äº† \tn{pingfang}。 +% 在 \opt{macnew} å—库ä¸ï¼Œè¿˜å®šä¹‰äº† \tn{pingfang}: % \begin{optdesc} % \item[\tn{pingfang}] 苹方黑体,CJK ç‰ä»·å‘½ä»¤ |\CJKfamily{zhpf}|。 % \end{optdesc} @@ -1093,9 +1094,10 @@ Copyright and Licence % 本选项å¯ä»¥ç”¨äºŽå››ä¸ª \CTeX{} 文档类和 \pkg{ctex} å®åŒ…, % 也å¯ä»¥ç”¨äºŽ \pkg{ctexsize} å®åŒ…。 % -% \opt{scheme = chinese} æ—¶ï¼Œå¯¹æ ‡å‡†æ–‡æ¡£ç±»é»˜è®¤å€¼ä¸º |5|,å³è®¾ç½® -% \tn{normalsize} 为五å·å—;对 \cls{beamer} 则为 |false|,使用文档类原有的设 -% 置。 +% 该选项的默认值与 \opt{scheme} çš„å–值有关。 +% 当 \opt{scheme = chinese} æ—¶ï¼Œå¯¹æ ‡å‡†æ–‡æ¡£ç±»é»˜è®¤å€¼ä¸º |5|,å³è®¾ç½® +% \tn{normalsize} 为五å·å—;对 \cls{beamer} 则为 |false|,使用文档类原有的设置。 +% 当 \opt{scheme = plain} 时,该选项ä¸è®¾é»˜è®¤å€¼ï¼Œæ²¿ç”¨æ ‡å‡†æ–‡æ¡£ç±»æˆ– \cls{beamer} 的原有设置。 % \end{function} % % \begin{table}[htbp] @@ -1150,8 +1152,7 @@ Copyright and Licence % 本选项åªèƒ½åœ¨è°ƒç”¨ \pkg{ctex.sty} 时作为å®åŒ…选项使用。 % % \CTeX{} å®é›†æä¾›äº†ä¸€å¥—ç”¨äºŽä¿®æ”¹æ–‡æ¡£ç« èŠ‚æ ‡é¢˜æ ¼å¼çš„接å£ã€‚è¯¥é€‰é¡¹ç”¨äºŽé€‰æ‹©æ˜¯å¦ -% å¯ç”¨è¯¥åŠŸèƒ½ã€‚详细的设置方法请å‚è§ -% \ref{sec:secstyle}~节和 \ref{subs:pagestyle}~节。 +% å¯ç”¨è¯¥åŠŸèƒ½ã€‚详细的设置方法请å‚è§ç¬¬ \ref{subs:pagestyle}~节和第 \ref{sec:secstyle}~节。 % \end{function} % % \CTeX{} å®é›†æ供的四个文档类总是å¯ç”¨è¯¥åŠŸèƒ½ã€‚如果在 \pkg{ctex.sty} 下å¯ç”¨è¯¥é€‰é¡¹ï¼Œ @@ -1169,7 +1170,7 @@ Copyright and Licence % çš„æ ¼å¼ã€‚å¯ç”¨ \opt{sub4section} 会将 \tn{paragraph} å’Œ \tn{subparagraph} çš„æ ¼å¼ % 都修改为类似 \tn{section} çš„æ ¼å¼ã€‚ % -% å¯ç”¨è¯¥é€‰é¡¹é€šå¸¸éœ€è¦å°†è®¡æ•°å™¨ |secnumdepth| 的值为设置为 4 或 5。 +% å¯ç”¨è¯¥é€‰é¡¹é€šå¸¸è¿˜éœ€è¦å°†è®¡æ•°å™¨ |secnumdepth| 的值为设置为 4 或 5。 % % å…·ä½“æ ¼å¼å¯å‚考 \ref{sec:secstyle}~节ä¸çš„ \opt{runin} å’Œ \opt{afterskip} 选项。 % @@ -1185,7 +1186,7 @@ Copyright and Licence % \begin{syntax} % scheme = <(chinese)|plain> % \end{syntax} -% é€‰æ‹©æ–‡ç« çš„æŽ’ç‰ˆæ–¹æ¡ˆï¼Œé¢„è®¾æœ‰ \opt{chinese} å’Œ \opt{plain} 两ç§æ–¹æ¡ˆã€‚% +% é€‰æ‹©æ–‡ç« çš„æŽ’ç‰ˆæ–¹æ¡ˆï¼Œé¢„è®¾æœ‰ \opt{chinese} å’Œ \opt{plain} 两ç§æ–¹æ¡ˆã€‚ % \end{function} % \begin{optdesc}[itemsep=\medskipamount] % \item[chinese] 对 \cls{beamer} 以外的文档类,调整默认å—å·ä¸ºäº”å·å—,并调 @@ -1224,14 +1225,14 @@ Copyright and Licence % \begin{syntax} % space = <\TF|(auto)> % \end{syntax} -% 是å¦åœ¨ç”Ÿæˆçš„ PDF ä¸ä¿ç•™æ±‰å—åŽé¢çš„ç©ºæ ¼ã€‚ +% 是å¦åœ¨ç”Ÿæˆçš„ PDF ä¸ä¿ç•™æ±‰å—åŽé¢çš„ç©ºæ ¼ã€‚è¯¥é€‰é¡¹ä»…åœ¨ä½¿ç”¨ \XeLaTeX{}/(pdf)\LaTeX{} 编译时有效。 % \end{function} % % \begin{optdesc} % \item[true] 总是ä¿ç•™æ±‰å—åŽçš„ç©ºæ ¼ã€‚æ¤æ—¶ï¼Œç”¨æˆ·éœ€è¦è‡ªè¡Œåœ¨è¡Œå°¾åŠ 上~|%|~处ç†æ¢è¡Œäº§ç”Ÿ % çš„ç©ºæ ¼\footnote{\LaTeX{} å°†å•ä¸ªæ¢è¡Œè§†ä½œä¸€ä¸ªç©ºæ ¼ã€‚}。 -% \item[false] 总是忽略掉汉å—åŽé¢çš„ç©ºæ ¼ï¼Œä¸è®ºæ±‰å—åŽæ˜¯ä»€ä¹ˆï¼ˆä½¿ç”¨ (pdf)\LaTeX{} -% 编译时);ç‰åŒäºŽ \opt{auto} 的效果(使用 \XeLaTeX{} 编译时)。ä¸å»ºè®®ä½¿ç”¨è¯¥é€‰é¡¹ã€‚ +% \item[false] 使用 (pdf)\LaTeX{} 编译时:总是忽略掉汉å—åŽé¢çš„ç©ºæ ¼ï¼Œä¸è®ºæ±‰å—åŽæ˜¯ä»€ä¹ˆï¼› +% 使用 \XeLaTeX{} 编译时,ç‰åŒäºŽ \opt{auto} 的效果。ä¸å»ºè®®ä½¿ç”¨è¯¥é€‰é¡¹ã€‚ % \item[auto] æ ¹æ®ç©ºæ ¼åŽé¢çš„情况决定是å¦ä¿ç•™ï¼šå¦‚æžœç©ºæ ¼åŽé¢æ˜¯æ±‰å—,则忽略该 % ç©ºæ ¼ï¼Œå¦åˆ™ä¿ç•™ã€‚ % \end{optdesc} @@ -1278,8 +1279,10 @@ Copyright and Licence % \begin{optdesc} % \item[\meta{数值或带å•ä½çš„数值}] 用于设置段首缩进的长度。如果ä¸å¸¦å•ä½ï¼Œåˆ™é»˜è®¤ % å•ä½æ˜¯å•ä¸ªæ±‰å—å—宽 \tn{ccwd};如果带å•ä½ï¼Œåˆ™ä½¿ç”¨è¯¥å•ä½ã€‚ +% è‹¥è¦æ˜¾å¼ä½¿ç”¨ \tn{ccwd} 为å•ä½ï¼Œåˆ™å¿…须在导言区进行设置。 % -% \item[true] ç‰ä»·äºŽè®¾ç½® \opt{autoindent = 2}。 +% \item[true] ç‰ä»·äºŽè®¾ç½® \opt{autoindent = 2} 或 +% 在导言区设置 \opt{autoindent = 2\tn{ccwd}}。 % % \item[false] ç¦ç”¨è‡ªåŠ¨è°ƒæ•´åŠŸèƒ½ï¼Œå¯ä»¥è®¾ç½®å›ºå®šé•¿åº¦çš„段首缩进。如设置æ¯æ®µç¼©è¿› 40 点: % \begin{ctexexam} @@ -1315,7 +1318,7 @@ Copyright and Licence % \subsection{日期汉化} % % \CTeX å®åŒ…对显示当å‰æ—¥æœŸçš„ \tn{today} 命令进行了汉化,使之以ä¸æ–‡çš„æ–¹å¼æ˜¾ç¤ºä»Š -% 天的日期。如编译本文档的日期就是“\todayâ€ã€‚ +% 天的日期。如本文档编译时的日期是“\todayâ€ã€‚ % % \begin{function}[EXP]{today} % \begin{syntax} @@ -1329,6 +1332,7 @@ Copyright and Licence % 效果为“\todayâ€ã€‚使用全汉å—çš„æ—¥æœŸæ ¼å¼ã€‚ % \item[old] \ctexset{today=old} % 效果为“\todayâ€ã€‚使用文档原æ¥çš„ï¼ˆè‹±æ–‡ï¼‰æ—¥æœŸæ ¼å¼ã€‚ +% \ctexset{today=small} ^^A NOTE(Liam): å¤åŽŸè®¾å®šæ˜¯å¥½ä¹ 惯。 % \end{optdesc} % \end{function} % @@ -1343,7 +1347,7 @@ Copyright and Licence % \subsection{æ–‡æ¡£æ ‡é¢˜æ±‰åŒ–} % \label{subs:capname} % -% 这里主è¦ä»‹ç»ç”±å®åŒ… \opt{scheme} 选项(\ref{subs:options-type-style}~节)控制 +% 这里主è¦ä»‹ç»ç”± \opt{scheme} 选项(\ref{subs:options-type-style}~节)控制 % çš„æ–‡æ¡£æ ‡é¢˜æ±‰åŒ–åŠŸèƒ½ã€‚ % % è®¾ç½®æ–‡æ¡£æ ‡é¢˜å的示例å¯è§ä¾‹~\ref{exam:capname}。下é¢çš„选项(如 @@ -1413,8 +1417,16 @@ Copyright and Licence % \begin{syntax} % bibname = <åå—> % \end{syntax} -% 设置å‚è€ƒæ–‡çŒ®æ ‡é¢˜å \tn{refname}(对 \cls{article})或 \tn{bibname}(对 -% \cls{report}ã€\cls{book} å’Œ \cls{beamer})。ä¸æ–‡é»˜è®¤ä¸ºâ€œ\refnameâ€ã€‚ +% 设置å‚è€ƒæ–‡çŒ®æ ‡é¢˜å。ä¸æ–‡é»˜è®¤ä¸ºâ€œ\refnameâ€ã€‚ +% +% åœ¨æ ‡å‡†æ–‡æ¡£ç±»ä¸ \cls{article} çš„å‚考文献åä½¿ç”¨å® \tn{refname},而 +% \cls{book} å’Œ \cls{report} ä½¿ç”¨å® \tn{bibname}ã€‚æœ¬é€‰é¡¹ä¼šæ ¹æ®æ ‡å‡†æ–‡æ¡£ç±»çš„ä¸åŒï¼Œè‡ªåŠ¨ +% 设定 \tn{refname} 或是 \tn{bibname}ã€‚å› æ¤ï¼Œå¯¹äºŽæ ‡å‡†æ–‡æ¡£ç±»åŠå¯¹åº”çš„ \CTeX{} 文档类 +% å¯ä»¥ç»Ÿä¸€åœ°ä½¿ç”¨ \opt{bibname} 选项æ¥æŽ§åˆ¶å‚è€ƒæ–‡çŒ®æ ‡é¢˜å。 +% +% 对于 \cls{beamer} åŠå¯¹åº”çš„ \cls{ctexbeamer} æ¥è¯´ï¼Œå®ƒä»¬åŒæ—¶å…·æœ‰å® \tn{bibname} å’Œ +% å® \tn{refname}。本选项仅控制其ä¸çš„ \tn{bibname}ï¼› +% \tn{refname} 则交由 \opt{refname} 选项控制。 % \end{function} % % \begin{function}[EXP]{proofname} @@ -1433,6 +1445,10 @@ Copyright and Licence % refname = <åå—> % \end{syntax} % 设置å‚è€ƒæ–‡çŒ®æ ‡é¢˜å \tn{refname}。ä¸æ–‡é»˜è®¤ä¸ºâ€œ\refnameâ€ã€‚ +% +% 注æ„ï¼Œä¸‰ä¸ªæ ‡å‡†æ–‡æ¡£ç±»ï¼ˆåŠç›¸åº”çš„ \CTeX{} 文档类)的å‚è€ƒæ–‡çŒ®æ ‡é¢˜åç”± \opt{bibname} 选项 +% 统一设置,本选项仅适用于 \cls{beamer} åŠå…¶å¯¹åº”çš„ \cls{ctexbeamer}。 +% åœ¨ä¸‰ä¸ªæ ‡å‡†æ–‡æ¡£ç±»ï¼ˆåŠç›¸åº”çš„ \CTeX{} 文档类)ä¸ä½¿ç”¨ \opt{refname} 选项会报错。 % \end{function} % % \begin{function}[EXP]{algorithmname} @@ -1455,8 +1471,10 @@ Copyright and Licence % \subsection{页é¢æ ¼å¼è®¾ç½®ä¸Žæ±‰åŒ–} % \label{subs:pagestyle} % -% 当使用了 \CTeX 的文档类或是用 \pkg{ctex} å®åŒ…åŠ è½½äº† \opt{heading} 选项时,会 -% 设置整个文档的页é¢æ ¼å¼ï¼ˆpage style)为 |headings|,å³ç›¸å½“于设置了 +% 页é¢æ ¼å¼è®¾ç½®ä¸Žæ±‰åŒ–的功能(åŠç« èŠ‚æ ‡é¢˜æ ·å¼è®¾ç½®åŠŸèƒ½ï¼Œè§ç¬¬ \ref{sec:secstyle} 节)^^A +% ç”± \pkg{ctexheading} å®åŒ…完æˆã€‚åŠ è½½è¯¥å®åŒ…时,或者使用 \CTeX{} 文档类时,^^A +% 或者是使用 \pkg{ctex} å®åŒ…并设定选项 \opt{heading = true} 时,相关功能被激活。 +% æ¤æ—¶ï¼Œæ•´ä¸ªæ–‡æ¡£çš„页é¢æ ¼å¼ï¼ˆpage style)被设定为 |headings|,å³ç›¸å½“于设置了 % \begin{frameverb} % \pagestyle{headings} % \end{frameverb} @@ -1481,7 +1499,7 @@ Copyright and Licence % \tn{chaptermark}ã€\tn{sectionmark} ä¸è°ƒç”¨ \tn{markright} 或 \tn{markboth} 生 % æˆçš„。 % \end{itemize} -% 有关 \LaTeX 页é¢æ ‡è®°çš„涵义与使用细节,已ç»è¶…出了本文档讨论的范围。å¯ä»¥å‚考 +% 有关 \LaTeX 页é¢æ ‡è®°çš„å«ä¹‰ä¸Žä½¿ç”¨ç»†èŠ‚,已ç»è¶…出了本文档讨论的范围。å¯ä»¥å‚考 % \cite[Chapter~23]{knuthtex1986}ã€\cite[\S4.3, \S4.4]{mittelbach2004} ç‰ä¹¦ç±ã€‚ % % 这里举一个例å,说明通过é‡å®šä¹‰ \tn{sectionmark},在 \cls{ctexart} 文档类ä¸çš„ @@ -1548,41 +1566,50 @@ Copyright and Licence % \smallskip\hrule % \end{trivlist} % -% \section{ç« èŠ‚æ ‡é¢˜æ ¼å¼è®¾ç½®} +% \section{ç« èŠ‚æ ‡é¢˜æ ·å¼è®¾ç½®} % \label{sec:secstyle} % -% \CTeX å®åŒ…对 \LaTeX çš„æ ‡å‡†æ–‡æ¡£ç±»ï¼ˆ\cls{article}ã€\cls{report} å’Œ -% \cls{book})和 \cls{beamer} 进行了扩充。当以 \opt{heading} 选项调用 \CTeX -% å®åŒ…时(\ref{subs:options-heading}~节),则会å¯ç”¨ç« -% èŠ‚æ ‡é¢˜çš„æ ¼å¼è®¾ç½®åŠŸèƒ½ã€‚本节就æ¥ä»‹ç»æœ‰å…³ç« èŠ‚æ ‡é¢˜çš„æ ¼å¼é€‰é¡¹ï¼Œæ‰€æœ‰é€‰é¡¹ä½¿ç”¨ -% \tn{ctexset} 命令设置。 +% \CTeX{} å®é›†å¯¹ \LaTeX{} çš„æ ‡å‡†æ–‡æ¡£ç±»ï¼ˆ\cls{article}ã€\cls{report}〠+% \cls{book})和 \cls{beamer} è¿›è¡Œäº†ç« èŠ‚æ ‡é¢˜æ ·å¼è®¾ç½®åŠŸèƒ½çš„扩充。 +% ç« èŠ‚æ ‡é¢˜æ ·å¼è®¾ç½®åŠŸèƒ½ï¼ˆåŠé¡µé¢æ ¼å¼è®¾ç½®ä¸Žæ±‰åŒ–功能,è§ç¬¬ \ref{subs:pagestyle} 节)^^A +% ç”± \pkg{ctexheading} å®åŒ…完æˆã€‚åŠ è½½è¯¥å®åŒ…时,或者使用 \CTeX{} 文档类时,^^A +% 或者是使用 \pkg{ctex} å®åŒ…并设定选项 \opt{heading = true} 时,相关功能被激活。 +% å…¶ä¸ï¼Œç‹¬ç«‹ä½¿ç”¨ \pkg{ctexheading} å®åŒ…时,本节介ç»å„选项的默认值与指定 +% \opt{scheme = plain} 时相åŒã€‚ % -% 第 \ref{subs:pagestyle} 节和本节介ç»çš„功能已ç»è¢«æå–到 \pkg{ctexheading} -% å®åŒ…之ä¸ï¼Œå¯ä»¥åœ¨ \pkg{ctex} å®åŒ…å’Œ \cls{ctexart} ç‰æ–‡æ¡£ç±»ä¹‹å¤–独立使用。 -% å„选项的默认值与 \opt{scheme = plain} 时的情形相åŒã€‚ +% 本节涉åŠçš„所有选项å‡éœ€ä½¿ç”¨ \tn{ctexset} 命令设置。 % % \changes{v2.0}{2015/03/21}{\tn{CTEXsetup}, \tn{CTEXoptions} 是过时命令。} -% ç« èŠ‚æ ‡é¢˜çš„æ ¼å¼é€‰é¡¹æ˜¯åˆ†å±‚è®¾ç½®çš„ã€‚é¡¶å±‚çš„é€‰é¡¹æ˜¯ç« èŠ‚æ ‡é¢˜åç§°ï¼Œæ¬¡ä¸€çº§çš„é€‰é¡¹æ˜¯ç« èŠ‚ -% æ ‡é¢˜çš„æ ¼å¼ã€‚ç« èŠ‚æ ‡é¢˜å包括 |part|, |chapter|, |section|, |subsection|, -% |subsubsection|, |paragraph|, |subparagraph|;而å¯ç”¨çš„æ ¼å¼åŒ…括 \opt{numbering}, -% \opt{name}, \opt{number}, \opt{format}, \opt{nameformat}, \opt{numberformat}, -% \opt{aftername}, \opt{titleformat}, \opt{aftertitle}, \opt{runin}, -% \opt{afterindent}, \opt{beforeskip}, \opt{afterskip}, \opt{fixskip}, -% \opt{lotskip}, \opt{lofskip}, \opt{indent}, \opt{hang}, -% \opt{pagestyle}, \opt{break}, \opt{tocline} ç‰ã€‚ +% +% ç« èŠ‚æ ‡é¢˜çš„æ ·å¼é€‰é¡¹æ˜¯åˆ†å±‚è®¾ç½®çš„ã€‚é¡¶å±‚çš„é€‰é¡¹æ˜¯ç« èŠ‚æ ‡é¢˜å称(例如 |section|), +% æ¬¡ä¸€å±‚çš„é€‰é¡¹æ˜¯ç« èŠ‚æ ‡é¢˜çš„æ ·å¼ï¼ˆä¾‹å¦‚ \opt{nameformat}ï¼‰ã€‚ç« èŠ‚æ ‡é¢˜å称包括 +% |part|, |chapter|, |section|, |subsection|, |subsubsection|, |paragraph|, +% |subparagraph|。å¯ç”¨çš„æ ·å¼é€‰é¡¹åŒ…括: +% \begin{itemize} +% \item ç¼–å·ç›¸å…³ï¼ˆ\ref{subsec:sec-number}~å°èŠ‚): +% \opt{numbering}, \opt{name}, \opt{number} +% \item æ ¼å¼ç›¸å…³ï¼ˆ\ref{subsec:sec-format}~å°èŠ‚): +% \opt{format}, \opt{nameformat}, \opt{numberformat}, \opt{titleformat}, +% \opt{aftername}, \opt{aftertitle}, \opt{pagestyle} +% \item é—´è·ã€ç¼©è¿›ç›¸å…³ï¼ˆ\ref{subsec:sec-spacing}~å°èŠ‚): +% \opt{runin}, \opt{hang}, \opt{indent}, \opt{beforeskip}, \opt{afterskip}, +% \opt{fixskip}, \opt{break}, \opt{afterindent} +% \item 目录ã€é™„录相关(\ref{subsec:sec-toc-appendix}~å°èŠ‚): +% \opt{tocline}, \opt{lofskip}, \opt{lotskip}, \opt{appendix/numbering}, +% \opt{appendix/name}, \opt{appendix/number} +% \end{itemize} % % 注æ„,对 \cls{article} åŠå…¶è¡ç”Ÿçš„ \cls{ctexart} ç‰æ–‡æ¡£ç±»ï¼Œæ²¡æœ‰ |chapter| -% çº§åˆ«çš„æ ‡é¢˜ã€‚è€Œå¯¹äºŽ \cls{beamer} 文档类,这些选项控制的是由 \tn{partpage}, -% \tn{sectionpage} å’Œ \tn{subsectionpage} äº§ç”Ÿçš„æ ‡é¢˜æ ¼å¼ï¼Œæ¤æ—¶åªæœ‰ |part|, +% çº§åˆ«çš„æ ‡é¢˜ï¼›è€Œå¯¹äºŽ \cls{beamer} 文档类,这些选项控制的是由 \tn{partpage}, +% \tn{sectionpage} å’Œ \tn{subsectionpage} äº§ç”Ÿçš„æ ‡é¢˜æ ·å¼ï¼Œæ¤æ—¶åªæœ‰ |part|, % |section| å’Œ |subsection| 这三层级别,并且 \opt{runin}, \opt{afterindent}, -% \opt{fixskip}, \opt{hang}, \opt{break} å’Œ \opt{tocline} è¿™å…ä¸ªæ ¼å¼æ— 效。 +% \opt{fixskip}, \opt{hang}, \opt{break} å’Œ \opt{tocline} è¿™å…ä¸ªé€‰é¡¹æ— æ•ˆã€‚ % -% 多级选项之间用斜线分开,例如,\opt{part/name} 选项设置 \tn{part} æ ‡é¢˜çš„åœ¨æ•° +% 多层选项之间用斜线分开,例如,\opt{part/name} 选项设置 \tn{part} æ ‡é¢˜çš„åœ¨æ•° % å—å‰åŽçš„å称,而 \opt{section/number} 选项设置 \tn{section} æ ‡é¢˜çš„æ•°å—类型。 -% 注æ„,斜线 |/| å‰åŽä¸èƒ½æœ‰ç©ºæ ¼æˆ–者æ¢è¡Œã€‚ -% -% 使用 \tn{ctexset} 设置多级选项时,å¯ä»¥åœ¨åŒä¸€ä¸ªä¸Šçº§é€‰é¡¹ä¸‹è®¾ç½®å¤šä¸ªä¸‹çº§é€‰é¡¹ã€‚ +% 注æ„,斜线 |/| çš„å‰åŽä¸èƒ½æœ‰ç©ºæ ¼æˆ–者æ¢è¡Œã€‚ % +% 使用 \tn{ctexset} 设置多级选项时,还å¯ä»¥åœ¨åŒä¸€ä¸ªä¸Šçº§é€‰é¡¹ä¸‹è®¾ç½®å¤šä¸ªä¸‹çº§é€‰é¡¹ã€‚ % 例如,åŒæ—¶è®¾ç½® |part| ä¸€çº§æ ‡é¢˜çš„ \opt{pagestyle} 选项,|chapter| ä¸€çº§æ ‡é¢˜çš„ % \opt{format} 与 \opt{pagestyle} 选项和 |section| ä¸€çº§æ ‡é¢˜çš„ \opt{name} 与 % \opt{number} 选项: @@ -1600,32 +1627,55 @@ Copyright and Licence % } % \end{ctexexam} % +% \subsection{ç¼–å·ç›¸å…³} +% \label{subsec:sec-number} +% % \begin{function}[EXP,added=2015-06-21]{part/numbering, chapter/numbering, % section/numbering, subsection/numbering, subsubsection/numbering, % paragraph/numbering, subparagraph/numbering} % \begin{syntax} % numbering = \TTF % \end{syntax} -% 控制是å¦å¯¹ç« èŠ‚æ ‡é¢˜ç¼–å·ã€‚对å„çº§æ ‡é¢˜çš„é»˜è®¤å€¼å‡ä¸º \opt{true}。 +% 控制是å¦å¯¹\emph{ä¸å¸¦æ˜Ÿå·}çš„ç« èŠ‚æ ‡é¢˜è¿›è¡Œç¼–å·ã€‚ +% å„çº§æ ‡é¢˜çš„é»˜è®¤å€¼å‡ä¸º \opt{true}。 +% +% \LaTeX{} æ ‡å‡†çš„ç« èŠ‚æ ‡é¢˜å‘½ä»¤ï¼ˆå¦‚ \tn{section})大体上完æˆå››é¡¹å·¥ä½œï¼š +% è¾“å‡ºæ ‡é¢˜å†…å®¹ã€å¯¹æ ‡é¢˜ç¼–å·ï¼ˆè®¡æ•°å™¨å¢žåŠ 1)ã€å°†æ ‡é¢˜åˆ—入目录(若调用了 +% \pkg{hyperref} å®åŒ…è¿˜ä¼šæ·»åŠ PDF 书ç¾ï¼‰ã€æ›´æ–°é¡µçœ‰é¡µè„šæ ‡è®°ã€‚带星å·çš„ +% ç« èŠ‚æ ‡é¢˜å‘½ä»¤ï¼ˆå¦‚ \tn{section*})åªç®€å•åœ°è¾“å‡ºç« èŠ‚æ ‡é¢˜å†…å®¹ï¼Œä½†ä¸å¯¹æ ‡é¢˜ç¼–å·ï¼Œ +% ä¸å°†æ ‡é¢˜åˆ—入目录或 PDF 书ç¾ï¼Œä¹Ÿä¸å†™å…¥é¡µçœ‰é¡µè„šæ ‡è®°ã€‚与之ä¸åŒçš„是, +% 本选项仅仅是å¦å¯¹\emph{ä¸å¸¦æ˜Ÿå·}çš„ç« èŠ‚æ ‡é¢˜è¿›è¡Œç¼–å·ã€‚å› æ¤ï¼Œå½“设置本选项为 +% \opt{false} 时,除了ä¸å¯¹æ ‡é¢˜ç¼–å·ä»¥å¤–,其余功能与æ£å¸¸æ ‡é¢˜ä¸€è‡´ï¼šå¯ä»¥ +% 编入目录,并生æˆæ£ç¡®çš„ \pkg{hyperref} 目录超链接ä½ç½®å’Œé¡µçœ‰é¡µè„šæ ‡è®°ã€‚例如: +% \begin{ctexexam} +% \documentclass{ctexbook} +% \begin{document} +% \tableofcontents +% \chapter{A} +% \chapter*{B} +% \ctexset{chapter/numbering=false} +% \chapter{C} +% \end{document} +% \end{ctexexam} +% ä¸‰ç« çš„æ ‡é¢˜åˆ†åˆ«ä¸ºâ€œç¬¬ä¸€ç« \quad Aâ€ã€â€œBâ€å’Œâ€œCâ€ï¼Œä½†åœ¨ç›®å½•ä¸åˆ™åªå‡ºçŽ° +% â€œç¬¬ä¸€ç« \quad Aâ€å’Œâ€œCâ€ã€‚ % -% 我们知é“,\LaTeX{} 带星å·çš„ç« èŠ‚æ ‡é¢˜å‘½ä»¤ï¼ˆå¦‚ \tn{section*})ä¸ä¼šå¯¹æ ‡é¢˜ç¼–å·ï¼Œ -% 但也ä¸ä¼šå°†è¯¥æ²¡ç¼–å·çš„æ ‡é¢˜ç¼–å…¥ç›®å½•ä¸ã€‚本选项控制的是ä¸å¸¦æ˜Ÿå·çš„æ ‡é¢˜å‘½ä»¤æ˜¯å¦ç¼–å·ã€‚ -% 设置本选项为 \opt{false},除了ä¸å¯¹æ ‡é¢˜ç¼–å·ä»¥å¤–,功能与æ£å¸¸æ ‡é¢˜ä¸€è‡´ï¼Œ -% 比如å¯ä»¥ç¼–目录,æ£ç¡®çš„ \pkg{hyperref} 目录超链接ä½ç½®å’Œé¡µçœ‰æ ‡è®°ã€‚ +% 注æ„ï¼Œç« èŠ‚æ ‡é¢˜æ˜¯å¦ç¼–å·è¿˜è¦å—到 \LaTeX{} 计数器 |secnumdepth| 的控制。 +% 例如,对于 |section| 而言,其深度为 1ã€‚å› æ¤ï¼Œ|section| 会被编å·ï¼Œå½“且仅当 +% |secnumdepth| ä¸å°äºŽ 1,并且 \opt{section/numbering} 为 \opt{true}, +% 并且使用ä¸å¸¦æ˜Ÿå·çš„ç« èŠ‚æ ‡é¢˜å‘½ä»¤ï¼ˆå³ \tn{section})。 % -% 注æ„ï¼Œç« èŠ‚æ ‡é¢˜çš„ç¼–å·æ·±åº¦å— \LaTeX{} 计数器 |secnumdepth| 的控制。 -% \opt{numbering} 选项在 |secnumdepth| 的控制下起作用。 +% 如果没有特别说明,以下将用 “|...|†代表å„çº§ç« èŠ‚æ ‡é¢˜å。 % \end{function} % -% 如果没有特别说明,以下将用 “|...|†代表å„çº§ç« èŠ‚æ ‡é¢˜å。 -% % \begin{function}[EXP,updated=2014-03-08]{.../name} % \begin{syntax} % name = \{<å‰åå—>,<åŽåå—>\} % name = \Arg{å‰åå—} % \end{syntax} -% è®¾ç½®ç« èŠ‚çš„åå—。åå—å¯ä»¥åˆ†ä¸ºå‰åŽä¸¤éƒ¨åˆ†ï¼Œå³ç« 节编å·å‰åŽçš„è¯è¯ï¼Œä¸¤ä¸ªè¯ä¹‹é—´ç”¨ -% 一个åŠè§’逗å·åˆ†å¼€ï¼›ä¹Ÿå¯ä»¥åªæœ‰ä¸€éƒ¨åˆ†ï¼Œè¡¨ç¤ºåªæœ‰ç« 节编å·ä¹‹å‰çš„åå—。例如: +% è®¾ç½®ç« èŠ‚çš„åå—ã€‚æ‰€è°“â€œç« èŠ‚çš„åå—â€ï¼Œå¯ä»¥åˆ†ä¸ºå‰åŽä¸¤éƒ¨åˆ†ï¼Œå³ç« 节编å·å‰åŽçš„ +% è¯è¯ï¼Œä¸¤ä¸ªè¯ä¹‹é—´ç”¨ä¸€ä¸ªåŠè§’逗å·åˆ†å¼€ï¼›ä¹Ÿå¯ä»¥åªæœ‰ä¸€éƒ¨åˆ†ï¼Œè¡¨ç¤ºåªæœ‰ç« 节编å·ä¹‹å‰ +% çš„åå—。例如: % \begin{ctexexam} % \ctexset{ % chapter/name = {第,ç« }, @@ -1633,30 +1683,32 @@ Copyright and Licence % } % \end{ctexexam} % 会使得 \tn{chapter} æ ‡é¢˜ä½¿ç”¨å½¢å¦‚â€œç¬¬ä¸€ç« â€çš„åå—,而 \tn{section} æ ‡é¢˜åˆ™ä½¿ -% 用形如“\S1â€çš„åå—。 +% 用形如“\S1â€çš„åå—。该选项的默认设置è§è¡¨~\ref{tab:name-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{name} 选项的默认设置} -% \begin{tabular}{llll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} & 注 \\ -% \midrule -% part & |{第,部分}| & |{\partname\space}| & 原 \tn{partname} 为 Part \\ -% chapter & |{第,ç« }| & |{\chaptername\space}| -% & 原 \tn{chaptername} 为 Chapter \\ -% section (beamer) & |{}| & |{\sectionname\space}| -% & \BSTACK 原 \tn{sectionname} 为\\ |\translate{Section}| \ESTACK \\ -% section & åŒå³ & |{}| & \\ -% subsection (beamer) & |{}| & |{\subsectionname\space}| -% & \BSTACK 原 \tn{subsectionname} 为\\ |\translate{Subsection}| \ESTACK \\ -% subsection & åŒå³ & |{}| & \\ -% subsubsection & åŒå³ & |{}| & \\ -% paragraph & åŒå³ & |{}| & \\ -% subparagraph & åŒå³ & |{}| & \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \caption{\opt{name} 选项的默认设置} +% \label{tab:name-default} +% \begin{tabular}{llll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} & 注 \\ +% \midrule +% part & |{第,部分}| & |{\partname\space}| & 原 \tn{partname} 为 Part \\ +% chapter & |{第,ç« }| & |{\chaptername\space}| +% & 原 \tn{chaptername} 为 Chapter \\ +% section (beamer) & |{}| & |{\sectionname\space}| +% & \BSTACK 原 \tn{sectionname} 为\\ |\translate{Section}| \ESTACK \\ +% section & åŒå³ & |{}| & \\ +% subsection (beamer) & |{}| & |{\subsectionname\space}| +% & \BSTACK 原 \tn{subsectionname} 为\\ |\translate{Subsection}| \ESTACK \\ +% subsection & åŒå³ & |{}| & \\ +% subsubsection & åŒå³ & |{}| & \\ +% paragraph & åŒå³ & |{}| & \\ +% subparagraph & åŒå³ & |{}| & \\ +% \bottomrule +% \end{tabular} % \end{table} % % \begin{function}[EXP]{.../number} @@ -1664,118 +1716,132 @@ Copyright and Licence % number = \Arg{æ•°å—输出命令} % \end{syntax} % è®¾ç½®ç« èŠ‚ç¼–å·çš„æ•°å—è¾“å‡ºæ ¼å¼ã€‚\meta{æ•°å—输出命令} é€šå¸¸æ˜¯å¯¹åº”ç« èŠ‚ç¼–å·è®¡æ•°å™¨çš„ -% 输出命令,如 \tn{thesection} 或 |\chinese{chapter}| 之类。 +% 输出命令,如 \tn{thesection} 或 |\chinese{chapter}| 之类。例如: % \begin{ctexexam} % \ctexset{ % section/number = \Roman{section} % } % \end{ctexexam} -% \end{function} +% 将会使 \tn{section} çš„ç¼–å·å˜ä¸ºå¤§å†™ç½—马数å—(如 Iã€II ç‰ï¼‰ã€‚ % -% \opt{number} 选项的定义åŒæ—¶å°†æŽ§åˆ¶å¯¹ç« 节计数器的交å‰å¼•ç”¨ã€‚在引用计数器时, +% \opt{number} 选项定义的åŒæ—¶å°†æŽ§åˆ¶å¯¹ç« 节计数器的交å‰å¼•ç”¨ã€‚在引用计数器时, % 记录在 \LaTeX{} 辅助文件ä¸çš„是 \opt{number} 选项的定义。 % % 但是,\opt{number} 选项ä¸ä¼šå½±å“计数器本身的输出。å³è®¾ç½® |section/number| -% ä¸ä¼šå½±å“ \tn{thesection} çš„å®šä¹‰ã€‚ï¼ˆä½†è¯¥é€‰é¡¹ä¼šå½±å“ \tn{CTEXthesection} 的定 -% 义,è§åŽã€‚) +% ä¸ä¼šå½±å“ \tn{thesection} çš„å®šä¹‰ï¼ˆä½†è¯¥é€‰é¡¹ä¼šå½±å“ \tn{CTEXthesection} 的定 +% 义,è§åŽï¼‰ã€‚该选项的默认设置è§è¡¨~\ref{tab:number-default}。 +% \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{number} 选项的默认设置} -% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} -% \begin{tabular}{llll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} -% & 原 |\the|\meta{æ ‡é¢˜} ç‰ä»·å®šä¹‰ \\ -% \midrule -% part (beamer) & |\chinese{part}| & |\insertromanpartnumber| & æ„义为 |\Roman{part}| \\ -% part & |\chinese{part}| & |\thepart| & |\Roman{part}| \\ -% chapter & |\chinese{chapter}| & |\thechapter| & |\arabic{chapter}| \\ -% section (beamer) & åŒå³ & |\insertsectionnumber| & æ„义为 |\arabic{section}| \\ -% section & åŒå³ & |\thesection| & |\arabic{section}| \\ -% subsection (beamer) -% & \BSTACK |\arabic{section}.|\\ |\arabic{subsection}| \ESTACK -% & |\insertsubsectionnumber| & æ„义为 |\arabic{subsection}| \\ -% subsection & åŒå³ & |\thesubsection| & |\thesection.\arabic{subsection}| \\ -% subsubsection & åŒå³ & |\thesubsubsection| -% & |\thesubsection.\arabic{subsubsection}| \\ -% paragraph & åŒå³ & |\theparagraph| -% & |\thesubsubsection.\arabic{paragraph}| \\ -% subparagraph & åŒå³ & |\thesubparagraph| -% & |\theparagraph.\arabic{subparagraph}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{number} 选项的默认设置} +% \label{tab:number-default} +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \begin{tabular}{llll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} +% & 原 |\the|\meta{æ ‡é¢˜} ç‰ä»·å®šä¹‰ \\ +% \midrule +% part (beamer) & |\chinese{part}| & |\insertromanpartnumber| & æ„义为 |\Roman{part}| \\ +% part & |\chinese{part}| & |\thepart| & |\Roman{part}| \\ +% chapter & |\chinese{chapter}| & |\thechapter| & |\arabic{chapter}| \\ +% section (beamer) & åŒå³ & |\insertsectionnumber| & æ„义为 |\arabic{section}| \\ +% section & åŒå³ & |\thesection| & |\arabic{section}| \\ +% subsection (beamer) +% & \BSTACK |\arabic{section}.|\\ |\arabic{subsection}| \ESTACK +% & |\insertsubsectionnumber| & æ„义为 |\arabic{subsection}| \\ +% subsection & åŒå³ & |\thesubsection| & |\thesection.\arabic{subsection}| \\ +% subsubsection & åŒå³ & |\thesubsubsection| +% & |\thesubsection.\arabic{subsubsection}| \\ +% paragraph & åŒå³ & |\theparagraph| +% & |\thesubsubsection.\arabic{paragraph}| \\ +% subparagraph & åŒå³ & |\thesubparagraph| +% & |\theparagraph.\arabic{subparagraph}| \\ +% \bottomrule +% \end{tabular} % \end{table} % -% \begin{function}{\CTEXthepart, \CTEXthechapter, \CTEXthesection, -% \CTEXthesubsection, \CTEXthesubsubsection, \CTEXtheparagraph, -% \CTEXthesubparagraph} -% 以 |\CTEXthe| 开头的这组å®ç»™å‡ºç»“åˆäº† \opt{name} 与 \opt{number} é€‰é¡¹çš„ç« èŠ‚ -% ç¼–å·è¾“å‡ºæ ¼å¼ã€‚例如在 \opt{scheme = chinese} æ—¶ï¼Œé»˜è®¤ç« ç¼–å·è¾“å‡ºæ ¼å¼å°±æ˜¯ -% \tn{CTEXthechapter}ï¼Œå½¢å¦‚â€œç¬¬ä¸€ç« â€ã€‚ -% -% 这组å®åœ¨ \CTeX 文档类ä¸å°†ä»£æ›¿ \tn{thechapter} ç‰å®çš„ä½œç”¨ï¼Œåœ¨ç« èŠ‚ä¸å¼•ç”¨æœ¬ç« -% 节的完整编å·ã€‚ä¾‹å¦‚ç”¨äºŽå¸®åŠ©å®šä¹‰è‡ªå®šä¹‰çš„ç›®å½•æ ¼å¼ã€é¡µçœ‰æ ¼å¼ç‰ã€‚ -% \end{function} -% -% \begin{function}[added=2016-09-18]{\CTEXifname} -% \begin{syntax} -% \tn{CTEXifname} \Arg{有åå—æ—¶çš„æ ¼å¼å‘½ä»¤} \Arg{æ— åå—æ—¶çš„æ ¼å¼å‘½ä»¤} -% \end{syntax} -% \tn{CTEXifname} ç”¨äºŽæ ¹æ®å½“å‰ç« 节的åå—çš„æœ‰æ— è®¾ç½®ä¸åŒçš„æ ¼å¼ã€‚ -% -% 它å¯ç”¨äºŽ \opt{format}, \opt{titleformat}, \opt{aftertitle}, \opt{afterskip}, -% \opt{indent} 这五个选项和 \tn{chapter} æ ‡é¢˜ \opt{beforeskip} é€‰é¡¹çš„æ ¼å¼è®¾ç½®ä¹‹ä¸ã€‚ -% 也å¯ç”¨äºŽå¸®åŠ©å®šä¹‰è‡ªå®šä¹‰çš„ç›®å½•æ ¼å¼ã€é¡µçœ‰æ ¼å¼ç‰ã€‚ -% -% ä¾‹å¦‚ï¼Œè®¾ç½®ç« çš„æ ‡é¢˜æœ‰åå—时左对é½ï¼Œæ— åå—时居ä¸å¯¹é½ï¼Œå¹¶ä¸”åœ¨æ ‡é¢˜åŽç”»ä¸€æ¡æ¨ªçº¿ã€‚ -% \begin{ctexexam} -% \ctexset{ -% chapter/format = \CTEXifname{\raggedright}{\centering}, -% chapter/aftertitle = \par\CTEXifname{}{\hrule}, -% } -% \end{ctexexam} -% \end{function} -% -% \begin{function}[EXP,updated=2015-06-30]{.../format, .../format+} +% \subsection{æ ¼å¼ç›¸å…³} +% \label{subsec:sec-format} +% +% \CTeX{} å®é›†æ供了 \opt{numberformat}, \opt{nameformat}, \opt{titleformat}, +% \opt{format} è¿™å‡ ä¸ªé€‰é¡¹ç”¨æ¥æŽ§åˆ¶ç« èŠ‚æ ‡é¢˜çš„æ ¼å¼ã€‚ +% 它们的作用范围如图~\ref{fig:heading-format} 所示。具体用法è§ä¸‹æ–‡ã€‚ +% +% \begin{figure}[htbp] +% \centering +% \[ +% \underbrace{ +% \overbrace{ +% \text{\huge\bfseries 第} +% \mspace{-25mu} +% \underbrace{\text{\huge\bfseries 1}}_{\text{\small\opt{numberformat}}} +% \mspace{-25mu} +% \text{\huge\bfseries ç« } +% }^{\text{\small\opt{nameformat}}} \quad +% \overbrace{\text{\huge\bfseries 熟悉 \LaTeX}}^{\text{\small\opt{titleformat}}} +% }_{\text{\small\opt{format}}} +% \] +% \caption{\opt{numberformat}, \opt{nameformat}, \opt{titleformat}, +% \opt{format} å‡ ä¸ªé€‰é¡¹çš„ä½œç”¨èŒƒå›´ç¤ºæ„} +% \label{fig:heading-format} +% \end{figure} +% +% \begin{function}[EXP,updated=2020-04-22]{.../format, .../format+} % \begin{syntax} % format = \Arg{æ ¼å¼å‘½ä»¤} % format+= \Arg{æ ¼å¼å‘½ä»¤} % \end{syntax} % \opt{format} é€‰é¡¹ç”¨äºŽæŽ§åˆ¶ç« èŠ‚æ ‡é¢˜çš„å…¨å±€æ ¼å¼ï¼Œä½œç”¨åŸŸä¸ºç« 节åå—å’ŒéšåŽçš„æ ‡é¢˜ % 内容。å¯ä»¥ç”¨äºŽæŽ§åˆ¶ç« èŠ‚æ ‡é¢˜çš„å¯¹é½æ–¹å¼ã€æ•´ä½“å—体å—å·ç‰æ ¼å¼ã€‚ +% å¸¦åŠ å·çš„ \opt{format+} é€‰é¡¹ç”¨äºŽåœ¨å·²æœ‰çš„æ ¼å¼å‘½ä»¤åŽé™„åŠ å†…å®¹ã€‚ % -% å¸¦åŠ å·çš„ \opt{format+} é€‰é¡¹åˆ™ç”¨äºŽåœ¨å·²æœ‰æ ¼å¼ä¹‹åŽè¿½åŠ æ–°çš„æ ¼å¼å‘½ä»¤ã€‚ +% \opt{format} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥å¸¦æœ‰ä¸€ä¸ªå‚数。 +% 这一å‚数用于接å—ç« èŠ‚åå—ã€ç¼–å·å’Œæ ‡é¢˜å†…容(以åŠç”± \opt{nameformat}, \opt{numberformat}, +% \opt{aftername},\opt{titleformat}, \opt{aftertitle}, \opt{indent} +% åŠ \opt{hang} é€‰é¡¹è®¾å®šçš„ï¼Œåº”ç”¨äºŽè¿™äº›å†…å®¹ä¹‹ä¸Šçš„æ ¼å¼ï¼‰ï¼Œä»¥å®žçŽ°ç‰¹æ®Šæ•ˆæžœã€‚ % -% ä¾‹å¦‚ï¼Œè®¾ç½®ç« æ ¼å¼ä¸ºæ— 衬线å—体左对é½ï¼Œä¸ºèŠ‚æ ¼å¼å¢žåŠ æ— è¡¬çº¿å—体设置: +% ä¾‹å¦‚ï¼Œè®¾ç½®ç« æ ‡é¢˜ä¸ºæ— è¡¬çº¿å—体左对é½ã€ä¸ºèŠ‚æ ‡é¢˜å¢žåŠ æ— è¡¬çº¿å—体设置〠+% 为å°èŠ‚æ ‡é¢˜åŠ æ¡†ï¼ˆ\tn{fbox} 命令本身需带一个å‚数): % \begin{ctexexam} % \ctexset{ -% chapter/format = \sffamily\raggedright, -% section/format += \sffamily +% chapter/format = \sffamily\raggedright, +% section/format += \sffamily, +% subsection/format += \fbox, % } % \end{ctexexam} +% +% \opt{format} 选项的默认设置è§è¡¨~\ref{tab:format-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{format} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |\Large\bfseries\centering| & |\raggedright| \\ -% part (beamer) & åŒå³ & |\centering| \\ -% part & |\huge\bfseries\centering| & |\centering| \\ -% chapter & |\huge\bfseries\centering| & |\raggedright| \\ -% section (beamer) & åŒå³ & |\centering| \\ -% section & |\Large\bfseries\centering| & |\Large\bfseries| \\ -% subsection (beamer) & åŒå³ & |\centering| \\ -% subsection & åŒå³ & |\large\bfseries| \\ -% subsubsection & åŒå³ & |\normalsize\bfseries| \\ -% paragraph & åŒå³ & |\normalsize\bfseries| \\ -% subparagraph & åŒå³ & |\normalsize\bfseries| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \begin{threeparttable} +% \caption{\opt{format} 选项的默认设置} +% \label{tab:format-default} +% \begin{tabular}{lll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |\Large\bfseries\centering| & |\raggedright|\tnote{*} \\ +% part (beamer) & åŒå³ & |\centering| \\ +% part & |\huge\bfseries\centering| & |\centering| \\ +% chapter & |\huge\bfseries\centering| & |\raggedright| \\ +% section (beamer) & åŒå³ & |\centering| \\ +% section & |\Large\bfseries\centering| & |\Large\bfseries| \\ +% subsection (beamer) & åŒå³ & |\centering| \\ +% subsection & åŒå³ & |\large\bfseries| \\ +% subsubsection & åŒå³ & |\normalsize\bfseries| \\ +% paragraph & åŒå³ & |\normalsize\bfseries| \\ +% subparagraph & åŒå³ & |\normalsize\bfseries| \\ +% \bottomrule +% \end{tabular} +% \begin{tablenotes} +% \item[*] 为了与 \LaTeXe{} 的默认效果ä¿æŒä¸€è‡´ï¼Œåœ¨ \opt{scheme = plain} +% 时,part å’Œ chapter çš„ \opt{nameformat} å’Œ \opt{titleformat} +% 并ä¸ä¸€æ ·ï¼Œå› æ¤æ²¡æœ‰ä½¿ç”¨ \opt{format} 选项统一设置åå—å’Œæ ‡é¢˜çš„æ ¼å¼ã€‚ +% \end{tablenotes} +% \end{threeparttable} % \end{table} % % \begin{function}[EXP,updated=2015-06-30]{.../nameformat, .../nameformat+} @@ -1785,42 +1851,42 @@ Copyright and Licence % \end{syntax} % \opt{nameformat} ç”¨äºŽæŽ§åˆ¶ç« èŠ‚åå—çš„æ ¼å¼ï¼Œä½œç”¨åŸŸä¸ºç« 节åå—,包括编å·ã€‚它一 % èˆ¬ç”¨äºŽç« èŠ‚å(包括编å·ï¼‰ä¸Žç« èŠ‚æ ‡é¢˜çš„å—体ã€å—å·ç‰è®¾ç½®ä¸ä¸€è‡´çš„情形。å‚è§ -% \opt{titleformat} 选项。 +% 下é¢çš„ \opt{titleformat} 选项。\opt{nameformat+} ç”¨äºŽåœ¨å·²æœ‰çš„ç« èŠ‚åå— +% æ ¼å¼å‘½ä»¤åŽé™„åŠ å†…å®¹ã€‚ % -% \opt{nameformat+} ç”¨äºŽåœ¨å·²æœ‰çš„ç« èŠ‚åå—æ ¼å¼åŽé™„åŠ å†…å®¹ã€‚ +% \opt{nameformat} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥å¸¦æœ‰ä¸€ä¸ªå‚数。 +% 这一å‚数用于接å—ç« èŠ‚åå—和编å·ï¼Œä»¥å®žçŽ°ç‰¹æ®Šæ•ˆæžœï¼ˆè§ä¾‹~\ref{exam:miscopt})。 % -% \opt{nameformat} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥æ˜¯ä¸€ä¸ªæœ‰ä¸€ä¸ªå‚数的命令。 -% 这个命令的å‚数用于接å—ç« èŠ‚åå—和编å·ï¼Œå®žçŽ°ç‰¹æ®Šæ•ˆæžœï¼ˆè§ä¾‹~\ref{exam:miscopt})。 -% -% \opt{nameformat} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ +% \opt{nameformat} 选项的默认设置è§è¡¨~\ref{tab:nameformat-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{nameformat} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |{}| & |\Large\bfseries| \\ -% part (beamer) & åŒå³ -% & \BSTACK |\usebeamerfont{part name}| \\ -% |\usebeamercolor[fg]{part name}| \ESTACK \\ -% part & |{}| & |\huge\bfseries| \\ -% chapter & |{}| & |\huge\bfseries| \\ -% section (beamer) & åŒå³ -% & \BSTACK |\usebeamerfont{section name}| \\ -% |\usebeamercolor[fg]{section name}| \ESTACK \\ -% section & åŒå³ & |{}| \\ -% subsection (beamer) & åŒå³ -% & \BSTACK |\usebeamerfont{subsection name}| \\ -% |\usebeamercolor[fg]{subsection name}| \ESTACK \\ -% subsection & åŒå³ & |{}| \\ -% subsubsection & åŒå³ & |{}| \\ -% paragraph & åŒå³ & |{}| \\ -% subparagraph & åŒå³ & |{}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{nameformat} 选项的默认设置} +% \label{tab:nameformat-default} +% \begin{tabular}{lll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |{}| & |\Large\bfseries| \\ +% part (beamer) & åŒå³ +% & \BSTACK |\usebeamerfont{part name}| \\ +% |\usebeamercolor[fg]{part name}| \ESTACK \\ +% part & |{}| & |\huge\bfseries| \\ +% chapter & |{}| & |\huge\bfseries| \\ +% section (beamer) & åŒå³ +% & \BSTACK |\usebeamerfont{section name}| \\ +% |\usebeamercolor[fg]{section name}| \ESTACK \\ +% section & åŒå³ & |{}| \\ +% subsection (beamer) & åŒå³ +% & \BSTACK |\usebeamerfont{subsection name}| \\ +% |\usebeamercolor[fg]{subsection name}| \ESTACK \\ +% subsection & åŒå³ & |{}| \\ +% subsubsection & åŒå³ & |{}| \\ +% paragraph & åŒå³ & |{}| \\ +% subparagraph & åŒå³ & |{}| \\ +% \bottomrule +% \end{tabular} % \end{table} % % \begin{function}[EXP,updated=2015-06-19]{.../numberformat, .../numberformat+} @@ -1829,74 +1895,37 @@ Copyright and Licence % numberformat+= \Arg{æ ¼å¼å‘½ä»¤} % \end{syntax} % \opt{numberformat} é€‰é¡¹ç”¨äºŽæŽ§åˆ¶ç« èŠ‚ç¼–å·çš„æ ¼å¼ï¼Œä½œç”¨åŸŸä»…为编å·æ•°å—本身。对 -% å„çº§æ ‡é¢˜é»˜è®¤å‡ä¸ºç©ºï¼Œå½“ä½ éœ€è¦ç¼–å·çš„æ ¼å¼å’Œå‰åŽçš„ç« èŠ‚åå—ä¸ä¸€æ ·æ—¶å¯ä»¥ä½¿ç”¨ã€‚ -% -% \opt{numberformat+} 选项用于在原有编å·æ ¼å¼åŽé¢é™„åŠ æ ¼å¼å‘½ä»¤ã€‚ +% å„çº§æ ‡é¢˜é»˜è®¤å‡ä¸ºç©ºï¼Œå½“需è¦ç¼–å·çš„æ ¼å¼å’Œå‰åŽçš„ç« èŠ‚åå—ä¸ä¸€æ ·æ—¶å¯ä»¥ä½¿ç”¨ã€‚ +% \opt{numberformat+} 用于在已有的编å·æ ¼å¼å‘½ä»¤åŽé™„åŠ å†…å®¹ã€‚ % -% \opt{numberformat} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥æ˜¯ä¸€ä¸ªæœ‰ä¸€ä¸ªå‚数的命令。 -% 这个命令的å‚数用于接å—ç¼–å·æ•°å—。 -% \end{function} -% -% 例如,我们å¯ä»¥ä½¿ç”¨ \opt{numberformat} ç‰¹åˆ«å¼ºè°ƒç« æ ‡é¢˜ä¸çš„æ•°å—: +% \opt{numberformat} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥å¸¦æœ‰ä¸€ä¸ªå‚数。这一å‚æ•°ç”¨äºŽæŽ¥å— +% ç¼–å·æ•°å—。例如,我们å¯ä»¥ä½¿ç”¨ \opt{numberformat} ç‰¹åˆ«å¼ºè°ƒç« æ ‡é¢˜ä¸çš„æ•°å—: % \begin{ctexexam} % \ctexset{ % chapter/number = \arabic{chapter}, -% chapter/numberformat = \color{blue}\zihao{0}\itshape, +% chapter/numberformat = \color{blue}\zihao{0}\emph, % } % \end{ctexexam} % 上é¢çš„代ç 在 \opt{scheme = chinese} æ—¶å¯ä»¥åšå‡ºç±»ä¼¼è¿™æ ·çš„ç« æ ‡é¢˜æ•ˆæžœï¼š % \begin{center} -% \huge\bfseries 第 \textit{\color{blue}\zihao{0}4} ç« +% \huge\bfseries 第 \emph{\color{blue}\zihao{0}4} ç« % \end{center} % -% \begin{function}[EXP,updated=2014-03-08]{.../aftername, .../aftername+} -% \begin{syntax} -% aftername = \Arg{代ç } -% aftername+= \Arg{代ç } -% \end{syntax} -% \opt{aftername} 选项的å‚æ•° \meta{代ç } 将被æ’å…¥åˆ°ç« èŠ‚ç¼–å·ä¸Žå…¶åŽçš„æ ‡é¢˜å†…å®¹ä¹‹ -% é—´ï¼Œç”¨äºŽæŽ§åˆ¶æ ¼å¼å˜æ¢ã€‚å¸¸ç”¨äºŽæŽ§åˆ¶ç« èŠ‚ç¼–å·ä¸Žæ ‡é¢˜å†…容之间的è·ç¦»ï¼Œæˆ–è€…æŽ§åˆ¶æ ‡é¢˜ -% 是å¦å¦èµ·ä¸€è¡Œã€‚ -% -% \opt{aftername+} 选项用于在原有代ç åŽé¢é™„åŠ ä»£ç 。 +% \opt{numberformat} 选项默认å‡è®¾ç½®ä¸ºç©ºï¼Œæ•…ç« èŠ‚ç¼–å·é»˜è®¤ä¸Žç« 节åå—使用 +% 相åŒçš„æ ¼å¼ã€‚ % \end{function} % -% \begin{table}[htbp] -% \small\centering -% \caption{\opt{aftername} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |\quad| & |\par\nobreak| \\ -% part (beamer) & åŒå³ & |\vskip 1em \par| \\ -% part & åŒå³ & |\par\vskip 20pt| \\ -% chapter & |\quad| & |\par\nobreak\vskip 20pt| \\ -% section (beamer) & åŒå³ & |\vskip 1em \par| \\ -% section & åŒå³ & |\quad| \\ -% subsection (beamer) & åŒå³ & |\vskip 1em \par| \\ -% subsection & åŒå³ & |\quad| \\ -% subsubsection & åŒå³ & |\quad| \\ -% paragraph & åŒå³ & |\quad| \\ -% subparagraph & åŒå³ & |\quad| \\ -% \bottomrule -% \end{tabular} -% \end{table} -% % \begin{function}[EXP,updated=2015-06-30]{.../titleformat, .../titleformat+} % \begin{syntax} % titleformat = \Arg{æ ¼å¼å‘½ä»¤} % titleformat+= \Arg{æ ¼å¼å‘½ä»¤} % \end{syntax} % \opt{titleformat} é€‰é¡¹ç”¨äºŽæŽ§åˆ¶æ ‡é¢˜å†…å®¹çš„æ ¼å¼ï¼Œä½œç”¨åŸŸä¸ºç« èŠ‚æ ‡é¢˜å†…å®¹ã€‚ +% \opt{titleformat+} é€‰é¡¹ç”¨äºŽåœ¨å·²æœ‰çš„æ ‡é¢˜æ ¼å¼å‘½ä»¤åŽé™„åŠ å†…å®¹ã€‚ % -% \opt{titleformat+} é€‰é¡¹ç”¨äºŽåœ¨åŽŸæœ‰æ ‡é¢˜æ ¼å¼åŽé¢é™„åŠ æ ¼å¼å‘½ä»¤ã€‚ -% -% 需è¦æ³¨æ„的是,\opt{titleformat} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥æ˜¯ä¸€ä¸ªæœ‰ä¸€ä¸ª -% å‚数的命令。这个命令的å‚数接å—æ ‡é¢˜å†…å®¹ï¼Œç”¨äºŽå®žçŽ°ç‰¹æ®Šæ•ˆæžœã€‚ -% ä¾‹å¦‚ï¼Œå®žçŽ°å¤šè¡Œæ ‡é¢˜çš„å±…ä¸æ‚¬æŒ‚对é½ï¼š -% \end{function} -% \begin{ctexexam} +% \opt{titleformat} 选项的最åŽä¸€ä¸ªæ ¼å¼å‘½ä»¤å¯ä»¥å¸¦æœ‰ä¸€ä¸ªå‚数。这一å‚æ•°ç”¨äºŽæŽ¥å— +% æ ‡é¢˜å†…å®¹ã€‚ä¾‹å¦‚ï¼Œå®žçŽ°å¤šè¡Œæ ‡é¢˜çš„å±…ä¸æ‚¬æŒ‚对é½ï¼š +% \begin{ctexexam} % \usepackage{varwidth} %% æä¾› varwidth 环境 % \ctexset{ % chapter/name = {第,回}, @@ -1906,142 +1935,265 @@ Copyright and Licence % \begin{varwidth}[t]{.7\linewidth}#1\end{varwidth}} % ...... % \chapter{情ä¸æƒ…å› æƒ…æ„Ÿå¦¹å¦¹\\错里错以错åŠå“¥å“¥} -% \end{ctexexam} -% 上é¢çš„代ç å¯ä»¥åšå‡ºç±»ä¼¼è¿™æ ·çš„ç« æ ‡é¢˜æ•ˆæžœï¼š -% \begin{center}\Large\bfseries -% 第三å四回\quad -% \begin{tabular}[t]{l} -% 情ä¸æƒ…å› æƒ…æ„Ÿå¦¹å¦¹\\ -% 错里错以错åŠå“¥å“¥ -% \end{tabular} -% \end{center} +% \end{ctexexam} +% 上é¢çš„代ç å¯ä»¥åšå‡ºç±»ä¼¼è¿™æ ·çš„ç« æ ‡é¢˜æ•ˆæžœï¼š +% \begin{center}\Large\bfseries +% 第三å四回\quad +% \begin{tabular}[t]{l} +% 情ä¸æƒ…å› æƒ…æ„Ÿå¦¹å¦¹\\ +% 错里错以错åŠå“¥å“¥ +% \end{tabular} +% \end{center} +% +% \opt{titleformat} 选项的默认设置è§è¡¨~\ref{tab:titleformat-default}。 +% \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{titleformat} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |{}| & |\huge\bfseries| \\ -% part (beamer) & åŒå³ & |\usebeamerfont{part title}| \\ -% part & |{}| & |\Huge\bfseries| \\ -% chapter & |{}| & |\Huge\bfseries| \\ -% section (beamer) & åŒå³ & |\usebeamerfont{section title}| \\ -% section & åŒå³ & |{}| \\ -% subsection (beamer) & åŒå³ & |\usebeamerfont{subsection title}| \\ -% subsection & åŒå³ & |{}| \\ -% subsubsection & åŒå³ & |{}| \\ -% paragraph & åŒå³ & |{}| \\ -% subparagraph & åŒå³ & |{}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{titleformat} 选项的默认设置} +% \label{tab:titleformat-default} +% \begin{tabular}{lll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |{}| & |\huge\bfseries| \\ +% part (beamer) & åŒå³ & |\usebeamerfont{part title}| \\ +% part & |{}| & |\Huge\bfseries| \\ +% chapter & |{}| & |\Huge\bfseries| \\ +% section (beamer) & åŒå³ & |\usebeamerfont{section title}| \\ +% section & åŒå³ & |{}| \\ +% subsection (beamer) & åŒå³ & |\usebeamerfont{subsection title}| \\ +% subsection & åŒå³ & |{}| \\ +% subsubsection & åŒå³ & |{}| \\ +% paragraph & åŒå³ & |{}| \\ +% subparagraph & åŒå³ & |{}| \\ +% \bottomrule +% \end{tabular} % \end{table} % +% \begin{function}[EXP,updated=2014-03-08]{.../aftername, .../aftername+} +% \begin{syntax} +% aftername = \Arg{代ç } +% aftername+= \Arg{代ç } +% \end{syntax} +% \opt{aftername} 选项的å‚æ•° \meta{代ç } 将被æ’å…¥åˆ°ç« èŠ‚ç¼–å·ä¸Žå…¶åŽçš„æ ‡é¢˜å†…å®¹ä¹‹ +% é—´ï¼Œç”¨äºŽæŽ§åˆ¶æ ¼å¼å˜æ¢ã€‚å¸¸ç”¨äºŽæŽ§åˆ¶ç« èŠ‚ç¼–å·ä¸Žæ ‡é¢˜å†…容之间的è·ç¦»ï¼Œæˆ–è€…æŽ§åˆ¶æ ‡é¢˜ +% 是å¦å¦èµ·ä¸€è¡Œã€‚\opt{aftername+} 用于在已有的代ç åŽé™„åŠ å†…å®¹ã€‚è¯¥é€‰é¡¹çš„é»˜è®¤è®¾ç½® +% è§è¡¨~\ref{tab:aftername-default}。 +% \end{function} +% % \begin{function}[EXP,added=2015-06-19]{.../aftertitle, .../aftertitle+} % \begin{syntax} % aftertitle = \Arg{代ç } % aftertitle+= \Arg{代ç } % \end{syntax} % \opt{aftertitle} 选项的å‚æ•° \meta{代ç } 将被æ’å…¥åˆ°ç« èŠ‚æ ‡é¢˜å†…å®¹ä¹‹åŽã€‚ +% \opt{aftertitle+} 用于在已有的代ç åŽé™„åŠ å†…å®¹ã€‚è¯¥é€‰é¡¹çš„é»˜è®¤è®¾ç½® +% è§è¡¨~\ref{tab:aftertitle-default}。需注æ„,\opt{sub3section} 或 +% \opt{sub4section} å®åŒ…é€‰é¡¹ï¼ˆè§ \ref{subs:options-heading}~èŠ‚ï¼‰ä¼šå½±å“ +% \opt{aftertitle} 选项的默认值。 +% \end{function} % -% \opt{aftertitle+} 选项用于在原有代ç åŽé¢é™„åŠ ä»£ç 。 -% -% \opt{aftertitle} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ +% \begin{table}[htbp] +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \begin{minipage}[t]{.75\linewidth} +% \small\centering +% \caption{\opt{aftername} 选项的默认设置} +% \label{tab:aftername-default} +% \begin{tabular}{lll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |\quad| & |\par\nobreak| \\ +% part (beamer) & åŒå³ & |\vskip 1em \par| \\ +% part & åŒå³ & |\par\vskip 20pt| \\ +% chapter & |\quad| & |\par\nobreak\vskip 20pt| \\ +% section (beamer) & åŒå³ & |\vskip 1em \par| \\ +% section & åŒå³ & |\quad| \\ +% subsection (beamer) & åŒå³ & |\vskip 1em \par| \\ +% subsection & åŒå³ & |\quad| \\ +% subsubsection & åŒå³ & |\quad| \\ +% paragraph & åŒå³ & |\quad| \\ +% subparagraph & åŒå³ & |\quad| \\ +% \bottomrule +% \end{tabular} +% \end{minipage}\nobreak\quad +% \begin{minipage}[t]{.42\linewidth} +% \small\centering +% \caption{\opt{aftertitle} 选项的默认设置} +% \label{tab:aftertitle-default} +% \begin{tabular}{p{\dimexpr .58\linewidth - 2\tabcolsep\relax}p{\dimexpr .4\linewidth - 2\tabcolsep\relax}} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part & |\par| \\ +% chapter & |\par| \\ +% section & |\@@par| \\ +% subsection & |\@@par| \\ +% subsubsection & |\@@par| \\ +% paragraph & |{}| \\ +% \qquad(sub3section) & |\@@par| \\ +% \qquad(sub4section) & åŒä¸Š \\ +% subparagraph & |{}| \\ +% \qquad(sub4section) & |\@@par| \\ +% \bottomrule +% \end{tabular} +% \end{minipage} +% \end{table} % -% \opt{sub3section} 或 \opt{sub4section} å®åŒ…é€‰é¡¹ï¼ˆè§ -% \ref{subs:options-heading}~èŠ‚ï¼‰ä¼šå½±å“ \opt{aftertitle} 选项的默认值。 +% \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle} +% \begin{syntax} +% pagestyle = \Arg{页é¢æ ¼å¼} +% \end{syntax} +% 设置 \cls{book}/\cls{ctexbook} 或 \cls{report}/\cls{ctexrep} 文档类 +% ä¸ï¼Œ\tn{part} 与 \tn{chapter} æ ‡é¢˜æ‰€åœ¨é¡µçš„é¡µé¢æ ¼å¼ï¼ˆpage style)。 +% 该选项的默认设置è§è¡¨~\ref{tab:pagestyle-default}。 % \end{function} % % \begin{table}[htbp] -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{aftertitle} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part & |\par| \\ -% chapter & |\par| \\ -% section & |\@@par| \\ -% subsection & |\@@par| \\ -% subsubsection & |\@@par| \\ -% paragraph & |{}| \\ -% \qquad(sub3section) & |\@@par| \\ -% \qquad(sub4section) & åŒä¸Š \\ -% subparagraph & |{}| \\ -% \qquad(sub4section) & |\@@par| \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{runin} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part & æ— æ•ˆ \\ -% chapter & æ— æ•ˆ \\ -% section & |false| \\ -% subsection & |false| \\ -% subsubsection & |false| \\ -% paragraph & |true| \\ -% \qquad(sub3section) & |false| \\ -% \qquad(sub4section) & åŒä¸Š \\ -% subparagraph & |true| \\ -% \qquad(sub4section) & |false| \\ -% \bottomrule -% \end{tabular} -% \end{minipage} +% \small\centering +% \caption{\opt{pagestyle} 选项的默认设置} +% \label{tab:pagestyle-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part (article) & æ— æ•ˆ \\ +% part & |plain| \\ +% chapter & |plain| \\ +% \bottomrule +% \end{tabular} % \end{table} % +% \subsection{é—´è·ã€ç¼©è¿›ç›¸å…³} +% \label{subsec:sec-spacing} +% % \begin{function}[EXP,added=2015-06-27]{section/runin, subsection/runin, % subsubsection/runin, paragraph/runin, subparagraph/runin} % \begin{syntax} % runin = \TF % \end{syntax} -% \opt{runin} 选项åªå¯¹ \tn{section} çº§ä»¥ä¸‹æ ‡é¢˜æœ‰æ„义。 -% ç”¨äºŽç¡®å®šæ ‡é¢˜ä¸ŽéšåŽçš„æ£æ–‡æ˜¯å¦æŽ’在åŒä¸€æ®µä¹‹ä¸Šã€‚ -% -% \opt{runin} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ +% \opt{runin} 选项åªå¯¹ \tn{section} çº§ä»¥ä¸‹æ ‡é¢˜æœ‰æ„ä¹‰ï¼Œç”¨äºŽç¡®å®šæ ‡é¢˜ä¸ŽéšåŽçš„ +% æ£æ–‡æ˜¯å¦æŽ’在åŒä¸€æ®µä¹‹ä¸Šã€‚该选项的默认设置è§è¡¨~\ref{tab:runin-default}。 % % 默认情况下,\tn{paragraph}ã€\tn{subparagraph} ä¸¤çº§æ ‡é¢˜æ˜¯ä¸ŽåŽé¢æ£æ–‡æŽ’在åŒä¸€ % 段的,\opt{runin} 选项为 \opt{true};但使用 \opt{sub3section} 或 -% \opt{sub4section} å®åŒ…é€‰é¡¹ï¼ˆè§ \ref{subs:options-heading}~节)åŽï¼Œ -% å°†å¯¹è¿™ä¸¤çº§æ ‡é¢˜è®¾ \opt{runin} 选项为 \opt{false}ï¼Œè¿™ä¸¤çº§æ ‡é¢˜ä¼šæ”¹ä¸ºæŽ’åœ¨ä¸åŒæ®µã€‚ +% \opt{sub4section} å®åŒ…é€‰é¡¹ï¼ˆè§ \ref{subs:options-heading}~节)åŽï¼Œå°†å¯¹ +% è¿™ä¸¤çº§æ ‡é¢˜è®¾ \opt{runin} 选项为 \opt{false}ï¼Œè¿™ä¸¤çº§æ ‡é¢˜ä¼šæ”¹ä¸ºæŽ’åœ¨ä¸åŒæ®µã€‚ % \end{function} % -% \begin{function}[EXP,added=2015-06-27]{.../afterindent} +% \begin{table}[htbp] +% \small\centering +% \caption{\opt{runin} 选项的默认设置} +% \label{tab:runin-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part & æ— æ•ˆ \\ +% chapter & æ— æ•ˆ \\ +% section & |false| \\ +% subsection & |false| \\ +% subsubsection & |false| \\ +% paragraph & |true| \\ +% \qquad(sub3section) & |false| \\ +% \qquad(sub4section) & åŒä¸Š \\ +% subparagraph & |true| \\ +% \qquad(sub4section) & |false| \\ +% \bottomrule +% \end{tabular} +% \end{table} +% +% \begin{function}[EXP,updated=2020-04-23]{.../hang} % \begin{syntax} -% afterindent = \TF +% hang = \TF % \end{syntax} -% \opt{afterindent} é€‰é¡¹ç”¨äºŽè®¾ç½®ç« èŠ‚æ ‡é¢˜åŽé¦–段的缩进。 +% \opt{hang} 选项用于设置是å¦å¯¹ç« èŠ‚æ ‡é¢˜å®žæ–½æ‚¬æŒ‚ç¼©è¿›ï¼ˆç¼©è¿›çš„å®½åº¦ä¸ºåå—宽度 +% å’Œ \opt{indent} 选项设置的宽度之和)。 % -% \cls{book} å’Œ \cls{report} 类的 \tn{part} æ ‡é¢˜è¢«å•ç‹¬æŽ’在一页之上, -% \opt{afterindent} 选项没有æ„义。 +% 注æ„,当 \opt{hang = true} 时,ä¸æ°å½“地设置选项 \opt{aftername} 的值,å¯èƒ½ä¼šå¼•å‘ +% é”™è¯¯ã€‚è¿™æ˜¯å› ä¸ºå½“ \opt{hang = true} 时,\LaTeX{} å†…éƒ¨ä¼šæž„é€ ä¸€ä¸ª \tn{hbox} 而 +% 进入å—é™æ°´å¹³æ¨¡å¼ï¼ˆrestricted horizontal mode)。若在 \opt{aftername} ä¸åŠ å…¥ +% åŒ…å« \tn{vskip} ç‰ä¼šå¯¼è‡´ä»Žå—é™æ°´å¹³æ¨¡å¼åˆ‡å‡ºçš„垂直命令(vertical command)时,就会报错。 +% 特别地,\opt{aftername} 的默认值也å¯èƒ½å¯¼è‡´è¿™ç§æƒ…形(è§è¡¨~\ref{tab:aftername-default})。 +% å› æ¤ï¼Œå½“设置 \opt{hang = true} 时,用户必须æ°å½“地设置选项 \opt{aftername} 的值。 % +% 本选项对 \cls{beamer}/\cls{ctexbeamer} æ–‡æ¡£ç±»æ— æ•ˆã€‚ % 对于 \tn{section} çº§ä»¥ä¸‹æ ‡é¢˜ï¼Œè‹¥è®¾ç½®äº† \opt{runin} 选项为 \opt{true}, -% å³æ ‡é¢˜ä¸ŽéšåŽæ£æ–‡æŽ’在åŒä¸€æ®µï¼Œ\opt{afterindent} 选项也就没有了æ„义。 +% å³æ ‡é¢˜ä¸ŽéšåŽæ£æ–‡æŽ’在åŒä¸€æ®µï¼Œ\opt{hang} 选项没有æ„义。 +% 该选项的默认设置è§è¡¨~\ref{tab:hang-default}。 +% \end{function} +% +% \begin{function}[EXP,updated=2020-04-23]{.../indent} +% \begin{syntax} +% indent = \Arg{缩进间è·} +% \end{syntax} +% \opt{indent} é€‰é¡¹ç”¨äºŽè®¾ç½®ç« èŠ‚æ ‡é¢˜æœ¬èº«çš„é¦–è¡Œç¼©è¿›ã€‚ +% 该选项的默认设置è§è¡¨~\ref{tab:indent-default}。 +% +% 如果 \opt{indent} 的值是以 \texttt{em}ã€\texttt{ex} 或 \cs{ccwd} 为å•ä½ï¼Œ +% 那么缩进间è·çš„大å°æ˜¯ç›¸å¯¹äºŽ \opt{format} ä¸æŒ‡å®šçš„å—å·å¤§å°ã€‚ +% 例如,设置 \tn{part} æ ‡é¢˜ç¼©è¿›ä¸‰ä¸ªå—ã€\tn{section} æ ‡é¢˜ç¼©è¿› \SI{20}{pt}: +% \begin{ctexexam} +% \ctexset{ +% part = { +% format += \raggedright, +% indent = 3\ccwd, +% }, +% section = { +% format = \Large\bfseries, +% indent = 20pt, +% } +% } +% \part{é¦–è¡Œç¼©è¿›çš„æ ‡é¢˜} +% \noindent æ— ç¼©è¿›çš„æ£æ–‡ã€‚ +% \section{é¦–è¡Œç¼©è¿›çš„æ ‡é¢˜} +% \noindent æ— ç¼©è¿›çš„æ£æ–‡ã€‚ +% \end{ctexexam} % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{afterindent} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |true| & |false| \\ -% part & æ— æ•ˆ & æ— æ•ˆ \\ -% chapter & |true| & |false| \\ -% section & |true| & |false| \\ -% subsection & |true| & |false| \\ -% subsubsection & |true| & |false| \\ -% paragraph & |true| & |false| \\ -% subparagraph & |true| & |false| \\ -% \bottomrule -% \end{tabular} +% \begin{minipage}[t]{.5\linewidth} +% \small\centering +% \caption{\opt{hang} 选项的默认设置} +% \label{tab:hang-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part & |false| \\ +% chapter & |false| \\ +% section & |true| \\ +% subsection & |true| \\ +% subsubsection & |true| \\ +% paragraph & æ— æ„义 \\ +% \qquad(sub3section) & |true| \\ +% \qquad(sub4section) & |true| \\ +% subparagraph & æ— æ„义 \\ +% \qquad(sub4section) & |true| \\ +% \bottomrule +% \end{tabular} +% \end{minipage} +% \begin{minipage}[t]{.5\linewidth} +% \small\centering +% \caption{\opt{indent} 选项的默认设置} +% \label{tab:indent-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part & |0pt| \\ +% chapter & |0pt| \\ +% section & |0pt| \\ +% subsection & |0pt| \\ +% subsubsection & |0pt| \\ +% paragraph & |0pt| \\ +% subparagraph & |\parindent| \\ +% \qquad(sub3section) & |0pt| \\ +% \qquad(sub4section) & åŒä¸Š \\ +% \bottomrule +% \end{tabular} +% \end{minipage} % \end{table} % % \begin{function}[EXP,updated=2016-05-10]{.../beforeskip} @@ -2049,59 +2201,9 @@ Copyright and Licence % beforeskip = \Arg{弹性间è·} % \end{syntax} % \opt{beforeskip} é€‰é¡¹ç”¨äºŽè®¾ç½®ç« èŠ‚æ ‡é¢˜å‰çš„åž‚ç›´é—´è·ã€‚ -% -% \opt{beforeskip} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ +% 该选项的默认设置è§è¡¨~\ref{tab:beforeskip-default}。 % \end{function} % -% \begin{table}[htbp] -% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} -% \begin{minipage}[t]{.6\linewidth} -% \small\centering -% \caption{\opt{beforeskip} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part (article) & |4ex| \\ -% part (beamer) & |0pt| \\ -% part & |0pt plus 1fil| \\ -% chapter & |50pt| \\ -% section (beamer) & |0pt| \\ -% section & |3.5ex plus 1ex minus .2ex| \\ -% subsection (beamer) & |0pt| \\ -% subsection & |3.25ex plus 1ex minus .2ex| \\ -% subsubsection & |3.25ex plus 1ex minus .2ex| \\ -% paragraph & |3.25ex plus 1ex minus .2ex| \\ -% subparagraph & |3.25ex plus 1ex minus .2ex| \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{afterskip} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part (article) & |3ex| \\ -% part (beamer) & |0pt| \\ -% part & |0pt plus 1fil| \\ -% chapter & |40pt| \\ -% section (beamer) & |0pt| \\ -% section & |2.3ex plus .2ex| \\ -% subsection (beamer) & |0pt| \\ -% subsection & |1.5ex plus .2ex| \\ -% subsubsection & |1.5ex plus .2ex| \\ -% paragraph & |1em| \\ -% \qquad(sub3section) & |1ex plus .2ex| \\ -% \qquad(sub4section) & åŒä¸Š \\ -% subparagraph & |1em| \\ -% \qquad(sub4section) & |1ex plus .2ex| \\ -% \bottomrule -% \end{tabular} -% \end{minipage} -% \end{table} -% % \begin{function}[EXP,updated=2015-06-27]{.../afterskip} % \begin{syntax} % afterskip = \Arg{弹性间è·} @@ -2112,222 +2214,207 @@ Copyright and Licence % è‹¥ \opt{runin} 为 \opt{true}ï¼Œæ ‡é¢˜ä¸ŽéšåŽæ£æ–‡æŽ’在åŒä¸€æ®µï¼Œ\meta{弹性间è·} 给出水平间è·ã€‚ % å¦åˆ™ï¼Œæ£æ–‡å¦èµ·ä¸€æ®µï¼Œ\meta{弹性间è·} 给出的是垂直间è·ã€‚ % -% \opt{afterskip} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ -% -% \opt{sub3section} 或 \opt{sub4section} å®åŒ…é€‰é¡¹ï¼ˆè§ +% 该选项的默认设置è§è¡¨~\ref{tab:afterskip-default}。 +% æ³¨æ„ \opt{sub3section} 或 \opt{sub4section} å®åŒ…é€‰é¡¹ï¼ˆè§ % \ref{subs:options-heading}~èŠ‚ï¼‰ä¼šå½±å“ \opt{aftertitle} 选项的默认值。 % \end{function} % +% \begin{table}[htbp] +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \begin{minipage}[t]{.6\linewidth} +% \small\centering +% \caption{\opt{beforeskip} 选项的默认设置} +% \label{tab:beforeskip-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part (article) & |4ex| \\ +% part (beamer) & |0pt| \\ +% part & |0pt plus 1fil| \\ +% chapter & |50pt| \\ +% section (beamer) & |0pt| \\ +% section & |3.5ex plus 1ex minus .2ex| \\ +% subsection (beamer) & |0pt| \\ +% subsection & |3.25ex plus 1ex minus .2ex| \\ +% subsubsection & |3.25ex plus 1ex minus .2ex| \\ +% paragraph & |3.25ex plus 1ex minus .2ex| \\ +% subparagraph & |3.25ex plus 1ex minus .2ex| \\ +% \bottomrule +% \end{tabular} +% \end{minipage}\nobreak\quad +% \begin{minipage}[t]{.5\linewidth} +% \small\centering +% \caption{\opt{afterskip} 选项的默认设置} +% \label{tab:afterskip-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part (article) & |3ex| \\ +% part (beamer) & |0pt| \\ +% part & |0pt plus 1fil| \\ +% chapter & |40pt| \\ +% section (beamer) & |0pt| \\ +% section & |2.3ex plus .2ex| \\ +% subsection (beamer) & |0pt| \\ +% subsection & |1.5ex plus .2ex| \\ +% subsubsection & |1.5ex plus .2ex| \\ +% paragraph & |1em| \\ +% \qquad(sub3section) & |1ex plus .2ex| \\ +% \qquad(sub4section) & åŒä¸Š \\ +% subparagraph & |1em| \\ +% \qquad(sub4section) & |1ex plus .2ex| \\ +% \bottomrule +% \end{tabular} +% \end{minipage} +% \end{table} +% % \begin{function}[EXP,added=2016-06-03]{.../fixskip} % \begin{syntax} % fixskip = \TFF % \end{syntax} -% 默认情况下,\cls{article}ã€\cls{book} å’Œ \cls{report} ç±»çš„æ ‡é¢˜ä¸Žæ£æ–‡çš„è·ç¦»é™¤äº†ç”± -% \opt{beforeskip} å’Œ \opt{afterskip} 选项设置的垂直间è·å¤–,还会有一些多余的间è·ã€‚ -% \opt{fixskip} 选项用于抑制这些多余间è·ã€‚ +% 默认情况下,\cls{article}ã€\cls{book} å’Œ \cls{report} ç±»çš„æ ‡é¢˜ä¸Žæ£æ–‡çš„è·ç¦» +% 除了由 \opt{beforeskip} å’Œ \opt{afterskip} 选项设置的垂直间è·å¤–,还会有 +% 一些多余的间è·ã€‚\opt{fixskip} 选项用于抑制这些多余间è·ã€‚该选项默认ä¸å¼€å¯ã€‚ % \end{function} % -% \begin{function}[EXP,added=2016-10-01]{chapter/lofskip, chapter/lotskip} -% \begin{syntax} -% lofskip = \Arg{弹性间è·} -% lotskip = \Arg{弹性间è·} -% \end{syntax} -% \opt{lofskip} 选项控制æ’图目录(\file{.lof})ä¸ï¼Œç« 之间的æ’å›¾æ ‡é¢˜çš„è·ç¦»ã€‚ -% -% åŒæ ·ï¼Œ\opt{lotskip} é€‰é¡¹æŽ§åˆ¶è¡¨æ ¼ç›®å½•ï¼ˆ\file{.lot})ä¸ï¼Œç« ä¹‹é—´çš„è¡¨æ ¼æ ‡é¢˜çš„è·ç¦»ã€‚ -% -% ç›®å‰ï¼Œè¿™ä¸¤ä¸ªé€‰é¡¹åªåœ¨ \opt{chapter} æ ‡é¢˜ä¸‹æœ‰å®šä¹‰ã€‚ -% 他们的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下都为 \SI{10}{pt}。 -% \end{function} -% -% \begin{function}[EXP,updated=2015-06-27]{.../indent} +% \begin{function}[EXP,added=2016-09-19]{.../break, .../break+} % \begin{syntax} -% indent = \Arg{缩进间è·} +% break = \Arg{æ ¼å¼å‘½ä»¤} +% break+= \Arg{æ ¼å¼å‘½ä»¤} % \end{syntax} -% \opt{indent} é€‰é¡¹ç”¨äºŽè®¾ç½®ç« èŠ‚æ ‡é¢˜æœ¬èº«çš„é¦–è¡Œç¼©è¿›ã€‚ +% \opt{break} é€‰é¡¹ç”¨äºŽæŽ§åˆ¶ç« èŠ‚æ ‡é¢˜ä¸Ž\emph{之å‰}æ£æ–‡çš„分隔关系。 +% 一般用于设置是å¦åœ¨æ ‡é¢˜ä¹‹å‰åˆ†é¡µæˆ–者设置行间罚点。 +% \opt{break+} ç”¨äºŽåœ¨å·²æœ‰çš„æ ¼å¼å‘½ä»¤åŽé™„åŠ å†…å®¹ã€‚ % -% \opt{indent} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ -% -% 如果 \opt{indent} 的值是以 \texttt{em}ã€\texttt{ex} 或 \cs{ccwd} 为å•ä½ï¼Œ -% 那么缩进间è·çš„大å°æ˜¯ç›¸å¯¹äºŽ \opt{format} ä¸æŒ‡å®šçš„å—å·å¤§å°ã€‚ +% 例如,若当å‰é¡µå‰©ä½™é«˜åº¦å°äºŽæ£æ–‡é«˜åº¦çš„一åŠæ—¶ï¼Œåˆ™å¦èµ·ä¸€é¡µè¾“出 +% \tn{section} æ ‡é¢˜ï¼š +% \begin{ctexexam} +% \usepackage{needspace} +% \ctexset{section/break = \Needspace{.5\textheight}} +% \end{ctexexam} % -% 例如,设置 \tn{part} æ ‡é¢˜ç¼©è¿›ä¸‰ä¸ªå—ã€\tn{section} æ ‡é¢˜ç¼©è¿› \SI{20}{pt}: +% 该选项的默认设置è§è¡¨~\ref{tab:break-default}。 % \end{function} -% \begin{ctexexam} -% \ctexset{ -% part={ -% format+=\raggedright, -% indent=3\ccwd, -% }, -% section={ -% format=\Large\bfseries, -% indent=20pt, -% } -% } -% \part{é¦–è¡Œç¼©è¿›çš„æ ‡é¢˜} -% \noindent æ— ç¼©è¿›çš„æ£æ–‡ã€‚ -% \section{é¦–è¡Œç¼©è¿›çš„æ ‡é¢˜} -% \noindent æ— ç¼©è¿›çš„æ£æ–‡ã€‚ -% \end{ctexexam} % % \begin{table}[htbp] -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{indent} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part & |0pt| \\ -% chapter & |0pt| \\ -% section & |0pt| \\ -% subsection & |0pt| \\ -% subsubsection & |0pt| \\ -% paragraph & |0pt| \\ -% subparagraph & |\parindent| \\ -% \qquad(sub3section) & |0pt| \\ -% \qquad(sub4section) & åŒä¸Š \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{hang} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part & |false| \\ -% chapter & |false| \\ -% section & |true| \\ -% subsection & |true| \\ -% subsubsection & |true| \\ -% paragraph & æ— æ„义 \\ -% \qquad(sub3section) & |true| \\ -% \qquad(sub4section) & |true| \\ -% subparagraph & æ— æ„义 \\ -% \qquad(sub4section) & |true| \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% +% \small\centering +% \caption{\opt{break} 选项的默认设置} +% \label{tab:break-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part (article) & |{}| \\ +% part & |\if@openright\cleardoublepage\else\clearpage\fi| \\ +% chapter & åŒä¸Š \\ +% section & |\addpenalty{\@secpenalty}| \\ +% subsection & åŒä¸Š \\ +% subsubsection & åŒä¸Š \\ +% paragraph & åŒä¸Š \\ +% subparagraph & åŒä¸Š \\ +% \bottomrule +% \end{tabular} % \end{table} % -% \begin{function}[EXP,updated=2019-03-31]{part/hang, chapter/hang, section/hang, -% subsection/hang, subsubsection/hang, paragraph/hang, subparagraph/hang} +% \begin{function}[EXP,added=2015-06-27]{.../afterindent} % \begin{syntax} -% hang = \TF +% afterindent = \TF % \end{syntax} -% \opt{hang} 选项用于设置是å¦å¯¹ç« èŠ‚æ ‡é¢˜å®žæ–½æ‚¬æŒ‚ç¼©è¿›ï¼ˆç¼©è¿›çš„å®½åº¦ä¸ºåå—宽度和 \opt{indent} 选项 -% 设置的宽度之和)。 +% \opt{afterindent} é€‰é¡¹ç”¨äºŽè®¾ç½®ç« èŠ‚æ ‡é¢˜åŽé¦–段的缩进。 % -% 本选项对 \cls{beamer}/\cls{ctexbeamer} æ–‡æ¡£ç±»æ— æ•ˆã€‚ +% \cls{book} å’Œ \cls{report} 类的 \tn{part} æ ‡é¢˜è¢«å•ç‹¬æŽ’在一页之上, +% \opt{afterindent} 选项没有æ„义。 % 对于 \tn{section} çº§ä»¥ä¸‹æ ‡é¢˜ï¼Œè‹¥è®¾ç½®äº† \opt{runin} 选项为 \opt{true}, -% å³æ ‡é¢˜ä¸ŽéšåŽæ£æ–‡æŽ’在åŒä¸€æ®µï¼Œ\opt{hang} 选项没有æ„义。 -% \end{function} +% å³æ ‡é¢˜ä¸ŽéšåŽæ£æ–‡æŽ’在åŒä¸€æ®µï¼Œ\opt{afterindent} 选项也就没有了æ„义。 % -% \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle} -% \begin{syntax} -% pagestyle = \Arg{页é¢æ ¼å¼} -% \end{syntax} -% 设置 \cls{book}/\cls{ctexbook} 或 \cls{report}/\cls{ctexrep} 文档类 -% ä¸ï¼Œ\tn{part} 与 \tn{chapter} æ ‡é¢˜æ‰€åœ¨é¡µçš„é¡µé¢æ ¼å¼ï¼ˆpage style)。 +% 该选项的默认设置è§è¡¨~\ref{tab:afterindent-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{pagestyle} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part (article) & æ— æ•ˆ \\ -% part & |plain| \\ -% chapter & |plain| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{afterindent} 选项的默认设置} +% \label{tab:afterindent-default} +% \begin{tabular}{lll} +% \toprule +% æ ‡é¢˜å & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |true| & |false| \\ +% part & æ— æ•ˆ & æ— æ•ˆ \\ +% chapter & |true| & |false| \\ +% section & |true| & |false| \\ +% subsection & |true| & |false| \\ +% subsubsection & |true| & |false| \\ +% paragraph & |true| & |false| \\ +% subparagraph & |true| & |false| \\ +% \bottomrule +% \end{tabular} % \end{table} % -% \begin{function}[EXP,added=2016-09-19]{.../break, .../break+} +% \subsection{目录ã€é™„录相关} +% \label{subsec:sec-toc-appendix} +% +% \begin{function}[EXP,added=2016-10-25]{.../tocline} % \begin{syntax} -% break = \Arg{æ ¼å¼å‘½ä»¤} -% break+= \Arg{æ ¼å¼å‘½ä»¤} +% tocline = \Arg{æ ¼å¼å®šä¹‰} % \end{syntax} -% \opt{break} é€‰é¡¹ç”¨äºŽæŽ§åˆ¶ç« èŠ‚æ ‡é¢˜ä¸Žä¹‹å‰æ£æ–‡çš„分隔关系。一般用于设置是å¦åœ¨æ ‡é¢˜ä¹‹å‰åˆ†é¡µæˆ–者设置行间罚点。 -% -% å¸¦åŠ å·çš„ \opt{break+} é€‰é¡¹åˆ™ç”¨äºŽåœ¨å·²æœ‰æ ¼å¼ä¹‹åŽè¿½åŠ æ–°çš„æ ¼å¼å‘½ä»¤ã€‚ -% -% \opt{break} 选项的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下相åŒã€‚ -% -% 例如,若当å‰é¡µå‰©ä½™é«˜åº¦å°äºŽæ£æ–‡é«˜åº¦çš„一åŠæ—¶ï¼Œåˆ™å¦èµ·ä¸€é¡µè¾“出 \tn{section} æ ‡é¢˜ï¼š -% \begin{ctexexam} -% \usepackage{needspace} -% \ctexset{section/break = \Needspace{.5\textheight}} -% \end{ctexexam} +% \opt{tocline} é€‰é¡¹ç”¨äºŽå®šä¹‰ç« èŠ‚æ ‡é¢˜åœ¨ç›®å½•æ–‡ä»¶ï¼ˆ\file{.toc})ä¸çš„æ ¼å¼ã€‚ +% \meta{æ ¼å¼å®šä¹‰}有两个å‚数:å‚æ•° |#1| 是 |part|ã€|chapter| ç‰åå—, +% å‚æ•° |#2| æ˜¯æ ‡é¢˜å†…å®¹ã€‚è¯¥é€‰é¡¹çš„é»˜è®¤è®¾ç½®è§è¡¨~\ref{tab:tocline-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{break} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part (article) & |{}| \\ -% part & |\if@openright\cleardoublepage\else\clearpage\fi| \\ -% chapter & åŒä¸Š \\ -% section & |\addpenalty{\@secpenalty}| \\ -% subsection & åŒä¸Š \\ -% subsubsection & åŒä¸Š \\ -% paragraph & åŒä¸Š \\ -% subparagraph & åŒä¸Š \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{tocline} 选项的默认设置} +% \label{tab:tocline-default} +% \begin{tabular}{ll} +% \toprule +% æ ‡é¢˜å & 默认值 \\ +% \midrule +% part & |\CTEXifname{\CTEXthepart\hspace{1em}}{}#2| \\ +% chapter (\opt{chinese}) +% & |\CTEXifname{\protect\numberline{\CTEXthechapter\hspace{.3em}}}{}#2| \\ +% chapter (\opt{plain}) +% & |\CTEXnumberline{#1}#2| \\ +% section & |\CTEXnumberline{#1}#2| \\ +% subsection & åŒä¸Š \\ +% subsubsection & åŒä¸Š \\ +% paragraph & åŒä¸Š \\ +% subparagraph & åŒä¸Š \\ +% \bottomrule +% \end{tabular} +% +% \medskip +% \raggedright +% 这里 \tn{CTEXnumberline} çš„æ„ä¹‰æ˜¯ï¼Œè‹¥æ ‡é¢˜ |#1| 没有åå—,则ä¸è¾“出 +% |\numberline{\CTEXthe#1}| ç‰ç¼–å·ï¼š +% \begin{verbatim} +% \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{} +% \end{verbatim} +% å…¶ä¸ï¼Œ\tn{CTEXifname} çš„å®šä¹‰è§ \ref{subsec:sec-commands}~å°èŠ‚。 % \end{table} % -% \begin{function}[EXP,added=2016-10-25]{.../tocline} +% \begin{function}[EXP,added=2016-10-01]{chapter/lofskip, chapter/lotskip} % \begin{syntax} -% tocline = \Arg{æ ¼å¼å®šä¹‰} +% lofskip = \Arg{弹性间è·} +% lotskip = \Arg{弹性间è·} % \end{syntax} -% \opt{tocline} é€‰é¡¹ç”¨äºŽå®šä¹‰ç« èŠ‚æ ‡é¢˜åœ¨ç›®å½•æ–‡ä»¶ï¼ˆ\file{.toc})ä¸çš„æ ¼å¼ã€‚\meta{æ ¼å¼å®šä¹‰}有两个å‚数: -% å‚æ•° |#1| 是 |part|ã€|chapter| ç‰åå—,å‚æ•° |#2| æ˜¯æ ‡é¢˜å†…å®¹ã€‚ -% \end{function} -% -% \begin{table}[htbp] -% \small\centering -% \caption{\opt{tocline} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% æ ‡é¢˜å & 默认值 \\ -% \midrule -% part & |\CTEXifname{\CTEXthepart\hspace{1em}}{}#2| \\ -% chapter (\opt{chinese}) -% & |\CTEXifname{\protect\numberline{\CTEXthechapter\hspace{.3em}}}{}#2| \\ -% chapter (\opt{plain}) -% & |\CTEXnumberline{#1}#2| \\ -% section & |\CTEXnumberline{#1}#2| \\ -% subsection & åŒä¸Š \\ -% subsubsection & åŒä¸Š \\ -% paragraph & åŒä¸Š \\ -% subparagraph & åŒä¸Š \\ -% \bottomrule -% \end{tabular} +% \opt{lofskip} 选项控制æ’图目录(\file{.lof})ä¸ï¼Œç« 之间的æ’å›¾æ ‡é¢˜çš„è·ç¦»ã€‚ +% åŒæ ·ï¼Œ\opt{lotskip} é€‰é¡¹æŽ§åˆ¶è¡¨æ ¼ç›®å½•ï¼ˆ\file{.lot})ä¸ï¼Œç« ä¹‹é—´çš„è¡¨æ ¼æ ‡é¢˜ +% çš„è·ç¦»ã€‚ % -% \medskip -% å…¶ä¸ \tn{CTEXnumberline} çš„æ„ä¹‰æ˜¯è‹¥æ ‡é¢˜ |#1| 没有åå—,则ä¸è¾“出 |\numberline{\CTEXthe#1}| -% ç‰ç¼–å·ï¼š -% \begin{verbatim} -% \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{} -% \end{verbatim} -% \end{table} +% ç›®å‰ï¼Œè¿™ä¸¤ä¸ªé€‰é¡¹åªåœ¨ \opt{chapter} æ ‡é¢˜ä¸‹æœ‰å®šä¹‰ã€‚ +% 它们的默认值,在 \opt{scheme} 选项的ä¸åŒå–值下都为 \SI{10}{pt}。 +% \end{function} % % \begin{function}[EXP,added=2015-06-21]{appendix/numbering} % \begin{syntax} % numbering = \TTF % \end{syntax} -% 控制是å¦å¯¹é™„å½•ç« ï¼ˆå¯¹ \cls{book} 与 \cls{report})或附录节(对 \cls{article}) -% 进行编å·ã€‚ -% -% ç”¨æ³•ä¸Žæ™®é€šç« èŠ‚ \opt{numbering} 选项类似。 +% 控制是å¦å¯¹é™„å½•ç« ï¼ˆå¯¹åº” \cls{book} 与 \cls{report})或附录节 +% (对应 \cls{article})进行编å·ï¼Œç”¨æ³•ä¸Žæ™®é€šç« 节对应的 \opt{numbering} +% 选项相åŒã€‚该选项默认值为 \opt{true}。 % \end{function} % % \begin{function}[EXP,updated=2014-03-08]{appendix/name} @@ -2335,60 +2422,103 @@ Copyright and Licence % name = \{<å‰åå—>,<åŽåå—>\} % name = \Arg{å‰åå—} % \end{syntax} -% è®¾ç½®é™„å½•ç« ï¼ˆå¯¹ \cls{book} 与 \cls{report})或附录节(对 \cls{article})的 -% åå—。 -% -% ç”¨æ³•ä¸Žæ™®é€šç« èŠ‚ \opt{name} 选项类似。 +% è®¾ç½®é™„å½•ç« ï¼ˆå¯¹åº” \cls{book} 与 \cls{report})或附录节(对应 \cls{article}) +% çš„åå—ï¼Œç”¨æ³•ä¸Žæ™®é€šç« èŠ‚å¯¹åº”çš„ \opt{name} 选项相åŒã€‚ % % 注æ„该选项与 \opt{appendixname} 选项(\ref{subs:capname}~节)在æ„义上有 -% 些é‡å ,但æ„义ä¸åŒã€‚\opt{appendixname} 选项åªç”¨æ¥é‡å®šä¹‰ -% \tn{appendixname},而ä¸ç®¡ \tn{appendixname} å¦‚ä½•ä½¿ç”¨ï¼›è¯¥é€‰é¡¹åˆ™å†³å®šåœ¨ç« èŠ‚æ ‡ -% 题ä¸è¾“出的åå—,å¯ä»¥è°ƒç”¨ \tn{appendixname} 设置。 +% 些é‡å ,但ä¸å®Œå…¨ç›¸åŒã€‚\opt{appendixname} 选项åªç”¨æ¥é‡å®šä¹‰ +% \tn{appendixname},而ä¸ç®¡ \tn{appendixname} å¦‚ä½•ä½¿ç”¨ï¼›è¯¥é€‰é¡¹åˆ™å†³å®šåœ¨ç« èŠ‚ +% æ ‡é¢˜ä¸è¾“出的åå—,å¯ä»¥è°ƒç”¨ \tn{appendixname} 设置。 +% +% 该选项的默认设置è§è¡¨~\ref{tab:appendix-name-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{appendix/name} 选项的默认设置} -% \begin{tabular}{llllll} -% \toprule -% 文档类 & å½±å“命令 & \opt{scheme = chinese} & 实际定义 -% & \opt{scheme = plain} & 实际定义 \\ -% \midrule -% article & \tn{section} & |{}| & & |{}| & \\ -% book, report & \tn{chapter} & |\appendixname\space| & \verb*|附录 | -% & |\appendixname\space| & \verb*|Appendix | \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{appendix/name} 选项的默认设置} +% \label{tab:appendix-name-default} +% \begin{tabular}{llllll} +% \toprule +% 文档类 & å½±å“命令 & \opt{scheme = chinese} & 实际定义 +% & \opt{scheme = plain} & 实际定义 \\ +% \midrule +% article & \tn{section} & |{}| & & |{}| & \\ +% book, report & \tn{chapter} & |\appendixname\space| & \verb*|附录 | +% & |\appendixname\space| & \verb*|Appendix | \\ +% \bottomrule +% \end{tabular} % \end{table} % % \begin{function}[EXP]{appendix/number} % \begin{syntax} % number = \Arg{æ•°å—输出命令} % \end{syntax} -% è®¾ç½®é™„å½•ç« ï¼ˆå¯¹ \cls{book} 与 \cls{report})或附录节(对 \cls{article})编 -% å·çš„æ•°å—è¾“å‡ºæ ¼å¼ã€‚ -% -% ç”¨æ³•ä¸Žæ™®é€šç« èŠ‚çš„ \opt{number} 选项类似。 -% -% 该选项也åŒæ—¶æŽ§åˆ¶é™„å½•ç« èŠ‚è®¡æ•°å™¨çš„äº¤å‰å¼•ç”¨ã€‚ +% è®¾ç½®é™„å½•ç« ï¼ˆå¯¹ \cls{book} 与 \cls{report})或附录节(对 \cls{article}) +% ç¼–å·çš„æ•°å—è¾“å‡ºæ ¼å¼ï¼Œç”¨æ³•ä¸Žæ™®é€šç« 节对应的 \opt{number} 选项相åŒã€‚ % +% \opt{appendix/number} 选项åŒæ—¶ä¹Ÿä¼šæŽ§åˆ¶é™„å½•ç« èŠ‚è®¡æ•°å™¨çš„äº¤å‰å¼•ç”¨ã€‚ % ä¸Žæ™®é€šç« èŠ‚çš„ \opt{number} 选项类似,åŒæ ·éœ€è¦æ³¨æ„,该选项ä¸ä¼šå½±å“计数器本身 % 的输出,å³ä¸å½±å“ \tn{thesection} 或 \tn{thechapter} 的定义。 +% +% 该选项的默认设置è§è¡¨~\ref{tab:appendix-number-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{appendix/number} 选项的默认设置} -% \begin{tabular}{llllll} -% \toprule -% 文档类 & å½±å“命令 & 默认值 \\ -% \midrule -% article & \tn{section} & |\Alph{section}| \\ -% book, report & \tn{chapter} & |\Alph{chapter}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{appendix/number} 选项的默认设置} +% \label{tab:appendix-number-default} +% \begin{tabular}{llllll} +% \toprule +% 文档类 & å½±å“命令 & 默认值 \\ +% \midrule +% article & \tn{section} & |\Alph{section}| \\ +% book, report & \tn{chapter} & |\Alph{chapter}| \\ +% \bottomrule +% \end{tabular} % \end{table} % +% \subsection{有关命令} +% \label{subsec:sec-commands} +% +% \CTeX{} å®é›†è¿˜æ供了一些命令(å®ï¼‰ï¼Œç”¨äºŽå˜å‚¨ç« èŠ‚æ ‡é¢˜æ ¼å¼ï¼Œæˆ–进行一些æ¡ä»¶åˆ¤æ–。 +% +% \begin{function}{\CTEXthepart, \CTEXthechapter, \CTEXthesection, +% \CTEXthesubsection, \CTEXthesubsubsection, \CTEXtheparagraph, +% \CTEXthesubparagraph} +% 以 |\CTEXthe| 开头的这组å®ç»™å‡ºç»“åˆäº† \opt{name} 与 \opt{number} é€‰é¡¹çš„ç« èŠ‚ +% ç¼–å·è¾“å‡ºæ ¼å¼ã€‚例如在 \opt{scheme = chinese} æ—¶ï¼Œé»˜è®¤ç« ç¼–å·è¾“å‡ºæ ¼å¼å°±æ˜¯ +% \tn{CTEXthechapter}ï¼Œå½¢å¦‚â€œç¬¬ä¸€ç« â€ã€‚ +% +% 这组å®åœ¨ \CTeX 文档类ä¸å°†ä»£æ›¿ \tn{thechapter} ç‰å®çš„ä½œç”¨ï¼Œåœ¨ç« èŠ‚ä¸å¼•ç”¨æœ¬ç« +% 节的完整编å·ã€‚ä¾‹å¦‚ç”¨äºŽå¸®åŠ©å®šä¹‰è‡ªå®šä¹‰çš„ç›®å½•æ ¼å¼ã€é¡µçœ‰æ ¼å¼ç‰ã€‚ +% \end{function} +% +% \begin{function}[added=2016-09-18]{\CTEXifname} +% \begin{syntax} +% \tn{CTEXifname} \Arg{有åå—时的内容} \Arg{æ— åå—时的内容} +% \end{syntax} +% \tn{CTEXifname} ä¼šæ ¹æ®å½“å‰ç« èŠ‚æœ‰æ— åå—展开得到ä¸åŒå†…å®¹ï¼ˆé€šå¸¸æ˜¯æ ¼å¼å‘½ä»¤ï¼‰ã€‚ +% ç”±äºŽç« èŠ‚åå—总是与编å·ä¸€èµ·å‡ºçŽ°ï¼Œç« èŠ‚æœ‰æ— åå—é€šå¸¸ä¹Ÿè¡¨è¾¾ä¸ºâ€œç« èŠ‚æ˜¯å¦ç¼–å·â€ã€‚ +% 在 \LaTeX{} ä¸ï¼ŒåŽè€…å–å†³äºŽä»¥ä¸‹å‡ ä¸ªæ–¹é¢ï¼šç« 节深度是å¦ä¸å¤§äºŽè®¡æ•°å™¨ +% |secnumdepth| çš„å€¼ï¼Œç« èŠ‚æ ‡é¢˜æ˜¯å¦ä½¿ç”¨ä¸å¸¦æ˜Ÿå·çš„命令。在 \CTeX{} å®é›†ä¸ï¼Œ +% åŽè€…还å–决于 \opt{.../numbering} 是å¦ä¸º \opt{true}。 +% +% \tn{CTEXifname} å¯ç”¨äºŽ \opt{format}, \opt{titleformat}, \opt{aftertitle}, +% \opt{afterskip}, \opt{indent} 这五个选项和 \tn{chapter} æ ‡é¢˜ +% \opt{beforeskip} é€‰é¡¹çš„æ ¼å¼è®¾ç½®ä¹‹ä¸ã€‚也å¯ç”¨äºŽå¸®åŠ©å®šä¹‰è‡ªå®šä¹‰çš„ç›®å½•æ ¼å¼ã€ +% é¡µçœ‰æ ¼å¼ç‰ã€‚ +% +% ä¾‹å¦‚ï¼Œè®¾ç½®ç« çš„æ ‡é¢˜æœ‰åå—时左对é½ï¼Œæ— åå—时居ä¸å¯¹é½ï¼Œå¹¶ä¸”åœ¨æ ‡é¢˜åŽç”»ä¸€æ¡æ¨ªçº¿ã€‚ +% \begin{ctexexam} +% \ctexset{ +% chapter/format = \CTEXifname{\raggedright}{\centering}, +% chapter/aftertitle = \par\CTEXifname{}{\hrule}, +% } +% \end{ctexexam} +% \end{function} +% +% \subsection{示例} +% % 我们最åŽä¸¾ä¸€ä¸ªç¨å¾®å¤æ‚的例å,æ¥çœ‹çœ‹ä¸Šè¿°é€‰é¡¹çš„综åˆåº”用。 % % \begin{ctexexam}[labelref=exam:miscopt] @@ -2548,18 +2678,18 @@ Copyright and Licence % % \subsection{\LuaLaTeX{} 下替代å—体的设置} % -% \begin{function}[added=2014-04-14]{AlternateFont} +% \begin{function}[updated=2020-04-30]{AlternateFont} % \begin{syntax} -% \tn{setCJKfamilyfont} \Arg{family} +% \tn{setCJKfamilyfont} \Arg{family} \Arg{base font name} % \ [ +% \ <base font features> , % \ AlternateFont = % \ \{ -% \ \Arg{character range_1} \oarg{alternate font features_1} \Arg{alternate font name_1} || -% \ \Arg{character range_2} \oarg{alternate font features_2} \Arg{alternate font name_2} || +% \ \Arg{character range_1} \Arg{alternate font name_1} , +% \ \Arg{character range_2} \Arg{alternate font name_2} \Arg{alternate font features_2} , % \ ...... -% \ \} , -% \ <base font features> -% \ ] \Arg{base font name} +% \ \} +% \ ] % \end{syntax} % 在设置å—ä½“æ— \meta{family} 的时候,åŒæ—¶è®¾ç½®è¯¥å—体æ—在å—符范围 % \meta{character range_n} 内,对应å—形的替代å—体。 @@ -2567,11 +2697,11 @@ Copyright and Licence % % \begin{function}[added=2014-04-14]{CharRange} % \begin{syntax} -% \tn{setCJKfamilyfont} \Arg{family} +% \tn{setCJKfamilyfont} \Arg{family} \Arg{alternate font name} % \ [ % \ CharRange = \Arg{character range} , % \ <alternate font features> -% \ ] \Arg{alternate font name} +% \ ] % \end{syntax} % åªè®¾ç½®å—ä½“æ— \meta{family} 在å—符范围 \meta{character range} 内,对应å—形的 % 替代å—体。 @@ -2586,7 +2716,7 @@ Copyright and Licence % \setCJKmainfont[CharRange={"6800->"9FFF}, ...]{...} % \end{ctexexam} % -% \begin{function}[EXP,added=2014-04-14]{declarecharrange} +% \begin{function}[EXP,added=2020-04-30]{declarecharrange} % \begin{syntax} % \tn{ctexset} % \ \{ @@ -2605,9 +2735,10 @@ Copyright and Licence % % 在声明å—符范围 \meta{name} çš„åŒæ—¶ï¼Œè¿˜ä¸º \tn{setCJKmainfont} ç‰å—体设置命令定义 % 了选项 \meta{name},用于设置对应å—符的替代å—体: -% \begin{quote}\linespread{1}\small\ttfamily -% \meta{name} = \oarg{alternate font features} \Arg{alternate font name} -% \end{quote} +% \begin{syntax} +% \meta{name} = \Arg{alternate font name} +% \meta{name} = \Arg{alternate font name} \Arg{alternate font features} +% \end{syntax} % \meta{name} 选项å¯ä»¥ä¸Ž \opt{AlternateFont} å…±åŒä½¿ç”¨ï¼Œä½†ä¸èƒ½ä¸Ž \opt{CharRange} % 一起使用。如果没有给 \meta{name} 设置值,则ç‰ä»·äºŽè®¾ç½® \opt{CharRange=\meta{name}}, % å³åªè®¾ç½® \meta{name} 对应的å—符范围的替代å—体。 @@ -2652,7 +2783,7 @@ Copyright and Licence % 例如对于 \TeX{} Live,系统自带的é…置文件就在 \TeX{} Live 安装目录下的 % \path{texmf-dist/tex/latex/ctex/config/} å目录下,å¯ä»¥ä¿®æ”¹å®ƒçš„副本,ä¿å˜åœ¨ % 本地 TDS æ ‘çš„ \path{texmf-local/tex/latex/ctex/} 目录下,或者用户 TDS æ ‘çš„ -% \path{~/.texlive2015/texmf-var/tex/latex/ctex/} 目录下,作为本地/用户专有的 +% \path{~/texmf/tex/latex/ctex/} 目录下,作为本地/用户专有的 % é…置文件。å¤åˆ¶é…置文件åŽéœ€è¦è¿è¡Œ |texhash| 命令使本地é…置文件生效。 % % \MiKTeX{} çš„é…置文件也ä¿å˜åœ¨ç±»ä¼¼çš„目录结构ä¸ï¼Œ\MiKTeX{} 管ç†çš„ @@ -2668,13 +2799,12 @@ Copyright and Licence % 注释就å¯ä»¥ç”Ÿæ•ˆã€‚ % % \begin{ctexexam} -% % 系统自带 ctexopts.cfg 注释ä¸çš„示例è¯å¥ï¼Œå›ºå®šé»˜è®¤å—体集为 windowsnew。 +% % 系统自带 ctexopts.cfg 注释ä¸çš„示例è¯å¥ï¼Œå›ºå®šé»˜è®¤å—体集为 windows。 % % 该设置å¯ä»¥ç”¨åœ¨å®‰è£…了 Windows å—ä½“çš„éž Windows 系统ä¸ã€‚ -% \keys_set:nn { ctex / option } { fontset = windowsnew } +% \ctex_set:nn { option } { fontset = windows } % \end{ctexexam} -% 如上例所示,å®åŒ…选项通常使用 \LaTeXiii{} çš„ \cs{keys_set:nn} 命令完æˆé”®å€¼è®¾ç½®ï¼Œ -% 第一个å‚数是固定的åæ¨¡å— |ctex/option|,第二个å‚æ•°ä¸æ˜¯ç”¨æˆ·å®šä¹‰çš„新的默认å®åŒ… -% 选项。 +% 如上例所示,å®åŒ…选项通常使用 \LaTeXiii{} çš„ \cs{ctex_set:nn} 命令完æˆé”®å€¼è®¾ç½®ï¼Œ +% 第一个å‚数是固定的åæ¨¡å— |option|,第二个å‚æ•°ä¸æ˜¯ç”¨æˆ·å®šä¹‰çš„新的默认å®åŒ…选项。 % % \file{ctexopts.cfg} ä¸çš„设置将在 \CTeX{} å®é›†çš„开始处,定义过å®åŒ…选项之åŽï¼Œ % \tn{ProcessKeysOptions} 命令之å‰ç”Ÿæ•ˆã€‚最好åªä½¿ç”¨æ¤é…置文件修改å®åŒ…默认选项。 @@ -2820,20 +2950,22 @@ Copyright and Licence % % \begin{function}{fntef} % 旧版本的 \opt{fntef} 选项用于统一 \pkg{CCTfntef} 与 \pkg{CJKfntef} çš„ç•Œé¢ï¼Œ -% 新版本 \CTeX{} å®é›†ä¸å†æ”¯æŒ \pkg{CCT},而是直接载入 \pkg{CJKfntef} 或 -% \pkg{xeCJKfntef} å®åŒ…并ç¦ç”¨å…¶å½©è‰²è®¾ç½®ã€‚该选项是过时选项。 +% 新版本 \CTeX{} å®é›†ä¸å†æ”¯æŒ \pkg{CCT},也ä¸å†è‡ªåŠ¨è½½å…¥ \pkg{CJKfntef} 或 +% \pkg{xeCJKfntef} å®åŒ…,而仅在其末尾åšé€‚å½“æ ¼å¼è°ƒæ•´ã€‚ +% +% \opt{fntef} é€‰é¡¹è¿‡æ—¶ï¼Œå› å…¼å®¹æ€§ä¿ç•™ï¼ŒåŠŸèƒ½æ˜¯æ ¹æ®å¼•æ“Žè½½å…¥ \pkg{CJKfntef} +% (\pdfTeX{}) 或 \pkg{xeCJKfntef} (\XeTeX{}) å®åŒ…。 % \end{function} % % \begin{function}{\CTEXunderdot, \CTEXunderline, \CTEXunderdblline, -% \CTEXunderwave, \CTEXsout, \CTEXxout, \CTEXfilltwosides} +% \CTEXunderwave, \CTEXsout, \CTEXxout, CTEXfilltwosides} % 在调用 \opt{fntef} å®åŒ…选项的åŒæ—¶ï¼Œæ—§ç‰ˆæœ¬ \CTeX{} å®åŒ…由于需è¦æ”¯æŒ \pkg{CCT} % 系统,会将以 |\CJK| 开头的 \tn{CJKunderline} ç‰å®æ¢å为以 |\CTEX| 开头的 -% \tn{CTEXunderline} ç‰å®ã€‚æ¤åŠŸèƒ½åœ¨æ–°ç‰ˆæœ¬çš„ \CTeX{} å®é›†ä¸å·²å¤±åŽ»æ„义。 -% -% æ¤å¤–,在 \pdfTeX{} å¼•æ“Žä¸‹ï¼Œç”¨äºŽè®¾ç½®æ ¼å¼çš„ \tn{CJKunderdotbasesep} ç‰å®ä¹Ÿè¢«æ¢ -% å为 \tn{CTEXunderdotbasesep} ç‰å®ã€‚ +% \tn{CTEXunderline} ç‰å®ã€‚æ¤åŠŸèƒ½åœ¨æ–°ç‰ˆæœ¬çš„ \CTeX{} å®é›†ä¸å·²å¤±åŽ»æ„义。æ¤å¤–, +% 在 \pdfTeX{} å¼•æ“Žä¸‹ï¼Œç”¨äºŽè®¾ç½®æ ¼å¼çš„ \tn{CJKunderdotbasesep} ç‰å®ä¹Ÿè¢«æ›´å为 +% \tn{CTEXunderdotbasesep} ç‰å®ã€‚ % -% 在新版本ä¸ï¼Œä¸Šè¿°ç”± \opt{fntef} è¡ç”Ÿçš„相关å®éƒ½æˆä¸ºè¿‡æ—¶å‘½ä»¤ã€‚ +% 在新版本ä¸ï¼Œä¸Šè¿°ç”± \opt{fntef} è¡ç”Ÿçš„相关命令和环境å‡è¢«ç§»é™¤ã€‚ % \end{function} % % \begin{function}{\CTEXsetfont} @@ -2927,11 +3059,53 @@ Copyright and Licence % 这两个选项已ç»è¢«åˆ 除,相应功能由新的选项 \opt{fixskip} æ供。 % \end{function} % +% \subsection{\CTeX\ 2.5 之å‰çš„版本} +% +% \CTeX\ 2.5 有一些比较大的å˜åŠ¨ã€‚ +% +% \begin{function}[label =]{UTF8, GBK} +% (pdf)\LaTeX{} æ ¼å¼ä¸‹ï¼Œæ–‡æ¡£ç¼–ç åˆå§‹å€¼ç»Ÿä¸€è®¾ç½®æˆ UTF-8ã€‚å› æ¤ï¼Œä»æ—§ä½¿ç”¨ GBK +% ç¼–ç 的文档,需è¦åœ¨æ–‡æ¡£ç±»æˆ–å®åŒ…选项ä¸æ˜¾å¼æŒ‡å®š \opt{GBK}。 +% \end{function} +% +% \begin{function}[label =]{\CTEXunderdot, \CTEXunderline, \CTEXunderdblline, +% \CTEXunderwave, \CTEXsout, \CTEXxout, CTEXfilltwosides} +% ä¸å†é»˜è®¤è½½å…¥ \pkg{CJKfntef} 或 \pkg{xeCJKfntef} å®åŒ…,åŒæ¥ç§»é™¤æœ‰å…³å‘½ä»¤ +% 和环境。若需使用相关å®åŒ…,建议用户使用 \tn{usepackage} 命令主动载入。 +% \end{function} +% +% \begin{function}[label =]{fntef} +% 作为兼容性ä¿ç•™ï¼Œä¼šè§†ç¼–译引擎载入相应å®åŒ…。 +% \end{function} +% +% \begin{function}{windows} +% ä¸å†æ”¯æŒ Windows XP 系统,默认è¦æ±‚ Windows 系统有微软雅黑å—体。 +% 建议 Windows XP 系统的用户åŠæ—¶æ›´æ–°æ“作系统。若一定è¦åœ¨ Windows XP ä¸ä½¿ç”¨ï¼Œ +% 请使用 2.5 以å‰çš„版本。 +% \end{function} +% +% \begin{function}{windowsold, windowsnew} +% 过时å—库选项,作为兼容性ä¿ç•™ï¼ŒåŠŸèƒ½æ˜¯è½½å…¥ \opt{windows} å—库。 +% \end{function} +% +% \begin{function}{ubuntu} +% 改用æ€æºï¼ˆNoto CJK)和文鼎å—库。该å—库ä¸å†æ”¯æŒ \pdfLaTeX 编译。 +% \end{function} +% +% \begin{function}[label =]{AlternateFont} +% ä¸å†æ”¯æŒå°†æ›¿ä»£å—体的å¯é€‰é¡¹æ”¾åœ¨å—体å之å‰çš„方括å·ä¸ï¼Œ +% æ–°çš„è¯æ³•æ˜¯å°†å¯é€‰é¡¹æ”¾åœ¨å—体å之åŽçš„花括å·ä¹‹å†…。 +% \end{function} +% +% 除了以上列出的选项以外,当用户使用 \CTeX{} 系列文档类,且使用 \LaTeX 或 +% \upLaTeX 编译时,若用户没有在文档类选项ä¸æ˜¾å¼æŒ‡å®š |dvips|/|dvipdfmx|/|dvisvgm| +% ç‰é©±åŠ¨é€‰é¡¹ï¼Œåˆ™æ–‡æ¡£ç±»æŒ‡å®šé»˜è®¤é©±åŠ¨ä¸º \dvipdfmx。 +% % \section{å®é›†ä¾èµ–情况与手工安装方法} % \label{sec:dep-ins} % % æœ¬èŠ‚ä»‹ç» \CTeX{} å®é›†çš„ä¾èµ–情况,并介ç»æ‰‹å·¥ç¼–译安装的具体方法。 -% 通常用户åªéœ€å‚照第 \ref{subsec:easy-ins}~节介ç»çš„方法,使用å‘行版自带的å®åŒ…管ç†å™¨å®‰è£… +% 通常用户åªéœ€å‚照第 \ref{subsec:easy-ins}~节介ç»çš„方法,使用å‘行版自带的包管ç†å™¨å®‰è£… % 本å®é›†ã€‚ % % \CTeX{} å®é›†æœ‰ä¸¤ä¸ªæºæ–‡ä»¶ï¼š\file{ctex.dtx}ã€\file{ctexpunct.spa}。 @@ -2943,14 +3117,20 @@ Copyright and Licence % å’Œ \pkg{l3packages} å®é›†ã€‚ % \item \pkg{indentfirst} å®åŒ…,属于 \pkg{tools} å®é›†ã€‚ % \item \pkg{everysel} å®åŒ…,属于 \pkg{ms} å®é›†ã€‚ -% \item \pkg{ulem} å®åŒ…。 % \item \pkg{zhnumber} å®åŒ…。 % \item[\ding{229}] 以上是å„ç§ç¼–译方å¼éƒ½å¿…需的ä¾èµ–项。 % \item \pkg{CJK} å®é›†ã€‚ % \item \pkg{CJKpunct} å®åŒ…。 % \item \pkg{xCJK2uni} å®åŒ…。 % \item \pkg{zhmetrics} å®åŒ…。 -% \item \pkg{zhmCJK} å®åŒ…,它还ä¾èµ– \pkg{oberdiek} å®é›†ã€‚ +% \item \pkg{zhmCJK} å®åŒ…,它还ä¾èµ– +% \begin{itemize} +% \item \pkg{iftex} å®åŒ…。 +% \item \pkg{ltxcmds} å®åŒ…。 +% \item \pkg{kvoptions} å®åŒ…。 +% \item \pkg{kvsetkeys} å®åŒ…。 +% \item \pkg{keyval} å®åŒ…,\pkg{graphics} å®é›†ã€‚ +% \end{itemize} % \item[\ding{229}] 以上是使用 \pdfLaTeX{} 或 \LaTeX{} + \dvipdfmx{} 的编译方å¼æ‰€éœ€è¦ % çš„ä¾èµ–é¡¹ï¼Œå…¶ä¸ \pkg{zhmCJK} 是å¯é€‰çš„。 % \item \pkg{xeCJK} å®é›†ï¼Œå®ƒè¿˜ä¾èµ– @@ -2958,17 +3138,19 @@ Copyright and Licence % \item \pkg{xtemplate} å®åŒ…,它属于 \pkg{l3packages} å®é›†ã€‚ % \item \pkg{fontspec} å®åŒ…。 % \end{itemize} -% \item \pkg{environ} å®åŒ…,它还ä¾èµ– \pkg{trimspaces} å®åŒ…。 % \item[\ding{229}] 以上是使用 \XeLaTeX{} 编译时的ä¾èµ–项。 % \item \pkg{luatexja} å®åŒ…,它还ä¾èµ– % \begin{itemize} % \item \pkg{adobemapping} å®åŒ…。 -% \item \pkg{lualibs} å®åŒ…。 -% \item \pkg{luaotfload} å®åŒ…。 +% \item \pkg{luaotfload} å®åŒ…,它还ä¾èµ– \pkg{lualibs} å®åŒ…。 % \item \pkg{luatexbase} å®åŒ…,它还ä¾èµ– \pkg{ctablestack} å®åŒ…。 -% \item \pkg{oberdiek} å®é›†ã€‚ -% \item \pkg{xkeyval} å®åŒ…。 +% \item \pkg{atbegshi} å®åŒ…。 % \item \pkg{etoolbox} å®åŒ…。 +% \item \pkg{iftex} å®åŒ…。 +% \item \pkg{infwarerr} å®åŒ…。 +% \item \pkg{ltxcmds} å®åŒ…。 +% \item \pkg{pdftexcmds} å®åŒ…。 +% \item \pkg{xkeyval} å®åŒ…。 % \end{itemize} % \item \pkg{fontspec} å®åŒ…。 % \item \pkg{xunicode-addon} å®åŒ…,属于 \pkg{xeCJK} å®é›†ï¼Œå®ƒè¿˜ä¾èµ– @@ -2978,6 +3160,7 @@ Copyright and Licence % \item \pkg{graphics} å®é›†ã€‚ % \item \pkg{graphics-cfg} å®åŒ…。 % \item \pkg{graphics-def} å®åŒ…。 +% \item \pkg{tipa} å®åŒ…。 % \end{itemize} % \end{itemize} % \item[\ding{229}] 以上是使用 \LuaLaTeX{} 编译时的ä¾èµ–项。 @@ -3001,7 +3184,7 @@ Copyright and Licence % ä¸ç¬¬ 3 节的指导。 % % \emph{\CTeX{} å®é›†å·²è¢« \TeXLive{} å’Œ \MiKTeX{} æ”¶å½•ï¼Œè‹¥æ— ç‰¹åˆ«ç†ç”±ï¼Œ -% 我们强烈建议用户使用å®åŒ…管ç†å™¨å®‰è£…本å®é›†ã€‚} +% 我们强烈建议用户使用包管ç†å™¨å®‰è£…本å®é›†ã€‚} % % è‹¥è¦æ‰‹å·¥å®‰è£…,请éµå¾ªå¦‚下æ¥éª¤ï¼š % \begin{enumerate} @@ -3023,9 +3206,12 @@ Copyright and Licence % \item é™ˆä¹‹åˆ (\email{zhichu.chen@gmail.com}) % \item æŽæ¸… (\email{sobenlee@gmail.com}) % \item é»„æ™¨æˆ (\email{liamhuang0205@gmail.com}) +% \item 曾祥东 (\email{xdzeng96@gmail.com}) +% \item æŽæ³½å¹³ (\email{zepinglee@gmail.com}) +% \item å‘¨å®‡æº (\email{muzimuzhi@gmail.com}) +% \item å¼ ç‘žç†¹ (\email{ruixizhang42@gmail.com}) % \end{itemize} % -% ç›®å‰æ¯”较活跃的开å‘维护人员是刘海洋ã€æŽæ¸…和黄晨æˆã€‚ % % % \begin{thebibliography}{9} @@ -3105,11 +3291,11 @@ Copyright and Licence \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } %<*class> \@ifpackagelater { l3keys2e } { 2015/12/20 } { } @@ -3138,13 +3324,20 @@ Copyright and Licence %</class|ctex> % \end{macrocode} % +% \changes{v2.5}{2020/04/19} +% {å¤„ç† \cs{ctex_file_input:n} 在 \pkg{ctexsize} ä¸æœªå®šä¹‰çš„错误。} +% \changes{v2.5}{2020/04/21}{在 \pkg{ctexsize} 也载入 \pkg{fix-cm}。} +% % \begin{macrocode} -%<*class|ctex|ctexheading> +%<*class|ctex|ctexheading|ctexsize> % \end{macrocode} % +% \pkg{ctexsize} 也è¦è½½å…¥ \pkg{fix-cm} åŒ…è§£å†³ä¼ ç»Ÿ cm å—体å—å·ç¼ºå¤±çš„问题。 % \begin{macrocode} -\RequirePackage { ctexhook , ctexpatch } -%<!ctexheading>\RequirePackage { fix-cm , everysel } +%<!ctexsize>\RequirePackage { ctexhook , ctexpatch } +%<!ctexheading>\RequirePackage { fix-cm } +%<*!ctexsize> +%<!ctexheading>\RequirePackage { everysel } % \end{macrocode} % % \subsection{内部函数与å˜é‡} @@ -3159,10 +3352,28 @@ Copyright and Licence % \end{macrocode} % \end{variable} % +% \begin{macro}[int]{\ctex_define_option:n, +% \ctex_define:n,\ctex_set:n,\ctex_set:nn} +% 在å®åŒ…内部使用的键值选项定义ã€è®¾ç½®å‘½ä»¤ã€‚ +% \begin{macrocode} +%</!ctexsize> +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +%<*!ctexsize> +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } +% \end{macrocode} +% \end{macro} +% % \begin{macro}[int]{\ctex_file_wrapper:nnn} % 设置文件æ“作的 \tn{catcode} 环境,å‚æ•° |#1| 是设置,|#2| 是文件æ“作,|#3| 是æ¢å¤ã€‚ % é»˜è®¤å…³é— \LaTeXiii{} è¯æ³•çŽ¯å¢ƒï¼Œå¹¶è®¾ç½® |@| çš„ \tn{catcode} 为 $11$。 % \begin{macrocode} +%</!ctexsize> \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -3184,15 +3395,16 @@ Copyright and Licence % \begin{macro}[int]{\ctex_file_input:n} % 输入文件。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } +%<*!ctexsize> % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_scheme_input:n} % 输入 \opt{scheme} 文件。先查找当å‰æ–‡æ¡£ç±»ä¸‹çš„ \meta{scheme},找ä¸åˆ°å†æŸ¥æ‰¾ä¸€èˆ¬çš„文件。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -3222,7 +3434,8 @@ Copyright and Licence % \end{variable} % % \begin{macrocode} -%</class|ctex|ctexheading> +%</!ctexsize> +%</class|ctex|ctexheading|ctexsize> %<*class|ctex> % \end{macrocode} % @@ -3231,7 +3444,7 @@ Copyright and Licence \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } % \end{macrocode} @@ -3278,12 +3491,10 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{variable}{\l_@@_encoding_tl} -% (pdf)\LaTeX{} åˆå§‹åŒ–ç¼–ç 为 GBK,其它则是 UTF8。 +% \begin{variable}{\g_@@_encoding_tl} +% 所有引擎下默认编ç å‡è®¾ä¸º UTF-8,åˆå§‹å€¼ä¸ºç©ºï¼Œ\tn{ProcessKeysOptions} å†åˆ¤æ–。 % \begin{macrocode} -\tl_new:N \l_@@_encoding_tl -\tl_set:Nx \l_@@_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g_@@_encoding_tl % \end{macrocode} % \end{variable} % @@ -3318,8 +3529,8 @@ Copyright and Licence % \begin{macro}[int]{\ctex_at_end:n} % 区分 \tn{AtEndOfClass} å’Œ \tn{AtEndOfPackage},虽然它们的æ„æ€éƒ½æ˜¯ä¸€æ ·çš„。 % \begin{macrocode} -%<class>\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass } -%<ctex>\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfPackage } +%<class>\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfClass } +%<ctex>\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfPackage } % \end{macrocode} % \end{macro} % @@ -3340,15 +3551,28 @@ Copyright and Licence { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } % \end{macrocode} % +% \begin{macro}[int]{\ctex_deprecated_option:nn, +% \ctex_set_deprecated_option:n,\ctex_deprecated_command:Nn} % 对过时选项或命令给出è¦å‘Šã€‚ % \begin{macrocode} +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } % \end{macrocode} +% \end{macro} % % \begin{macrocode} %</class|ctex> @@ -3360,7 +3584,7 @@ Copyright and Licence % \begin{macrocode} %<*class|ctex|ctexsize> \int_new:N \g_@@_font_size_int -\int_set:Nn \g_@@_font_size_int { -1 } +\int_gset:Nn \g_@@_font_size_int { -1 } %</class|ctex|ctexsize> % \end{macrocode} % \end{variable} @@ -3372,7 +3596,7 @@ Copyright and Licence % % \begin{macrocode} %<*class|style> -\keys_define:nn { ctex / option } +\ctex_define_option:n { %</class|style> % \end{macrocode} @@ -3392,18 +3616,8 @@ Copyright and Licence %<ctexsize> } %</class|ctex|ctexsize> %<*class|ctex> - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , % \end{macrocode} @@ -3451,31 +3665,40 @@ Copyright and Licence % \begin{macrocode} indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , % \end{macrocode} % \end{macro} % +% \changes{v2.5}{2019/11/10}{所有引擎下默认编ç å‡è®¾ä¸º UTF-8。} +% % \begin{macro}{GBK,UTF8} +% 文档编ç ,默认为 UTF-8。 % \begin{macrocode} - GBK .code:n = { \tl_set:Nn \l_@@_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l_@@_encoding_tl { UTF8 } } , + GBK .code:n = + { + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g_@@_encoding_tl { GBK } } + { + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g_@@_encoding_tl { UTF8 } + } + } , + UTF8 .code:n = { \tl_gset:Nn \g_@@_encoding_tl { UTF8 } } , GBK .value_forbidden:n = true , UTF8 .value_forbidden:n = true , % \end{macrocode} @@ -3487,36 +3710,12 @@ Copyright and Licence % % \begin{macro}{fontset} % åˆå§‹å€¼ä¸ºç©ºã€‚è‹¥ç”¨æˆ·æœªæŒ‡å®šï¼Œåˆ™æ ¹æ®æ“作系统载入对应å—体é…置,å¯ä»¥åŒºåˆ† Windows〠-% Mac~OS~X 和其它。 +% macOS 和其他。 % \begin{macrocode} fontset .tl_gset:N = \g_@@_fontset_tl , - nofonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = windows } - } , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -3546,11 +3745,7 @@ Copyright and Licence \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , % \end{macrocode} % \end{macro} @@ -3564,12 +3759,7 @@ Copyright and Licence punct .tl_set:N = \l_@@_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , % \end{macrocode} % \end{macro} @@ -3581,15 +3771,10 @@ Copyright and Licence { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , % \end{macrocode} % \end{macro} @@ -3622,6 +3807,7 @@ Copyright and Licence % % \changes{v2.0}{2015/04/15}{新增 \opt{scheme} 选项,并将 \opt{cap} å’Œ \opt{nocap} % 列为过时选项。} +% % \begin{macro}{scheme} % \begin{macrocode} scheme .tl_set:N = \l_@@_scheme_tl , @@ -3635,25 +3821,18 @@ Copyright and Licence scheme .initial:n = { chinese } , %</!ctexheading> % \end{macrocode} +% \end{macro} % % \begin{macrocode} %</class|ctex|ctexheading> %<*class|ctex> % \end{macrocode} % +% \begin{macro}{cap,nocap} +% \opt{cap} å’Œ \opt{nocap} 是过时选项。 % \begin{macrocode} - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , % \end{macrocode} @@ -3662,25 +3841,51 @@ Copyright and Licence % \changes{v2.0}{2015/04/20}{\opt{hyperref} æˆä¸ºè¿‡æ—¶é€‰é¡¹ï¼ŒåŽŸé€‰é¡¹åŠŸèƒ½æ€»æ˜¯æ‰“开。} % \changes{v2.0}{2015/04/20}{\opt{fancyhdr} æˆä¸ºè¿‡æ—¶é€‰é¡¹ï¼ŒåŽŸé€‰é¡¹åŠŸèƒ½æ€»æ˜¯æ‰“开。} % \changes{v2.0}{2015/04/20}{\opt{fntef} æˆä¸ºè¿‡æ—¶é€‰é¡¹ï¼ŒåŽŸé€‰é¡¹åŠŸèƒ½æ€»æ˜¯æ‰“开。} -% \begin{macro}{fntef,fancyhdr,hyperref} -% \changes{v2.1}{2015/06/03}{补充定义 \tn{hypersetup}。} -% 这些都是过时的å®åŒ…兼容选项,原选项功能总是打开的。 +% +% 以下三项都是过时的兼容选项,它们会载入有关å®åŒ…。 +% +% \begin{macro}{fntef} +% \changes{v2.5}{2019/11/10}{仅在该选项å¯ç”¨æ—¶ä¼šè½½å…¥ \pkg{CJKfntef} 或 +% \pkg{xeCJKfntef} å®åŒ…。} % \begin{macrocode} - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{fancyhdr} +% \begin{macrocode} fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{hyperref} +% \changes{v2.1}{2015/06/03}{补充定义 \tn{hypersetup}。} +% \begin{macrocode} hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -3726,7 +3931,7 @@ Copyright and Licence #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l_@@_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l_@@_tmp_tl } \tl_clear:N \l_@@_tmp_tl % \end{macrocode} % \end{macro} @@ -3734,7 +3939,7 @@ Copyright and Licence % å°†æœªçŸ¥é€‰é¡¹ä¼ ç»™æ ‡å‡†æ–‡æ¡£ç±»ã€‚ % \begin{macrocode} %<*class> -\keys_define:nn { ctex / option } +\ctex_define_option:n { unknown .code:n = { \clist_gput_right:No \g_@@_std_options_clist { \CurrentOption } } @@ -3742,28 +3947,44 @@ Copyright and Licence %</class> % \end{macrocode} % +% 载入选项é…置文件。 % \begin{macrocode} %<!ctexsize>\ctex_file_input:n { ctexopts.cfg } %</class|ctex|ctexsize> % \end{macrocode} % +% 处ç†å®åŒ…选项。 % \begin{macrocode} %<*class|style> \ProcessKeysOptions { ctex / option } %</class|style> % \end{macrocode} % +% \pdfLaTeX{} 下,如果没有显å¼æŒ‡å®šç¼–ç 为 |UTF8|,则给出è¦å‘Šä¿¡æ¯ã€‚ +% \begin{macrocode} +%<*class|ctex> +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g_@@_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g_@@_encoding_tl { UTF8 } + } +%</class|ctex> +% \end{macrocode} +% % \begin{macrocode} %<*class> % \end{macrocode} % % 五å·å—ä½¿ç”¨æ ‡å‡†æ–‡æ¡£ç±»çš„ |10pt| å—体大å°è®¾ç½®ï¼Œå°å››å·å—则使用 |12pt|。 % \begin{macrocode} -\if_case:w \g_@@_font_size_int - \clist_gput_right:Nn \g_@@_std_options_clist { 10pt } -\or: - \clist_gput_right:Nn \g_@@_std_options_clist { 12pt } -\fi: +\int_case:nn { \g_@@_font_size_int } + { + { 0 } { \clist_gput_right:Nn \g_@@_std_options_clist { 10pt } } + { 1 } { \clist_gput_right:Nn \g_@@_std_options_clist { 12pt } } + } % \end{macrocode} % % 使用 \tn{PassOptionsToClass} 是为了预防å¯èƒ½å˜åœ¨çš„选项冲çªã€‚ @@ -3796,19 +4017,71 @@ Copyright and Licence % % \subsection{特定引擎支æŒä¸Žè®¾ç½®} % +% \changes{v2.5}{2020/04/22}{ç»™ \LaTeX å’Œ \upLaTeX 下的文档类指定驱动为 \dvipdfmx。} +% +% \subsubsection{\pkg{ctexbackend.cfg}} +% +% 对于 \XeLaTeX{}/\pdfLaTeX{}/\LuaLaTeX{} ç‰é»˜è®¤ç›´æŽ¥è¾“出 PDF 的编译方å¼ï¼Œç”¨æˆ· +% æ— éœ€ä¸ºæ¶‰åŠé©±åŠ¨çš„å®åŒ…指定驱动选项。对于 \LaTeX å’Œ \upLaTeX{} ç‰é»˜è®¤ä¸ç›´æŽ¥è¾“出 PDF 的编译方å¼ï¼Œ +% 用户则需è¦æŒ‡å®šé©±åŠ¨é€‰é¡¹ã€‚ +% +% 由于历å²é—留问题,在使用 \LaTeX{} 或 \upLaTeX{} ç‰ç¼–译时, +% 大多数涉åŠé©±åŠ¨çš„å®åŒ…选定的默认输出驱动都是 Dvips。 +% 考虑当å‰å®žé™…使用频率,以åŠè€ƒè™‘到 \CTeX{} å®é›†å¯¹ä¸æ–‡æ”¯æŒçš„默认方å¼ï¼Œ +% 我们在用户使用 \CTeX{} 系列文档类时,将默认的输出驱动改为 \dvipdfmx。 +% +% 具体æ¥è¯´ï¼Œå¦‚æžœ |dvips|,|dvipdfmx|,|dvisvgm| ç‰é©±åŠ¨æ²¡æœ‰åœ¨æ–‡æ¡£ç±»çš„全局选项ä¸è¢«æ˜Žç¡®æŒ‡å®šï¼Œ +% 我们就在 \tn{@classoptionslist} å¼€å¤´åŠ å…¥ |dvipdfmx|。 +% +% 本段代ç åªåœ¨ \cls{ctexart} ç‰æ–‡æ¡£ç±»å¼€å¤´è½½å…¥ï¼Œä¸åœ¨ \pkg{ctex} ä¸ä½¿ç”¨ã€‚ +% 并且需è¦æ”¾åœ¨ \pkg{expl3} 之å‰è½½å…¥ï¼Œä¿è¯å®ƒè½½å…¥æ£ç¡®çš„ backend 文件。 +% \begin{macrocode} +%<*backend> +\begingroup +\expandafter\ifx\csname Umathchardef\endcsname\relax +\else\expandafter\endgroup\expandafter\endinput\fi + \ifodd + \expandafter\ifx\csname pdfoutput\endcsname\relax + \expandafter\ifx\csname enablecjktoken\endcsname\relax 0\else 1\fi + \else\ifnum\pdfoutput>0 0\else 1\fi\fi\space + \def\x#1{% + \if\relax\detokenize{#1}\relax + \gdef\@classoptionslist{dvipdfmx}% + \else + \let\CTEX@add\@ne + \@tfor\x:={dvips}{dvipdfmx}{dvisvgm}\do{% + \expandafter\in@\expandafter{\expandafter,\x,}{,#1,}% + \ifin@ \let\CTEX@add\tw@ \@break@tfor \fi}% + \ifodd\CTEX@add \gdef\@classoptionslist{dvipdfmx,#1}\fi + \fi} + \expandafter\x\expandafter{\@classoptionslist} + \fi +\endgroup +%</backend> +% \end{macrocode} +% % \subsubsection{\pkg{ctex-engine-pdftex.def}} % % \begin{macro}[int]{\ctex_set_zhmap:n} % 设置 \upTeX{} å—ä½“æ˜ å°„ï¼ŒåŒæ—¶ä½œç”¨äºŽ \tn{AtBeginDvi} 与 % \tn{AtBeginShipoutFirst}。该å®å¯¹ \pdfTeX{} å’Œ \upTeX{} å‡æœ‰ç”¨ã€‚ +% \tn{AtBeginDvi} 直接将 \tn{special} ä¿å˜åˆ°ç›’åä¸ï¼Œ +% \tn{AtBeginShipoutFirst} 是ä¿å˜åˆ°åˆ°å®ä¸ï¼Œå¹¶ä¸”ä¸å±•å¼€å‚数。 % \begin{macrocode} %<*pdftex|uptex|aptex> -\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1 - { - \AtBeginDvi {#1} - \ctex_at_end_package:nn { atbegshi } - { \AtBeginShipoutFirst {#1} } - } +\cs_new_protected:Npn \ctex_set_zhmap:n + { \tl_gput_right:Nx \g_@@_zhmap_tl } +\cs_new_protected:Npn \ctex_use_zhmap: + { \tl_use:N \g_@@_zhmap_tl } +\cs_new_protected:Npn \ctex_add_dvi_zhmap: + { \AtBeginDvi { \ctex_use_zhmap: } } +\ctex_after_end_preamble:n { \ctex_add_dvi_zhmap: } +\ctex_at_end_package:nn { atbegshi } + { + \AtBeginShipoutFirst { \ctex_use_zhmap: } + \cs_gset_eq:NN \ctex_add_dvi_zhmap: \prg_do_nothing: + } +\tl_new:N \g_@@_zhmap_tl \@onlypreamble \ctex_set_zhmap:n %</pdftex|uptex|aptex> % \end{macrocode} @@ -3818,7 +4091,7 @@ Copyright and Licence %<*pdftex> % \end{macrocode} % -% \changes{v2.1}{2015/05/18}{ç»™ \pdfLaTeX{} ä¸‹çš„éž UTF8 ç¼–ç CJK å—体æ—åŠ ä¸Š CMap。} +% \changes{v2.1}{2015/05/18}{ç»™ \pdfLaTeX{} ä¸‹çš„éž UTF-8 ç¼–ç CJK å—体æ—åŠ ä¸Š CMap。} % % \begin{variable}{\c_@@_cmap_encoding_seq} % 需è¦åŠ 上 CMap çš„ CJK å—体编ç 。 @@ -3831,7 +4104,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_family_cmap:nn} % 在 \tn{DeclareFontFamily} çš„ \meta{loading-settings} ä¸ç»™ CJK å—体æ—åŠ ä¸Š CMap。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_family_cmap:nn #1#2 +\cs_new_protected:Npn \ctex_family_cmap:nn #1#2 { \cs_if_free:cF { #1 + #2 } { @@ -3847,22 +4120,22 @@ Copyright and Licence % \begin{macro}[int]{\ctex_add_cmap:n} % ç»™ |#1| ç¼–ç çš„ CJK å—ä½“åŠ ä¸Š CMap。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_add_cmap:n #1 +\cs_new_protected:Npn \ctex_add_cmap:n #1 { \cs_if_free:NF \CJK@plane { \ctex_add_cmap:cn { @@_add_cmap_ #1 \CJK@plane : } {#1} } } -\cs_new_protected_nopar:Npn \ctex_add_cmap:Nn #1#2 +\cs_new_protected:Npn \ctex_add_cmap:Nn #1#2 { \cs_if_exist:NF #1 { \@@_save_cmap:Nn #1 {#2} } #1 } \cs_generate_variant:Nn \ctex_add_cmap:Nn { c } -\cs_new_protected_nopar:Npn \@@_save_cmap:Nn #1#2 +\cs_new_protected:Npn \@@_save_cmap:Nn #1#2 { - \tl_set:Nx \l_@@_tmp_tl { \str_lower_case:n {#2} \CJK@plane } + \tl_set:Nx \l_@@_tmp_tl { \str_lowercase:n {#2} \CJK@plane } \tex_immediate:D \tex_pdfobj:D stream ~ file { \l_@@_tmp_tl .cmap } - \cs_new_protected_nopar:Npx #1 + \cs_new_protected:Npx #1 { \exp_not:N \tex_pdffontattr:D \exp_not:N \tex_font:D { /ToUnicode ~ \int_use:N \tex_pdflastobj:D \c_space_tl 0 ~ R } @@ -3894,13 +4167,13 @@ Copyright and Licence % 首先检查选项,决定是å¦è½½å…¥ \pkg{zhmCJK} å®åŒ…。 % \begin{macrocode} \if_bool:N \g_@@_zhmCJK_bool - \PassOptionsToPackage { encoding = \l_@@_encoding_tl } { zhmCJK } + \PassOptionsToPackage { encoding = \g_@@_encoding_tl } { zhmCJK } \RequirePackage { zhmCJK } % \end{macrocode} % ä¸è½½å…¥ \pkg{zhmCJK} å®åŒ…时直接调用 \pkg{CJK} åŠç›¸å…³å®åŒ…。 % \begin{macrocode} \else: - \str_if_eq:onTF { \l_@@_encoding_tl } { GBK } + \str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \RequirePackage { CJK } } { \RequirePackage { CJKutf8 } } \RequirePackage { CJKpunct , CJKspace } @@ -3909,7 +4182,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_load_zhmap:nnnn} % 载入 \pkg{zhmetrics} çš„å—ä½“æ˜ å°„æ–‡ä»¶ï¼ŒåŒæ—¶è®¾ç½® \tn{CJKrmdefault} ç‰ã€‚ % \begin{macrocode} - \cs_new_protected_nopar:Npn \ctex_load_zhmap:nnnn #1#2#3#4 + \cs_new_protected:Npn \ctex_load_zhmap:nnnn #1#2#3#4 { \tl_set:Nn \CJKrmdefault {#1} \tl_set:Nn \CJKsfdefault {#2} @@ -3924,7 +4197,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_zhmap_input:n} % 载入å—ä½“æ˜ å°„æ–‡ä»¶æ—¶ï¼Œç¡®è®¤ |%| å’Œ |\| çš„ \tn{catcode}。 % \begin{macrocode} - \cs_new_protected_nopar:Npn \ctex_zhmap_input:n #1 + \cs_new_protected:Npn \ctex_zhmap_input:n #1 { \ctex_file_wrapper:nnn { @@ -3946,22 +4219,10 @@ Copyright and Licence \tl_if_exist:NF \CJKrmdefault { \tl_new:N \CJKrmdefault } \tl_if_exist:NF \CJKsfdefault { \tl_new:N \CJKsfdefault } \tl_if_exist:NF \CJKttdefault { \tl_new:N \CJKttdefault } - \ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff } - { \CJKfamily { \CJKrmdefault } } - { } - { \ctex_patch_failure:N \rmfamily } - \ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff } - { \CJKfamily { \CJKsfdefault } } - { } - { \ctex_patch_failure:N \sffamily } - \ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff } - { \CJKfamily { \CJKttdefault } } - { } - { \ctex_patch_failure:N \ttfamily } - \ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff } - { \CJKfamily { \CJKfamilydefault } } - { \cs_set_eq:NN \reset@font \normalfont } - { \ctex_patch_failure:N \normalfont } + \g@addto@macro \@rmfamilyhook { \CJKfamily { \CJKrmdefault } } + \g@addto@macro \@sffamilyhook { \CJKfamily { \CJKsfdefault } } + \g@addto@macro \@ttfamilyhook { \CJKfamily { \CJKttdefault } } + \g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } } % \end{macrocode} % % \pkg{zhmCJK} 判æ–结æŸã€‚ @@ -3975,7 +4236,7 @@ Copyright and Licence % \tn{CJK@loadEncoding}ï¼‰ã€‚å› æ¤éœ€è¦ç¡®ä¿è½½å…¥ \file{.enc} å’Œ \file{.bdg} 文件时, % |^| çš„ \tn{catcode} 为 $7$。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_CJK_input:n #1 +\cs_new_protected:Npn \ctex_CJK_input:n #1 { \ctex_file_wrapper:nnn { @@ -4002,7 +4263,7 @@ Copyright and Licence % 我们在这里给出 \tn{CJK@surr} 的一个ä¸ä¾èµ– \tn{uppercase} 的实现。 % \begin{macrocode} \if_cs_exist:N \CJK@surr - \cs_new_protected_nopar:Npn \ctex_plane_to_utfxvibe:Nn #1#2 + \cs_new_protected:Npn \ctex_plane_to_utfxvibe:Nn #1#2 { \tl_set:Nx \l_@@_tmp_tl {#2} \int_set:Nn \l_@@_tmp_int @@ -4039,14 +4300,14 @@ Copyright and Licence \ctex_at_end_preamble:n { \ctex_update_default_family: } % \end{macrocode} % -% å¯ç”¨ä¸æ–‡å—符功能。\texttt{GBK} ç¼–ç 时,将汉å—的首å—节设置为活动å—符,并对这些 -% å—符åˆå§‹åŒ–ï¼›\texttt{UTF8} ç¼–ç 时,上游å®åŒ…å·²ç»å¤„ç†å¥½ã€‚ +% å¯ç”¨ä¸æ–‡å—符功能。\opt{GBK} ç¼–ç 时,将汉å—的首å—节设置为活动å—符,并对这些 +% å—符åˆå§‹åŒ–ï¼›\opt{UTF8} ç¼–ç 时,上游å®åŒ…å·²ç»å¤„ç†å¥½ã€‚ % \tn{CJK@makeActive} 应该先于 \file{ctex-name-gbk.cfg} ç‰æ–‡ä»¶çš„载入。 % æ³¨æ„ \tn{CJK@loadBinding} 需è¦è°ƒç”¨è¡¥ä¸åŽçš„ \tn{CJK@input}。使用 % \pkg{zhmCJK} 时,æ¤åŠŸèƒ½å·²ç»è¢«å¯ç”¨ã€‚ % \begin{macrocode} \reverse_if:N \if_bool:N \g_@@_zhmCJK_bool - \str_if_eq:onF { \l_@@_encoding_tl } { UTF8 } + \str_if_eq:onF { \g_@@_encoding_tl } { UTF8 } { \CJK@makeActive \CJK@loadBinding { standard } @@ -4087,7 +4348,7 @@ Copyright and Licence \exp_args:Nx \ctex_at_end_preamble:n { \exp_not:N \CJK@envStart - { } { \l_@@_encoding_tl } { \exp_not:N \CJKfamilydefault } + { } { \g_@@_encoding_tl } { \exp_not:N \CJKfamilydefault } \exp_not:N \CJKtilde } % \end{macrocode} @@ -4098,14 +4359,9 @@ Copyright and Licence % \end{macrocode} % % \begin{macro}[int]{\ctex_auto_ignorespaces:} -% å…³é—åå—空间,ä¿å˜ \tn{CJK@@ignorespaces} 的定义,方便使用。 -% \begin{macrocode} -%<@@=> -\cs_new_eq:NN \ctex_auto_ignorespaces: \CJK@@ignorespaces -% \end{macrocode} -% æ¢å¤åå—空间,è¦æŠŠå®ƒæ”¾åœ¨ä¸€ä¸ª \env{macrocode} 环境ä¸ï¼Œ\cls{l3doc} æ‰èƒ½æ£ç¡®å·¥ä½œã€‚ +% ä¿å˜ \tn{CJK@@ignorespaces} 的定义,方便使用。 % \begin{macrocode} -%<@@=ctex> +\cs_new_eq:NN \ctex_auto_ignorespaces: \CJK@@@@ignorespaces % \end{macrocode} % \end{macro} % @@ -4113,13 +4369,13 @@ Copyright and Licence % è®¾ç½®å¿½ç•¥ç©ºæ ¼çš„çš„æ–¹å¼ã€‚æ ¹æ® \opt{space} 选项的值é‡å®šä¹‰ \tn{CJK@ignorespaces}, % 并ä¿å˜èµ·æ¥ä¾› \tn{CJKhook} 备用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ignorespaces_case:N #1 +\cs_new_protected:Npn \ctex_ignorespaces_case:N #1 { - \cs_set_protected_nopar:Npn \ctex_set_ignorespaces: + \cs_set_protected:Npn \ctex_set_ignorespaces: { \cs_set_eq:NN \CJK@ignorespaces #1 } \ctex_set_ignorespaces: } -\cs_new_protected_nopar:Npn \ctex_set_ignorespaces: +\cs_new_protected:Npn \ctex_set_ignorespaces: { \cs_set_eq:NN \CJK@ignorespaces \ctex_auto_ignorespaces: } % \end{macrocode} % \end{macro} @@ -4136,7 +4392,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_set:n} % 设置 CJK æ—对应到实际的å—体。|#1| 是 \opt{fontset} çš„åå—。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_set:n #1 +\cs_new_protected:Npn \ctex_punct_set:n #1 { \clist_map_inline:Nn \c_@@_punct_family_clist { @@ -4159,7 +4415,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_map_family:nn} % CJK æ— |#1| ä½¿ç”¨æ— |#2| 的边界信æ¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_map_family:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_family:nn #1#2 { \cs_if_free:cF { CJKpunct@ #2 @spaces } { \cs_set_eq:cc { CJKpunct@ #1 @spaces } { CJKpunct@ #2 @spaces } } @@ -4170,7 +4426,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_map_bfseries:nn} % CJK æ— |#1| çš„ \tn{bfseries} ä½¿ç”¨æ— |#2| 的边界信æ¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_map_bfseries:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_bfseries:nn #1#2 { \clist_map_inline:nn {#1} { @@ -4178,7 +4434,7 @@ Copyright and Licence \ctex_punct_map_series:nnn { ##1 } { bx } {#2} } } -\cs_new_protected_nopar:Npn \ctex_punct_map_series:nnn #1#2#3 +\cs_new_protected:Npn \ctex_punct_map_series:nnn #1#2#3 { \CJKpunctmapfamily { C19 } {#1} {#2} { m } {#3} \CJKpunctmapfamily { C19 } {#1} {#2} { it } {#3} @@ -4193,7 +4449,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_map_itshape:nn} % CJK æ— |#1| çš„ \tn{itshape} ä½¿ç”¨æ— |#2| 的边界信æ¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_map_itshape:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_itshape:nn #1#2 { \CJKpunctmapfamily { C19 } {#1} { m } { it } {#2} \CJKpunctmapfamily { C19 } {#1} { b } { it } {#2} @@ -4208,7 +4464,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_space:nn,\ctexspadef} % å®šä¹‰æ ‡ç‚¹çš„è¾¹ç•Œä¿¡æ¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_space:nn #1#2 +\cs_new_protected:Npn \ctex_punct_space:nn #1#2 { \tl_const:cn { c_@@_ #1 _punct_spaces_tl } {#2} } \cs_new_eq:NN \ctexspadef \ctex_punct_space:nn % \end{macrocode} @@ -4259,6 +4515,7 @@ Copyright and Licence % % \changes{v2.0}{2014/03/08}{通过 \pkg{LuaTeX-ja} å®åŒ…æ”¯æŒ \LuaLaTeX。} % \changes{v2.3}{2015/09/25}{æ›´æ–° \pkg{LuaTeX-ja} 支æŒï¼ˆ20150922.0)。} +% \changes{v2.5}{2020/04/18}{æ›´æ–° \pkg{LuaTeX-ja} 支æŒï¼ˆ20200412.0)。} % % \pkg{LuaTeX-ja} 为了兼容 p\LaTeX çš„ä½¿ç”¨ä¹ æƒ¯ï¼Œå¯¹ \LaTeXe çš„ \pkg{NFSS} 作了ä¸å°‘ % 修改和扩充,这对于简体ä¸æ–‡ç”¨æˆ·æ¥è¯´ä¸æ˜¯å¿…è¦çš„。我们在这里ç¦ç”¨å®ƒã€‚ @@ -4275,13 +4532,13 @@ Copyright and Licence % % \begin{macrocode} \RequirePackage { luatexja } -\@ifpackagelater { luatexja } { 2015/09/21 } { } +\@ifpackagelater { luatexja } { 2020/04/12 } { } { \msg_error:nnn { ctex } { package-too-old } { luatexja } } % \end{macrocode} % % \begin{macrocode} \RequirePackage { fontspec } -\@ifpackagelater { fontspec } { 2014/05/25 } { } +\@ifpackagelater { fontspec } { 2020/02/21 } { } { \msg_error:nnn { ctex } { package-too-old } { fontspec } } % \end{macrocode} % @@ -4300,19 +4557,20 @@ Copyright and Licence \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF} \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF} \ltjdefcharrange{3}{% - "2000-"206F, "2070-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF, - "2B00-"2BFF} + "2000-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF, "2B00-"2BFF} \ltjdefcharrange{4}{% "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF, - "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F, - "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese + "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF, + "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF, + "1F300-"1FFFF, "2000-"206F} \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF} \ltjdefcharrange{6}{% "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF, - "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF} + "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF, + "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF} \ltjdefcharrange{7}{% - "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, - "A830-"A83F, "AC00-"D7FF} + "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF, + "A960-"A97F, "AC00-"D7FF} \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7} % \end{macrocode} % 将引å·ã€ç ´æŠ˜å·ç‰ä¸è¥¿æ–‡å…¬ç”¨çš„æ ‡ç‚¹ç¬¦å·å½’å…¥å—符范围 9,将他们设置为 JAchar。 @@ -4358,56 +4616,202 @@ Copyright and Licence % å—符是 ALchar 类。我们这里用 \pkg{xunicode-addon} æ¥å¤„ç† \pkg{xunicode}。 % \begin{macrocode} \RequirePackage { xunicode-addon } -\AtBeginUTFCommand +\AtBeginUTFCommand { \CTEX@beginallalchar } +\AtEndUTFCommand { \CTEX@endallalchar } +\cs_new_protected:Npn \CTEX@beginallalchar { \group_begin: - \lua_now:e { tex.globaldefs = 0 } - \ltj@allalchar + \ctex_ltj_zero_globaldefs: + \ltj@allalchar } -\AtEndUTFCommand { \group_end: } +\cs_new_protected:Npn \CTEX@endallalchar + { \group_end: } % \end{macrocode} % % \changes{v2.4.2}{2016/05/15}{æ¢å¤ \pkg{luatexja} 对 \tn{emshape} å’Œ % \tn{eminnershape} çš„é‡å®šä¹‰ã€‚} % \changes{v2.4.3}{2016/08/26}{简化 \pkg{fontspec} è¡¥ä¸ã€‚} -% \begin{macro}[int]{\fontspec_visible_space:} -% 我们ä¸ä½¿ç”¨ \pkg{luatexja} 对 \pkg{fontspec} çš„è¡¥ä¸ï¼Œç›´æŽ¥å¤„ç†ã€‚ +% \changes{v2.5}{2020/04/18}{åˆ é™¤ \pkg{fontspec} è¡¥ä¸ã€‚} +% +% 对 \pkg{listings} çš„è¡¥ä¸æ˜¯è®©ä»£ç çŽ¯å¢ƒæ”¯æŒ JAchar 类。 % \begin{macrocode} -\cs_set_protected:Npn \fontspec_visible_space: - { - \tex_iffontchar:D \tex_font:D "2423 \exp_stop_f: - \ltjalchar "2423 \exp_stop_f: - \else: - \fontspec_visible_space_fallback: - \fi: - } +\ctex_at_end_package:nn { listings } + { \RequirePackage { lltjp-listings } } % \end{macrocode} -% \end{macro} % -% 对 \pkg{listings} çš„è¡¥ä¸æ˜¯è®©ä»£ç çŽ¯å¢ƒæ”¯æŒ JAchar 类。\pkg{LuaTeX-ja} çš„è¡¥ä¸ä¼šå°† -% 代ç ç›®å½•æ ‡é¢˜æ”¹ä¸ºæ—¥æ–‡ï¼Œæˆ‘ä»¬ä¸éœ€è¦ã€‚ +% \paragraph{\pkg{Lua} 函数} +% +% 直接用 |token.set_lua| 定义,ä¸æ˜¯ä¼ 统æ„义上的 \TeX \ å®ã€‚ % \begin{macrocode} -\ctex_at_end_package:nn { listings } +\group_begin: +\char_set_catcode_space:n { 32 } +\lua_now:e { - \use:x - { - \exp_not:N \RequirePackage { lltjp-listings } - \tl_set:Nn \exp_not:N \lstlistingname - { \exp_not:o { \lstlistingname } } - \tl_set:Nn \exp_not:N \lstlistlistingname - { \exp_not:o { \lstlistlistingname } } - } + local func = lua.get_functions_table() + local ltjfont = luatexja.jfont + local getattribute = tex.getattribute + local set_lua = token.set_lua + local scan_int, scan_arg = token.scan_int, token.scan_argument + local new_luafunction = luatexbase.new_luafunction +% \end{macrocode} +% \begin{macro}{\ctex_ltj_add_kyenc:n} +% ä¿å˜ jfont çš„ç¼–ç ,用于判æ–。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = ltjfont.add_kyenc_list + set_lua("ctex_ltj_add_kyenc:n", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_is_kenc:n} +% 判æ–ç¼–ç 是å¦å±žäºŽ jfont。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = ltjfont.is_kenc + set_lua("ctex_ltj_is_kenc:n", id, "global") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_patch_external_font:n} +% 若对å—体的定义完全相åŒï¼Œåˆ™å®ƒä»¬æœ‰ç›¸åŒçš„ \texttt{font.id}ã€‚å› æ¤å¦‚æžœå—形是由 +% \textsf{NFSS} 的替æ¢æœºåˆ¶å®šä¹‰çš„,它们就有相åŒçš„ \texttt{font.id}。 +% |print_aftl_address| 函数的定义是 +% \begin{verbatim} +% function luatexja.jfont.print_aftl_address() +% return ';ltjaltfont' .. tostring(aftl_base):sub(8) +% end +% \end{verbatim} +% 主è¦ç›®çš„是,如果当å‰å—形有替代å—体,则往å—形的定义ä¸åŠ å…¥ä¸€äº›æ ‡å¿—ï¼Œç¡®ä¿ +% \texttt{font.id} 唯一。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local s = scan_arg() + local is_braced, is_quoted + if s:sub(1,1) == '{' and s:sub(-1)=='}' then + is_braced = true; s = s:sub(2,-2) + end + if s:sub(1,1) == '"' and s:sub(-1) == '"' then + is_quoted = true; s = s:sub(2,-2) + end + s = s .. ltjfont.print_aftl_address() + if is_braced then s = '{'..s..'}' + elseif is_quoted then s = '"'..s..'"' + end + tex.sprint(-2, s) + end + set_lua("ctex_ltj_patch_external_font:n", id, "global") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_use_jfont:} +% 使用 jfont,确ä¿å½“å‰çš„ \tn{font} 是 jfont。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + font.current(getattribute("ltj@curjfnt")) + end + set_lua("ctex_ltj_use_jfont:", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_set_alt_font:nnnn} +% |#1| å’Œ |#2| 分别是å—符区间的首末,|#3| 是基础å—体,|#4| 是替代å—体。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local b = tonumber(scan_arg()) + local e = tonumber(scan_arg()) + local alt = scan_arg() + local base = scan_arg() + ltjfont.set_alt_font_latex(b, e, alt, base) + end + set_lua("ctex_ltj_set_alt_font:nnnn", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_clear_alt_font:n} +% 清除 |#1| 的替代å—体。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local base = scan_arg() + ltjfont.clear_alt_font_latex(base) + end + set_lua("ctex_ltj_clear_alt_font:n", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_pickup_alt_font:nn} +% 定义 |#1| 的替代å—体,|#2| 是å—体大å°ã€‚\\ +% 会在内部执行 \tn{ltj@pickup@altfont@auxy} å’Œ \tn{ltj@pickup@altfont@copy}。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local base = scan_arg() + local size = scan_arg() + ltjfont.output_alt_font_cmd("y", base) + ltjfont.pickup_alt_font_a(size) + end + set_lua("ctex_ltj_pickup_alt_font:nn", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@@_pickup_alt_font:Nn} +% |#1| 是 \texttt{font.id},|#2| 是å—体å称。 +% 在 \tn{ltj@pickup@altfont@copy} 之ä¸ä½¿ç”¨ã€‚ +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local num = scan_int() + local base = scan_arg() + ltjfont.pickup_alt_font_b(num, base) + end + set_lua("@@_pickup_alt_font:Nn", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@@_if_alt_set:nT} +% 判æ–是å¦å˜åœ¨æ›¿ä»£å—体。会设置å˜é‡ |aftl_base| 和返回 \tn{@firstofone} 或 \tn{@gobble}。 +% \begin{verbatim} +% function luatexja.jfont.does_alt_set(bbase) +% aftl_base = alt_font_table_latex[bbase] +% tex.sprint(cat_lp, aftl_base and '\\@firstofone' or '\\@gobble') +% end +% \end{verbatim} +% \pkg{luatexja} 20200412.0 以åŽçš„定义为: +% \begin{verbatim} +% function luatexja.jfont.does_alt_set() +% aftl_base = alt_font_table_latex[scan_arg()] +% tex.sprint(cat_lp, aftl_base and '\\@firstofone' or '\\@gobble') +% end +% \end{verbatim} +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = \LuaTeXjaversion > 20200412.0 + and ltjfont.does_alt_set + or function () + local base = scan_arg() + ltjfont.does_alt_set(base) + end + set_lua("@@_if_alt_set:nT", id, "global") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_zero_globaldefs:} +% 设置 \tn{globaldefs} 为 $0$,é¿å…全局设置,应当在分组ä¸ä½¿ç”¨ã€‚ +% 这里通过 Lua 设置,å¯ä»¥ä¸å—外部 \TeX\ 环境ä¸çš„ \tn{globaldefs} çš„å½±å“。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + tex.set("globaldefs", 0) + end + set_lua("ctex_ltj_zero_globaldefs:", id, "global", "protected") } +\group_end: % \end{macrocode} +% \end{macro} % % \paragraph{å—体切æ¢æ–¹å¼} % % \begin{macro}[int]{\ctex_ltj_select_font:,\CJK@family} % \tn{CJK@family} ä¿å˜çš„æ˜¯å½“å‰ CJK 实际的å—体æ—å,如果为空表示没有设置过å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_select_font: +\cs_new_protected:Npn \ctex_ltj_select_font: { - \cs_if_exist_use:cF { \l_@@_current_font_tl } + \group_begin: \exp_args:NNc \group_end: + \cs_if_exist_use:NF { \l_@@_current_font_tl } { \tl_if_empty:NF \CJK@family { \@@_select_font_aux: } } } \tl_new:N \CJK@family @@ -4421,7 +4825,7 @@ Copyright and Licence % 使用 \tn{pickup@font} å–å¾—å—体å称å‰ï¼Œæ€»éœ€è¦å…ˆè®¾ç½® \tn{font@name}。在这里将 % \tn{f@family} æ¢æˆ CJK å—体æ—,并确ä¿ç¼–ç æ£ç¡®ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_select_font_aux: +\cs_new_protected:Npn \@@_select_font_aux: { \group_begin: \tl_set_eq:NN \f@encoding \CJK@encoding @@ -4440,20 +4844,24 @@ Copyright and Licence \cs_if_exist:cF { \l_@@_current_font_tl } { \@@_select_font_aux: } } -\cs_new_protected_nopar:Npn \@@_push_fontname:n #1 +\cs_new_protected:Npn \@@_push_fontname:n #1 { - \cs_gset_eq:NN \@@_save_fontname:w \font@name + \seq_gpush:No \g_@@_fontname_seq { \font@name } \cs_gset_nopar:Npx \font@name {#1} } -\cs_new_protected_nopar:Npn \@@_pop_fontname: - { \cs_gset_eq:NN \font@name \@@_save_fontname:w } +\cs_new_protected:Npn \@@_pop_fontname: + { + \seq_gpop:NNT \g_@@_fontname_seq \l_@@_tmp_tl + { \cs_gset_eq:NN \font@name \l_@@_tmp_tl } + } +\seq_new:N \g_@@_fontname_seq % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_pickup_font:} % æ›¿æ¢ \tn{define@newfont} 内部调用的 \tn{extract@font} å’Œ \tn{do@subst@correction}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_pickup_font: +\cs_new_protected:Npn \ctex_ltj_pickup_font: { \exp_after:wN \cs_if_exist:NF \font@name { @@ -4474,11 +4882,18 @@ Copyright and Licence % %%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont % \protected\def\jfont#1{% % \afterassignment\ltj@@jfont -% \directlua{luatexja.jfont.jfontdefX(false, 'yoko','\luatexluaescapestring{\noexpand#1}')}} +% \directlua{luatexja.jfont.jfontdefX +% (false, 'yoko','\luatexluaescapestring{\noexpand#1}')}} % \protected\def\globaljfont#1{% % \afterassignment\ltj@@jfont -% \directlua{luatexja.jfont.jfontdefX(true, 'yoko','\luatexluaescapestring{\noexpand#1}')}} -% \def\ltj@@jfont{\directlua{luatexja.jfont.jfontdefY()}} +% \directlua{luatexja.jfont.jfontdefX +% (true, 'yoko','\luatexluaescapestring{\noexpand#1}')}} +% \newluafunction\ltj@@jfont@inner +% \directlua{ +% local t = lua.get_functions_table() +% t[\the\ltj@@jfont@inner] = luatexja.jfont.jfontdefY +% } +% \def\ltj@@jfont{\luafunction\ltj@@jfont@inner} % \end{verbatim} % \texttt{jfontdefX} 函数的作用是把 \tn{CS} 定义为其åŽçš„å—体,\texttt{jfontdefY} % 的作用是更新 \texttt{JFM} 和记录相关å—体信æ¯ã€‚最åŽçš„工作是: @@ -4505,7 +4920,7 @@ Copyright and Licence % 赋值总是全局的,ä¸ä¼šå—到分组的影å“。 % \begin{macrocode} \font@name - \lua_now:e { font.current(tex.getattribute('ltj@curjfnt')) } + \ctex_ltj_use_jfont: \use:c { \f@encoding + \f@family } \use:c { \curr@fontshape } } @@ -4557,42 +4972,28 @@ Copyright and Licence % \begin{macrocode} \prg_new_conditional:Npnn \ctex_ltj_if_alternate_shape_exist:n #1 { T , F , TF } { - \lua_now:e { luatexja.jfont.does_alt_set ('\lua_escape:e {#1}') } - \prg_return_true: \else: \prg_return_false: \fi: + \@@_if_alt_set:nT {#1} { \prg_return_true: \use_none:n } + \prg_return_false: } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_patch_external_font:w} -% 若对å—体的定义完全相åŒï¼Œåˆ™å®ƒä»¬æœ‰ç›¸åŒçš„ \texttt{font.id}ã€‚å› æ¤å¦‚æžœå—形是由 -% \textsf{NFSS} 的替æ¢æœºåˆ¶å®šä¹‰çš„,它们就有相åŒçš„ \texttt{font.id}。 -% |print_aftl_address| 函数的定义是 -% \begin{verbatim} -% function print_aftl_address() -% tex.sprint(cat_lp, ';ltjaltfont' .. tostring(aftl_base):sub(8)) -% end -% \end{verbatim} -% 主è¦ç›®çš„是,如果当å‰å—形有替代å—体,则往å—形的定义ä¸åŠ å…¥ä¸€äº›æ ‡å¿—ï¼Œç¡®ä¿ -% \texttt{font.id} 唯一。 % \begin{macrocode} -\cs_new_nopar:Npn \@@_patch_external_font:w #1 ~ at - { #1 \lua_now:e { luatexja.jfont.print_aftl_address() } ~ at } +\cs_new:Npn \@@_patch_external_font:w #1 ~ at + { \ctex_ltj_patch_external_font:n {#1} ~ at } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_select_alternate_font:} % 在 \tn{selectfont} ä¸æ›´æ–°æ›¿ä»£å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_select_alternate_font: +\cs_new_protected:Npn \ctex_ltj_select_alternate_font: { \ctex_ltj_if_alternate_shape_exist:nT { \l_@@_current_shape_tl } { - \lua_now:e - { - luatexja.jfont.output_alt_font_cmd - ('y', '\lua_escape:e { \l_@@_current_shape_tl }') - } - \lua_now:e { luatexja.jfont.pickup_alt_font_a ('\f@size') } + \ctex_ltj_pickup_alt_font:nn + { \l_@@_current_shape_tl } { \f@size } } } \tl_new:N \l_@@_current_shape_tl @@ -4604,12 +5005,12 @@ Copyright and Licence % \begin{macro}[int]{\ltj@pickup@altfont@auxy} % 被用在函数 |output_alt_font_cmd| ä¸ï¼Œä½œç”¨æ˜¯å®šä¹‰æ›¿ä»£å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ltj@pickup@altfont@auxy #1 +\cs_new_protected:Npn \ltj@pickup@altfont@auxy #1 { \cs_if_exist:cF { #1/\f@size } { \group_begin: - \use:x { \exp_not:N \split@name #1 / \f@size } \@nil + \use:e { \exp_not:N \split@name #1 / \f@size } \@nil \@@_push_fontname:n { \use:c { \curr@fontshape / \f@size } } \ctex_ltj_pickup_font: \group_end: @@ -4619,32 +5020,20 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macrocode} -%<@@=> -% \end{macrocode} -% % \begin{macro}[int]{\ltj@pickup@altfont@copy} % 被用在函数 |pickup_alt_font_a| ä¸ã€‚\tn{ltj@@getjfontnumber} 的作用是将å—体命令 % |#1| 对应的 \texttt{font.id} ä¿å˜åˆ° \tn{ltj@tempcntc} ä¸ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ltj@pickup@altfont@copy #1#2 +\cs_new_protected:Npn \ltj@pickup@altfont@copy #1#2 { - \ltj@@getjfontnumber #1 - \lua_now:e - { - luatexja.jfont.pickup_alt_font_b - ( \int_use:N \ltj@tempcntc, '\lua_escape:e {#2}' ) - } + \ltj@@@@getjfontnumber #1 + \@@_pickup_alt_font:Nn \ltj@tempcntc {#2} } % \end{macrocode} % \end{macro} % % \paragraph{æ•°å¦å—体æ—} % -% \begin{macrocode} -%<@@=ctex_ltj> -% \end{macrocode} -% % 以下内容æ¥è‡ª \file{lltjfont.sty},目的是让汉å—å¯ä»¥åœ¨æ•°å¦çŽ¯å¢ƒä¸ç›´æŽ¥ä½¿ç”¨ã€‚ % % \begin{macro}[int]{\ctex_ltj_if_jfont:nTF} @@ -4657,10 +5046,11 @@ Copyright and Licence % \begin{macrocode} \cs_new:Npn \ctex_ltj_if_jfont:nTF #1 { - \lua_now:e - { luatexja.jfont.is_kenc( string.match('\lua_escape:e {#1}', '[^/]+') ) } + \ctex_ltj_is_kenc:n { \@@_ltj_if_jfont:w #1 / \q_stop } \ifin@ \exp_after:wN \use_i:nn \else: \exp_after:wN \use_ii:nn \fi: } +\cs_new:Npn \@@_ltj_if_jfont:w #1 / #2 \q_stop + {#1} % \end{macrocode} % \end{macro} % @@ -4678,24 +5068,20 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macrocode} -%<@@=> -% \end{macrocode} -% % \begin{macro}[int]{\getanddefine@fonts,\ctex_ltj_get_and_define_fonts:nN} % 在使用的场åˆï¼Œ\tn{escapechar} å·²ç»è¢«è®¾ç½®æˆ $-1$,使用 \cs{token_to_str:N} å°± % å¯ä»¥å¾—到åå—,ä¸å¿…使用 \cs{cs_to_str:N}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts:nN #1#2 +\cs_new_protected:Npn \ctex_ltj_get_and_define_fonts:nN #1#2 { - \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 } + \exp_args:No \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 } { \ctex_ltj_get_and_define_fonts_ja:nN } { \ctex_ltj_get_and_define_fonts_al:nN } {#1} #2 } \cs_new_eq:NN \ctex_ltj_get_and_define_fonts_al:nN \getanddefine@fonts \cs_set_eq:NN \getanddefine@fonts \ctex_ltj_get_and_define_fonts:nN -\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2 +\cs_new_protected:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2 { \tl_gset:Nx \font@name { \use:c { \token_to_str:N #2 / \tf@size } } \ctex_ltj_pickup_font: \tl_set_eq:NN \textfont@name \font@name @@ -4706,22 +5092,18 @@ Copyright and Licence \tl_put_right:Nx \math@fonts { \ltj@setpar@global - \ltj@@set@stackfont #1 , \textfont@name \c_colon_str { MJT } - \ltj@@set@stackfont #1 , \scriptfont@name \c_colon_str { MJS } - \ltj@@set@stackfont #1 , \font@name \c_colon_str { MJSS } + \ltj@@@@set@stackfont #1 , \textfont@name \c_colon_str { MJT } + \ltj@@@@set@stackfont #1 , \scriptfont@name \c_colon_str { MJS } + \ltj@@@@set@stackfont #1 , \font@name \c_colon_str { MJSS } } } % \end{macrocode} % \end{macro} % -% \begin{macrocode} -%<@@=ctex_ltj> -% \end{macrocode} -% % \begin{macro}[int]{\use@mathgroup,\ctex_ltj_use_math_group:Nn} % 在使用 \pkg{unicode-math} å®åŒ…时,\cs{ctex_ltj_math_group_hook:} 将被é‡å®šä¹‰ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_use_math_group:Nn #1#2 +\cs_new_protected:Npn \ctex_ltj_use_math_group:Nn #1#2 { \mode_if_math:T { @@ -4762,7 +5144,7 @@ Copyright and Licence } { \cs_set_eq:NN \use@mathgroup \ctex_ltj_use_math_group:Nn - \cs_set_protected_nopar:Npn \ctex_ltj_math_group_hook: + \cs_set_protected:Npn \ctex_ltj_math_group_hook: { \__um_switchto_literal: } \ctex_ltj_set_math_letter:NN \__um_sym:nnn @@ -4777,7 +5159,7 @@ Copyright and Licence % \begin{variable}{\l_@@_jfm_tl} % \pkg{LuaTeX-ja} ä¸ä¸Žæ ‡ç‚¹æ ¼å¼ \opt{plain} 对应的 \texttt{JFM} 是 \opt{mono}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_mono_jfm:n #1 +\cs_new_protected:Npn \ctex_mono_jfm:n #1 { \str_if_eq:nnTF {#1} { plain } { \tl_set:Nn \l_@@_jfm_tl { mono } } @@ -4791,7 +5173,6 @@ Copyright and Licence % \end{macro} % % \begin{macro}[int]{\CJK@encoding} -% \begin{macro}{\@@_change_encoding:} % 在 \LaTeX 下,\pkg{LuaTeX-ja} ä¾èµ–å—体编ç æ¥å®žçŽ°ç‰¹æ®Šè®¾ç½®ã€‚例如上述的 % \cs{ctex_ltj_if_jfont:nTF} 就是通过判æ–ç¼–ç æ¥å®žçŽ°çš„,它在设置数å¦å—体时会用到。所以 % ä¸åº”该与西文共用 \texttt{EU2}。定义å—ä½“æ— song 为 \tn{CJK@encoding} çš„é»˜è®¤æ›¿æ¢ @@ -4799,29 +5180,26 @@ Copyright and Licence % \begin{macrocode} \tl_const:Nn \CJK@encoding { LTJY3 } \DeclareFontEncoding { \CJK@encoding } { } { } -\use:x +\use:e { \exp_not:N \DeclareFontSubstitution - { \CJK@encoding } { song } { \mddefault } { \updefault } + { \CJK@encoding } { song } { \mddefault } { \shapedefault } } -\lua_now:e { luatexja.jfont.add_kyenc_list('\CJK@encoding') } -\cs_new_protected_nopar:Npn \@@_change_encoding: - { \tl_set_eq:NN \g_fontspec_encoding_tl \CJK@encoding } +\ctex_ltj_add_kyenc:n { \CJK@encoding } \DeclareFontFamily { \CJK@encoding } { song } { } -\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \updefault } +\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \shapedefault } { <-> psft:SimSun:cid=Adobe-GB1-5;jfm=\l_@@_jfm_tl } { } -\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \updefault } +\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \shapedefault } { <-> psft:SimHei:cid=Adobe-GB1-5;jfm=\l_@@_jfm_tl } { } \tl_const:Nn \c_@@_math_tl { CJKmath } \DeclareSymbolFont { \c_@@_math_tl } - { \CJK@encoding } { song } { \mddefault } { \updefault } + { \CJK@encoding } { song } { \mddefault } { \shapedefault } \SetSymbolFont { \c_@@_math_tl } { bold } - { \CJK@encoding } { song } { \bfdefault } { \updefault } + { \CJK@encoding } { song } { \bfdefault } { \shapedefault } \int_const:Nn \c_@@_math_fam_int { \use:c { sym \c_@@_math_tl } } \jfam \c_@@_math_fam_int % \end{macrocode} % \end{macro} -% \end{macro} % % 这是 \pkg{luatexja-fontspec} ä¸æ–°å¢žçš„一些å—体选项。 % \begin{macrocode} @@ -4847,7 +5225,7 @@ Copyright and Licence { \group_begin: \clist_clear:N \l_@@_char_range_clist - \seq_clear:N \l_@@_alternate_seq + \prop_clear:N \l_@@_alternate_prop \tl_set:Nn \l_@@_base_CJKfamily_tl {#1} \keys_set_known:nnN { ctex_ltj / fontspec } {#2} \l_@@_tmp_tl \clist_set:No \l_@@_font_options_clist { \l_@@_tmp_tl } @@ -4864,10 +5242,17 @@ Copyright and Licence } \tl_new:N \l_@@_base_CJKfamily_tl \clist_new:N \l_@@_font_options_clist -\cs_new_protected_nopar:Npn \@@_use_global_options:N #1 +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_use_global_options:N} +% 应用默认å—体选项,并总是设置 \opt{JFM} å’Œ \opt{NFSSEncoding} 。 +% \begin{macrocode} +\cs_new_protected:Npn \@@_use_global_options:N #1 { \clist_concat:NNN #1 \g_@@_default_features_clist #1 - \clist_put_left:Nx #1 { JFM = \l_@@_jfm_tl } + \clist_put_left:Nx #1 + { NFSSEncoding = \CJK@encoding , JFM = \l_@@_jfm_tl } } % \end{macrocode} % \end{macro} @@ -4885,7 +5270,7 @@ Copyright and Licence % \begin{macro}{\@@_check_family:n} % åˆ é™¤é‡å¤çš„定义,清除替代å—体的先å‰è®¾ç½®ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_check_family:n #1 +\cs_new_protected:Npn \@@_check_family:n #1 { \prop_gpop:NnNT \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl { @@ -4911,28 +5296,24 @@ Copyright and Licence % 在设置å—体时,实际上并ä¸æ˜¯é©¬ä¸Šå°±å®šä¹‰ã€‚而是åªä¿å˜ç›¸å…³å‚数,在通过 \tn{CJKfamily} % 第一次使用时æ‰å®šä¹‰ã€‚需è¦æ³¨æ„将编ç 改为 \tn{CJK@encoding}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_gset_family_cs:nn #1#2 +\cs_new_protected:Npn \@@_gset_family_cs:nn #1#2 { - \cs_gset_protected_nopar:cpx { \@@_family_csname:n {#1} } + \cs_gset_protected:cpx { \@@_family_csname:n {#1} } { \group_begin: - \@@_change_encoding: \exp_not:n { \cs_set_eq:NN \CJKfamily \use_none:n } - \exp_not:n { \cs_set_eq:NN \CTEX@fontfamily \use_none:n } - \exp_not:n { \fontspec_set_family:Nnn \g_@@_fontspec_family_tl } + \exp_not:n { \fontspec_gset_family:Nnn \g_@@_fontspec_family_tl } { \exp_not:o { \l_@@_font_options_clist } } {#2} \prop_gput:Nno \exp_not:N \g_@@_family_name_prop {#1} { \exp_not:N \g_@@_fontspec_family_tl } - \tl_gset_eq:NN \exp_not:N \g_@@_fontspec_family_tl - \exp_not:N \g_@@_fontspec_family_tl \@@_set_alternate_family:n {#1} \group_end: } } \tl_new:N \l_@@_base_family_tl \tl_new:N \g_@@_fontspec_family_tl -\cs_new_nopar:Npn \@@_family_csname:n #1 { ctex_ltj/family/#1 } -\cs_new_protected_nopar:Npn \@@_set_alternate_family:n #1 +\cs_new:Npn \@@_family_csname:n #1 { ctex_ltj/family/#1 } +\cs_new_protected:Npn \@@_set_alternate_family:n #1 { \tl_set:Nn \l_@@_base_CJKfamily_tl {#1} \tl_set_eq:NN \l_@@_base_family_tl \g_@@_fontspec_family_tl @@ -4948,7 +5329,7 @@ Copyright and Licence % \begin{macrocode} \NewDocumentCommand \CJKfamily { m } { \ctex_ltj_switch_family:x {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ltj_switch_family:n #1 +\cs_new_protected:Npn \ctex_ltj_switch_family:n #1 { \ctex_ltj_family_if_exist:nNTF {#1} \CJK@family { @@ -4984,7 +5365,7 @@ Copyright and Licence % % \begin{macro}{\@@_family_unknown_warning:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_family_unknown_warning:n #1 +\cs_new_protected:Npn \@@_family_unknown_warning:n #1 { \prop_if_empty:NF \g_@@_family_font_name_prop { @@ -5001,7 +5382,7 @@ Copyright and Licence Unknown~CJK~family~`\@@_msg_family_map:n {#1}'~is~being~ignored.\\ Try~to~use~`\@@_msg_def_family_map:n {#1}'~to~define~it. } -\cs_new_nopar:Npn \@@_msg_def_family_map:n #1 +\cs_new:Npn \@@_msg_def_family_map:n #1 { \str_case_e:nnF {#1} { @@ -5012,7 +5393,7 @@ Copyright and Licence { \token_to_str:N \setCJKfamilyfont \{ #1 \} } [...]\{...\} } -\cs_new_nopar:Npn \@@_msg_family_map:n #1 +\cs_new:Npn \@@_msg_family_map:n #1 { \str_case_e:nnF {#1} { @@ -5027,21 +5408,21 @@ Copyright and Licence % % \begin{macro}[int]{\ctex_ltj_fontspec:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_fontspec:nn #1#2 { \prop_get:NnNTF \g_@@_fontspec_prop { CJKfontspec/#1/#2/id } \l_ctex_ltj_family_tl { \ctex_ltj_switch_family:x { \l_ctex_ltj_family_tl } } { \int_gincr:N \g_@@_family_int - \@@_fontspec:xnn + \@@_fontspec:enn { CJKfontspec ( \int_use:N \g_@@_family_int ) } {#1} {#2} } } -\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:xx #1#2 - { \use:x { \ctex_ltj_fontspec:nn {#1} {#2} } } -\cs_new_protected_nopar:Npn \@@_fontspec:nnn #1#2#3 +\cs_new_protected:Npn \ctex_ltj_fontspec:ee #1#2 + { \use:e { \ctex_ltj_fontspec:nn {#1} {#2} } } +\cs_new_protected:Npn \@@_fontspec:nnn #1#2#3 { \bool_if:NT \l_@@_add_alternate_bool { @@ -5061,7 +5442,7 @@ Copyright and Licence \ctex_ltj_set_family:nnn {#1} {#2} {#3} \ctex_ltj_switch_family:n {#1} } -\cs_generate_variant:Nn \@@_fontspec:nnn { x } +\cs_generate_variant:Nn \@@_fontspec:nnn { e } \prop_new:N \g_@@_fontspec_prop % \end{macrocode} % \end{macro} @@ -5069,9 +5450,9 @@ Copyright and Licence % \begin{macro}[int] % {\ctex_ltj_add_font_features:n,\ctex_ltj_add_font_features:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:n #1 +\cs_new_protected:Npn \ctex_ltj_add_font_features:n #1 { \ctex_ltj_add_font_features:xn { \l_ctex_ltj_family_tl } {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_add_font_features:nn #1#2 { \prop_get:NnNTF \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl @@ -5080,7 +5461,7 @@ Copyright and Licence {#1} \l_@@_font_options_clist \clist_put_right:Nn \l_@@_font_options_clist {#2} \bool_set_true:N \l_@@_add_alternate_bool - \ctex_ltj_fontspec:xx + \ctex_ltj_fontspec:ee { \exp_not:o { \l_@@_font_options_clist } } { \exp_not:o { \l_@@_tmp_tl } } } @@ -5102,16 +5483,16 @@ Copyright and Licence % \begin{macrocode} \cs_new_protected:Npn \@@_pass_args:nnnn #1#2#3#4 { - \IfNoValueTF {#2} + \tl_if_novalue:nTF {#2} { \@@_post_arg:w {#1} {#3} {#4} } { - \use:x { #1 {#2} {#3} } + \use:e { #1 {#2} {#3} } #4 } } \NewDocumentCommand \@@_post_arg:w { m m m O { } } { - \use:x { #1 {#4} {#2} } + \use:e { #1 {#4} {#2} } #3 } % \end{macrocode} @@ -5131,8 +5512,8 @@ Copyright and Licence \NewDocumentCommand \newCJKfontfamily { o m o m } { \tl_set:Nx \l_@@_tmp_tl - { \IfNoValueTF {#1} { \cs_to_str:N #2 } {#1} } - \cs_new_protected_nopar:Npx #2 + { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} } + \cs_new_protected:Npx #2 { \ctex_ltj_switch_family:n { \l_@@_tmp_tl } } \@@_pass_args:nnnn { \ctex_ltj_set_family:nnn { \l_@@_tmp_tl } } {#3} {#4} @@ -5202,36 +5583,15 @@ Copyright and Licence \tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { tt } } % \end{macrocode} % -% \begin{macro}[int]{\fontfamily} -% \begin{macro}[int]{\CTEX@fontfamily} % \changes{v2.4.8}{2017/02/23} % {解决与 \pkg{fontspec} 2017/01/24 v2.5d çš„å—体æ—匹é…兼容问题。} -% 修改 \tn{fontfamily}ï¼Œä½¿ä¸»è¦ |CJK| å—体æ—能éšè¥¿æ–‡ä¸»è¦å—体更新。 +% 使用 \LaTeXe \ æ供的钩åï¼Œä½¿ä¸»è¦ |CJK| å—体æ—能éšè¥¿æ–‡ä¸»è¦å—体更新。 % \begin{macrocode} -\RenewDocumentCommand \fontfamily { m } - { - \tl_set:Nx \f@family {#1} - \CTEX@fontfamily {#1} - } -\cs_new_protected_nopar:Npn \CTEX@fontfamily #1 - { - \str_if_eq:nnTF {#1} { \familydefault } - { \CJKfamily { \CJKfamilydefault } } - { \@@_update_family_aux: } - } -\cs_new_protected_nopar:Npn \@@_update_family_aux: - { - \str_case_e:nn { \f@family } - { - { \rmdefault } { \CJKfamily { \CJKrmdefault } } - { \sfdefault } { \CJKfamily { \CJKsfdefault } } - { \ttdefault } { \CJKfamily { \CJKttdefault } } - { \familydefault } { \CJKfamily { \CJKfamilydefault } } - } - } +\g@addto@macro \@rmfamilyhook { \CJKfamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \CJKfamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \CJKfamily { \CJKttdefault } } +\g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } } % \end{macrocode} -% \end{macro} -% \end{macro} % % 在导言区末尾更新 \tn{CJKfamilydefault}。 % \begin{macrocode} @@ -5241,7 +5601,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_ensure_default_family:} % 在导言区结æŸç¡®è®¤ \tn{CJKfamilydefault} 确实å˜åœ¨ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_ensure_default_family: +\cs_new_protected:Npn \ctex_ltj_ensure_default_family: { \prop_if_empty:NF \g_@@_family_font_name_prop { @@ -5272,7 +5632,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_update_mathfont:} % æ›´æ–°æ•°å¦å—体为实际的å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont: +\cs_new_protected:Npn \ctex_ltj_update_mathfont: { \ctex_ltj_family_if_exist:xNTF { \c_@@_math_tl } \l_@@_tmp_tl { \ctex_ltj_update_mathfont:n { \l_@@_tmp_tl } } @@ -5281,20 +5641,20 @@ Copyright and Licence { \ctex_ltj_update_mathfont:n { \l_@@_tmp_tl } } } } -\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont:n #1 +\cs_new_protected:Npn \ctex_ltj_update_mathfont:n #1 { \tl_const:Nx \c_@@_math_family_tl {#1} \DeclareSymbolFont { \c_@@_math_tl } { \CJK@encoding } - { \c_@@_math_family_tl } { \mddefault } { \updefault } + { \c_@@_math_family_tl } { \mddefault } { \shapedefault } \cs_if_free:cTF - { \CJK@encoding/\c_@@_math_family_tl/\bfdefault/\updefault } + { \CJK@encoding/\c_@@_math_family_tl/\bfdefault/\shapedefault } { \SetSymbolFont { \c_@@_math_tl } { bold } { \CJK@encoding } - { \c_@@_math_family_tl } { \mddefault } { \updefault } + { \c_@@_math_family_tl } { \mddefault } { \shapedefault } } { \SetSymbolFont { \c_@@_math_tl } { bold } { \CJK@encoding } - { \c_@@_math_family_tl } { \bfdefault } { \updefault } + { \c_@@_math_family_tl } { \bfdefault } { \shapedefault } } } % \end{macrocode} @@ -5302,12 +5662,14 @@ Copyright and Licence % % \paragraph{替代å—体的设置} % +% \changes{v2.5}{2020/04/30}{é‡æž„å—体选项 \opt{AlternateFont}。} +% % \begin{macro}{AlternateFont,CharRange} % 设置替代å—体的选项。 % \begin{macrocode} \keys_define:nn { ctex_ltj / fontspec } { - AlternateFont .code:n = \ctex_ltj_set_alternate_seq:n {#1} , + AlternateFont .code:n = \ctex_ltj_set_alternate_prop:n {#1} , AlternateFont .value_required:n = true , CharRange .clist_set:N = \l_@@_char_range_clist , CharRange .value_required:n = true @@ -5315,84 +5677,84 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\ctex_ltj_set_alternate_seq:n} -% 我们使用 \verb=||= 作为替代å—体åºåˆ—çš„åˆ†éš”æ ‡å¿—ã€‚å®ƒå¯èƒ½è¢«è®¾ç½®ä¸ºæ´»åŠ¨å—ç¬¦ï¼Œä¸ºæ¤ -% 需è¦å…ˆâ€œæ¶ˆæ¯’â€ï¼ŒåŒæ—¶è¿‡æ»¤æŽ‰ç©ºå…ƒç´ 。 +% \begin{macro}[int]{\ctex_ltj_set_alternate_prop:n} +% ä¿å˜æ›¿ä»£å—体åºåˆ—。 % \begin{macrocode} -\group_begin: - \char_set_catcode_other:N \| - \cs_set:Npn \@@_tmp:w #1 - { - \cs_new_protected:Npn \ctex_ltj_set_alternate_seq:n ##1 - { - \clist_if_empty:NT \l_@@_char_range_clist - { - \tl_set:Nn \l_@@_tmp_tl { ##1 } - \tl_replace_all:Nnn \l_@@_tmp_tl {#1} { || } - \seq_set_split:NnV \l_@@_tmp_seq { || } \l_@@_tmp_tl - \seq_set_filter:NNn \l_@@_tmp_seq \l_@@_tmp_seq - { ! \tl_if_blank_p:n { ####1 } } - \seq_concat:NNN \l_@@_alternate_seq - \l_@@_alternate_seq \l_@@_tmp_seq - } - } - } - \char_set_catcode_active:N \| - \@@_tmp:w { || } -\group_end: -\seq_new:N \l_@@_tmp_seq -\seq_new:N \l_@@_alternate_seq +\cs_new_protected:Npn \ctex_ltj_set_alternate_prop:n #1 + { \clist_map_function:nN {#1} \@@_push_alternate_prop:n } +\cs_new_protected:Npn \@@_push_alternate_prop:n #1 + { + \clist_set:Nx \l_@@_tmp_clist { \tl_head:n {#1} } + \tl_remove_all:Nn \l_@@_tmp_clist { ~ } + \exp_args:No \@@_push_alternate_prop:nn + { \l_@@_tmp_clist } {#1} + } +\cs_new_protected:Npn \@@_push_alternate_prop:nn #1 + { + \prop_remove:Nn \l_@@_alternate_prop {#1} + \prop_put:Nnn \l_@@_alternate_prop {#1} + } +\clist_new:N \l_@@_tmp_clist +\prop_new:N \l_@@_alternate_prop % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_set_alternate_family:nnF} % 如果在å—体的选项ä¸è®¾ç½®äº† \opt{CharRange},则åªè®¾ç½®æ›¿ä»£å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnF #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nnF { \clist_if_empty:NTF \l_@@_char_range_clist - { - \@@_check_family:n {#1} - \seq_if_empty:NF \l_@@_alternate_seq - { \ctex_ltj_save_alternate_seq:cn { \@@_alternate_cs:n {#1} } {#2} } - #3 - } - { \ctex_ltj_set_alternate_family:nn {#1} {#2} } + { \@@_set_family_aux:nnn } + { \@@_set_alternate_family_aux:nnn } } +\cs_new_protected:Npn \@@_set_family_aux:nnn #1#2#3 + { + \@@_check_family:n {#1} + \prop_if_empty:NF \l_@@_alternate_prop + { \ctex_ltj_save_alternate_seq:cn { \@@_alternate_cs:n {#1} } {#2} } + #3 + } +\cs_new_protected:Npn \@@_set_alternate_family_aux:nnn #1#2#3 + { \ctex_ltj_set_alternate_family:nn {#1} {#2} } % \end{macrocode} % \end{macro} % -% \begin{macro}[int] -% {\ctex_ltj_save_alternate_seq:Nn,\ctex_ltj_save_alternate_seq:Nnnwn} +% \begin{macro}[int]{\ctex_ltj_save_alternate_seq:Nn} % ä¿å˜ç”± \opt{AlternateFont} 设置的替代å—体åºåˆ—。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_seq:Nn #1#2 +\cs_new_protected:Npn \ctex_ltj_save_alternate_seq:Nn #1#2 { - \seq_map_inline:Nn \l_@@_alternate_seq - { \ctex_ltj_save_alternate_seq:Nnnwnw #1 {#2} ##1 { } \q_stop } + \prop_map_inline:Nn \l_@@_alternate_prop + { \@@_save_alternate_auxi:w ##2 { } \q_mark #1 {#2} } } -\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c } -\NewDocumentCommand \ctex_ltj_save_alternate_seq:Nnnwnw - { m m m +O{ } m u{ \q_stop } } +\cs_new_protected:Npn \@@_save_alternate_auxi:w #1#2# { - \clist_set:Nn \l_@@_char_range_clist {#3} - \clist_set:Nn \l_@@_alternate_options_clist {#4} + \tl_if_blank:nTF {#2} + { \@@_save_alternate_auxii:w {#1} } + { \@@_save_alternate_auxii:w {#1} {#2} } + } +\cs_new_protected:Npn \@@_save_alternate_auxii:w #1#2#3 #4 \q_mark #5#6 + { + \clist_set:Nn \l_@@_char_range_clist {#1} + \clist_set:Nn \l_@@_alternate_options_clist {#3} \@@_use_global_options:N \l_@@_alternate_options_clist - \tl_if_blank:nTF {#5} - { \tl_set:Nn \l_@@_tmp_tl {#2} } + \tl_if_blank:nTF {#2} + { \tl_set:Nn \l_@@_tmp_tl {#6} } { - \tl_set:Nn \l_@@_tmp_tl {#5} - \tl_replace_all:Nnn \l_@@_tmp_tl { * } {#2} + \tl_set:Nx \l_@@_tmp_tl { \tl_trim_spaces:n {#2} } + \tl_replace_all:Nnn \l_@@_tmp_tl { * } {#6} } - \use:x + \use:e { - \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #1 + \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #5 { \exp_not:o { \l_@@_char_range_clist } } { \exp_not:o { \l_@@_alternate_options_clist } } { \exp_not:o { \l_@@_tmp_tl } } } } \clist_new:N \l_@@_alternate_options_clist +\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c } % \end{macrocode} % \end{macro} % @@ -5400,7 +5762,7 @@ Copyright and Licence % 设置选项 \opt{CharRange} 范围内的替代å—体。如果已ç»å®šä¹‰äº†ä¸»å—体,我们也马上 % 定义替代å—体,å¦åˆ™åªä¿å˜èµ·æ¥å¤‡ç”¨ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nn #1#2 { \@@_update_family_uid:N \l_@@_font_options_clist \@@_use_global_options:N \l_@@_font_options_clist @@ -5409,7 +5771,7 @@ Copyright and Licence { \l_@@_char_range_clist } { \l_@@_font_options_clist } {#2} {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5 { \prop_get:NnNT \g_@@_family_name_prop {#5} \l_@@_base_family_tl { \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } @@ -5422,10 +5784,10 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_save_alternate_family:Nnnn} % ä¿å˜æ›¿ä»£å—体åºåˆ—的定义,以备定义主å—体时使用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4 { \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } - \cs_gset_protected_nopar:Npx #1 + \cs_gset_protected:Npx #1 { \exp_not:o { #1 \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } } } % \end{macrocode} @@ -5434,10 +5796,9 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_set_alternate_family:nnn} % 实际定义替代å—体æ—。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3 { \group_begin: - \@@_change_encoding: \cs_set_eq:NN \CJKfamily \use_none:n \ctex_ltj_swap_cs:NN \DeclareFontShape@ \ctex_ltj_declare_alternate_shape:nnnnnn @@ -5469,7 +5830,7 @@ Copyright and Licence % \pkg{fontspec} 对 CJK å—体æ—总是定义新å—体。 % \begin{macrocode} \keys_define:nn { fontspec } { LTJFONTUID .code:n = } -\cs_new_protected_nopar:Npn \@@_update_family_uid:N #1 +\cs_new_protected:Npn \@@_update_family_uid:N #1 { \int_gincr:N \g_@@_family_int \clist_put_right:Nx #1 { LTJFONTUID = \int_use:N \g_@@_family_int } @@ -5488,8 +5849,7 @@ Copyright and Licence { \ctex_ltj_declare_alternate_shape:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} \ctex_ltj_set_alternate_shape:Nnnnnnn \l_@@_char_range_clist - { \l_@@_base_family_tl } {#3} {#4} - { \l_fontspec_family_tl } {#3} {#4} + { \l_@@_base_family_tl } {#3} {#4} {#2} {#3} {#4} } % \end{macrocode} % \end{macro} @@ -5498,7 +5858,7 @@ Copyright and Licence % 与 \pkg{LuaTeX-ja} çš„ \tn{DeclareAlternateKanjiFont} 的功能类似,区别是固定编ç % 为 \tn{CJK@encoding}。这个设置总是全局的。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7 { \clist_map_inline:Nn #1 { @@ -5509,10 +5869,9 @@ Copyright and Licence } { \ctex_ltj_set_alternate_shape:nnn { #2/#3/#4 } { #5/#6/#7 } { ##1 } } } - \@@_save_alternate_shape:cnn + \@@_save_alternate_shape:cn { \@@_alternate_cs:n { clear / \l_@@_base_CJKfamily_tl } } - { luatexja.jfont.clear_alt_font_latex } - { '\lua_escape:e { \CJK@encoding/#2/#3/#4 }' } + { \ctex_ltj_clear_alt_font:n { \CJK@encoding/#2/#3/#4 } } } % \end{macrocode} % \end{macro} @@ -5526,85 +5885,80 @@ Copyright and Licence \NewDocumentCommand \ctex_ltj_set_alternate_shape:nnn { m m > { \SplitArgument { 1 } { -> } } m } { \ctex_ltj_set_alternate_shape:nnnn {#1} {#2} #3 } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4 { - \ctex_ltj_set_alternate_shape:n + \ctex_ltj_set_alternate_shape:e { - \IfNoValueTF {#4} - { \int_eval:n {#3} , \int_eval:n {#3} , } - { - \int_eval:n { \tl_if_blank:nTF {#3} { "80 } {#3} } , - \int_eval:n { \tl_if_blank:nTF {#4} { "10FFFF } {#4} } , - } - '\lua_escape:e { \CJK@encoding/#2 }' , - '\lua_escape:e { \CJK@encoding/#1 }' + \@@_range_normalization:nn {#3} {#4} + { \CJK@encoding / \exp_not:n {#2} } + { \CJK@encoding / \exp_not:n {#1} } } } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:n #1 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:n #1 { - \lua_now:e { luatexja.jfont.set_alt_font_latex ( #1 ) } - \@@_save_alternate_shape:cnn + \ctex_ltj_set_alt_font:nnnn #1 + \@@_save_alternate_shape:cn { \@@_alternate_cs:n { reset / \l_@@_base_CJKfamily_tl } } - { luatexja.jfont.set_alt_font_latex } {#1} + { \ctex_ltj_set_alt_font:nnnn #1 } } +\cs_generate_variant:Nn \ctex_ltj_set_alternate_shape:n { e } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_set_alternate_shape:nnN} % è‹¥å—符范围预先由 \texttt{declarecharrange} 声明,则å¯ä»¥ç›´æŽ¥ä½¿ç”¨ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3 { \tl_map_inline:Nn #3 { \ctex_ltj_set_alternate_shape:n { - ##1 , - '\lua_escape:e { \CJK@encoding/#2 }' , - '\lua_escape:e { \CJK@encoding/#1 }' + ##1 + { \CJK@encoding/#2 } + { \CJK@encoding/#1 } } } } % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_save_alternate_shape:Nnn} +% \begin{macro}{\@@_save_alternate_shape:Nn} % 将实际设置的替æ¢å—å½¢ä¿å˜èµ·æ¥ç”¨äºŽæ¸…除或æ¢å¤ã€‚ % 暂时令 \cs{l_@@_base_family_tl} 为 \cs{scan_stop:} 是让它ä¸è¢«å±•å¼€ï¼Œä½¿å¾—æ›¿æ¢ % å—体的设置å¯ä»¥åœ¨ \tn{addCJKfontfeature} ä¸ç›´æŽ¥ä½¿ç”¨ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_save_alternate_shape:Nnn #1#2#3 +\cs_new_protected:Npn \@@_save_alternate_shape:Nn #1#2 { \group_begin: - \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } - \cs_set_eq:NN \l_@@_base_family_tl \scan_stop: - \cs_set_eq:NN \lua_escape:e \scan_stop: - \cs_gset_protected_nopar:Npx #1 - { \exp_not:o {#1} \exp_not:N \lua_now:e { #2 ( #3 ) } } + \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } + \cs_set_eq:NN \l_@@_base_family_tl \scan_stop: + \cs_gset_protected:Npx #1 { \exp_not:o {#1} #2 } \group_end: } -\cs_generate_variant:Nn \@@_save_alternate_shape:Nnn { c } +\cs_generate_variant:Nn \@@_save_alternate_shape:Nn { c } % \end{macrocode} % \end{macro} % % \begin{macro}{clearalternatefont,resetalternatefont} % 清除和é‡ç½®æ“作总是全局的。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { clearalternatefont .code:n = - { \clist_map_function:xN {#1} \ctex_ltj_clear_alternate_font:n } , + { \clist_map_function:eN {#1} \ctex_ltj_clear_alternate_font:n } , resetalternatefont .code:n = - { \clist_map_function:xN {#1} \ctex_ltj_reset_alternate_font:n } , + { \clist_map_function:eN {#1} \ctex_ltj_reset_alternate_font:n } , clearalternatefont .default:n = \l_ctex_ltj_family_tl , resetalternatefont .default:n = \l_ctex_ltj_family_tl } -\cs_new_protected_nopar:Npn \ctex_ltj_clear_alternate_font:n #1 +\cs_new_protected:Npn \ctex_ltj_clear_alternate_font:n #1 { \group_begin: \ctex_ltj_family_if_exist:xNTF {#1} \l_@@_base_family_tl { - \cs_if_exist_use:cT { \@@_alternate_cs:n { clear / #1 } } + \cs_if_exist_use:cT + { \@@_alternate_cs:n { clear / #1 } } { \prop_gput:Nno \g_@@_reset_alternate_prop {#1} { \l_@@_base_family_tl } @@ -5615,7 +5969,7 @@ Copyright and Licence { \@@_family_unknown_warning:n {#1} } \group_end: } -\cs_new_protected_nopar:Npn \ctex_ltj_reset_alternate_font:n #1 +\cs_new_protected:Npn \ctex_ltj_reset_alternate_font:n #1 { \group_begin: \prop_gpop:NnNT \g_@@_reset_alternate_prop {#1} \CJK@family @@ -5627,23 +5981,23 @@ Copyright and Licence \group_end: } \prop_new:N \g_@@_reset_alternate_prop -\cs_generate_variant:Nn \clist_map_function:nN { x } +\cs_generate_variant:Nn \clist_map_function:nN { e } % \end{macrocode} % \end{macro} % % \begin{macro}{declarecharrange} % 预先声明å—符范围。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { - declarecharrange .code:n = \ctex_ltj_declare_char_range:x {#1} , + declarecharrange .code:n = \ctex_ltj_declare_char_range:e {#1} , declarecharrange .value_required:n = true } -\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:n #1 +\cs_new_protected:Npn \ctex_ltj_declare_char_range:n #1 { \clist_map_inline:nn {#1} { \@@_declare_char_range:nn ##1 } } -\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { x } -\cs_new_protected_nopar:Npn \@@_declare_char_range:nn #1#2 - { \use:x { \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } {#2} } +\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { e } +\cs_new_protected:Npn \@@_declare_char_range:nn #1 + { \exp_args:Ne \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } % \end{macrocode} % \end{macro} % @@ -5651,7 +6005,7 @@ Copyright and Licence % \begin{variable}{\g_@@_char_range_prop} % |#1| 是åå—,|#2| 是范围。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_declare_char_range:nn #1#2 { \tl_clear:N \l_@@_char_range_tl \clist_map_function:nN {#2} \ctex_ltj_save_char_range:n @@ -5671,25 +6025,32 @@ Copyright and Licence \NewDocumentCommand \ctex_ltj_save_char_range:n { > { \SplitArgument { 1 } { -> } } m } { \ctex_ltj_save_char_range:nn #1 } -\cs_new_protected_nopar:Npn \ctex_ltj_save_char_range:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_save_char_range:nn #1#2 { \tl_put_right:Nx \l_@@_char_range_tl - { { - \IfNoValueTF {#2} - { \int_eval:n {#1} , \int_eval:n {#1} } - { - \int_eval:n { \tl_if_blank:nTF {#1} { "80 } {#1} } , - \int_eval:n { \tl_if_blank:nTF {#2} { "10FFFF } {#2} } - } - } } + { { \@@_range_normalization:nn {#1} {#2} } } + } +\cs_new:Npn \@@_range_normalization:nn #1#2 + { + \tl_if_novalue:nTF {#2} + { + { \int_eval:n {#1} } + { \int_eval:n {#1} } + } + { + { \int_eval:n { \tl_if_blank:nTF {#1} { \c_@@_range_min_int } {#1} } } + { \int_eval:n { \tl_if_blank:nTF {#2} { \c_@@_range_max_int } {#2} } } + } } +\int_const:Nn \c_@@_range_min_int { "80 } +\int_const:Nn \c_@@_range_max_int { \c_max_char_int } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_def_char_range_key:n} % 在å—体设置选项ä¸å®šä¹‰å—符范围键。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_def_char_range_key:n #1 +\cs_new_protected:Npn \ctex_ltj_def_char_range_key:n #1 { \keys_if_exist:nnF { ctex_ltj / fontspec } {#1} { @@ -5706,42 +6067,13 @@ Copyright and Licence \cs_new_protected:Npn \ctex_ltj_char_range_key:nn #1#2 { \tl_if_blank:nTF {#2} - { \tl_set:Nn \l_@@_char_range_clist {#1} } - { - \clist_if_empty:NT \l_@@_char_range_clist - { - \tl_set:Nn \l_@@_tmp_tl { {#1} } - \@@_char_range_parse_feature:w #2 \q_stop - } - } + { \clist_set:Nn \l_@@_char_range_clist {#1} } + { \@@_push_alternate_prop:nn {#1} { {#1} #2 } } } % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_char_range_parse_feature:w} -% å¯ä»¥ä½¿ç”¨åŠ 方括å·çš„æ–¹å¼ï¼Œé€šè¿‡æ–‡ä»¶åæ¥è°ƒç”¨å—体。这容易与å—ä½“é€‰é¡¹æ··æ·†ã€‚ä¾‹å¦‚ï¼Œéœ€è¦ -% å°† |[simsun.ttc]| 设置为 \opt{range} 的主å—体,就需è¦ä½¿ç”¨ -% |range={{[simsun.ttc]}}| 或者 |[]{[simsun.ttc]}|。下é¢çš„目的是,支æŒç›´æŽ¥ä½¿ç”¨ -% |[simsun.ttc]| å’Œ |[...][simsun.ttc]|。 -% \begin{macrocode} -\NewDocumentCommand \@@_char_range_parse_feature:w - { +o o u { \q_stop } } - { - \exp_args:NNf \tl_put_right:Nn \l_@@_tmp_tl - { - \IfNoValueTF {#1} { {#3} } - { - \IfNoValueTF {#2} - { \tl_if_blank:nTF {#3} { { [#1] } } { [ {#1} ] {#3} } } - { [ {#1} ] { [#2] } } - } - } - \seq_put_right:No \l_@@_alternate_seq { \l_@@_tmp_tl } - } -% \end{macrocode} -% \end{macro} -% -% \paragraph{其它设置} +% \paragraph{其他设置} % % 在抄录环境ä¸ç¦ç”¨ \opt{autospacing} å’Œ \opt{autoxspacing}。然而,\pkg{LuaTeX-ja} % 还是会使 JAchar 自动折行。没有看到有简å•çš„ç¦ç”¨æŠ˜è¡Œçš„办法,å¯èƒ½éœ€è¦è®¾ç½®æ‰€æœ‰çš„ @@ -5768,16 +6100,14 @@ Copyright and Licence { } { \ctex_patch_failure:N \verbatim@font } } -\cs_new_protected_nopar:Npn \CTEX@verbatim@font@hook +\cs_new_protected:Npn \CTEX@verbatim@font@hook { \ltjsetparameter { autospacing = false , autoxspacing = false } } % \end{macrocode} % -% \begin{macro}{\@@italiccorr} +% \begin{macro}{\@@@@italiccorr} % \LaTeX{} çš„å€¾æ–œæ ¡æ£ä¹Ÿè¦é‡æ–°å®šä¹‰ã€‚ % \begin{macrocode} -%<@@=> -\cs_set_eq:NN \@@italiccorr \/ -%<@@=ctex> +\cs_set_eq:NN \@@@@italiccorr \/ % \end{macrocode} % \end{macro} % @@ -5787,14 +6117,15 @@ Copyright and Licence % \tn{ltjsetkanjiskip} å’Œ \tn{ltjsetxkanjiskip} 是相应的 \tn{ltjsetparameter} % çš„å¿«æ·æ–¹å¼ï¼Œåœ¨ä½¿ç”¨ä»–们时,è¦æ³¨æ„先使用 \tn{ltj@setpar@global}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_kanjiskip:N +\cs_new_protected:Npn \ctex_ltj_set_kanjiskip:N { \ltj@setpar@global \ltjsetkanjiskip } -\cs_new_protected_nopar:Npn \ctex_ltj_set_xkanjiskip:N +\cs_new_protected:Npn \ctex_ltj_set_xkanjiskip:N { \ltj@setpar@global \ltjsetxkanjiskip } % \end{macrocode} % \end{macro} % % \begin{macrocode} +%<@@=ctex> %</luatex> % \end{macrocode} % @@ -5809,37 +6140,17 @@ Copyright and Licence % % 按 \pkg{CJK} 的命åä¹ æƒ¯æ¨¡æ‹Ÿéƒ¨åˆ†å‘½ä»¤ï¼Œå¹¶è®¾ç½®é»˜è®¤å—体。 % \begin{macrocode} -\tl_set:Nn \CJKrmdefault { zhrm } -\tl_set:Nn \CJKsfdefault { zhsf } -\tl_set:Nn \CJKttdefault { zhtt } -\tl_set:Nn \CJKfamilydefault { \CJKrmdefault } +\tl_if_exist:NF \CJKfamilydefault + { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } } +\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } } +\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } } +\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } } \tl_set:Nn \kanjifamilydefault { \CJKfamilydefault } -\RenewDocumentCommand \rmfamily { } - { - \not@math@alphabet \rmfamily \mathrm - \romanfamily \rmdefault - \kanjifamily \CJKrmdefault - \selectfont - } -\RenewDocumentCommand \sffamily { } - { - \not@math@alphabet \sffamily \mathsf - \romanfamily \sfdefault - \kanjifamily \CJKsfdefault - \selectfont - } -\RenewDocumentCommand \ttfamily { } - { - \not@math@alphabet \ttfamily \mathtt - \romanfamily \ttdefault - \kanjifamily \CJKttdefault - \selectfont - } +\g@addto@macro \@rmfamilyhook { \kanjifamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \kanjifamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \kanjifamily { \CJKttdefault } } \NewDocumentCommand \CJKfamily { m } - { - \kanjifamily {#1} - \selectfont - } + { \kanjifamily {#1} \selectfont } % \end{macrocode} % % \changes{v2.4.15}{2019/04/05}{å°† \upLaTeX 的默认å—体由 \texttt{mc} 改为 @@ -5847,9 +6158,9 @@ Copyright and Licence % % å°† \upLaTeX 的默认å—体由 |mc| 改为 |zhrm|,并å¯ç”¨ \tn{jfam}。 % \begin{macrocode} -\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10} -\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n} -\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n} +\DeclareErrorKanjiFont {JY2}{zhrm}{m}{n}{10} +\DeclareKanjiSubstitution {JY2}{zhrm}{m}{n} +\DeclareKanjiSubstitution {JT2}{zhrm}{m}{n} \DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n} \SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n} \jfam \symmincho @@ -5892,19 +6203,20 @@ Copyright and Licence % 形如 |upzhserif|,ä¸åŒ…括表示方å‘çš„åŽç¼€ |-h| 与 |-v|。粗体å—体å为空时ä¸è®¾ç½®è¯¥ % å—形。本命令ä¸è®¾ç½®å—ä½“æ˜ å°„ï¼Œéœ€è¦å¤ç”¨å·²æœ‰çš„å—ä½“æ˜ å°„æˆ–å¦è¡Œè®¾ç½®ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_set_upfamily:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upfamily:nnn #1#2#3 { \DeclareKanjiFamily{JY2}{#1}{} \DeclareKanjiFamily{JT2}{#1}{} \DeclareFontShape{JY2}{#1}{m}{n}{<->~ #2-h}{} \DeclareFontShape{JT2}{#1}{m}{n}{<->~ #2-v}{} - \tl_if_empty:nF { #3 } + \tl_if_empty:nF {#3} { + \DeclareFontShape{JY2}{#1}{b}{n}{<->~ #3-h}{} + \DeclareFontShape{JT2}{#1}{b}{n}{<->~ #3-v}{} \DeclareFontShape{JY2}{#1}{bx}{n}{<->~ #3-h}{} \DeclareFontShape{JT2}{#1}{bx}{n}{<->~ #3-v}{} } } -\@onlypreamble \ctex_set_upfamily:nnn % \end{macrocode} % \end{macro} % @@ -5913,20 +6225,38 @@ Copyright and Licence % çš„åŽç¼€ |b| 与表示排版方å‘çš„åŽç¼€ |-h| 与 |-v|。|#2| 与 |#3| 是普通与粗体的实际 % å—体å。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_set_upmap:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upmap:nnn #1#2#3 { \ctex_set_zhmap:n { - \special{ pdf:mapline~ #1-h~ UniGB-UTF16-H~ #2 } - \special{ pdf:mapline~ #1-v~ UniGB-UTF16-V~ #2 } - \tl_if_empty:nF { #3 } + \special { pdf:mapline~#1-h~UniGB-UTF16-H~#2 } + \special { pdf:mapline~#1-v~UniGB-UTF16-V~#2 } + \tl_if_empty:nF {#3} { - \special{ pdf:mapline~ #1b-h~ UniGB-UTF16-H~ #3 } - \special{ pdf:mapline~ #1b-v~ UniGB-UTF16-V~ #3 } + \special { pdf:mapline~#1b-h~UniGB-UTF16-H~#3 } + \special { pdf:mapline~#1b-v~UniGB-UTF16-V~#3 } + } + } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\ctex_set_upmap_unicode:nnn} +% 设置 \upTeX{} å—ä½“æ˜ å°„ï¼Œä½¿ç”¨ |unicode| CMap。å‚æ•°åŒä¸Šã€‚ +% \begin{macrocode} +\cs_new_protected:Npn \ctex_set_upmap_unicode:nnn #1#2#3 + { + \ctex_set_zhmap:n + { + \special { pdf:mapline~#1-h~unicode~#2 } + \special { pdf:mapline~#1-v~unicode~#2 } + \tl_if_empty:nF {#3} + { + \special { pdf:mapline~#1b-h~unicode~#3 } + \special { pdf:mapline~#1b-v~unicode~#3 } } } } -\@onlypreamble \ctex_set_upmap:nnn % \end{macrocode} % \end{macro} % @@ -5934,17 +6264,24 @@ Copyright and Licence % 设置 \upTeX{} 基本å—ä½“æ˜ å°„ï¼ŒæŒ‰ \pkg{zhmetrics-uptex} 的定义,ä¾æ¬¡è®¾ç½®è¡¬çº¿ä½“ % æ£ã€ç²—ã€æ„å¤§åˆ©ï¼Œæ— è¡¬çº¿ä½“æ£ã€ç²—,ç‰å®½ä½“æ£â€”—共 6 ç§å—体,并分横排åŠç›´æŽ’。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_set_upfonts:nnnnnn #1 #2 #3 #4 #5 #6 +\cs_new_protected:Npn \ctex_set_upfonts:nnnnnn #1#2#3#4#5#6 { - \ctex_set_upmap:nnn { upserif } { #1 } { #2 } - \ctex_set_upmap:nnn { upserifit } { #3 } {} - \ctex_set_upmap:nnn { upsans } { #4 } { #5 } - \ctex_set_upmap:nnn { upmono } { #6 } {} + \ctex_set_upmap:nnn { upserif } {#1} {#2} + \ctex_set_upmap:nnn { upserifit } {#3} {} + \ctex_set_upmap:nnn { upsans } {#4} {#5} + \ctex_set_upmap:nnn { upmono } {#6} {} } -\@onlypreamble \ctex_set_upfonts:nnnnnn % \end{macrocode} % \end{macro} % +% 以下命令åªèƒ½åœ¨å¯¼è¨€åŒºä½¿ç”¨ã€‚ +% \begin{macrocode} +\@onlypreamble \ctex_set_upfamily:nnn +\@onlypreamble \ctex_set_upmap:nnn +\@onlypreamble \ctex_set_upmap_unicode:nnn +\@onlypreamble \ctex_set_upfonts:nnnnnn +% \end{macrocode} +% % \changes{v2.4.7}{2016/12/27}{ä¾èµ– \pkg{pxeverysel} å®åŒ…。} % % \pkg{everysel} å®åŒ…(2011/10/28)未考虑 \upLaTeX{} 对 \tn{selectfont} çš„ä¿® @@ -5967,7 +6304,7 @@ Copyright and Licence % æ›´æ–° \tn{CJKfamilydefault}。\pkg{xeCJK} å·²ç»æœ‰è¿™ä¸ªåŠŸèƒ½ï¼Œä¸éœ€è¦å†è°ƒæ•´ã€‚ % \begin{macrocode} %<*pdftex|luatex|uptex|aptex> -\cs_new_protected_nopar:Npn \ctex_update_default_family: +\cs_new_protected:Npn \ctex_update_default_family: { \tl_if_eq:NNT \CJKfamilydefault \l_@@_family_default_init_tl { @@ -6012,90 +6349,9 @@ Copyright and Licence % \end{macrocode} % \end{variable} % -% \subsubsection{æ“作系统的判æ–} -% % \changes{v2.0}{2014/04/16}{自动检测æ“作系统,载入对应的å—体é…置。} -% -% \begin{macro}[int]{\ctex_detected_platform:} -% 在 \LuaTeX{} 下直接用调用 |os.name| æ¥åˆ¤æ–。 -% \begin{macrocode} -%<*luatex> -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \tl_gset:Nx \g_@@_fontset_tl - { - \lua_now:e - { - if ~ os.name == 'windows' then ~ - tex.sprint ( 'windows' ) - elseif ~ os.name == 'macosx' then ~ - tex.sprint ( 'mac' ) - else ~ - tex.sprint ( 'fandol' ) - end - } - } - } -%</luatex> -% \end{macrocode} -% -% \ApTeX{} å¯ä»¥ä½¿ç”¨ \tn{ngostype} æ¥åˆ¤æ–。 -% \begin{macrocode} -%<*aptex> -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \tl_gset:Nx \g_@@_fontset_tl - { - \str_case:onF { \ngostype } - { - { Win32 } { windows } - { Win64 } { windows } - { Darwin } { mac } - } - { fandol } - } - } -%</aptex> -% \end{macrocode} -% -% \pdfTeX{} å’Œ \XeTeX{} 下则ä¾æ® \file{/dev/null} å’Œ \file{nul:} çš„å˜åœ¨æ€§ä»¥åŠ -% 文件系统的大å°å†™æ•æ„Ÿæ€§æ¥åˆ¤æ–。Mac~OS~X 的大å°å†™æ•æ„Ÿæ€§åœ¨å®‰è£…时是å¯é€‰çš„。为了 -% ä¿é™©èµ·è§ï¼Œè¿™é‡Œçš„判æ–很ç¹ç,最多è¦è¿›è¡Œ 4 次文件æ“ä½œï¼ -% \begin{macrocode} -%<*xetex|pdftex|uptex> -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \file_if_exist:nTF { /dev/null } - { - \file_if_exist:nTF { nul: } - { - \file_if_exist:nTF { \c_@@_upper_case_file_str } - { \ctex_if_macosx:TF { mac } { windows } } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \tl_gset:Nn \g_@@_fontset_tl { windows } } - } -\str_const:Nx \c_@@_upper_case_file_str - { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}[int]{\ctex_if_macosx:TF} -% \changes{v2.1}{2015/06/17}{改用 \file{/Library/Fonts/Songti.ttc} 为特å¾æ–‡ä»¶ã€‚} -% 以 \file{/Library/Fonts/Songti.ttc} 为特å¾æ–‡ä»¶åˆ¤æ– Mac~OS~X。 -% \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2 - { - \file_if_exist:nTF { \c_@@_macosx_file_str } - { \tl_gset:Nn \g_@@_fontset_tl {#1} } - { \tl_gset:Nn \g_@@_fontset_tl {#2} } - } -\str_const:Nn \c_@@_macosx_file_str { /Library/Fonts/Songti.ttc } -%</xetex|pdftex|uptex> -% \end{macrocode} -% \end{macro} +% \changes{v2.5}{2019/10/25}{æ“作系统检测移动至载入ä¸æ–‡å—库处,且ä¸å†éœ€è¦ +% ä¾èµ–特定引擎。} % % \subsubsection{\pkg{hyperref} 兼容性处ç†} % @@ -6113,11 +6369,11 @@ Copyright and Licence %<*class|ctex> \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } %</class|ctex> @@ -6125,14 +6381,14 @@ Copyright and Licence % \end{macro} % % 在 \pdfTeX{} 下使用 \texttt{GBK} ç¼–ç ,\dvipdfmx{} 驱动å¯ä»¥ç›´æŽ¥ç”¨å®ƒçš„ -% \tn{special} 命令,其它模å¼ç”¨ \pkg{xCJK2uni} å®åŒ…处ç†ã€‚使用 \texttt{UTF-8} ç¼– +% \tn{special} 命令,其他模å¼ç”¨ \pkg{xCJK2uni} å®åŒ…处ç†ã€‚使用 \texttt{UTF-8} ç¼– % ç 时,\pkg{CJKutf8} å·²ç»å¤„ç†äº†ä¹¦ç¾é—®é¢˜ï¼Œä½†ä»éœ€è¦è®¾ç½® \opt{pdfencoding} 为 % \opt{unicode},目的是在书ç¾çš„开头写入 BOM (|\376\377|),æ示这是 % \texttt{UTF-16BE} å—节æµã€‚ % \begin{macrocode} %<*pdftex> \ctex_hypersetup:n { driverfallback = dvipdfmx } -\str_if_eq:onTF { \l_@@_encoding_tl } { GBK } +\str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \ctex_hypersetup:n { CJKbookmarks = true } \sys_if_output_pdf:TF @@ -6205,7 +6461,7 @@ Copyright and Licence %<*uptex|aptex> \ctex_hypersetup:n { driverfallback = dvipdfmx } \ctex_at_end_package:nn { hyperref } - { \AtBeginShipoutFirst { \special { pdf:tounicode~ UTF8-UTF16 } } } + { \AtBeginShipoutFirst { \special { pdf:tounicode~UTF8-UTF16 } } } %</uptex|aptex> % \end{macrocode} % @@ -6215,83 +6471,46 @@ Copyright and Licence % % \subsubsection{\pkg{CJKfntef}ã€\pkg{xeCJKfntef} 相关设置} % -% \CTeX{} å®é›†å¯¹ \pdfTeX{} 与 \XeTeX{} 引擎,分别载入 \pkg{CJKfntef} 或 -% \pkg{xeCJKfntef} å®åŒ…,并关é—å®åŒ…默认的彩色ç‰å¤šä½™æ ¼å¼ã€‚ -% % \changes{v2.0}{2015/03/25}{é»˜è®¤å…³é— \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 的彩 % 色设置。} -% \changes{v2.0}{2015/03/25}{\tn{CTEXunderdot}, \tn{CTEXunderline}, -% \tn{CTEXunderdblline}, \tn{CTEXunderwave}, \tn{CTEXsout}, \tn{CTEXxout} 是过 +% \changes{v2.0}{2015/03/25}{\tn{CTEXunderdot}ã€\tn{CTEXunderline}〠+% \tn{CTEXunderdblline}ã€\tn{CTEXunderwave}ã€\tn{CTEXsout}ã€\tn{CTEXxout} 是过 % 时命令;\env{CTEXfilltwosides} 是过时环境。} +% \changes{v2.5}{2019/11/10}{ä¸å†è‡ªåŠ¨è½½å…¥ \pkg{CJKfntef} 或 \pkg{xeCJKfntef} å®åŒ…。} +% \changes{v2.5}{2019/11/10}{移除 \tn{CTEXunderdot}ã€\tn{CTEXunderline}〠+% \tn{CTEXunderdblline}ã€\tn{CTEXunderwave}ã€\tn{CTEXsout}ã€\tn{CTEXxout}〠+% \env{CTEXfilltwosides} ç‰å‘½ä»¤å’ŒçŽ¯å¢ƒã€‚} % -% 载入 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 并åšé€‚å½“æ ¼å¼è®¾ç½®ã€‚有关 |\CTEX| 开头 -% çš„å®å®šä¹‰æ˜¯è¿‡æ—¶å‘½ä»¤ï¼Œä»…åšå…¼å®¹æ€§ä¿ç•™ã€‚ +% 对 \pdfTeX{} 与 \XeTeX{} 引擎,分别在 \pkg{CJKfntef}ã€\pkg{xeCJKfntef} å®åŒ… +% 的末尾关é—彩色显å¼ç‰å¤šä½™æ ¼å¼ã€‚ % % \begin{macrocode} %<*pdftex> -\RequirePackage { CJKfntef } -\normalem -\cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1 - { \tl_clear:c { CJK#1color } } -%</pdftex> -%<*xetex> -\RequirePackage { xeCJKfntef } -\@ifpackagelater { xeCJKfntef } { 2014/11/04 } +\ctex_at_end_package:nn { CJKfntef } { - \cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1 - { \xeCJKsetup { #1 / format = { } } } - } - { - \cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1 + \normalem + \cs_new_protected:Npn \@@_clear_fntef_color:n #1 { \tl_clear:c { CJK#1color } } - } -%</xetex> -%<*luatex|uptex|aptex> -\msg_new:nnn { ctex } { fntef-not-available } -%<luatex> { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ LuaLaTeX. } -%<uptex> { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ upLaTeX. } -%<aptex> { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ ApLaTeX. } -\msg_warning:nn { ctex } { fntef-not-available } -%</luatex|uptex|aptex> -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } -%<*pdftex|xetex> +%</pdftex> +%<*xetex> +\ctex_at_end_package:nn { xeCJKfntef } { - \@@_clear_fntef_color:n {#1} - \cs_new_protected_nopar:cpx { CTEX#1 } + \@ifpackagelater { xeCJKfntef } { 2014/11/04 } { - \msg_warning:nnnn { ctex } { deprecated-command } { \exp_not:c { CTEX#1 } } - { You~ can~ use~ the~ command~ with~ prefix~ \exp_not:N \CJK~ instead. } - \exp_not:c { CJK#1 } + \cs_new_protected:Npn \@@_clear_fntef_color:n #1 + { \xeCJKsetup { #1 / format = { } } } } + { + \cs_new_protected:Npn \@@_clear_fntef_color:n #1 + { \tl_clear:c { CJK#1color } } + } +%</xetex> +%<*pdftex|xetex> + \clist_map_inline:nn + { underdot , underline , underdblline , underwave , sout , xout } + { \@@_clear_fntef_color:n {#1} } } -\cs_new_protected_nopar:Npn { \CTEXfilltwosides } - { - \msg_warning:nnnn { ctex } { deprecated-environment } { CTEXfilltwosides } - { You~ can~ use~ `CJKfilltwosides'~ environment~ instead. } - \CJKfilltwosides - } -\cs_new_protected_nopar:Npn { \endCTEXfilltwosides } { \endCJKfilltwosides } %</pdftex|xetex> -%<*luatex|uptex|aptex> - { \cs_new_eq:cN { CTEX#1 } \use:n } -\cs_new_eq:NN \CTEXfilltwosides \use_none:n -\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing: -%</luatex|uptex|aptex> -%<*pdftex> -\clist_map_inline:nn - { - underdotbasesep , underdotsep , underlinebasesep , - underlinesep , underdbllinesep , underdbllinebasesep , - underwavebasesep , underwavesep , southeight , - underdotcolor , underwavecolor , underlinecolor , - underdbllinecolor , soutcolor , xoutcolor - } - { - \cs_new_eq:cc { CTEX#1 } { CJK#1 } - \cs_set_nopar:cpx { CJK#1 } { \exp_not:c { CTEX#1 } } - } -%</pdftex> % \end{macrocode} % % \subsubsection{\tn{ccwd} çš„æ›´æ–°} @@ -6299,7 +6518,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_ccwd:,\ccwd} % \changes{v2.4.1}{2016/04/29}{æ£ç¡®è®¾ç½® \upTeX{} 下的 \tn{ccwd}。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_ccwd: +\cs_new_protected:Npn \ctex_update_ccwd: %<*pdftex|xetex> { \hbox_set:Nn \l_@@_tmp_box { \CJKglue } @@ -6319,10 +6538,10 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_ccglue:} % æ›´æ–°å—é—´è·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: %<*pdftex|xetex> { - \cs_set_protected_nopar:Npn \CJKglue + \cs_set_protected:Npn \CJKglue { \skip_horizontal:N \l_@@_ccglue_skip } } %</pdftex|xetex> @@ -6354,13 +6573,7 @@ Copyright and Licence { \prg_return_false: } { \prg_return_true: } %</uptex|aptex> } -% \end{macrocode} -% 注æ„下é¢çš„æ ‡è®°ä¸èƒ½ç”¨ \verb"%<pdftex|xetex>",它会导致旧版本的 \pkg{l3docstrip} -% ä¸èƒ½æ›¿æ¢ \texttt{@@}。 -% \begin{macrocode} -%<*pdftex|xetex> -\ctex_at_end:n { \cs_new_eq:NN \@@_ccglue: \CJKglue } -%</pdftex|xetex> +%<pdftex|xetex>\ctex_at_end:n { \cs_new_eq:NN \@@_ccglue: \CJKglue } % \end{macrocode} % \end{macro} % @@ -6374,27 +6587,29 @@ Copyright and Licence % æ„义。在 \LuaTeX{} 下,\pkg{LuaTeX-ja} 总是按照 JFM ä¸çš„设置输出汉å—的宽度,å¯ä»¥ % 直接用 \tn{zw} 作为汉å—宽度。\upTeX{} å¯ä»¥ç›´æŽ¥ä½¿ç”¨åŽŸç”Ÿçš„长度å•ä½ |zw|。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: %<pdftex|xetex> { \dim_set:Nn \ccwd { \f@size \p@ } } %<luatex> { \dim_set:Nn \ccwd { \zw } } %<uptex|aptex> { \dim_set:Nn \ccwd { 1zw } } % \end{macrocode} % \end{macro} % -% \subsubsection{其它} +% \subsubsection{其他} % +% \begin{macro}[int]{\ctex_add_to_selectfont:n,\CTEX@selectfont@hook} % \changes{v2.4.13}{2018/03/23}{ä¿®æ£å¯¼è¨€åŒº \tn{selectfont} é’©åä½ç½®ã€‚} +% \changes{v2.5}{2020/04/19}{兼容 \pkg{KOMA-Script} çš„ \tn{selectfont} è¡¥ä¸ã€‚} % -% \begin{macro}[int]{\ctex_add_to_selectfont:n,\CTEX@selectfont@hook} % \tn{EverySelectfont} 直到文档开始时æ‰æœ‰æ•ˆã€‚为了 \tn{ccwd} å’Œ \pkg{LuaTeX-ja} çš„ % å—体设置在导言区也å¯ç”¨ï¼Œæˆ‘们还需è¦åœ¨è¿™é‡Œæ‰‹å·¥ä¿®æ”¹ \tn{selectfont}。\pkg{everysel} % å®åŒ…会用 \tn{CheckCommand} æ¥æ£€æŸ¥ \tn{selectfont} 是å¦ä¸ºæ ‡å‡†å®šä¹‰ã€‚我们修改了 % \tn{selectfont},所以会给出一个è¦å‘Šã€‚为了消除这个è¦å‘Šï¼Œåœ¨å®ƒæ£€æŸ¥ä¹‹å‰ï¼Œè¿˜åŽŸæœ¬æ¥ % 定义。\pkg{pxeverysel} å®åŒ…å–消了检查,但也需è¦æ¢å¤å®šä¹‰ï¼Œé¿å…é‡å¤ä½¿ç”¨é’©å。 +% \pkg{KOMA-Script} å®åŒ…也会进行检查,我们需è¦å°å¿ƒå¤„ç†ã€‚ % \begin{macrocode} \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -6404,10 +6619,32 @@ Copyright and Licence { \tl_set:Nn \l_@@_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \@@_restore_selectfont: + \cs_new_protected:Npn \@@_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { +% \end{macrocode} +% \pkg{CJK} 直接修改 \tn{selectfont} å’Œ \pkg{pxeverysel} çš„è¡¥ä¸ï¼Œ +% 会使 \pkg{KOMA-Script} çš„ \tn{par@update} 失效。 +% \begin{macrocode} +%<*pdftex|uptex|aptex> + \cs_if_free:NF \par@update +%<*uptex|aptex> + { + \tl_put_right:Nn \@EverySelectfont@Init + { \tl_put_right:Nn #1 { \par@update } } + } +%</uptex|aptex> +%<*pdftex> + { \tl_put_right:Nn #1 { \par@update } } + \cs_set_eq:NN \scr@selectfont \CTEX@selectfont@save +%</pdftex> +%</pdftex|uptex|aptex> + \cs_set_eq:NN \scr@new@selectfont #1 +%<!pdftex> \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \@@_restore_selectfont: } } @@ -6458,7 +6695,7 @@ Copyright and Licence % 全段。 % \begin{macrocode} %<*luatex|uptex|aptex> -\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip: +\cs_new_protected:Npn \ctex_update_xkanjiskip: { \skip_if_eq:nnT %<luatex> { \ltjgetparameter { xkanjiskip } } { \l_@@_xkanjiskip_skip } @@ -6488,35 +6725,34 @@ Copyright and Licence % % \changes{v2.4.10}{2017/07/23}{定义 \tn{cht},\tn{cdp} å’Œ \tn{cwd}。} % -% \begin{macro}[int]{\cht,\cdp,\cwd} +% \begin{macro}[int]{\cht,\cdp,\cwd,\ctex_update_kanjisize:} % 分别从 \file{.jfm} ä¸è¯»å–å—符高度ã€æ·±åº¦å’Œå®½åº¦ï¼Œç›®å‰ä»…考虑横排的情况。 % \begin{macrocode} %<*luatex> \dim_new:N \cht \dim_new:N \cdp \dim_new:N \cwd -\newluafunction \g_@@_kanjisize_func \group_begin: \char_set_catcode_space:n { 32 } \lua_now:e { local nulltable = { } - local t = lua.get_functions_table() local fmt = luatexja.jfont.font_metric_table local getattribute = tex.getattribute local setdimen = tex.setdimen - t[\int_use:N \g_@@_kanjisize_func] = function () - local ft = fmt[getattribute('ltj@curjfnt')] or nulltable + local func = lua.get_functions_table() + local id = luatexbase.new_luafunction("ctex") + func[id] = function () + local ft = fmt[getattribute("ltj@curjfnt")] or nulltable local ft = ft and ft.char_type or nulltable local fk = ft and ft[0] or nulltable - setdimen('cht', fk.height or 0) - setdimen('cdp', fk.depth or 0) - setdimen('cwd', fk.width or ft.zw or 0) + setdimen("cht", fk.height or 0) + setdimen("cdp", fk.depth or 0) + setdimen("cwd", fk.width or ft.zw or 0) end + token.set_lua("ctex_update_kanjisize:", id, "global", "protected") } \group_end: -\cs_new_protected_nopar:Npn \ctex_update_kanjisize: - { \tex_luafunction:D \g_@@_kanjisize_func } \ctex_add_to_selectfont:n { \ctex_update_kanjisize: } %</luatex> % \end{macrocode} @@ -6527,7 +6763,7 @@ Copyright and Licence % \pdfTeX{} å’Œ \XeTeX{} 下åˆå§‹è®¾ç½®ä¸º \opt{auto},\LuaTeX{}ã€\upTeX{} ä¸‹æ˜¯æ— æ•ˆ % 选项。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { %<*pdftex|xetex> space .choice: , @@ -6555,11 +6791,11 @@ Copyright and Licence % 在导言区或æ£æ–‡ä¸è®¾ç½®æ ‡ç‚¹ç¬¦å·è¾“å‡ºæ ¼å¼ã€‚\pkg{LuaTeX-ja} 设置的是å—体的默认 \texttt{JFM}, % åªä¼šå½±å“到之åŽè®¾ç½®çš„å—体。\upTeX{} æš‚æ—¶æ— æ•ˆã€‚ % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l_@@_punct_tl { #1 } + \tl_set:Nx \l_@@_punct_tl {#1} %<pdftex> \punctstyle { \l_@@_punct_tl } %<xetex> \xeCJKsetup { PunctStyle = \l_@@_punct_tl } %<luatex> \ctex_mono_jfm:o { \l_@@_punct_tl } @@ -6570,13 +6806,6 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \XeLaTeX{}ã€\LuaLaTeX{} å’Œ \upLaTeX{} 总是使用 \texttt{UTF8} ç¼–ç 。 -% \begin{macrocode} -%<*xetex|luatex|uptex|aptex> -\tl_set:Nn \l_@@_encoding_tl { UTF8 } -%</xetex|luatex|uptex|aptex> -% \end{macrocode} -% % \begin{macrocode} %</pdftex|xetex|luatex|uptex|aptex> % \end{macrocode} @@ -6597,27 +6826,35 @@ Copyright and Licence % \begin{macro}{\ctexset} % \begin{macrocode} %<*class|ctex|ctexheading> -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } +\NewDocumentCommand \ctexset { } { \ctex_set:n } %</class|ctex|ctexheading> % \end{macrocode} % \end{macro} % % \changes{v2.0}{2015/03/21}{\tn{CTEXsetup}, \tn{CTEXoptions} 是过时命令。} % \begin{macro}{\CTEXsetup,\CTEXoptions} -% 过时命令。出于历å²åŽŸå› ,\tn{CTEXoptions} 需è¦åœ¨ \pkg{pxeverysel} å®åŒ…之åŽå®šä¹‰ã€‚ +% 过时命令。 % \begin{macrocode} %<*class|ctex> -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } % \end{macrocode} % \end{macro} @@ -6627,7 +6864,7 @@ Copyright and Licence % \begin{macro}{autoindent} % \opt{autoindent} 也是å¯ä»¥ç”¨åœ¨æ£æ–‡ä¸çš„选项,æ„义与å®åŒ…选项 |option/autoindent| 相åŒã€‚ % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -6651,7 +6888,7 @@ Copyright and Licence % æ— è®ºå—体大å°æ˜¯å¦å˜åŒ–都更新相关信æ¯ã€‚ % \begin{macrocode} \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } % \end{macrocode} % \end{macro} @@ -6659,7 +6896,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_size:} % 在å—å·å˜åŒ–时更新 \tn{ccwd}ã€\tn{parindent} 和汉å—é—´è·ã€‚å—è·ä¸ºé›¶åˆ™æ¢å¤æ£å¸¸è®¾ç½®ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l_@@_ziju_tl \c_@@_zero_tl { @@ -6687,7 +6924,7 @@ Copyright and Licence % é¢å¤–伸展é‡ã€‚åˆå§‹åŒ–为一个汉å—的宽度。若设置为 \tn{maxdimen},则ç¦ç”¨æ¤åŠŸèƒ½ã€‚ % å‚数的默认å•ä½æ˜¯æ±‰å—的宽度 \tn{ccwd}。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -6710,7 +6947,7 @@ Copyright and Licence % \tn{ccwd},å¦åˆ™è®¾ç½®ä¼¸å±•é‡ä¸º $0.08$ å€ \tn{baselineskip}ã€‚æ³¨æ„ \pkg{everysel} çš„ % é’©åä½äºŽ \tn{size@update} 之å‰ï¼Œ\tn{baselineskip} 还未更新,ä¸èƒ½ç›´æŽ¥ä½¿ç”¨å®ƒã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l_@@_tmp_dim { \l_@@_line_stretch_tl } @@ -6751,7 +6988,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_parindent:} % 更新段è½é¦–行缩进。æ¤å‡½æ•°åœ¨å—å·å˜åŒ–时调用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l_@@_autoindent_tl { @@ -6767,7 +7004,7 @@ Copyright and Licence % \begin{macrocode} \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l_@@_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: @@ -6779,7 +7016,7 @@ Copyright and Licence % æ›´æ–°å—è·ã€‚è‹¥å—è·ä¸å¤§äºŽ $-1$ï¼Œå³ \tn{ccwd} 为éžæ£å€¼ï¼Œåˆ™ä¸è®¡ç®—伸缩值。 % å¦åˆ™ï¼Œé¦–å…ˆå‡å®šæ±‰å—的宽度为æ£å¸¸å®½åº¦åŠ 上å—è·ï¼Œçœ‹ä¸€è¡Œä¸Šèƒ½æ£å¸¸æ”¾ä¸‹å¤šå°‘个汉å—。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l_@@_ziju_dim { \l_@@_ziju_tl \ccwd } @@ -6832,14 +7069,15 @@ Copyright and Licence % \begin{macrocode} \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } % \end{macrocode} @@ -6848,14 +7086,14 @@ Copyright and Licence % \subsection{ä¸æ–‡æ•°å—与日期} % % \begin{macrocode} -\PassOptionsToPackage { encoding = \l_@@_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g_@@_encoding_tl } { zhnumber } \RequirePackage { zhnumber } % \end{macrocode} % % \begin{macro}{\chinese} % \changes{v2.4.1}{2016/05/01}{æ”¯æŒ \tn{pagenumbering}。} % \begin{macrocode} -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -6890,7 +7128,7 @@ Copyright and Licence % \begin{macro}{today} % \begin{macrocode} \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -6914,7 +7152,7 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \subsection{其它ä¸æ–‡æ ‡é¢˜å®šä¹‰} +% \subsection{其他ä¸æ–‡æ ‡é¢˜å®šä¹‰} % % \changes{v2.0}{2014/03/08}{å°†æ ‡é¢˜æ±‰åŒ–åŠŸèƒ½åŠ å…¥ \pkg{ctex.sty}。} % \changes{v2.4.3}{2016/08/18}{ç¡®ä¿ \tn{proofname} éžç©ºã€‚} @@ -6931,7 +7169,7 @@ Copyright and Licence % \end{macro} % % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -6962,7 +7200,7 @@ Copyright and Licence } \tl_if_exist:NTF \insertcontinuationtext { - \keys_define:nn { ctex } + \ctex_define:n { algorithmname .tl_set:N = \algorithmname , bibname .tl_set:N = \bibname , @@ -6972,13 +7210,13 @@ Copyright and Licence } { \tl_if_exist:NTF \bibname - { \keys_define:nn { ctex } { bibname .tl_set:N = \bibname } } + { \ctex_define:n { bibname .tl_set:N = \bibname } } { \tl_if_exist:NTF \refname - { \keys_define:nn { ctex } { bibname .tl_set:N = \refname } } + { \ctex_define:n { bibname .tl_set:N = \refname } } { \msg_warning:nn { ctex } { ctexbibname } - \keys_define:nn { ctex } { bibname .tl_set:N = \ctexbibname } + \ctex_define:n { bibname .tl_set:N = \ctexbibname } } } } @@ -7028,7 +7266,7 @@ Copyright and Licence % % \begin{macro}{\@@_initial_heading:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_initial_heading:n #1 +\cs_new_protected:Npn \@@_initial_heading:n #1 { \tl_new:c { CTEX@pre#1 } \tl_new:c { CTEX@post#1 } @@ -7078,7 +7316,7 @@ Copyright and Licence % % \begin{macro}{\@@_def_heading_keys:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_def_heading_keys:n #1 +\cs_new_protected:Npn \@@_def_heading_keys:n #1 { \tl_put_right:Nx \l_@@_tmp_tl { @@ -7103,11 +7341,8 @@ Copyright and Licence #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , #1 / hang .initial:n = true , #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , \@@_plus_key_aux:nn {#1} { break } , %</article|book|report> \@@_plus_key_aux:nn {#1} { format } , @@ -7118,7 +7353,7 @@ Copyright and Licence \@@_plus_key_aux:nn {#1} { aftertitle } , } } -\cs_new_nopar:Npn \@@_plus_key_aux:nn #1#2 +\cs_new:Npn \@@_plus_key_aux:nn #1#2 { #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , #1 / #2 + .code:n = @@ -7143,7 +7378,7 @@ Copyright and Licence \cs_new_protected:Npn \@@_assign_heading_name:nnn #1#2#3 { \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} + \tl_if_novalue:nTF {#3} { \tl_clear:c { CTEX@post#1 } } { \tl_set:cn { CTEX@post#1 } {#3} } } @@ -7189,24 +7424,54 @@ Copyright and Licence \@@_initial_heading:n {#1} \@@_def_heading_keys:n {#1} } -\use:x +\exp_args:NNo \group_end: \ctex_define:n { \l_@@_tmp_tl } +% \end{macrocode} +% +% \changes{v2.5}{2020/04/23}{é‡æž„æ ‡é¢˜é€‰é¡¹ \opt{indent} å’Œ \opt{hang}。} +% +% \begin{macro}[int]{\CTEX@heading@format@initial} +% æ ‡é¢˜æ ¼å¼çš„一些åˆå§‹è®¾ç½®ï¼ŒåŒ…括æ¢å¤é»˜è®¤å—体,并ç¦ç”¨è‡ªåŠ¨è°ƒæ•´é¦–行缩进,ç¦æ¢åœ¨æ ‡é¢˜ä¸åˆ†é¡µã€‚ +% åŒæ—¶ç”¨ \tn{noindent} 抑制首行缩进并进入水平模å¼ã€‚ +% 统一在å„çº§æ ‡é¢˜çš„ \opt{format} 选项之å‰ä½¿ç”¨ã€‚ +% \begin{macrocode} +\cs_new_protected:Npn \CTEX@heading@format@initial { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l_@@_tmp_tl } } + \normalfont + \tl_clear:N \l_@@_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D } % \end{macrocode} +% \end{macro} % +% \begin{macro}[int]{\ctex_indent_box:n} +% 设置 \tn{parindent},并æ’入用于产生缩进的盒å,如果缩进为 |0|,就ä¸æ’入。 % \begin{macrocode} -%<*article|book|report> +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \@@_insert_indent: + } +\cs_new_protected:Npn \@@_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n % \end{macrocode} +% \end{macro} % % \subsubsection{æ ‡å‡†æ ‡é¢˜å‘½ä»¤çš„ä¿®æ”¹} % +% \begin{macrocode} +%<*article|book|report> +% \end{macrocode} +% % \begin{macro}[int]{\CTEX@fixtopskip} % ä¿®æ£ \cls{book} å’Œ \cls{report} 类的 \tn{part} å’Œ \tn{chapter} æ ‡é¢˜ä¹‹å‰çš„多余空行。 % \begin{macrocode} %<*book|report> -\cs_new_protected_nopar:Npn \CTEX@fixtopskip +\cs_new_protected:Npn \CTEX@fixtopskip { \CTEX@fixheadingskip \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim @@ -7222,14 +7487,14 @@ Copyright and Licence % \TeX{} å°±ä¸ä¼šåŠ 上 \tn{parskip}。这时候就需è¦ç”¨æˆ·æŠŠ \tn{parskip} åŠ åˆ° \opt{beforeskip} % 或者 \opt{afterskip} 作为修æ£ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip +\cs_new_protected:Npn \CTEX@fixheadingskip { \par \dim_set:Nn \tex_prevdepth:D { -1000pt } \skip_sub:Nn \l_@@_heading_skip { \tex_parskip:D } } \skip_new:N \l_@@_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip +\cs_new_protected:Npn \CTEX@setheadingskip { \skip_set:Nn \l_@@_heading_skip } \cs_new_eq:NN \CTEX@headingskip \l_@@_heading_skip % \end{macrocode} @@ -7251,9 +7516,9 @@ Copyright and Licence % 用于判æ–当å‰æ ‡é¢˜æ˜¯å¦æœ‰ç¼–å·ã€‚ % \begin{macrocode} \cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue +\cs_new_protected:Npn \CTEX@ifnametrue { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse +\cs_new_protected:Npn \CTEX@ifnamefalse { \cs_set_eq:NN \CTEXifname \use_ii:nn } % \end{macrocode} % \end{macro} @@ -7263,7 +7528,7 @@ Copyright and Licence % å¾€æ’å›¾å’Œè¡¨æ ¼ç›®å½•ä¸åŠ å…¥é¢å¤–é—´è·ã€‚如果间è·ä¸ºé›¶ï¼Œåˆ™ä¸åŠ 入。 % \begin{macrocode} %<*book|report> -\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1 +\cs_new_protected:Npn \CTEX@addloflotskip #1 { \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1@lofskip } } \skip_if_eq:nnF { \l_@@_heading_skip } { \c_zero_skip } @@ -7289,14 +7554,6 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\CTEX@disableautoindent} -% ç¦ç”¨è‡ªåŠ¨è°ƒæ•´é¦–行缩进。 -% \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l_@@_autoindent_tl } -% \end{macrocode} -% \end{macro} -% % \changes{v2.2}{2015/06/27}{\opt{beforeskip}ã€\opt{afterskip} å’Œ \opt{indent} % 选项支æŒè¡¨è¾¾å¼ã€‚} % \changes{v2.4.15}{2019/03/31}{ä¿®æ£ \opt{part/indent} å’Œ \opt{chapter/indent} 的实现方法。} @@ -7304,11 +7561,9 @@ Copyright and Licence % \changes{v2.4.16}{2019/05/11}{ä¿®æ£ \opt{part/indent} å’Œ \opt{chapter/indent} % çš„å®žçŽ°æ–¹æ³•ï¼Œåœ¨å…¶æ ‡é¢˜å†…éƒ¨ç¦ç”¨ \opt{autoindent}。} % -% \paragraph{part çš„æ ‡é¢˜} +% \changes{v2.5}{2020/04/22}{æ ‡é¢˜é€‰é¡¹ \opt{format} 也å¯ä»¥æŽ¥å—å‚数。} % -% \begin{macrocode} -%<@@=> -% \end{macrocode} +% \paragraph{part çš„æ ‡é¢˜} % % \changes{v2.2}{2015/06/27}{éž \cls{ctexart} 类的 \opt{part/beforeskip} å’Œ % \opt{part/afterskip} 选项有æ„义。} @@ -7317,19 +7572,19 @@ Copyright and Licence % \begin{macrocode} %<*article> \renewcommand\part{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@part@break -% \addvspace{4ex}% - \CTEX@setheadingskip \CTEX@part@beforeskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \ifodd \CTEX@part@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@part\@spart} + \if@noskipsec \leavevmode \fi + \par + \CTEX@part@break +% \addvspace{4ex}% + \CTEX@setheadingskip \CTEX@part@beforeskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \ifodd \CTEX@part@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@part\@spart} %</article> %<*book|report> \renewcommand\part{% @@ -7377,20 +7632,21 @@ Copyright and Licence \fi \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% - {\interlinepenalty \@M -% \normalfont \parindent \z@ \raggedright - \CTEX@disableautoindent - \normalfont \CTEX@part@format -% \ifnum \c@secnumdepth >\m@ne -% \Large\bfseries\partname\nobreakspace\thepart\par\nobreak -% \fi - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% -% \huge\bfseries #2% - \CTEX@part@titleformat{#2}% -% \markboth{}{}% - \partmark{#1}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup +% \parindent \z@ \raggedright \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% +% \ifnum \c@secnumdepth >\m@ne +% \Large\bfseries\partname\nobreakspace\thepart\par\nobreak +% \fi + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% +% \huge\bfseries #2% + \CTEX@part@titleformat{#2}% +% \markboth{}{}\par + \CTEX@part@aftertitle}\par + \endgroup \nobreak % \vskip 3ex \CTEX@setheadingskip \CTEX@part@afterskip @@ -7418,19 +7674,20 @@ Copyright and Licence \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% % \markboth{}{}% - \partmark{#1}% - {\interlinepenalty \@M -% \normalfont \centering - \CTEX@disableautoindent - \normalfont \CTEX@part@format -% \ifnum \c@secnumdepth >-2\relax -% \huge\bfseries\partname\nobreakspace\thepart\par\vskip 20\p@ -% \fi - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% -% \Huge\bfseries #2\par}% - \CTEX@part@titleformat{#2}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup +% \centering \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% +% \ifnum \c@secnumdepth >-2\relax +% \huge\bfseries\partname\nobreakspace\thepart\par\vskip 20\p@ +% \fi + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% +% \Huge\bfseries #2\par + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup \@endpart} %</book|report> % \end{macrocode} @@ -7440,38 +7697,40 @@ Copyright and Licence % \begin{macrocode} %<*article> \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M -% \normalfont \parindent \z@ \raggedright - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% -% \huge \bfseries #1\par}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \nobreak -% \vskip 3ex - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup +% \parindent \z@ \raggedright \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% +% \huge \bfseries #1\par + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \nobreak +% \vskip 3ex + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading} %</article> %<*book|report> \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M -% \normalfont \centering - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% -% \Huge \bfseries #1\par}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \@endpart} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup +% \centering \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% +% \Huge \bfseries #1\par% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} %</book|report> % \end{macrocode} % \end{macro} @@ -7480,21 +7739,21 @@ Copyright and Licence % \begin{macrocode} %<*book|report> \def\@endpart{% -% \vfil - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \newpage - \if@twoside - \if@openright - \null - \thispagestyle{empty}% - \newpage - \fi - \fi - \if@tempswa - \twocolumn - \fi} +% \vfil + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} %</book|report> % \end{macrocode} % \end{macro} @@ -7508,18 +7767,18 @@ Copyright and Licence % \begin{macro}[int]{\chapter} % \begin{macrocode} \renewcommand\chapter{% -% \if@openright\cleardoublepage\else\clearpage\fi -% \thispagestyle{plain}% - \CTEX@chapter@break - \thispagestyle{\CTEX@chapter@pagestyle}% - \global\@topnum\z@ -% \@afterindentfalse - \ifodd \CTEX@chapter@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@chapter\@schapter} +% \if@openright\cleardoublepage\else\clearpage\fi +% \thispagestyle{plain}% + \CTEX@chapter@break + \thispagestyle{\CTEX@chapter@pagestyle}% + \global\@topnum\z@ +% \@afterindentfalse + \ifodd \CTEX@chapter@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@chapter\@schapter} % \end{macrocode} % \end{macro} % @@ -7591,26 +7850,26 @@ Copyright and Licence \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% -% {\normalfont \parindent \z@ \raggedright - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M -% \ifnum \c@secnumdepth >\m@ne -% \if@mainmatter -% \huge\bfseries\@chapapp\space\thechapter\par\nobreak\vskip 20\p@ -% \fi -% \fi - \CTEX@hangindent{chapter}% - {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% -% \Huge \bfseries #1\par\nobreak - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak + \begingroup +% \parindent \z@ \raggedright \normalfont + \CTEX@heading@format@initial + \CTEX@chapter@format{% +% \ifnum \c@secnumdepth >\m@ne +% \if@mainmatter +% \huge\bfseries\@chapapp\space\thechapter\par\nobreak\vskip 20\p@ +% \fi +% \fi + \CTEX@headinghang{chapter}% + {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% +% \Huge \bfseries #1\par\nobreak + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak % \vskip 40\p@ - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} % \end{macrocode} % \end{macro} % @@ -7621,20 +7880,20 @@ Copyright and Licence \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% -% {\normalfont \parindent \z@ \raggedright - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}{}% -% \Huge \bfseries #1\par\nobreak - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak -% \vskip 40\p@ - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \begingroup +% \parindent \z@ \raggedright \normalfont \interlinepenalty\@M + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}{}% +% \Huge \bfseries #1\par\nobreak + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak +% \vskip 40\p@ + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} % \end{macrocode} % \end{macro} % @@ -7645,6 +7904,11 @@ Copyright and Licence % \paragraph{section ç±»çš„æ ‡é¢˜} % % \begin{macro}[int]{\@startsection} +% \LaTeX çš„æ ‡å‡†å‚数是: +% \begin{quote}\small +% \Arg{name}\Arg{level}\Arg{indent}\Arg{beforeskip}\Arg{afterskip}^^A +% \Arg{style}|*|\oarg{altheading}\Arg{heading} +% \end{quote} % \begin{macrocode} \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi @@ -7707,12 +7971,13 @@ Copyright and Licence % \ifdim \@tempskipa>\z@ \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% -% \interlinepenalty \@M #8\@@par}% - \interlinepenalty \@M +% \@hangfrom{\hskip #3\relax\@svsec}% +% \interlinepenalty \@M #8\@@@@par + \CTEX@sectionhang{#3}{\@svsec}% \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% + \csname CTEX@#1@aftertitle\endcsname}\par \endgroup \csname #1mark\endcsname{#7}% % \addcontentsline{toc}{#1}{% @@ -7723,18 +7988,18 @@ Copyright and Licence \CTEX@addtocline{#1}{#7}% \else \def\@svsechd{% - #6{\hskip\glueexpr #3\relax -% \@svsec #8}% - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% -% \addcontentsline{toc}{#1}{% -% \ifnum #2>\c@secnumdepth \else -% \protect\numberline{\csname the#1\endcsname}% -% \fi -% #7}% - \CTEX@addtocline{#1}{#7}}% + #6{% +% \hskip #3\relax \@svsec #8 + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% +% \addcontentsline{toc}{#1}{% +% \ifnum #2>\c@secnumdepth \else +% \protect\numberline{\csname the#1\endcsname}% +% \fi +% #7}% + \CTEX@addtocline{#1}{#7}}% \fi \@xsect{#5}} % \end{macrocode} @@ -7749,17 +8014,18 @@ Copyright and Licence % \ifdim \@tempskipa>\z@ \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% -% \interlinepenalty \@M #5\@@par}% - \interlinepenalty \@M +% \@hangfrom{\hskip #1}% +% \interlinepenalty \@M #5\@@par + \CTEX@sectionhang{#1}{}% \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% + \CTEX@aftertitle}\par \endgroup \else -% \def\@svsechd{#4{\hskip\glueexpr #1\relax #5}}% - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% +% \def\@svsechd{#4{\hskip #1\relax #5}}% + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% \fi \@xsect{#3}} % \end{macrocode} @@ -7789,7 +8055,7 @@ Copyright and Licence \unskip % \@tempskipa #1\relax % \hskip -\@tempskipa - \hskip\glueexpr #1\relax + \CTEX@heading@glue{#1}% \else \clubpenalty \@clubpenalty \everypar{}% @@ -7799,44 +8065,62 @@ Copyright and Licence % \end{macrocode} % \end{macro} % +% \begin{macro}[int]{\CTEX@headinghang,\CTEX@sectionhang} +% 分别用于用于实现 \tn{part}/\tn{chapter} å’Œ \tn{section} ç±»æ ‡é¢˜çš„ +% \opt{indent} å’Œ \opt{hang} 选项。 % \begin{macrocode} -%<@@=ctex> +\cs_new_protected:Npn \CTEX@headinghang #1 + { + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } + } +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } % \end{macrocode} +% \end{macro} % -% \begin{macro}[int]{\CTEX@hangindent} -% 用于实现 \tn{part} å’Œ \tn{chapter} æ ‡é¢˜çš„ \opt{indent} å’Œ \opt{hang} 选项。 +% \begin{macro}[int]{\ctex_heading_hang:Nnn,\ctex_hang_from:n} +% \opt{hang} 选项控制是å¦é‡‡ç”¨æ‚¬æŒ‚缩进,åŒæ—¶è®¾ç½® \tn{parindent}。 % \begin{macrocode} -\cs_new_protected:Npn \CTEX@hangindent #1#2 +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \@@_indent_aux: #2 } } - {#2} + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \@@_insert_indent: #3 } } -\cs_new_protected_nopar:Npn \@@_indent_aux: +\cs_new_protected:Npn \ctex_hang_from:n #1 { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } + \tex_noindent:D + \hbox_set:Nn \l_@@_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l_@@_tmp_box + \box_use_drop:N \l_@@_tmp_box } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\CTEX@hangfrom} -% \opt{hang} 选项控制是å¦é‡‡ç”¨æ‚¬æŒ‚缩进。 +% \begin{macro}[int]{\ctex_heading_glue:n,\CTEX@heading@glue} +% 如果缩进 |#1| 长度为零,就ä¸æ’入水平间è·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@hangfrom +\cs_new_protected:Npn \ctex_heading_glue:n #1 { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } + \group_begin: + \skip_set:Nn \l_@@_heading_skip {#1} + \dim_compare:nNnF \l_@@_heading_skip = \c_zero_dim + { \skip_horizontal:N \l_@@_heading_skip } + \group_end: } +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\CTEX@update@sectionformat@n} % 在 \tn{@startsection} ä¸è®¾ç½® \tn{CTEX@titleformat@n} ç‰ä¸ºç›¸åº”函数。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 { \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } @@ -7877,7 +8161,7 @@ Copyright and Licence % % \begin{macro}[int]{\CTEXnumberline} % \begin{macrocode} -\cs_new_nopar:Npn \CTEXnumberline #1 +\cs_new:Npn \CTEXnumberline #1 { \CTEXifname { \protect \numberline { \use:c { CTEXthe #1 } } } @@ -7891,7 +8175,7 @@ Copyright and Licence \seq_map_inline:Nn \c_@@_section_headings_seq { \int_incr:N \l_@@_tmp_int - \cs_gset_protected_nopar:cpx {#1} + \cs_gset_protected:cpx {#1} { \exp_not:N \@startsection {#1} { \int_use:N \l_@@_tmp_int } @@ -7909,7 +8193,7 @@ Copyright and Licence % % \begin{macro}[int]{appendix/name,appendix/number,appendix/numbering} % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { appendix .meta:nn = { ctex / appendix } {#1} , appendix / name .code:n = @@ -7926,7 +8210,7 @@ Copyright and Licence % \begin{macro}[int]{\appendix} % \begin{macrocode} \cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix +\cs_gset_protected:Npn \appendix { \CTEX@save@appendix %<*article> @@ -7952,7 +8236,7 @@ Copyright and Licence % \begin{macro}[int]{\CTEX@makeanchor} % 设置超链接跳转锚点,在 \pkg{hyperref} 载入åŽæ‰æœ‰æ„义。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 +\cs_new_protected:Npn \CTEX@makeanchor #1 { } % \end{macrocode} % \end{macro} @@ -7976,7 +8260,7 @@ Copyright and Licence % \opt{implicit} 选项的控制)。我们在上é¢å¯¹æ ‡é¢˜å‘½ä»¤çš„修改已ç»åŒ…å«è¿™ä¸€åŠŸèƒ½ï¼Œå¦‚æžœè¿™äº›æ ‡é¢˜å‘½ä»¤åœ¨ % \pkg{hyperref} 载入之å‰æ²¡æœ‰è¢«ä¿®æ”¹è¿‡ï¼Œåˆ™æ¢å¤ \CTeX{} 的定义。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook +\cs_new_protected:Npn \CTEX@hyperheadinghook { \group_begin: \ifHy@implicit @@ -8001,7 +8285,7 @@ Copyright and Licence % \begin{macrocode} \ctex_at_end_package:nn { hyperref } { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 + \cs_gset_protected:Npn \CTEX@makeanchor #1 { \Hy@MakeCurrentHrefAuto {#1} \Hy@raisedlink @@ -8025,7 +8309,7 @@ Copyright and Licence { } \ctex_at_end_package:nn { nameref } { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } \seq_map_inline:Nn \c_@@_headings_cs_seq { \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } @@ -8062,7 +8346,7 @@ Copyright and Licence % 如果使用了 \pkg{titlesec} çš„ \opt{indentafter} ç‰é€‰é¡¹ï¼Œä¹Ÿä¸éœ€è¦è°ƒæ•´ % |\ttls@|\meta{section}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: +\cs_new_protected:Npn \ctex_titlesec_hook: { \@ifpackagewith { titlesec } { explicit } { @@ -8082,17 +8366,17 @@ Copyright and Licence } \seq_map_function:NN \c_@@_section_headings_seq \@@_titlesec_hook:n } -\cs_new_protected_nopar:Npn \@@_titlesec_hook:n #1 +\cs_new_protected:Npn \@@_titlesec_hook:n #1 { \@@_titlesec_format:n {#1} \exp_args:Nc \@@_titlesec_spacing:Nn { ttls@#1 } {#1} } -\cs_new_protected_nopar:Npn \@@_titlesec_format:n #1 +\cs_new_protected:Npn \@@_titlesec_format:n #1 { \cs_if_free:cF { ttlf@#1 } { \exp_args:Nc \@@_titlesec_format:Nn { ttlf@#1 } {#1} } } -\cs_new_protected_nopar:Npn \@@_titlesec_format:Nn #1#2 +\cs_new_protected:Npn \@@_titlesec_format:Nn #1#2 { \tl_set:Nx #1 { @@ -8102,7 +8386,7 @@ Copyright and Licence \tl_tail:N #1 } } -\cs_new_protected_nopar:Npn \@@_titlesec_format_explicit:Nn #1#2 +\cs_new_protected:Npn \@@_titlesec_format_explicit:Nn #1#2 { \cs_set_nopar:Npx #1 ##1 { @@ -8112,7 +8396,7 @@ Copyright and Licence \exp_args:No \tl_tail:n { #1 { } } } } -\cs_new_protected_nopar:Npn \@@_titlesec_spacing:Nn #1#2 +\cs_new_protected:Npn \@@_titlesec_spacing:Nn #1#2 { \tl_set:Nx #1 { \exp_after:wN \@@_titlesec_spacing:nnnnnn #1 {#2} } } \cs_new:Npn \@@_titlesec_spacing:nnnnnn #1#2#3#4#5#6 { @@ -8145,14 +8429,14 @@ Copyright and Licence %</book|report> \cs_if_free:NF \ttl@tocpart { - \cs_set_protected_nopar:Npn \ttl@tocpart + \cs_set_protected:Npn \ttl@tocpart { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } } \seq_map_inline:Nn \c_@@_headings_seq { \cs_if_exist:cF { ttl@toc #1 } { - \cs_new_protected_nopar:cpx { ttl@toc #1 } + \cs_new_protected:cpx { ttl@toc #1 } { \tl_set:Nn \exp_not:N \ttl@a { @@ -8178,7 +8462,7 @@ Copyright and Licence % \begin{macrocode} \group_begin: \char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: +\cs_new_protected:Npn \ctex_titleps_hook: { \ctex_patch_cmd:Nnn \ttl@settopmark { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } @@ -8207,12 +8491,12 @@ Copyright and Licence % 这两个函数è¦åœ¨éšåŽè¢« \tn{xdef} 展开æ¥èŽ·å¾— |\CTEXtheXXX| 的内容,ä¸åº”该用 % \tn{protected} æ¥å®šä¹‰ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 +\cs_new:Npn \CTEX@titlepslabel@set #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 +\cs_new:Npn \CTEX@titlepslabel@clear #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { } } @@ -8240,9 +8524,9 @@ Copyright and Licence % \begin{macrocode} \ctex_at_end_package:nn { titleps } { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 + \cs_set_protected:Npn \ttl@setifthe #1 { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } + \exp_args:Nco \cs_set:Npn { ifthe #1 } { \CTEXifname { \protect \@firstoftwo } @@ -8257,7 +8541,7 @@ Copyright and Licence % % \subsubsection{ç›®å½•æ ‡ç¾çš„宽度} % -% \begin{macro}[int]{\numberline} +% \begin{macro}{\CTEX@toc@width@n} % \begin{macrocode} \cs_new_protected:Npn \CTEX@toc@width@n #1 { @@ -8268,6 +8552,17 @@ Copyright and Licence { \box_wd:N \l_@@_tmp_box + \f@size \p@ / 2 } } } +% \end{macrocode} +% \end{macro} +% +% \changes{v2.5}{2020/01/11}{兼容 \pkg{titletoc} å®åŒ…。} +% +% \begin{macro}{\numberline,\@@_patch_toc_width:n} +% 为 \tn{numberline} 命令打补ä¸ï¼Œå¹¶å…¼å®¹ \pkg{tocloft} å’Œ \pkg{titletoc} å®åŒ…。 +% +% 这里需è¦æ›¿æ¢ |#| æœ¬èº«ï¼Œå› æ¤éœ€è¦å…ˆåˆ‡æ¢ä¸º other 类。表示å‚æ•°çš„ |#| 用 +% \cs{c_parameter_token} 代替。 +% \begin{macrocode} \group_begin: \char_set_catcode_other:N \# \use:n @@ -8277,19 +8572,24 @@ Copyright and Licence { \CTEX@toc@width@n {#1} } { } { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } + \cs_new_protected:Npn \@@_patch_toc_width:n \c_parameter_token 1 { - \ctex_at_end_package:nn { tocloft } + \@ifpackageloaded { \c_parameter_token 1 } + { } { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } } } } +\@@_patch_toc_width:n { tocloft } +\@@_patch_toc_width:n { titletoc } % \end{macrocode} % \end{macro} % @@ -8385,72 +8685,69 @@ Copyright and Licence % \begin{macrocode} \defbeamertemplate*{part page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent % \centering % {\usebeamerfont{part name}% % \usebeamercolor[fg]{part name}\partname~\insertromanpartnumber} % \vskip1em\par \par \addvspace{\glueexpr\CTEX@part@beforeskip\relax}% - \CTEX@part@format - \parindent \dimexpr \CTEX@part@indent \relax - \ifodd \CTEX@part@numbering - \CTEX@partname \CTEX@part@aftername - \fi - \begin{beamercolorbox}[sep=16pt,center,#1]{part title} -% \usebeamerfont{part title}\insertpart\par - \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@indentbox{\CTEX@part@indent}% + \ifodd \CTEX@part@numbering + \CTEX@partname \CTEX@part@aftername + \fi + \begin{beamercolorbox}[sep=16pt,center,#1]{part title} +% \usebeamerfont{part title}\insertpart\par + \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@part@afterskip\relax}% - \endgroup -} + \endgroup} % \end{macrocode} % % 对应 \tn{sectionpage}。 % \begin{macrocode} \defbeamertemplate*{section page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent % \centering % {\usebeamerfont{section name}% % \usebeamercolor[fg]{section name}\sectionname~\insertsectionnumber} % \vskip1em\par \par \addvspace{\glueexpr\CTEX@section@beforeskip\relax}% - \CTEX@section@format - \parindent \dimexpr \CTEX@section@indent \relax - \ifodd \CTEX@section@numbering - \CTEX@sectionname \CTEX@section@aftername - \fi - \begin{beamercolorbox}[sep=12pt,center,#1]{part title} -% \usebeamerfont{section title}\insertsection\par - \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@section@format{% + \CTEX@indentbox{\CTEX@section@indent}% + \ifodd \CTEX@section@numbering + \CTEX@sectionname \CTEX@section@aftername + \fi + \begin{beamercolorbox}[sep=12pt,center,#1]{part title} +% \usebeamerfont{section title}\insertsection\par + \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@section@afterskip\relax}% - \endgroup -} + \endgroup} % \end{macrocode} % % 对应 \tn{subsectionpage}。 % \begin{macrocode} \defbeamertemplate*{subsection page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent % \centering % {\usebeamerfont{subsection name}% % \usebeamercolor[fg]{subsection name}\subsectionname~\insertsubsectionnumber} % \vskip1em\par \par \addvspace{\glueexpr\CTEX@subsection@beforeskip\relax}% - \CTEX@subsection@format - \parindent \dimexpr \CTEX@subsection@indent \relax - \ifodd \CTEX@subsection@numbering - \CTEX@subsectionname \CTEX@subsection@aftername - \fi - \begin{beamercolorbox}[sep=8pt,center,#1]{part title} -% \usebeamerfont{subsection title}\insertsubsection\par - \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@subsection@format{% + \CTEX@indentbox{\CTEX@subsection@indent}% + \ifodd \CTEX@subsection@numbering + \CTEX@subsectionname \CTEX@subsection@aftername + \fi + \begin{beamercolorbox}[sep=8pt,center,#1]{part title} +% \usebeamerfont{subsection title}\insertsubsection\par + \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@subsection@afterskip\relax}% - \endgroup -} + \endgroup} % \end{macrocode} % % å°† \cls{beamer} 的默认模æ¿é‡å®šå‘为 \texttt{CTEX} 模æ¿ã€‚ @@ -8473,7 +8770,7 @@ Copyright and Licence % \begin{macro}[int]{\refstepcounter} % å¯¹æ ‡é¢˜è¿›è¡Œå¼•ç”¨æ—¶ï¼Œè®¾ç½®æ ‡ç¾ä¸ºé€šè¿‡ \opt{number} 选项设置的形å¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 { \protected@edef \@currentlabel { @@ -8490,8 +8787,9 @@ Copyright and Licence % \pkg{hyperref} å®åŒ…都会ä¿å˜ä¹‹å‰çš„定义,并且它们都è¦æ±‚å°½å¯èƒ½æ™šçš„被载入,所以 % 对我们上述的修改影å“ä¸å¤§ã€‚需è¦æ³¨æ„的是 \pkg{varioref} å®åŒ…,如果它在 % \CTeX{} 之åŽè¢«è½½å…¥ï¼Œæˆ‘们之å‰çš„修改将会被覆盖。 +% 较新版 \LaTeX \ å†…æ ¸å·²ç»åŒ…å« \tn{labelformat},å¯ä»¥ç›´æŽ¥ä½¿ç”¨ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_varioref_hook: +\cs_new_protected:Npn \ctex_varioref_hook: { \seq_map_inline:Nn \c_@@_headings_seq { \ctex_fix_varioref_label:n { ##1 } } @@ -8510,17 +8808,19 @@ Copyright and Licence % \end{verbatim} % 它的第二个å‚数必须放在花括å·å†…,å¦åˆ™å°†ä¼šè¢«ä½œä¸ºå®çš„定界符å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 { \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } } % \end{macrocode} % \end{macro} % +% \changes{v2.5}{2020/04/19}{åº”ç”¨æ–°å†…æ ¸ä¸çš„ \tn{labelformat}。} +% % 如果 \pkg{varioref} å·²ç»è¢«è½½å…¥ï¼Œåˆ™ä½¿ç”¨å®ƒæ¥è®¾ç½®ã€‚ % \begin{macrocode} -\@ifpackageloaded { varioref } +\cs_if_exist:NTF \labelformat { \ctex_varioref_hook: } { \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter @@ -8558,7 +8858,7 @@ Copyright and Licence % æ ‡é¢˜çš„ \opt{nameformat} å’Œ \opt{titleformat} 选项的åˆå€¼åˆå¹¶åˆ° \opt{format} ä¸ã€‚} % % \begin{macrocode} -\keys_set:nn { ctex / part } +\ctex_set:nn { part } { aftertitle = \par , %<*article|book|report> @@ -8619,7 +8919,7 @@ Copyright and Licence % % \begin{macrocode} %<*book|report> -\keys_set:nn { ctex / chapter } +\ctex_set:nn { chapter } { pagestyle = plain , aftertitle = \par , @@ -8650,16 +8950,12 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -%<@@=> -% \end{macrocode} -% -% \begin{macrocode} -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { %<*article|book|report> number = \thesection , aftername = \quad , - aftertitle = \@@par , + aftertitle = \@@@@par , beforeskip = 3.5ex \@plus 1ex \@minus .2ex , afterskip = 2.3ex \@plus .2ex , runin = false , @@ -8689,13 +8985,13 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { %<*article|book|report> number = \thesubsection , format = \large \bfseries , aftername = \quad , - aftertitle = \@@par , + aftertitle = \@@@@par , beforeskip = 3.25ex \@plus 1ex \@minus .2ex , afterskip = 1.5ex \@plus .2ex , runin = false , @@ -8730,12 +9026,12 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , aftername = \quad , - aftertitle = \@@par , + aftertitle = \@@@@par , beforeskip = 3.25ex \@plus 1ex \@minus .2ex , afterskip = 1.5ex \@plus .2ex , runin = false , @@ -8750,7 +9046,7 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -8767,7 +9063,7 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -8787,15 +9083,15 @@ Copyright and Licence % \begin{macrocode} \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { - aftertitle = \@@par , + aftertitle = \@@@@par , afterskip = 1ex \@plus .2ex , runin = false } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -8803,32 +9099,28 @@ Copyright and Licence } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { - aftertitle = \@@par , + aftertitle = \@@@@par , afterskip = 1ex \@plus .2ex , runin = false } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -% \end{macrocode} -% -% \begin{macrocode} -%<@@=ctex> + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } % \end{macrocode} % % 处ç†é™„å½•çš„æ ¼å¼ã€‚ % \begin{macrocode} -\keys_set:nn { ctex / appendix } +\ctex_set:nn { appendix } %<*article> { number = \@Alph \c@section } %</article> @@ -8890,7 +9182,7 @@ Copyright and Licence { \tl_const:Nn \c_@@_class_tl { article } } \msg_warning:nnx { ctex } { not-standard-class } { \c_@@_class_tl } } - \ctex_file_input:n { ctex- \c_@@_class_tl .def } + \ctex_file_input:n { ctex-heading- \c_@@_class_tl .def } } %<ctex> { \ctex_scheme_input:o { \l_@@_scheme_tl } } % \end{macrocode} @@ -8943,19 +9235,19 @@ Copyright and Licence % % æ—¥æœŸæ ¼å¼ã€‚ % \begin{macrocode} -\keys_set:nn { ctex } { today = small } +\ctex_set:n { today = small } % \end{macrocode} % % 若用户未设置å®åŒ…选项 \opt{autoindent},则自动调整首行缩进。 % \begin{macrocode} \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } + { \ctex_set:n { autoindent = true } } % \end{macrocode} % % ä½¿ç”¨æ ‡é¢˜å®šä¹‰æ—¶çš„è®¾ç½®ã€‚é¦–å…ˆæ˜¯å‘½é¢˜åå—汉化。\cls{beamer} 需è¦æ±‰åŒ–定ç†å称。 % \begin{macrocode} %<*!generic> -\str_if_eq:onTF { \l_@@_encoding_tl } { GBK } +\str_if_eq:onTF { \g_@@_encoding_tl } { GBK } %<*beamer> { \uselanguage { ChineseGBK } @@ -8989,19 +9281,19 @@ Copyright and Licence % 对 \cls{beamer} 以外的文档类,若用户未设置å®åŒ…选项 \opt{linespread},则设置行 % è·åˆå§‹å€¼ä¸º $1.3\times 1.2=1.56$ å€å—体大å°ã€‚\cls{beamer} ä¸è°ƒæ•´è¡Œè·ã€‚ % \begin{macrocode} -\fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nT { \l_@@_line_spread_fp } { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } } %</!beamer> %</!generic> % \end{macrocode} % -% ä¸ä½¿ç”¨æ ‡é¢˜å®šä¹‰æ—¶çš„通用设置。 +% ä¸ä½¿ç”¨æ ‡é¢˜å®šä¹‰æ—¶çš„通用设置,注æ„æ¤å¤„ \cs{c_@@_std_class_tl} å¯èƒ½æ²¡æœ‰å®šä¹‰ã€‚ % \begin{macrocode} %<*generic> \tl_set:Nn \l_@@_tmp_tl { beamer } \tl_if_eq:NNTF \c_@@_std_class_tl \l_@@_tmp_tl { - \str_if_eq:onTF { \l_@@_encoding_tl } { GBK } + \str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \uselanguage { ChineseGBK } \languagealias { chinese } { ChineseGBK } @@ -9015,12 +9307,12 @@ Copyright and Licence \clist_put_left:Nn \trans@languagepath { chinese } } { - \str_if_eq:onTF { \l_@@_encoding_tl } { GBK } + \str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \ctex_file_input:n { ctex-name-gbk.cfg } } { \ctex_file_input:n { ctex-name-utf8.cfg } } \int_compare:nNnF \g_@@_font_size_int > { -1 } { \int_gset:Nn \g_@@_font_size_int { 0 } } - \fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp } + \fp_if_nan:nT { \l_@@_line_spread_fp } { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } } % \end{macrocode} % \changes{v2.0.2}{2015/05/16}{ä¿®å¤åŠ è½½ \pkg{ctex} å®åŒ…åŽç« èŠ‚æ ‡é¢˜åŽç¬¬ä¸€æ®µ @@ -9055,7 +9347,7 @@ Copyright and Licence % % \begin{macro}[int]{\ctex_zihao:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c_@@_font_size_prop {#1} \l_@@_font_size_tl { \exp_after:wN \fontsize \l_@@_font_size_tl \selectfont } @@ -9083,7 +9375,7 @@ Copyright and Licence % \begin{macrocode} \prop_new:N \c_@@_font_size_prop \seq_new:N \c_@@_font_size_seq -\cs_new_protected_nopar:Npn \@@_save_font_size:nn #1#2 +\cs_new_protected:Npn \@@_save_font_size:nn #1#2 { \use:x { @@ -9121,7 +9413,7 @@ Copyright and Licence % % \begin{macro}[int]{\ctex_declare_math_sizes:nnnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \@@_get_font_sizes:Nn \l_@@_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l_@@_font_size_tl @@ -9131,7 +9423,7 @@ Copyright and Licence % % \begin{macro}{\@@_get_font_sizes:Nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \@@_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -9178,16 +9470,16 @@ Copyright and Licence { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \@@_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } % \end{macrocode} % \end{macro} % % \begin{macrocode} -\if_case:w \g_@@_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: +\int_case:nn { \g_@@_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } % \end{macrocode} % % \begin{macrocode} @@ -9287,7 +9579,7 @@ Copyright and Licence % % \cs{l_@@_line_spread_fp} 被设置了æ‰æœ‰å¿…è¦æ›´æ–°è¡Œè·å’Œ \tn{footnotesep}。 % \begin{macrocode} -\fp_compare:nNnF { \l_@@_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nF { \l_@@_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l_@@_line_spread_fp } % \end{macrocode} @@ -9310,7 +9602,7 @@ Copyright and Licence \normalsize % \end{macrocode} % -% \subsection{其它功能} +% \subsection{其他功能} % % \begin{macro}{\CTeX} % \changes{v2.4.12}{2017/12/05}{ä¸ä¾èµ– \tn{ifincsname}。} @@ -9332,11 +9624,11 @@ Copyright and Licence % \begin{macro}{captiondelimiter} % 过时选项。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } @@ -9368,56 +9660,113 @@ Copyright and Licence % {解决 \pkg{etoolbox} 与 \pkg{breqn} 关于 \tn{end} 的冲çªã€‚} % \changes{v2.2}{2015/06/23}{åˆ åŽ» \pkg{etoolbox} 与 \pkg{breqn} 的兼容补ä¸ã€‚} % -% \subsection{载入ä¸æ–‡å—体} +% \subsection{载入ä¸æ–‡å—库} % % \begin{macro}[int]{\ctex_fontset_error:n} % å—库ä¸å¯ç”¨æ—¶ç»™å‡ºç´§æ€¥é”™è¯¯ä¿¡æ¯ï¼Œåœæ¢è¯»å–定义文件。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } % \end{macrocode} % \end{macro} % +% \begin{macro}{\ctex_fontset_case:nnn} +% $3$ 个å‚æ•°ä¾æ¬¡ä¸º \pdfTeXã€\upTeX\ å’Œ \XeTeX/\LuaTeX。 +% \begin{macrocode} +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 + { + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ctex_fontset_case:nnnn} +% $4$ 个å‚æ•°ä¾æ¬¡ä¸º \pdfTeXï¼ˆç”Ÿæˆ PDF)ã€\pdfTeXï¼ˆç”Ÿæˆ DVI)ã€\upTeX å’Œ +% \XeTeX/\LuaTeX。 +% \begin{macrocode} +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\ctex_detect_platform:} +% æ ¹æ®æ“作系统判æ–默认å—体é…置。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g_@@_fontset_tl { windows } } + { + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g_@@_fontset_tl { mac } } + { \tl_gset:Nn \g_@@_fontset_tl { fandol } } + } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\ctex_if_platform_macos:TF} +% \changes{v2.1}{2015/06/17}{改用 \file{/Library/Fonts/Songti.ttc} 为特å¾æ–‡ä»¶ã€‚} +% \changes{v2.5}{2019/10/25}{改用 \file{/System/Library/Fonts/Menlo.ttc} +% 为特å¾æ–‡ä»¶ã€‚} +% 以特定å—ä½“åˆ¤æ– macOS 系统。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +% \end{macrocode} +% \end{macro} +% % \begin{macro}[int]{\ctex_load_fontset:} % 如果用户没有指定å—体,则探测æ“作系统,载入相应的å—体é…置。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new_protected:Npn \ctex_load_fontset: { \tl_if_empty:NTF \g_@@_fontset_tl + { \ctex_detect_platform: } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } - } - { - \file_if_exist:nTF { ctex-fontset- \g_@@_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g_@@_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g_@@_fontset_tl } { windowsold } } { - \use:x + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g_@@_fontset_tl } { windows } + \tl_gset:Nn \g_@@_fontset_tl { windows } + } + { + \file_if_exist:nF { ctex-fontset- \g_@@_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g_@@_fontset_tl } { \exp_not:N \g_@@_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g_@@_fontset_tl } { \exp_not:N \g_@@_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } +\@onlypreamble \ctex_load_fontset: % \end{macrocode} % \end{macro} % % \begin{macro}{fontset} % 在导言区通过 \tn{ctexset} 载入ä¸æ–‡å—库的选项。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { fontset .code:n = { @@ -9447,9 +9796,7 @@ Copyright and Licence } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } % \end{macrocode} % \end{macro} % @@ -9479,11 +9826,11 @@ Copyright and Licence % % \subsubsection{\pkg{ctexopts.cfg}} % -% 这里仅为é…置文件示例:使用 Windows Vista 或以åŽç‰ˆæœ¬çš„å—体设置。 +% 这里仅为é…置文件示例:使用 Windows 下的å—体设置。 % \begin{macrocode} %<*ctexopts> %% -%% \keys_set:nn { ctex / option } { fontset = windowsnew } +%% \ctex_set:nn { option } { fontset = windows } %</ctexopts> % \end{macrocode} % @@ -9555,11 +9902,13 @@ Copyright and Licence %<*jy2> \DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{} \DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{} +\DeclareFontShape{JY2}{zhrm}{b}{n}{<-> upzhserifb-h}{} \DeclareFontShape{JY2}{zhrm}{bx}{n}{<-> upzhserifb-h}{} %</jy2> %<*jt2> \DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{} \DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{} +\DeclareFontShape{JT2}{zhrm}{b}{n}{<-> upzhserifb-v}{} \DeclareFontShape{JT2}{zhrm}{bx}{n}{<-> upzhserifb-v}{} %</jt2> %</rm> @@ -9591,10 +9940,12 @@ Copyright and Licence %</c70> %<*jy2> \DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{} +\DeclareFontShape{JY2}{zhsf}{b}{n}{<-> upzhsansb-h}{} \DeclareFontShape{JY2}{zhsf}{bx}{n}{<-> upzhsansb-h}{} %</jy2> %<*jt2> \DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{} +\DeclareFontShape{JT2}{zhsf}{b}{n}{<-> upzhsansb-v}{} \DeclareFontShape{JT2}{zhsf}{bx}{n}{<-> upzhsansb-v}{} %</jt2> %</sf> @@ -9633,307 +9984,238 @@ Copyright and Licence %</tt> % \end{macrocode} % +% \subsubsection{预定义å—库} +% % \begin{macrocode} %<*fontset> % \end{macrocode} % -% \subsubsection{\pkg{ctex-fontset-windows.def} ç‰} +% \paragraph{\opt{adobe}} % -% \changes{v2.4.1}{2016/05/14}{使用 \file{bootfont.bin} åˆ¤æ– Windows XP 以é¿å… -% æƒé™é—®é¢˜ã€‚} -% \pkg{ctex} 包利用 |C:\bootfont.bin| 文件的å˜åœ¨æ€§æ¥åˆ¤æ–是å¦ä½¿ç”¨ Windows XP 版 -% 本,分别载入新旧å—体设置。(注:\pkg{ctex} 包ä¸æ”¯æŒ Windows 2000 以å‰ä½¿ç”¨ -% \file{simsun.ttf} 的旧宋体文件å。) -% \begin{macrocode} -%<*windows> -\file_if_exist:nTF { C:/bootfont.bin } - { \ctex_file_input:n { ctex-fontset-windowsold.def } } - { \ctex_file_input:n { ctex-fontset-windowsnew.def } } -%</windows> -% \end{macrocode} -% -% 旧的 Windows å—ä½“è®¾ç½®ä½¿ç”¨é»‘ä½“ä½œä¸ºæ— è¡¬çº¿ä½“ï¼Œæ¥·ä½“å’Œä»¿å®‹æ˜¯ GB2312 ç¼–ç ;新的 -% Windows å—ä½“è®¾ç½®ä½¿ç”¨å¾®è½¯é›…é»‘ä½œä¸ºæ— è¡¬çº¿ä½“ï¼Œæ¥·ä½“å’Œä»¿å®‹æ˜¯å¤§å—库。 -% Windows 8 以åŽï¼Œå¾®è½¯é›…黑由原æ¥çš„ \file{.ttf} åŽç¼€æ”¹ä¸º \file{.ttc} åŽç¼€ï¼Œéœ€è¦ -% åŠ ä»¥åŒºåˆ†ã€‚ +% \tn{pdfmapline} ä¸æ”¯æŒ OpenType å—ä½“ï¼Œå› è€Œ \opt{adobe} å—体集在 pdf 模å¼ä¸‹ +% 就没有定义。\opt{fandol} 的情况类似。 % \begin{macrocode} -%<*windowsnew> -\tl_new:N \l_@@_msyh_suffix_tl -\tl_set:Nn \l_@@_msyh_suffix_tl { .ttc } -\file_if_exist:nF { C:/Windows/Fonts/msyh.ttc } - { - \file_if_exist:nF { msyh.ttc } - { \tl_set:Nn \l_@@_msyh_suffix_tl { .ttf } } - } -%</windowsnew> -%<*windowsnew|windowsold> -\sys_if_engine_pdftex:TF +%<*adobe> +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { adobe } } { \ctex_zhmap_case:nnn { - \ctex_punct_set:n { windows } - \setCJKmainfont - [ BoldFont = simhei.ttf , ItalicFont = simkai.ttf ] { simsun.ttc } -%<*windowsold> - \setCJKsansfont { simhei.ttf } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } -%</windowsold> -%<*windowsnew> - \setCJKsansfont - [ BoldFont = msyhbd\l_@@_msyh_suffix_tl ] { msyh\l_@@_msyh_suffix_tl } - \setCJKfamilyfont { zhyahei } - [ BoldFont = msyhbd\l_@@_msyh_suffix_tl ] { msyh\l_@@_msyh_suffix_tl } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei } - \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhyahei } { zhyaheib } -%</windowsnew> - \setCJKmonofont { simfang.ttf } - \setCJKfamilyfont { zhkai } { simkai.ttf } - \setCJKfamilyfont { zhfs } { simfang.ttf } - \setCJKfamilyfont { zhsong } { simsun.ttc } - \setCJKfamilyfont { zhhei } { simhei.ttf } - \setCJKfamilyfont { zhli } { simli.ttf } - \setCJKfamilyfont { zhyou } { simyou.ttf } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } - \ctex_punct_set:n { windows } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { - \tl_set:Nn \CJKrmdefault { rm } - \tl_set:Nn \CJKsfdefault { sf } - \tl_set:Nn \CJKttdefault { tt } + \setCJKmainfont { AdobeSongStd-Light.otf } + [ + cmap = UniGB-UTF16-H, + BoldFont = AdobeHeitiStd-Regular.otf, + ItalicFont = AdobeKaitiStd-Regular.otf + ] + \setCJKsansfont { AdobeHeitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKmonofont { AdobeFangsongStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhsong } { AdobeSongStd-Light.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \ctex_punct_set:n { adobe } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts } + \ctex_punct_set:n { adobe } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { adobe } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {simsun.ttc} {simhei.ttf} {simkai.ttf} -%<windowsnew> {msyh\l_@@_msyh_suffix_tl} {msyhbd\l_@@_msyh_suffix_tl} -%<windowsold> {simhei.ttf} {simhei.ttf} - {simfang.ttf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} -%<windowsnew> \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} - } - { -%<*windowsold> - \setCJKmainfont - [ BoldFont = SimHei , ItalicFont = KaiTi_GB2312 ] { SimSun } - \setCJKsansfont { SimHei } - \setCJKmonofont { FangSong_GB2312 } - \setCJKfamilyfont { zhkai } { KaiTi_GB2312 } - \setCJKfamilyfont { zhfs } { FangSong_GB2312 } -%</windowsold> -%<*windowsnew> - \setCJKmainfont - [ BoldFont = SimHei , ItalicFont = KaiTi ] { SimSun } - \setCJKsansfont - [ BoldFont = { *~Bold } ] { Microsoft~YaHei } - \setCJKmonofont { FangSong } - \setCJKfamilyfont { zhkai } { KaiTi } - \setCJKfamilyfont { zhfs } { FangSong } -%</windowsnew> - \setCJKfamilyfont { zhsong } { SimSun } - \setCJKfamilyfont { zhhei } { SimHei } - \setCJKfamilyfont { zhli } { LiSu } - \setCJKfamilyfont { zhyou } { YouYuan } -%<*windowsnew> - \setCJKfamilyfont { zhyahei } - [ BoldFont = { *~Bold } ] { Microsoft~YaHei } -%</windowsnew> - } + \ctex_set_upfonts:nnnnnn + { AdobeSongStd-Light.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeKaitiStd-Regular.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeFangsongStd-Regular.otf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} + \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + } + { + \setCJKmainfont { AdobeSongStd-Light } + [ BoldFont = AdobeHeitiStd-Regular, ItalicFont = AdobeKaitiStd-Regular ] + \setCJKsansfont { AdobeHeitiStd-Regular } + \setCJKmonofont { AdobeFangsongStd-Regular } + \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } + \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular } + \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular } + \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular } } -%</windowsnew|windowsold> +%</adobe> % \end{macrocode} % -% \subsubsection{\pkg{ctex-fontset-adobe.def}} +% \paragraph{\opt{fandol}} % % \begin{macrocode} -%<*adobe> -% \end{macrocode} -% -% \tn{pdfmapline} ä¸æ”¯æŒ OpenType å—ä½“ï¼Œå› è€Œ \opt{adobe} å—体集在 pdf 模å¼ä¸‹ -% 就没有定义。\opt{fandol} 的情况类似。 -% \begin{macrocode} -\sys_if_engine_pdftex:TF +%<*fandol> +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { fandol } } { - \sys_if_output_pdf:TF - { \ctex_fontset_error:n { adobe } } + \ctex_zhmap_case:nnn { - \ctex_zhmap_case:nnn - { - \setCJKmainfont - [ - cmap = UniGB-UTF16-H , - BoldFont = AdobeHeitiStd-Regular.otf , - ItalicFont = AdobeKaitiStd-Regular.otf - ] { AdobeSongStd-Light.otf } - \setCJKsansfont [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf } - \setCJKmonofont [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf } - \setCJKfamilyfont { zhsong } - [ cmap = UniGB-UTF16-H ] { AdobeSongStd-Light.otf } - \setCJKfamilyfont { zhhei } - [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf } - \setCJKfamilyfont { zhkai } - [ cmap = UniGB-UTF16-H ] { AdobeKaitiStd-Regular.otf } - \setCJKfamilyfont { zhfs } - [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf } - \ctex_punct_set:n { adobe } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts } - \ctex_punct_set:n { adobe } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { \ctex_fontset_error:n { adobe } } + \setCJKmainfont { FandolSong-Regular.otf } + [ + cmap = UniGB-UTF16-H, + BoldFont = FandolSong-Bold.otf, + ItalicFont = FandolKai-Regular.otf + ] + \setCJKsansfont { FandolHei-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolHei-Bold.otf ] + \setCJKmonofont { FandolFang-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhsong } { FandolSong-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolSong-Bold.otf ] + \setCJKfamilyfont { zhhei } { FandolHei-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolHei-Bold.otf ] + \setCJKfamilyfont { zhfs } { FandolFang-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhkai } { FandolKai-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts } + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { fandol } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {AdobeSongStd-Light.otf} {AdobeHeitiStd-Regular.otf} {AdobeKaitiStd-Regular.otf} - {AdobeHeitiStd-Regular.otf} {AdobeHeitiStd-Regular.otf} - {AdobeFangsongStd-Regular.otf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - } - { - \setCJKmainfont - [ - BoldFont = AdobeHeitiStd-Regular , - ItalicFont = AdobeKaitiStd-Regular - ] { AdobeSongStd-Light } - \setCJKsansfont { AdobeHeitiStd-Regular} - \setCJKmonofont { AdobeFangsongStd-Regular} - \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } - \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular } - \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular } - \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular } - } + \ctex_set_upfonts:nnnnnn + { FandolSong-Regular.otf } + { FandolSong-Bold.otf } + { FandolKai-Regular.otf } + { FandolHei-Regular.otf } + { FandolHei-Bold.otf } + { FandolFang-Regular.otf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + } + { + \setCJKmainfont { FandolSong-Regular } + [ + Extension = .otf, + BoldFont = FandolSong-Bold, + ItalicFont = FandolKai-Regular + ] + \setCJKsansfont { FandolHei-Regular } + [ Extension = .otf, BoldFont = FandolHei-Bold ] + \setCJKmonofont { FandolFang-Regular } + [ Extension = .otf ] + \setCJKfamilyfont { zhsong } { FandolSong-Regular } + [ Extension = .otf, BoldFont = FandolSong-Bold ] + \setCJKfamilyfont { zhhei } { FandolHei-Regular } + [ Extension = .otf, BoldFont = FandolHei-Bold ] + \setCJKfamilyfont { zhfs } { FandolFang-Regular } + [ Extension = .otf ] + \setCJKfamilyfont { zhkai } { FandolKai-Regular } + [ Extension = .otf ] } +%</fandol> % \end{macrocode} % -% \begin{macrocode} -%</adobe> -%<*fandol> -% \end{macrocode} +% \paragraph{\opt{founder}} % -% \subsubsection{\pkg{ctex-fontset-fandol.def}} +% \changes{v2.4.15}{2019/03/28}{统一“方æ£ç»†é»‘一\_GBKâ€çš„å称为 \texttt{FZXiHeiI-Z08}。} % % \begin{macrocode} -\sys_if_engine_pdftex:TF - { - \sys_if_output_pdf:TF - { \ctex_fontset_error:n { fandol } } - { - \ctex_zhmap_case:nnn - { - \setCJKmainfont - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf - ] { FandolSong-Regular.otf } - \setCJKsansfont - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolHei-Bold.otf - ] { FandolHei-Regular.otf } - \setCJKmonofont [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf } - \setCJKfamilyfont { zhsong } - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolSong-Bold.otf - ] { FandolSong-Regular.otf } - \setCJKfamilyfont { zhhei } - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolHei-Bold.otf - ] { FandolHei-Regular.otf } - \setCJKfamilyfont { zhfs } - [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf } - \setCJKfamilyfont { zhkai } - [ cmap = UniGB-UTF16-H ] { FandolKai-Regular.otf } - \ctex_punct_set:n { fandol } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb } - \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhhei } { zhheib } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts } - \ctex_punct_set:n { fandol } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { \ctex_fontset_error:n { fandol } } - } - } +%<*founder> +\ctex_fontset_case:nnn { - \sys_if_engine_uptex:TF + \ctex_zhmap_case:nnn { - \ctex_set_upfonts:nnnnnn - {FandolSong-Regular.otf} {FandolSong-Bold.otf} {FandolKai-Regular.otf} - {FandolHei-Regular.otf} {FandolHei-Bold.otf} - {FandolFang-Regular.otf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } - \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \setCJKmainfont { FZSSK.TTF } + [ BoldFont = FZXBSK.TTF, ItalicFont = FZKTK.TTF ] + \setCJKsansfont { FZXH1K.TTF } [ BoldFont = FZHTK.TTF ] + \setCJKmonofont { FZFSK.TTF } + \setCJKfamilyfont { zhsong } { FZSSK.TTF } [ BoldFont = FZXBSK.TTF ] + \setCJKfamilyfont { zhhei } { FZHTK.TTF } + \setCJKfamilyfont { zhkai } { FZKTK.TTF } + \setCJKfamilyfont { zhfs } { FZFSK.TTF } + \setCJKfamilyfont { zhli } { FZLSK.TTF } + \setCJKfamilyfont { zhyou } { FZY1K.TTF } [ BoldFont = FZY3K.TTF ] + \ctex_punct_set:n { founder } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } } { - \setCJKmainfont - [ - Extension = .otf , - BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular - ] - { FandolSong-Regular } - \setCJKsansfont - [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKmonofont [ Extension = .otf ] { FandolFang-Regular } - \setCJKfamilyfont { zhsong } - [ Extension = .otf , BoldFont = FandolSong-Bold ] { FandolSong-Regular } - \setCJKfamilyfont { zhhei } - [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKfamilyfont { zhfs } [ Extension = .otf ] { FandolFang-Regular } - \setCJKfamilyfont { zhkai } [ Extension = .otf ] { FandolKai-Regular } + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts } + \ctex_punct_set:n { founder } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { founder } } } + { + \ctex_set_upfonts:nnnnnn + { FZSSK.TTF } + { FZXBSK.TTF } + { FZKTK.TTF } + { FZXH1K.TTF } + { FZHTK.TTF } + { FZFSK.TTF } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_set_upfamily:nnn { zhli } { upschrm } {} + \ctex_set_upfamily:nnn { zhyou } { upschgt } {} + \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {} + \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {} + } + { + \setCJKmainfont { FZShuSong-Z01 } + [ BoldFont = FZXiaoBiaoSong-B05, ItalicFont = FZKai-Z03 ] + \setCJKsansfont { FZXiHeiI-Z08 } [ BoldFont = FZHei-B01 ] + \setCJKmonofont { FZFangSong-Z02 } + \setCJKfamilyfont { zhsong } { FZShuSong-Z01 } + [ BoldFont = FZXiaoBiaoSong-B05 ] + \setCJKfamilyfont { zhhei } { FZHei-B01 } + \setCJKfamilyfont { zhkai } { FZKai-Z03 } + \setCJKfamilyfont { zhfs } { FZFangSong-Z02 } + \setCJKfamilyfont { zhli } { FZLiShu-S01 } + \setCJKfamilyfont { zhyou } { FZXiYuan-M01 } + [ BoldFont = FZZhunYuan-M02 ] + } +%</founder> % \end{macrocode} % -% \begin{macrocode} -%</fandol> -% \end{macrocode} +% \paragraph{\opt{mac} 相关} % -% \subsubsection{\pkg{ctex-fontset-mac.def} ç‰} -% \changes{v2.4.14}{2018/05/01}{区分 \texttt{macold} åŠ \texttt{macnew}。} +% \changes{v2.4.14}{2018/05/01}{区分 \opt{macold} åŠ \opt{macnew}。} % % 按 \href{https://github.com/CTeX-org/ctex-kit/issues/351}{Issue 351} % 的讨论,以 El Capitan 为分界,分别设置 |macold|(El Capitan 之å‰ï¼‰ @@ -9948,273 +10230,317 @@ Copyright and Licence %</mac> % \end{macrocode} % -% |macold| 的设置å‚考了 ^^A -% \href{https://github.com/CTeX-org/ctex-kit/wiki/OS-X-Mavericks-(10.9)-\%E9\%A2\%84\%E8\%A3\%85\%E7\%9A\%84\%E4\%B8\%BB\%E8\%A6\%81\%E7\%AE\%80\%E4\%BD\%93\%E4\%B8\%AD\%E6\%96\%87\%E5\%AD\%97\%E4\%BD\%93}^^A -% {OS X Mavericks (10.9) 预装的主è¦ç®€ä½“ä¸æ–‡å—体列表}。 +% \changes{v2.4.14}{2018/05/01}{é…ç½® \opt{macnew} 的默认å—体设置。} +% \changes{v2.5}{2019/11/05}{为 \opt{macnew} å¢žåŠ ç²—æ¥·ä½“ã€éš¶ä¹¦å’Œåœ†ä½“的定义。} +% \changes{v2.5}{2019/11/07}{å…许 \opt{macnew} 在 \LaTeX{} å’Œ \upLaTeX{} 下使用。} % -% 在 \dvipdfmx{} 下,å¯ä»¥é€šè¿‡ä¸‹è¿°æ–¹å¼ä½¿ç”¨åŽæ–‡å®‹ä½“å’ŒåŽæ–‡æ¥·ä½“: -% \begin{verbatim} -% \special{pdf:mapline unisong@Unicode@ unicode :4:Songti.ttc} -% \special{pdf:mapline unikai@Unicode@ unicode :4:Kaiti.ttc} -% \end{verbatim} -% 而 \tn{pdfmapline} 似乎ä¸æ”¯æŒå¸¦ç´¢å¼•çš„ \texttt{ttc} å—体,\file{Songti.ttc} 默认 -% 使用的是 Songti SC Black,\file{Kaiti.ttc} 默认使用的是 Kaiti SC Black。 -% åŽæ–‡é»‘体ä¸èƒ½é€šè¿‡è¿™ç§æ–¹å¼ä½¿ç”¨ï¼š -% \begin{verbatim} -% \special{pdf:mapline unihei@Unicode@ unicode \detokenize{åŽæ–‡é»‘体}.ttf} -% \end{verbatim} -% \dvipdfmx{} ä¸èƒ½ç”Ÿæˆ PDF,报下述错误: -% \begin{verbatim} -% ** WARNING ** UCS-4 TrueType cmap table... -% ** ERROR ** Unable to read OpenType/TrueType Unicode cmap table. -% \end{verbatim} -% 如果将 CMap 改为 UniGB-UTF16-H,错误信æ¯æ˜¯ -% \begin{verbatim} -% ** WARNING ** No usable TrueType cmap table found for font "åŽæ–‡é»‘体.ttf". -% ** WARNING ** CID character collection for this font is set to "Adobe-GB1" -% ** ERROR ** Cannot continue without this... -% \end{verbatim} -% 在 \pdfTeX{} 下生æˆçš„ PDF åªæœ‰æ–¹æ¡†^^A -% \footnote{\url{http://www.newsmth.net/bbscon.php?bid=460&id=312640}}。 -% åŽæ–‡ç»†é»‘å’ŒåŽæ–‡ä»¿å®‹çš„情况类似。 -% 这确认为 \dvipdfmx{} çš„ bug^^A -% \begingroup\makeatletter\@makeother\#\@firstofone{\endgroup -% \footnote{\url{https://github.com/clerkma/ptex-ng/blob/master/texk/libdpx/cidtype2.c#L597}}}。 -% -% \changes{v2.4.14}{2018/05/01}{é…ç½® \texttt{macnew} 的默认å—体设置。} +% |macold| 的设置å‚考了 +% \href{https://github.com/CTeX-org/ctex-kit/wiki/OS-X-Mavericks-(10.9)-预装的主è¦ç®€ä½“ä¸æ–‡å—体}^^A +% {OS X Mavericks (10.9) 预装的主è¦ç®€ä½“ä¸æ–‡å—体列表}。 % % |macnew| 在默认å—体设置方é¢ï¼Œå¼•å…¥äº†å¤šå—é‡çš„宋体作为罗马å—æ—, % 以åŠå¼•å…¥äº†è‹¹æ–¹é»‘ä½“ä½œä¸ºæ— è¡¬çº¿å—æ—。 -% % 由于 Songti SC Light çš„å—é‡ä¸Ž STSong åŠ Windows 上的 SimSun 更接近,故默认å—é‡ -% 使用 Songti SC Light,而ä¸å¸¦åŽç¼€çš„æ£å¸¸å—é‡äº‹å®žä¸Šæ²¡æœ‰ä½¿ç”¨ã€‚下方关于 |zhsong| çš„å—æ— -% 设置也有åŒæ ·çš„情况。 +% 使用 Songti SC Light,而ä¸å¸¦åŽç¼€çš„æ£å¸¸å—é‡äº‹å®žä¸Šæ²¡æœ‰ä½¿ç”¨ã€‚黑体ã€åœ†ä½“ç‰è®¾ç½® +% 也有类似的情况。 % % \begin{macrocode} %<*macold|macnew> -\sys_if_engine_pdftex:TF +\ctex_fontset_case:nnnn { \ctex_fontset_error:n { mac } } - { - \sys_if_engine_uptex:TF - { \ctex_fontset_error:n { mac } } - { %<*macold> - \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ] { STSong } - \setCJKsansfont [ BoldFont = STHeiti ] { STXihei } + { \ctex_fontset_error:n { macold } } + { \ctex_fontset_error:n { macold } } %</macold> %<*macnew> - \setCJKmainfont + { + \ctex_zhmap_case:nnn + { + \setCJKmainfont { :3:Songti.ttc } [ - UprightFont = *~Light , - BoldFont = *~Bold , - ItalicFont = Kaiti~SC , - BoldItalicFont = Kaiti~SC~Bold - ] { Songti~SC } - \setCJKsansfont { PingFang~SC } + BoldFont = :1:Songti.ttc, + ItalicFont = :0:Kaiti.ttc, + BoldItalicFont = :3:Kaiti.ttc, + ] + \setCJKsansfont { :2:PingFang.ttc } [ BoldFont = :8:PingFang.ttc ] + \setCJKmonofont { STFANGSO.ttf } + \setCJKfamilyfont { zhsong } { :3:Songti.ttc } [ BoldFont = :1:Songti.ttc ] + \setCJKfamilyfont { zhhei } { :2:PingFang.ttc } [ BoldFont = :8:PingFang.ttc ] + \setCJKfamilyfont { zhkai } { :0:Kaiti.ttc } [ BoldFont = :3:Kaiti.ttc ] + \setCJKfamilyfont { zhfs } { STFANGSO.ttf } + \setCJKfamilyfont { zhli } { :0:Baoli.ttc } + \setCJKfamilyfont { zhyou } { :4:Yuanti.ttc } [ BoldFont = :0:Yuanti.ttc ] + \ctex_punct_set:n { mac } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhmacfonts } + \ctex_punct_set:n { mac } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { \ctex_fontset_error:n { macnew } } + } + { + \ctex_set_upmap:nnn { upserif } { :3:Songti.ttc } { :1:Songti.ttc } + \ctex_set_upmap:nnn { upserifit } { :0:Kaiti.ttc } { } + \ctex_set_upmap:nnn { upstsl } { :0:Baoli.ttc } { } + \ctex_set_upmap:nnn { upstht } { :4:Yuanti.ttc } { } + \ctex_set_upmap_unicode:nnn { upsans } { :2:PingFang.ttc } { :8:PingFang.ttc } + \ctex_set_upmap_unicode:nnn { upmono } { STFANGSO.ttf } { } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } { } + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } { } + \ctex_set_upfamily:nnn { zhli } { upschrm } { } + \ctex_set_upfamily:nnn { zhyou } { upschgt } { } + } %</macnew> - \setCJKmonofont { STFangsong } + { %<*macold> - \setCJKfamilyfont { zhsong } { STSong } - \setCJKfamilyfont { zhhei } { STHeiti } + \setCJKmainfont { STSong } + [ BoldFont = STHeiti, ItalicFont = STKaiti ] + \setCJKsansfont { STXihei } [ BoldFont = STHeiti ] + \setCJKmonofont { STFangsong } + \setCJKfamilyfont { zhsong } { STSong } + \setCJKfamilyfont { zhhei } { STHeiti } + \setCJKfamilyfont { zhfs } { STFangsong } + \setCJKfamilyfont { zhkai } { STKaiti } %</macold> %<*macnew> - \setCJKfamilyfont { zhsong } - [ - UprightFont = *~Light , - BoldFont = *~Bold , - ] { Songti~SC } - \setCJKfamilyfont { zhhei } { Heiti~SC } - \setCJKfamilyfont { zhpf } { PingFang~SC } + \setCJKmainfont { Songti~SC~Light } + [ + BoldFont = Songti~SC~Bold, + ItalicFont = Kaiti~SC, + BoldItalicFont = Kaiti~SC~Bold + ] + \setCJKsansfont { PingFang~SC } + \setCJKmonofont { STFangsong } + \setCJKfamilyfont { zhsong } { Songti~SC~Light } [ BoldFont = Songti~SC~Bold ] + \setCJKfamilyfont { zhhei } { Heiti~SC~Light } [ BoldFont = Heiti~SC~Medium ] + \setCJKfamilyfont { zhpf } { PingFang~SC } + \setCJKfamilyfont { zhfs } { STFangsong } + \setCJKfamilyfont { zhkai } { Kaiti~SC } [ BoldFont = Kaiti~SC~Bold ] + \setCJKfamilyfont { zhli } { Baoli~SC } + \setCJKfamilyfont { zhyou } { Yuanti~SC~Light } [ BoldFont = Yuanti~SC~Regular ] %</macnew> - \setCJKfamilyfont { zhfs } { STFangsong } -%<macold>\setCJKfamilyfont { zhkai } { STKaiti } -%<macnew>\setCJKfamilyfont { zhkai } { Kaiti~SC } - } } %</macold|macnew> % \end{macrocode} % -% \subsubsection{\pkg{ctex-fontset-founder.def}} -% -% \begin{macrocode} -%<*founder> -% \end{macrocode} +% \paragraph{\opt{ubuntu}} % -% \changes{v2.4.15}{2019/03/28}{统一“方æ£ç»†é»‘一\_GBKâ€çš„å称为 \texttt{FZXiHeiI-Z08}。} +% \changes{v2.5}{2019/11/07}{\opt{ubuntu} 改用æ€æºï¼ˆNoto CJK)和文鼎å—库,ä¸å† +% 支æŒä½¿ç”¨ \pdfLaTeX{} 编译。} % % \begin{macrocode} -\sys_if_engine_pdftex:TF +%<*ubuntu> +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { ubuntu } } { \ctex_zhmap_case:nnn { - \setCJKmainfont - [ BoldFont = FZXBSK.TTF , ItalicFont = FZKTK.TTF ] { FZSSK.TTF } - \setCJKsansfont [ BoldFont = FZHTK.TTF ] { FZXH1K.TTF } - \setCJKmonofont { FZFSK.TTF } - \setCJKfamilyfont { zhsong } [ BoldFont = FZXBSK.TTF ] { FZSSK.TTF } - \setCJKfamilyfont { zhhei } { FZHTK.TTF } - \setCJKfamilyfont { zhkai } { FZKTK.TTF } - \setCJKfamilyfont { zhfs } { FZFSK.TTF } - \setCJKfamilyfont { zhli } { FZLSK.TTF } - \setCJKfamilyfont { zhyou } [ BoldFont = FZY3K.TTF ] { FZY1K.TTF } - \ctex_punct_set:n { founder } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb } - \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } + \setCJKmainfont { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc, ItalicFont = gkai00mp.ttf ] + \setCJKsansfont { :2:NotoSansCJK-Regular.ttc } + [ BoldFont = :2:NotoSansCJK-Bold.ttc ] + \setCJKmonofont { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc ] + \setCJKfamilyfont { zhsong } { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc ] + \setCJKfamilyfont { zhhei } { :2:NotoSansCJK-Regular.ttc } + [ BoldFont = :2:NotoSansCJK-Bold.ttc ] + \setCJKfamilyfont { zhkai } { gkai00mp.ttf } + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts } - \ctex_punct_set:n { founder } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts } + \ctex_punct_set:n { ubuntu } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } - { \ctex_fontset_error:n { founder } } + { \ctex_fontset_error:n { ubuntu } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - { FZSSK.TTF } { FZXBSK.TTF } { FZKTK.TTF } - { FZXH1K.TTF } { FZHTK.TTF } - { FZFSK.TTF } - \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } - \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {} - } - { - \setCJKmainfont - [ BoldFont = FZXiaoBiaoSong-B05 , ItalicFont = FZKai-Z03 ] { FZShuSong-Z01 } - \setCJKsansfont [ BoldFont = FZHei-B01 ] { FZXiHeiI-Z08 } - \setCJKmonofont { FZFangSong-Z02 } - \setCJKfamilyfont { zhsong } [ BoldFont = FZXiaoBiaoSong-B05 ] { FZShuSong-Z01 } - \setCJKfamilyfont { zhhei } { FZHei-B01 } - \setCJKfamilyfont { zhkai } { FZKai-Z03 } - \setCJKfamilyfont { zhfs } { FZFangSong-Z02 } - \setCJKfamilyfont { zhli } { FZLiShu-S01 } - \setCJKfamilyfont { zhyou } [ BoldFont = FZZhunYuan-M02 ] { FZXiYuan-M01 } - } + \ctex_set_upmap_unicode:nnn { upserif } + { :2:NotoSerifCJK-Regular.ttc } { :2:NotoSerifCJK-Bold.ttc } + \ctex_set_upmap_unicode:nnn { upsans } + { :2:NotoSansCJK-Regular.ttc } { :2:NotoSansCJK-Bold.ttc } + \ctex_set_upmap_unicode:nnn { upmono } + { :2:NotoSerifCJK-Regular.ttc } { } + \ctex_set_upmap:nnn { upserifit } { gkai00mp.ttf } { } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } { } + } + { + \setCJKmainfont { Noto~Serif~CJK~SC } [ ItalicFont = AR~PL~KaitiM~GB ] + \setCJKsansfont { Noto~Sans~CJK~SC } + \setCJKmonofont { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } + \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } } +%</ubuntu> % \end{macrocode} % +% \paragraph{\opt{windows}} +% +% \changes{v2.4.1}{2016/05/14}{使用 \file{bootfont.bin} åˆ¤æ– Windows XP 以é¿å… +% æƒé™é—®é¢˜ã€‚} +% \changes{v2.5}{2019/11/04}{使用环境å˜é‡ä»£æ›¿ç»å¯¹è·¯å¾„查找å—体。} +% \changes{v2.5}{2019/11/05}{ä¸å†æ”¯æŒ Windows XP 系统,\opt{windowsold} å’Œ +% \opt{windowsnew} æˆä¸ºè¿‡æ—¶å—库选项。} +% +% \begin{variable}{ \c_@@_msyh_suffix_tl} +% Windows 8 以åŽï¼Œå¾®è½¯é›…黑由原æ¥çš„ \file{.ttf} åŽç¼€æ”¹ä¸º \file{.ttc} åŽç¼€ï¼Œéœ€è¦ +% åŠ ä»¥åŒºåˆ†ã€‚ % \begin{macrocode} -%</founder> -%<*ubuntu> +%<*windows> +\file_if_exist:nTF { \c_dollar_str WINDIR/Fonts/msyh.ttc } + { \tl_const:Nn \c_@@_msyh_suffix_tl { ttc } } + { + \file_if_exist:nTF { msyh.ttc } + { \tl_const:Nn \c_@@_msyh_suffix_tl { ttc } } + { \tl_const:Nn \c_@@_msyh_suffix_tl { ttf } } + } % \end{macrocode} +% \end{variable} % -% \subsubsection{\pkg{ctex-fontset-ubuntu.def}} -% -% ä»¥ä¸‹æ ¹æ® Ubuntu 12.04 çš„ä¸æ–‡å—体情况设置。CMap ä¸æ¸…楚应该是什么,指定为 -% UniGB-UTF16-H 还是有è¦å‘Šï¼š -% \begin{verbatim} -% ** WARNING ** UCS-4 TrueType cmap table... -% \end{verbatim} -% 需è¦æ³¨æ„的是 \file{uming.ttc} å’Œ \file{ukai.ttc} 看起æ¥åƒæœ‰å››ç§å—å½¢çš„æ ·å,但 -% 其实åªæœ‰â€œä»¤â€å’Œâ€œéª¨â€è¿™åŒºåŒºä¸¤ä¸ªå—有新å—形,其余都å–æ—§å—å½¢^^A -% \footnote{\url{http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download/}}。 % \begin{macrocode} -\sys_if_engine_pdftex:TF +\ctex_fontset_case:nnn { \ctex_zhmap_case:nnn { - \setCJKmainfont - [ BoldFont = wqy-zenhei.ttc , ItalicFont = ukai.ttc ] { uming.ttc } - \setCJKsansfont { wqy-zenhei.ttc } - \setCJKmonofont { uming.ttc } - \setCJKfamilyfont { zhsong } { uming.ttc } - \setCJKfamilyfont { zhhei } { wqy-zenhei.ttc } - \setCJKfamilyfont { zhkai } { ukai.ttc } - \ctex_punct_set:n { ubuntu } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhsong } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts } - \ctex_punct_set:n { ubuntu } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_set:n { windows } + \setCJKmainfont { simsun.ttc } + [ BoldFont = simhei.ttf, ItalicFont = simkai.ttf ] + \setCJKsansfont { msyh.\c_@@_msyh_suffix_tl } + [ BoldFont = msyhbd.\c_@@_msyh_suffix_tl ] + \setCJKmonofont { simfang.ttf } + \setCJKfamilyfont { zhsong } { simsun.ttc } + \setCJKfamilyfont { zhhei } { simhei.ttf } + \setCJKfamilyfont { zhfs } { simfang.ttf } + \setCJKfamilyfont { zhkai } { simkai.ttf } + \setCJKfamilyfont { zhyahei } { msyh.\c_@@_msyh_suffix_tl } + [ BoldFont = msyhbd.\c_@@_msyh_suffix_tl ] + \setCJKfamilyfont { zhli } { simli.ttf } + \setCJKfamilyfont { zhyou } { simyou.ttf } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhyahei } { zhyaheib } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } } - { \ctex_fontset_error:n { ubuntu } } - } - { - \sys_if_engine_uptex:TF { - \ctex_set_upfonts:nnnnnn - { uming.ttc } { wqy-zenhei.ttc } { ukai.ttc } - { wqy-zenhei.ttc } { wqy-zenhei.ttc } - { uming.ttc } - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } + \ctex_punct_set:n { windows } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { - \setCJKmainfont - [ BoldFont = WenQuanYi~Zen~Hei , ItalicFont = AR~PL~UKai~CN ] { AR~PL~UMing~CN } - \setCJKsansfont { WenQuanYi~Zen~Hei } - \setCJKmonofont { AR~PL~UMing~CN } - \setCJKfamilyfont { zhsong } { AR~PL~UMing~CN } - \setCJKfamilyfont { zhhei } { WenQuanYi~Zen~Hei } - \setCJKfamilyfont { zhkai } { AR~PL~UKai~CN } + \tl_set:Nn \CJKrmdefault { rm } + \tl_set:Nn \CJKsfdefault { sf } + \tl_set:Nn \CJKttdefault { tt } } } -% \end{macrocode} -% -% \begin{macrocode} -%</ubuntu> + { + \ctex_set_upfonts:nnnnnn + { simsun.ttc } + { simhei.ttf } + { simkai.ttf } + { msyh.\c_@@_msyh_suffix_tl } + { msyhbd.\c_@@_msyh_suffix_tl } + { simfang.ttf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} + \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhli } { upschrm } {} + \ctex_set_upfamily:nnn { zhyou } { upschgt } {} + \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} + \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} + } + { + \setCJKmainfont { SimSun } [ BoldFont = SimHei , ItalicFont = KaiTi ] + \setCJKsansfont { Microsoft~YaHei } [ BoldFont = *~Bold ] + \setCJKmonofont { FangSong } + \setCJKfamilyfont { zhsong } { SimSun } + \setCJKfamilyfont { zhhei } { SimHei } + \setCJKfamilyfont { zhfs } { FangSong } + \setCJKfamilyfont { zhkai } { KaiTi } + \setCJKfamilyfont { zhyahei } { Microsoft~YaHei } [ BoldFont = *~Bold ] + \setCJKfamilyfont { zhli } { LiSu } + \setCJKfamilyfont { zhyou } { YouYuan } + } +%</windows> % \end{macrocode} % % \subsubsection{ä¸æ–‡å—体命令} -% \changes{v2.4.14}{2018/05/01}{为 \texttt{macnew} é…ç½®å—体命令。} -% -% \begin{macrocode} -%<*!windows&!mac> -% \end{macrocode} -% -% \begin{macrocode} -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -%<!ubuntu>\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } -%<*windowsnew|windowsold|founder> -\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } -\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } -%</windowsnew|windowsold|founder> -%<windowsnew>\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } } +% \changes{v2.4.14}{2018/05/01}{为 \opt{macnew} é…ç½®å—体命令。} +% +% \begin{macro}{\songti,\heiti,\fangsong,\kaishu,\lishu,\youyuan,\yahei,\pingfang} +% 使用 \upLaTeX{} 编译时,\opt{macnew} å—库ä¸ç”±äºŽä¼ 统黑体(黑体-ç®€ï¼‰æ— æ³•ä½¿ç”¨ï¼Œ +% 我们用苹方æ¥ä»£æ›¿ã€‚åŒæ—¶ \tn{yahei}ã€\tn{pingfang} 命令被设置为与 \tn{heiti} 相åŒã€‚ +% \begin{macrocode} +%<*!mac> +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +%<!ubuntu>\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +%<*windows|founder|macnew> +\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } +\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } +%</windows|founder|macnew> +%<windows>\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } } %<*macnew> -\NewDocumentCommand \yahei { } { \CJKfamily { zhpf } } -\NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } } +\bool_lazy_or:nnTF + { \sys_if_engine_pdftex_p: } + { \sys_if_engine_uptex_p: } + { + \cs_new_eq:NN \yahei \heiti + \cs_new_eq:NN \pingfang \heiti + } + { + \NewDocumentCommand \yahei { } { \CJKfamily { zhpf } } + \NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } } + } %</macnew> +%</!mac> % \end{macrocode} +% \end{macro} % % \begin{macrocode} -%</!windows&!mac> %</fontset> -%<*zhmap> % \end{macrocode} % % \subsubsection{\pkg{zhmetrics} çš„å—ä½“æ˜ å°„} % % 确认 \tn{catcode},没有é‡å¤è½½å…¥æ£€æŸ¥ã€‚ % \begin{macrocode} +%<*zhmap> \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode 35=6 % # \catcode123=1 % { \catcode125=2 % } \toks0{\endlinechar=\the\endlinechar\relax}% - \toks2{\endlinechar=13 }% + \toks2{\endlinechar=-1 }% \def\x#1 #2 {% \toks0\expandafter{\the\toks0 \catcode#1=\the\catcode#1\relax}% \toks2\expandafter{\the\toks2 \catcode#1=#2 }}% @@ -10244,6 +10570,7 @@ Copyright and Licence \expandafter\x\csname ctex@zhmap@endinput\endcsname % \end{macrocode} % +% \begin{macro}[int]{\ifzhmappdf} % \begin{macrocode} \begingroup\expandafter\endgroup \expandafter\let\csname ifzhmappdf\expandafter\endcsname\csname @@ -10253,7 +10580,9 @@ Copyright and Licence \else ifctexpdf\fi \endcsname % \end{macrocode} +% \end{macro} % +% \begin{macro}[int]{\ProvidesFile} % æä¾›éž \LaTeX{} æ ¼å¼ä¸‹çš„ \tn{ProvidesFile}。 % \begin{macrocode} \begingroup @@ -10266,112 +10595,50 @@ Copyright and Licence \fi \endgroup % \end{macrocode} +% \end{macro} % -% \paragraph{\pkg{zhwindowsfonts.tex}} -% +% æ–‡ä»¶æ ‡è¯†ä¿¡æ¯ã€‚ % \begin{macrocode} -%<*windows> -\ProvidesFile{zhwindowsfonts.tex}% - [2019/05/29 v2.4.16 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)] - -\ifzhmappdf - \pdfmapline{=gbk@UGBK@ <simsun.ttc} - \pdfmapline{=gbksong@UGBK@ <simsun.ttc} - \pdfmapline{=gbkkai@UGBK@ <simkai.ttf} - \pdfmapline{=gbkhei@UGBK@ <simhei.ttf} - \pdfmapline{=gbkfs@UGBK@ <simfang.ttf} - \pdfmapline{=gbkli@UGBK@ <simli.ttf} - \pdfmapline{=gbkyou@UGBK@ <simyou.ttf} - - \pdfmapline{=cyberb@Unicode@ <simsun.ttc} - \pdfmapline{=unisong@Unicode@ <simsun.ttc} - \pdfmapline{=unikai@Unicode@ <simkai.ttf} - \pdfmapline{=unihei@Unicode@ <simhei.ttf} - \pdfmapline{=unifs@Unicode@ <simfang.ttf} - \pdfmapline{=unili@Unicode@ <simli.ttf} - \pdfmapline{=uniyou@Unicode@ <simyou.ttf} - - \pdfmapline{=gbksongsl@UGBK@ <simsun.ttc} - \pdfmapline{=gbkkaisl@UGBK@ <simkai.ttf} - \pdfmapline{=gbkheisl@UGBK@ <simhei.ttf} - \pdfmapline{=gbkfssl@UGBK@ <simfang.ttf} - \pdfmapline{=gbklisl@UGBK@ <simli.ttf} - \pdfmapline{=gbkyousl@UGBK@ <simyou.ttf} - - \pdfmapline{=unisongsl@Unicode@ <simsun.ttc} - \pdfmapline{=unikaisl@Unicode@ <simkai.ttf} - \pdfmapline{=uniheisl@Unicode@ <simhei.ttf} - \pdfmapline{=unifssl@Unicode@ <simfang.ttf} - \pdfmapline{=unilisl@Unicode@ <simli.ttf} - \pdfmapline{=uniyousl@Unicode@ <simyou.ttf} - -\else - \special{pdf:mapline gbk@UGBK@ unicode :0:simsun.ttc -v 50} - \special{pdf:mapline gbksong@UGBK@ unicode :0:simsun.ttc -v 50} - \special{pdf:mapline gbkkai@UGBK@ unicode simkai.ttf -v 70} - \special{pdf:mapline gbkhei@UGBK@ unicode simhei.ttf -v 150} - \special{pdf:mapline gbkfs@UGBK@ unicode simfang.ttf -v 50} - \special{pdf:mapline gbkli@UGBK@ unicode simli.ttf -v 150} - \special{pdf:mapline gbkyou@UGBK@ unicode simyou.ttf -v 60} - - \special{pdf:mapline cyberb@Unicode@ unicode :0:simsun.ttc -v 50} - \special{pdf:mapline unisong@Unicode@ unicode :0:simsun.ttc -v 50} - \special{pdf:mapline unikai@Unicode@ unicode simkai.ttf -v 70} - \special{pdf:mapline unihei@Unicode@ unicode simhei.ttf -v 150} - \special{pdf:mapline unifs@Unicode@ unicode simfang.ttf -v 50} - \special{pdf:mapline unili@Unicode@ unicode simli.ttf -v 150} - \special{pdf:mapline uniyou@Unicode@ unicode simyou.ttf -v 60} - - \special{pdf:mapline gbksongsl@UGBK@ unicode :0:simsun.ttc -s .167 -v 50} - \special{pdf:mapline gbkkaisl@UGBK@ unicode simkai.ttf -s .167 -v 70} - \special{pdf:mapline gbkheisl@UGBK@ unicode simhei.ttf -s .167 -v 150} - \special{pdf:mapline gbkfssl@UGBK@ unicode simfang.ttf -s .167 -v 50} - \special{pdf:mapline gbklisl@UGBK@ unicode simli.ttf -s .167 -v 150} - \special{pdf:mapline gbkyousl@UGBK@ unicode simyou.ttf -s .167 -v 60} - - \special{pdf:mapline unisongsl@Unicode@ unicode :0:simsun.ttc -s .167 -v 50} - \special{pdf:mapline unikaisl@Unicode@ unicode simkai.ttf -s .167 -v 70} - \special{pdf:mapline uniheisl@Unicode@ unicode simhei.ttf -s .167 -v 150} - \special{pdf:mapline unifssl@Unicode@ unicode simfang.ttf -s .167 -v 50} - \special{pdf:mapline unilisl@Unicode@ unicode simli.ttf -s .167 -v 150} - \special{pdf:mapline uniyousl@Unicode@ unicode simyou.ttf -s .167 -v 60} - -%</windows> +%<adobe>\ProvidesFile{zhadobefonts.tex}% +%<adobe> [2020/05/01 v2.5 Adobe font map loader for DVIPDFMx (CTEX)] +%<fandol>\ProvidesFile{zhfandolfonts.tex}% +%<fandol> [2020/05/01 v2.5 Fandol font map loader for DVIPDFMx (CTEX)] +%<founder>\ProvidesFile{zhfounderfonts.tex}% +%<founder> [2020/05/01 v2.5 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)] +%<mac>\ProvidesFile{zhmacfonts.tex}% +%<mac> [2020/05/01 v2.5 Mac font map loader for pdfTeX and DVIPDFMx (CTEX)] +%<ubuntu>\ProvidesFile{zhubuntufonts.tex}% +%<ubuntu> [2020/05/01 v2.5 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)] +%<windows>\ProvidesFile{zhwindowsfonts.tex}% +%<windows> [2020/05/01 v2.5 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)] % \end{macrocode} % % \paragraph{\pkg{zhadobefonts.tex}} % % \begin{macrocode} %<*adobe> -\ProvidesFile{zhadobefonts.tex}% - [2019/05/29 v2.4.16 Adobe font map loader for DVIPDFMx (CTEX)] - \ifzhmappdf %% pdfTeX does not support OTF fonts - \else - \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} - \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} - \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} - - \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} - \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} - \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} - - \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} - \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} - \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} - - \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} - \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} - \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} + \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} + \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} + \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} + \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} + \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} + \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} + \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} - +\fi %</adobe> % \end{macrocode} % @@ -10379,35 +10646,28 @@ Copyright and Licence % % \begin{macrocode} %<*fandol> -\ProvidesFile{zhfandolfonts.tex}% - [2019/05/29 v2.4.16 Fandol font map loader for DVIPDFMx (CTEX)] - \ifzhmappdf %% pdfTeX does not support OTF fonts - \else - \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf} - \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf} - \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf} - - \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf} - \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf} - \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf} - - \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} - \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} - \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} - + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf} + \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf} + \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf} + \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf} + \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} + \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} - \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} - \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} + \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} - +\fi %</fandol> % \end{macrocode} % @@ -10415,137 +10675,195 @@ Copyright and Licence % % \begin{macrocode} %<*founder> -\ProvidesFile{zhfounderfonts.tex}% - [2019/05/29 v2.4.16 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)] - \ifzhmappdf - \pdfmapline{=gbk@UGBK@ <FZSSK.TTF} - \pdfmapline{=gbksong@UGBK@ <FZSSK.TTF} - \pdfmapline{=gbkkai@UGBK@ <FZKTK.TTF} - \pdfmapline{=gbkhei@UGBK@ <FZHTK.TTF} - \pdfmapline{=gbkfs@UGBK@ <FZFSK.TTF} - \pdfmapline{=gbkli@UGBK@ <FZLSK.TTF} - \pdfmapline{=gbkyou@UGBK@ <FZY1K.TTF} - - \pdfmapline{=cyberb@Unicode@ <FZSSK.TTF} - \pdfmapline{=unisong@Unicode@ <FZSSK.TTF} - \pdfmapline{=unikai@Unicode@ <FZKTK.TTF} - \pdfmapline{=unihei@Unicode@ <FZHTK.TTF} - \pdfmapline{=unifs@Unicode@ <FZFSK.TTF} - \pdfmapline{=unili@Unicode@ <FZLSK.TTF} - \pdfmapline{=uniyou@Unicode@ <FZY1K.TTF} - - \pdfmapline{=gbksongsl@UGBK@ <FZSSK.TTF} - \pdfmapline{=gbkkaisl@UGBK@ <FZKTK.TTF} - \pdfmapline{=gbkheisl@UGBK@ <FZHTK.TTF} - \pdfmapline{=gbkfssl@UGBK@ <FZFSK.TTF} - \pdfmapline{=gbklisl@UGBK@ <FZLSK.TTF} - \pdfmapline{=gbkyousl@UGBK@ <FZY1K.TTF} - + \pdfmapline{=gbk@UGBK@ <FZSSK.TTF} + \pdfmapline{=gbksong@UGBK@ <FZSSK.TTF} + \pdfmapline{=gbkkai@UGBK@ <FZKTK.TTF} + \pdfmapline{=gbkhei@UGBK@ <FZHTK.TTF} + \pdfmapline{=gbkfs@UGBK@ <FZFSK.TTF} + \pdfmapline{=gbkli@UGBK@ <FZLSK.TTF} + \pdfmapline{=gbkyou@UGBK@ <FZY1K.TTF} + \pdfmapline{=cyberb@Unicode@ <FZSSK.TTF} + \pdfmapline{=unisong@Unicode@ <FZSSK.TTF} + \pdfmapline{=unikai@Unicode@ <FZKTK.TTF} + \pdfmapline{=unihei@Unicode@ <FZHTK.TTF} + \pdfmapline{=unifs@Unicode@ <FZFSK.TTF} + \pdfmapline{=unili@Unicode@ <FZLSK.TTF} + \pdfmapline{=uniyou@Unicode@ <FZY1K.TTF} + \pdfmapline{=gbksongsl@UGBK@ <FZSSK.TTF} + \pdfmapline{=gbkkaisl@UGBK@ <FZKTK.TTF} + \pdfmapline{=gbkheisl@UGBK@ <FZHTK.TTF} + \pdfmapline{=gbkfssl@UGBK@ <FZFSK.TTF} + \pdfmapline{=gbklisl@UGBK@ <FZLSK.TTF} + \pdfmapline{=gbkyousl@UGBK@ <FZY1K.TTF} \pdfmapline{=unisongsl@Unicode@ <FZSSK.TTF} \pdfmapline{=unikaisl@Unicode@ <FZKTK.TTF} \pdfmapline{=uniheisl@Unicode@ <FZHTK.TTF} \pdfmapline{=unifssl@Unicode@ <FZFSK.TTF} \pdfmapline{=unilisl@Unicode@ <FZLSK.TTF} \pdfmapline{=uniyousl@Unicode@ <FZY1K.TTF} - \else - \special{pdf:mapline gbk@UGBK@ unicode FZSSK.TTF} - \special{pdf:mapline gbksong@UGBK@ unicode FZSSK.TTF} - \special{pdf:mapline gbkkai@UGBK@ unicode FZKTK.TTF} - \special{pdf:mapline gbkhei@UGBK@ unicode FZHTK.TTF} - \special{pdf:mapline gbkfs@UGBK@ unicode FZFSK.TTF} - \special{pdf:mapline gbkli@UGBK@ unicode FZLSK.TTF} - \special{pdf:mapline gbkyou@UGBK@ unicode FZY1K.TTF} - - \special{pdf:mapline cyberb@Unicode@ unicode FZSSK.TTF} - \special{pdf:mapline unisong@Unicode@ unicode FZSSK.TTF} - \special{pdf:mapline unikai@Unicode@ unicode FZKTK.TTF} - \special{pdf:mapline unihei@Unicode@ unicode FZHTK.TTF} - \special{pdf:mapline unifs@Unicode@ unicode FZFSK.TTF} - \special{pdf:mapline unili@Unicode@ unicode FZLSK.TTF} - \special{pdf:mapline uniyou@Unicode@ unicode FZY1K.TTF} - - \special{pdf:mapline gbksongsl@UGBK@ unicode FZSSK.TTF -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ unicode FZKTK.TTF -s .167} - \special{pdf:mapline gbkheisl@UGBK@ unicode FZHTK.TTF -s .167} - \special{pdf:mapline gbkfssl@UGBK@ unicode FZFSK.TTF -s .167} - \special{pdf:mapline gbklisl@UGBK@ unicode FZLSK.TTF -s .167} - \special{pdf:mapline gbkyousl@UGBK@ unicode FZY1K.TTF -s .167} - + \special{pdf:mapline gbk@UGBK@ unicode FZSSK.TTF} + \special{pdf:mapline gbksong@UGBK@ unicode FZSSK.TTF} + \special{pdf:mapline gbkkai@UGBK@ unicode FZKTK.TTF} + \special{pdf:mapline gbkhei@UGBK@ unicode FZHTK.TTF} + \special{pdf:mapline gbkfs@UGBK@ unicode FZFSK.TTF} + \special{pdf:mapline gbkli@UGBK@ unicode FZLSK.TTF} + \special{pdf:mapline gbkyou@UGBK@ unicode FZY1K.TTF} + \special{pdf:mapline cyberb@Unicode@ unicode FZSSK.TTF} + \special{pdf:mapline unisong@Unicode@ unicode FZSSK.TTF} + \special{pdf:mapline unikai@Unicode@ unicode FZKTK.TTF} + \special{pdf:mapline unihei@Unicode@ unicode FZHTK.TTF} + \special{pdf:mapline unifs@Unicode@ unicode FZFSK.TTF} + \special{pdf:mapline unili@Unicode@ unicode FZLSK.TTF} + \special{pdf:mapline uniyou@Unicode@ unicode FZY1K.TTF} + \special{pdf:mapline gbksongsl@UGBK@ unicode FZSSK.TTF -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ unicode FZKTK.TTF -s .167} + \special{pdf:mapline gbkheisl@UGBK@ unicode FZHTK.TTF -s .167} + \special{pdf:mapline gbkfssl@UGBK@ unicode FZFSK.TTF -s .167} + \special{pdf:mapline gbklisl@UGBK@ unicode FZLSK.TTF -s .167} + \special{pdf:mapline gbkyousl@UGBK@ unicode FZY1K.TTF -s .167} \special{pdf:mapline unisongsl@Unicode@ unicode FZSSK.TTF -s .167} \special{pdf:mapline unikaisl@Unicode@ unicode FZKTK.TTF -s .167} \special{pdf:mapline uniheisl@Unicode@ unicode FZHTK.TTF -s .167} \special{pdf:mapline unifssl@Unicode@ unicode FZFSK.TTF -s .167} \special{pdf:mapline unilisl@Unicode@ unicode FZLSK.TTF -s .167} \special{pdf:mapline uniyousl@Unicode@ unicode FZY1K.TTF -s .167} - +\fi %</founder> % \end{macrocode} % +% \paragraph{\pkg{zhmacfonts.tex}} +% +% \changes{v2.5}{2020/01/15}{å¢žåŠ å—ä½“æ˜ å°„æ–‡ä»¶ \file{zhmacfonts.tex}。} +% +% \begin{macrocode} +%<*mac> +\ifzhmappdf +%% pdfTeX does not support OTF fonts +\else + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H :0:Kaiti.ttc} + \special{pdf:mapline gbkhei@UGBK@ unicode :2:PingFang.ttc} + \special{pdf:mapline gbkfs@UGBK@ unicode STFANGSO.ttf} + \special{pdf:mapline gbkli@UGBK@ UniGB-UTF16-H :0:Baoli.ttc} + \special{pdf:mapline gbkyou@UGBK@ UniGB-UTF16-H :4:Yuanti.ttc} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H :0:Kaiti.ttc} + \special{pdf:mapline unihei@Unicode@ unicode :2:PingFang.ttc} + \special{pdf:mapline unifs@Unicode@ unicode STFANGSO.ttf} + \special{pdf:mapline unili@Unicode@ UniGB-UTF16-H :0:Baoli.ttc} + \special{pdf:mapline uniyou@Unicode@ UniGB-UTF16-H :4:Yuanti.ttc} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H :3:Songti.ttc -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H :0:Kaiti.ttc -s .167} + \special{pdf:mapline gbkheisl@UGBK@ unicode :2:PingFang.ttc -s .167} + \special{pdf:mapline gbkfssl@UGBK@ unicode STFANGSO.ttf -s .167} + \special{pdf:mapline gbklisl@UGBK@ UniGB-UTF16-H :0:Baoli.ttc -s .167} + \special{pdf:mapline gbkyousl@UGBK@ UniGB-UTF16-H :4:Yuanti.ttc -s .167} + \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H :3:Songti.ttc -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H :0:Kaiti.ttc -s .167} + \special{pdf:mapline uniheisl@Unicode@ unicode :2:PingFang.ttc -s .167} + \special{pdf:mapline unifssl@Unicode@ unicode STFANGSO.ttf -s .167} + \special{pdf:mapline unilisl@Unicode@ UniGB-UTF16-H :0:Baoli.ttc -s .167} + \special{pdf:mapline uniyousl@Unicode@ UniGB-UTF16-H :4:Yuanti.ttc -s .167} +\fi +%</mac> +% \end{macrocode} +% % \paragraph{\pkg{zhubuntufonts.tex}} % % \begin{macrocode} %<*ubuntu> -\ProvidesFile{zhubuntufonts.tex}% - [2019/05/29 v2.4.16 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)] - \ifzhmappdf - \pdfmapline{=gbk@UGBK@ <uming.ttc} - \pdfmapline{=gbksong@UGBK@ <uming.ttc} - \pdfmapline{=gbkkai@UGBK@ <ukai.ttc} - \pdfmapline{=gbkhei@UGBK@ <wqy-zenhei.ttc} - \pdfmapline{=gbkfs@UGBK@ <uming.ttc} - \pdfmapline{=gbkyou@UGBK@ <wqy-zenhei.ttc} - - \pdfmapline{=cyberb@Unicode@ <uming.ttc} - \pdfmapline{=unisong@Unicode@ <uming.ttc} - \pdfmapline{=unikai@Unicode@ <ukai.ttc} - \pdfmapline{=unihei@Unicode@ <wqy-zenhei.ttc} - \pdfmapline{=unifs@Unicode@ <uming.ttc} - \pdfmapline{=uniyou@Unicode@ <wqy-zenhei.ttc} - - \pdfmapline{=gbksongsl@UGBK@ <uming.ttc} - \pdfmapline{=gbkkaisl@UGBK@ <ukai.ttc} - \pdfmapline{=gbkheisl@UGBK@ <wqy-zenhei.ttc} - \pdfmapline{=gbkfssl@UGBK@ <uming.ttc} - \pdfmapline{=gbkyousl@UGBK@ <wqy-zenhei.ttc} - - \pdfmapline{=unisongsl@Unicode@ <uming.ttc} - \pdfmapline{=unikaisl@Unicode@ <ukai.ttc} - \pdfmapline{=uniheisl@Unicode@ <wqy-zenhei.ttc} - \pdfmapline{=unifssl@Unicode@ <uming.ttc} - \pdfmapline{=uniyousl@Unicode@ <wqy-zenhei.ttc} - +%% pdfTeX does not support OTF fonts \else - \special{pdf:mapline gbk@UGBK@ unicode :0:uming.ttc} - \special{pdf:mapline gbksong@UGBK@ unicode :0:uming.ttc} - \special{pdf:mapline gbkkai@UGBK@ unicode :0:ukai.ttc} - \special{pdf:mapline gbkhei@UGBK@ unicode :0:wqy-zenhei.ttc} - \special{pdf:mapline gbkfs@UGBK@ unicode :0:uming.ttc} - - \special{pdf:mapline cyberb@Unicode@ unicode :0:uming.ttc} - \special{pdf:mapline unisong@Unicode@ unicode :0:uming.ttc} - \special{pdf:mapline unikai@Unicode@ unicode :0:ukai.ttc} - \special{pdf:mapline unihei@Unicode@ unicode :0:wqy-zenhei.ttc} - \special{pdf:mapline unifs@Unicode@ unicode :0:uming.ttc} - - \special{pdf:mapline gbksongsl@UGBK@ unicode :0:uming.ttc -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ unicode :0:ukai.ttc -s .167} - \special{pdf:mapline gbkheisl@UGBK@ unicode :0:wqy-zenhei.ttc -s .167} - \special{pdf:mapline gbkfssl@UGBK@ unicode :0:uming.ttc -s .167} - - \special{pdf:mapline unisongsl@Unicode@ unicode :0:uming.ttc -s .167} - \special{pdf:mapline unikaisl@Unicode@ unicode :0:ukai.ttc -s .167} - \special{pdf:mapline uniheisl@Unicode@ unicode :0:wqy-zenhei.ttc -s .167} - \special{pdf:mapline unifssl@Unicode@ unicode :0:uming.ttc -s .167} - + \special{pdf:mapline gbk@UGBK@ unicode :2:NotoSerifCJK-Regular.ttc} + \special{pdf:mapline gbksong@UGBK@ unicode :2:NotoSerifCJK-Regular.ttc} + \special{pdf:mapline gbkkai@UGBK@ unicode gkai00mp.ttf} + \special{pdf:mapline gbkhei@UGBK@ unicode :2:NotoSansCJK-Regular.ttc} + \special{pdf:mapline gbkfs@UGBK@ unicode :2:NotoSerifCJK-Regular.ttc} + \special{pdf:mapline cyberb@Unicode@ unicode :2:NotoSerifCJK-Regular.ttc} + \special{pdf:mapline unisong@Unicode@ unicode :2:NotoSerifCJK-Regular.ttc} + \special{pdf:mapline unikai@Unicode@ unicode gkai00mp.ttf} + \special{pdf:mapline unihei@Unicode@ unicode :2:NotoSansCJK-Regular.ttc} + \special{pdf:mapline unifs@Unicode@ unicode :2:NotoSerifCJK-Regular.ttc} + \special{pdf:mapline gbksongsl@UGBK@ unicode :2:NotoSerifCJK-Regular.ttc -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ unicode gkai00mp.ttf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ unicode :2:NotoSansCJK-Regular.ttc -s .167} + \special{pdf:mapline gbkfssl@UGBK@ unicode :2:NotoSerifCJK-Regular.ttc -s .167} + \special{pdf:mapline unisongsl@Unicode@ unicode :2:NotoSerifCJK-Regular.ttc -s .167} + \special{pdf:mapline unikaisl@Unicode@ unicode gkai00mp.ttf -s .167} + \special{pdf:mapline uniheisl@Unicode@ unicode :2:NotoSansCJK-Regular.ttc -s .167} + \special{pdf:mapline unifssl@Unicode@ unicode :2:NotoSerifCJK-Regular.ttc -s .167} +\fi %</ubuntu> % \end{macrocode} % +% \paragraph{\pkg{zhwindowsfonts.tex}} +% % \begin{macrocode} +%<*windows> +\ifzhmappdf + \pdfmapline{=gbk@UGBK@ <simsun.ttc} + \pdfmapline{=gbksong@UGBK@ <simsun.ttc} + \pdfmapline{=gbkkai@UGBK@ <simkai.ttf} + \pdfmapline{=gbkhei@UGBK@ <simhei.ttf} + \pdfmapline{=gbkfs@UGBK@ <simfang.ttf} + \pdfmapline{=gbkli@UGBK@ <simli.ttf} + \pdfmapline{=gbkyou@UGBK@ <simyou.ttf} + \pdfmapline{=cyberb@Unicode@ <simsun.ttc} + \pdfmapline{=unisong@Unicode@ <simsun.ttc} + \pdfmapline{=unikai@Unicode@ <simkai.ttf} + \pdfmapline{=unihei@Unicode@ <simhei.ttf} + \pdfmapline{=unifs@Unicode@ <simfang.ttf} + \pdfmapline{=unili@Unicode@ <simli.ttf} + \pdfmapline{=uniyou@Unicode@ <simyou.ttf} + \pdfmapline{=gbksongsl@UGBK@ <simsun.ttc} + \pdfmapline{=gbkkaisl@UGBK@ <simkai.ttf} + \pdfmapline{=gbkheisl@UGBK@ <simhei.ttf} + \pdfmapline{=gbkfssl@UGBK@ <simfang.ttf} + \pdfmapline{=gbklisl@UGBK@ <simli.ttf} + \pdfmapline{=gbkyousl@UGBK@ <simyou.ttf} + \pdfmapline{=unisongsl@Unicode@ <simsun.ttc} + \pdfmapline{=unikaisl@Unicode@ <simkai.ttf} + \pdfmapline{=uniheisl@Unicode@ <simhei.ttf} + \pdfmapline{=unifssl@Unicode@ <simfang.ttf} + \pdfmapline{=unilisl@Unicode@ <simli.ttf} + \pdfmapline{=uniyousl@Unicode@ <simyou.ttf} +\else + \special{pdf:mapline gbk@UGBK@ unicode :0:simsun.ttc -v 50} + \special{pdf:mapline gbksong@UGBK@ unicode :0:simsun.ttc -v 50} + \special{pdf:mapline gbkkai@UGBK@ unicode simkai.ttf -v 70} + \special{pdf:mapline gbkhei@UGBK@ unicode simhei.ttf -v 150} + \special{pdf:mapline gbkfs@UGBK@ unicode simfang.ttf -v 50} + \special{pdf:mapline gbkli@UGBK@ unicode simli.ttf -v 150} + \special{pdf:mapline gbkyou@UGBK@ unicode simyou.ttf -v 60} + \special{pdf:mapline cyberb@Unicode@ unicode :0:simsun.ttc -v 50} + \special{pdf:mapline unisong@Unicode@ unicode :0:simsun.ttc -v 50} + \special{pdf:mapline unikai@Unicode@ unicode simkai.ttf -v 70} + \special{pdf:mapline unihei@Unicode@ unicode simhei.ttf -v 150} + \special{pdf:mapline unifs@Unicode@ unicode simfang.ttf -v 50} + \special{pdf:mapline unili@Unicode@ unicode simli.ttf -v 150} + \special{pdf:mapline uniyou@Unicode@ unicode simyou.ttf -v 60} + \special{pdf:mapline gbksongsl@UGBK@ unicode :0:simsun.ttc -v 50 -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ unicode simkai.ttf -v 70 -s .167} + \special{pdf:mapline gbkheisl@UGBK@ unicode simhei.ttf -v 150 -s .167} + \special{pdf:mapline gbkfssl@UGBK@ unicode simfang.ttf -v 50 -s .167} + \special{pdf:mapline gbklisl@UGBK@ unicode simli.ttf -v 150 -s .167} + \special{pdf:mapline gbkyousl@UGBK@ unicode simyou.ttf -v 60 -s .167} + \special{pdf:mapline unisongsl@Unicode@ unicode :0:simsun.ttc -v 50 -s .167} + \special{pdf:mapline unikaisl@Unicode@ unicode simkai.ttf -v 70 -s .167} + \special{pdf:mapline uniheisl@Unicode@ unicode simhei.ttf -v 150 -s .167} + \special{pdf:mapline unifssl@Unicode@ unicode simfang.ttf -v 50 -s .167} + \special{pdf:mapline unilisl@Unicode@ unicode simli.ttf -v 150 -s .167} + \special{pdf:mapline uniyousl@Unicode@ unicode simyou.ttf -v 60 -s .167} \fi - +%</windows> +% \end{macrocode} +% +% \begin{macrocode} \ctex@zhmap@endinput %</zhmap> % \end{macrocode} @@ -10562,7 +10880,7 @@ Copyright and Licence \ExplSyntaxOn \sys_if_engine_xetex:F { - \msg_new:nn { ctex } { xetex } + \msg_new:nnn { ctex } { xetex } { XeTeX~is~required~to~compile~this~document! } \msg_fatal:nn { ctex } { xetex } } @@ -10588,7 +10906,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_make_spa:nn} % |#1| 是 \file{spa} 文件å,|#2| 是由 CJK æ—å与å—体构æˆçš„逗å·åˆ—表。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_make_spa:nn #1#2 +\cs_new_protected:Npn \ctex_make_spa:nn #1#2 { \iow_open:Nn \g_@@_spa_iow {#1} \clist_map_inline:nn {#2} @@ -10619,7 +10937,7 @@ Copyright and Licence } \group_end: } -\cs_new_protected_nopar:Npn \@@_save_bounds:n #1 +\cs_new_protected:Npn \@@_save_bounds:n #1 { \clist_put_right:Nx \l_@@_punct_bounds_clist { @@ -10632,7 +10950,7 @@ Copyright and Licence % % \pkg{CJKpunct} è¦æ±‚çš„æ ¼å¼æ˜¯è¾¹ç•Œç©ºç™½å®½åº¦ä¸Ž 1\,em 的比值的一百å€ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \@@_calc_bounds:nn #1#2 +\cs_new:Npn \@@_calc_bounds:nn #1#2 { \fp_eval:n { @@ -10652,19 +10970,20 @@ Copyright and Licence % \begin{macrocode} %<*make> \input ctexspamacro % - \MAKESPA {ctexpunct.spa} { {adobezhsong} {AdobeSongStd-Light} , {adobezhhei} {AdobeHeitiStd-Regular} , {adobezhkai} {AdobeKaitiStd-Regular} , {adobezhfs} {AdobeFangsongStd-Regular} , +% {fandolzhsong} {FandolSong} , {fandolzhsongb} {FandolSong-Bold} , {fandolzhhei} {FandolHei} , {fandolzhheib} {FandolHei-Bold} , {fandolzhkai} {FandolKai} , {fandolzhfs} {FandolFang} , +% {founderzhsong} {FZShuSong-Z01} , {founderzhsongb} {FZXiaoBiaoSong-B05} , {founderzhhei} {FZHei-B01} , @@ -10674,9 +10993,26 @@ Copyright and Licence {founderzhli} {FZLiShu-S01} , {founderzhyou} {FZXiYuan-M01} , {founderzhyoub} {FZZhunYuan-M02} , - {ubuntuzhsong} {AR PL UMing CN} , - {ubuntuzhhei} {WenQuanYi Zen Hei} , - {ubuntuzhkai} {AR PL UKai CN} , +% + {maczhsong} {Songti SC Light} , + {maczhsongb} {Songti SC Bold} , + {maczhhei} {Heiti SC Medium} , + {maczhheil} {Heiti SC Light} , + {maczhkai} {Kaiti SC} , + {maczhkaib} {Kaiti SC Bold} , + {maczhfs} {STFangsong} , + {maczhli} {Baoli SC} , + {maczhyou} {Yuanti SC Light} , + {maczhyoub} {Yuanti SC Regular} , + {maczhpf} {PingFang SC} , + {maczhpfb} {PingFang SC Semibold} , +% + {ubuntuzhsong} {Noto Serif CJK SC} , + {ubuntuzhsongb} {Noto Serif CJK SC Bold} , + {ubuntuzhhei} {Noto Sans CJK SC} , + {ubuntuzhheib} {Noto Sans CJK SC Bold} , + {ubuntuzhkai} {AR PL KaitiM GB} , +% {windowszhsong} {SimSun} , {windowszhhei} {SimHei} , {windowszhkai} {KaiTi} , @@ -10686,7 +11022,6 @@ Copyright and Licence {windowszhyahei} {Microsoft YaHei} , {windowszhyaheib} {Microsoft YaHei Bold} } - \primitive\end %</make> %</spa> @@ -10827,6 +11162,7 @@ Copyright and Licence % \subsection{\pkg{ctexhook} å®åŒ…} % % \changes{v2.2}{2015/06/26}{将文档开头和å®åŒ…末尾钩åæå–到 \pkg{ctexhook} å®åŒ…ä¸ã€‚} +% \changes{v2.5}{2020/04/21}{å¢žåŠ å®åŒ…开头钩å。} % % \begin{macrocode} %<*ctexhook> @@ -10835,13 +11171,13 @@ Copyright and Licence % \begin{macro}[int]{\ctex_at_end_preamble:n,\ctex_after_end_preamble:n} % 实现 \pkg{etoolbox} å®åŒ…çš„ \tn{AtEndPreamble} å’Œ \tn{AfterEndPreamble}。 % \begin{macrocode} -\cs_new_protected:Npn \ctex_at_end_preamble:n #1 - { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl {#1} } -\cs_new_protected:Npn \ctex_after_end_preamble:n #1 - { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl {#1} } -\cs_new_protected_nopar:Npn \CTEX@document@left@hook +\cs_new_protected:Npn \ctex_at_end_preamble:n + { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl } +\cs_new_protected:Npn \ctex_after_end_preamble:n + { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl } +\cs_new_protected:Npn \CTEX@document@left@hook { \group_end: \g_@@_end_preamble_hook_tl \group_begin: } -\cs_new_protected_nopar:Npn \CTEX@document@right@hook +\cs_new_protected:Npn \CTEX@document@right@hook { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D } \cs_set_nopar:Npx \document { @@ -10854,51 +11190,93 @@ Copyright and Licence % \end{macrocode} % \end{macro} % +% \begin{macro}[int]{\ctex_at_begin_package:nn} +% 如果å®åŒ…å·²ç»è¢«è½½å…¥ï¼Œåˆ™é’©åæ— æ•ˆï¼Œç»™å‡ºè¦å‘Šã€‚ +% 在 \pkg{filehook} çš„é’©å\emph{之å‰}起作用。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_at_begin_package:nn #1 + { + \@ifpackageloaded {#1} + { \@@_package_loaded_warning:nn {#1} } + { \ctex_gadd_package_hook:nnn { begin } {#1} } + } +\cs_new_protected:Npn \@@_package_loaded_warning:nn #1#2 + { \msg_warning:nnx { ctex } { invalid-hook } {#1} } +\msg_new:nnn { ctex } { invalid-hook } + { + Package~`#1'~is~loaded. \\ + \token_to_str:N \ctex_at_begin_package:nn \{#1\}\{...\}~is~invalid. + } +% \end{macrocode} +% \end{macro} +% % \begin{macro}[int]{\ctex_at_end_package:nn} % 与 \pkg{filehook} çš„ \tn{AtEndOfPackageFile*} 类似,如果原æ¥æ²¡æœ‰åœ¨è½½å…¥å®åŒ…则 % 在å®åŒ…末尾执行è¯å¥ï¼Œå¦åˆ™ç«‹å³æ‰§è¡Œã€‚ +% 在 \pkg{filehook} çš„é’©å\emph{之åŽ}起作用。 % \begin{macrocode} -\cs_new_protected:Npn \ctex_at_end_package:nn #1#2 +\cs_new_protected:Npn \ctex_at_end_package:nn #1 { \@ifpackageloaded {#1} - {#2} - { \ctex_gadd_hook:cn { g_@@_at_end_ #1 _hook_tl } {#2} } + { \use:n } + { \ctex_gadd_package_hook:nnn { end } {#1} } } % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\ctex_gadd_hook:Nn, \ctex_gadd_hook:cn} +% \begin{macro}[int]{\ctex_gadd_package_hook:nnn, +% \ctex_gadd_hook:Nn, \ctex_gadd_hook:cn} % 给钩åé™„åŠ å†…å®¹ã€‚ % \begin{macrocode} -\cs_new_protected:Npn \ctex_gadd_hook:Nn #1#2 +\cs_new_protected:Npn \ctex_gadd_package_hook:nnn #1#2 + { \ctex_gadd_hook:cn { g_@@_at_ #1 _ #2 _hook_tl } } +\cs_new_protected:Npn \ctex_gadd_hook:Nn #1 { \tl_if_exist:NF #1 { \tl_new:N #1 } - \tl_gput_right:Nn #1 {#2} + \tl_gput_right:Nn #1 } \cs_generate_variant:Nn \ctex_gadd_hook:Nn { c } % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\ctex_package_end_hook:n, \ctex_package_end_hook:o} -% å®åŒ…末尾钩å,åªæ‰§è¡Œä¸€æ¬¡ï¼Œç”¨åŽæ¸…除。 +% \begin{macro}[int]{\ctex_use_package_hook:nn} +% å®åŒ…é’©å,åªæ‰§è¡Œä¸€æ¬¡ï¼Œç”¨åŽæ¸…除。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_use_package_hook:nn #1#2 + { + \group_begin: \exp_args:NNc \group_end: + \@@_use_package_hook_aux:N { g_@@_at_ #1 _ #2 _hook_tl } + } +\cs_new_protected:Npn \@@_use_package_hook_aux:N #1 + { \cs_if_exist_use:NT #1 { \cs_undefine:N #1 } } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\@reset@ptions,\CTEX@reset@ptions@hook} +% \tn{@pushfilename} 内部的 \tn{@currname} å’Œ \tn{@currext} ä¿å˜çš„是 +% å‰ä¸€ä¸ªå®åŒ…的状æ€ï¼Œä¸èƒ½ä½¿ç”¨ã€‚需è¦å¯¹å…¶åŽçš„ \tn{@reset@ptions} åšè¡¥ä¸æ¥å®žçŽ° +% \cs{ctex_at_begin_package:nn} 的功能。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_package_end_hook:n #1 +\tl_put_right:Nn \@reset@ptions { \CTEX@reset@ptions@hook } +\cs_new_protected:Npn \CTEX@reset@ptions@hook { - \cs_if_exist_use:cT { g_@@_at_end_ #1 _hook_tl } - { \cs_undefine:c { g_@@_at_end_ #1 _hook_tl } } + \cs_if_eq:NNT \@currext \@pkgextension + { \ctex_use_package_hook:nn { begin } { \@currname } } } -\cs_generate_variant:Nn \ctex_package_end_hook:n { o } % \end{macrocode} % \end{macro} % +% \begin{macro}[int]{\@popfilename,\CTEX@popfilename@hook} % 对 \tn{@popfilename} åšè¡¥ä¸æ¥å®žçŽ° \cs{ctex_at_end_package:nn} 的功能。 % \begin{macrocode} -\tl_put_left:Nn \@popfilename +\tl_put_left:Nn \@popfilename { \CTEX@popfilename@hook } +\cs_new_protected:Npn \CTEX@popfilename@hook { \cs_if_eq:NNT \@currext \@pkgextension - { \ctex_package_end_hook:o { \@currname } } + { \ctex_use_package_hook:nn { end } { \@currname } } } % \end{macrocode} +% \end{macro} % % \begin{macrocode} %</ctexhook> @@ -10913,10 +11291,6 @@ Copyright and Licence %<*ctexpatch> % \end{macrocode} % -% \begin{macrocode} -\cs_if_exist:NF \str_new:N { \RequirePackage { l3str } } -% \end{macrocode} -% % \begin{macro}[int]{\ctex_patch_cmd_once:NnnnTF} % åªè¿›è¡Œç¬¬ä¸€æ¬¡åŒ¹é…进行替æ¢ã€‚å‚æ•° |#2| 是å®é‡å»ºæ—¶çš„ \tn{catcode} 设置。 % \begin{macrocode} @@ -10988,14 +11362,14 @@ Copyright and Licence % \begin{macrocode} \cs_new_protected:Npn \ctex_patch_boot:NNnnTF #1#2#3#4#5#6 { - \tl_set:Nn \@@_patch_true:w {#5} - \tl_set:Nn \@@_patch_false:w {#6} + \cs_set_protected:Npx \@@_patch_true:w { \exp_not:n {#5} } + \cs_set_protected:Npx \@@_patch_false:w { \exp_not:n {#6} } \group_begin: \char_set_catcode_other:n { 35 } \ctex_parse_name:NN #1 #2 {#3} {#4} } -\tl_new:N \@@_patch_true:w -\tl_new:N \@@_patch_false:w +\cs_new_eq:NN \@@_patch_true:w \use_i:nn +\cs_new_eq:NN \@@_patch_false:w \use_ii:nn % \end{macrocode} % \end{macro} % @@ -11040,7 +11414,7 @@ Copyright and Licence \exp_not:N ##2 \exp_not:c { ##3 ~ } \exp_not:c { #1##3 } - } {##3} ##1 + } { ##3 } ##1 } { ##1##2 } } @@ -11057,8 +11431,8 @@ Copyright and Licence \str_if_eq:eeTF { \exp_not:n { #1@protected@ ##3 #1##3 } } { - \exp_last_unbraced:Nf \@@_parse_name:w - \cs_replacement_spec:N ##3 #3 ~ #2 \q_stop + \exp_last_unbraced:Ne \@@_parse_name:w + { \cs_replacement_spec:N ##3 } #3 ~ #2 \q_stop } { #1##5 ~ } { ##5 ~ } } @@ -11270,903 +11644,4 @@ Copyright and Licence % % \Finale % -% \endinput -% -% \DisableImplementation -% -% \begin{implementation} -% -% \subsection{\cls{ctxdoc}} -% -% \begin{macrocode} -%<*ctxdoc> -% \end{macrocode} -% -% \begin{macrocode} -%<@@=ctxdoc> -% \end{macrocode} -% -% \begin{macrocode} -\ExplSyntaxOff -\let\pdfmdfivesum\mdfivesum -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{l3doc}} -\PassOptionsToClass{a4paper,full}{l3doc} -\ProcessOptions -\@namedef{ver@thumbpdf.sty}{9999/99/99} -\LoadClass{l3doc} -\RequirePackage[UTF8, punct = kaiming, heading, fontset = none, - linespread = 1.2, sub3section]{ctex} -\ifxetex - \xeCJKsetup{AutoFakeBold=false} -\fi -\ctexset{ - fontset, - abstractname = 简介, - indexname = 代ç 索引, - section = { - format = \Large\bfseries\raggedright, - name = {第,节}, - }, -} -\RequirePackage[toc]{multitoc} -\RequirePackage{geometry} -\RequirePackage{tabularx} -\RequirePackage{makecell} -\RequirePackage{threeparttable} -\RequirePackage{siunitx} -\RequirePackage{unicode-math} -\RequirePackage{xcolor} -\RequirePackage{caption} -\RequirePackage{fancyvrb-ex} -\RequirePackage{zref-base} -\geometry{includemp,hmargin={0mm,15mm},vmargin={25mm,15mm},footskip=7mm} -\hypersetup{pdfstartview=FitH,bookmarksdepth=subparagraph} -\setcounter{secnumdepth}{4} -\setcounter{tocdepth}{2} -\newcommand*\email{\nolinkurl} -\setmainfont{TeX Gyre Pagella} -\setsansfont{TeX Gyre Heros} -\setmonofont[ - HyphenChar = None , - UprightFont=* Light, BoldFont=* Bold, - SlantedFont=* Light Oblique]{CMU Typewriter Text} -\setmathfont{texgyrepagella-math.otf} -\captionsetup{strut=off, labelsep=quad, labelfont+=bf} -%% <--- http://tex.stackexchange.com/a/40896 -\patchcmd{\@addtocurcol}% - {\vskip \intextsep}% - {\edef\save@first@penalty{\the\lastpenalty}\unpenalty - \ifnum \lastpenalty = \@M % hopefully the OR penalty - \unpenalty - \else - \penalty \save@first@penalty \relax % put it back - \fi - \ifnum\outputpenalty <-\@Mii - \addvspace\intextsep - \vskip\parskip - \else - \addvspace\intextsep - \fi}% - {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} -\patchcmd{\@addtocurcol}% - {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}% - {\ifnum\outputpenalty <-\@Mii - \aftergroup\vskip\aftergroup\intextsep - \aftergroup\nointerlineskip - \else - \vskip\intextsep - \fi}% - {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} -\patchcmd{\@getpen}{\@M}{\@Mi} - {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} -%% ---> -%% ä¸å¯¹ä»£ç 实现的 \section ä»¥ä¸‹æ ‡é¢˜ç¼–ç›®å½•ã€‚ -\AtBeginEnvironment{implementation}{% - \ifnum\value{tocdepth}>\@ne - \addtocontents{toc}{\protect\value{tocdepth}=1\relax}% - \fi} -\ifxetex - \let\ctexdocverbaddon\xeCJKVerbAddon - \def\ctexdisableecglue{\xeCJKsetup{CJKecglue}} - \def\ctexplainps{\xeCJKsetup{PunctStyle=plain}} - \appto\meta@font@select{\ifinner\ctexdisableecglue\fi} -\else - \let\ctexdocverbaddon\relax - \let\ctexplainps\relax - \def\ctexdisableecglue{\ltjsetparameter{autoxspacing=false}} - \appto\meta@font@select{\ctexdisableecglue} -\fi -\setlist{noitemsep,topsep=\smallskipamount} -\setlist[1]{labelindent=\parindent} -\setlist[enumerate]{leftmargin=*} -\setlist[itemize]{leftmargin=*} -\newlist{optdesc}{description}{3} -%% 设置间è·ä¸º \marginparsep,与 l3doc 一致 -\setlist[optdesc]{% - font=\mdseries\small\ttfamily,align=right,listparindent=\parindent, - labelsep=\marginparsep,labelindent=-\marginparsep,leftmargin=*} -%% é‡æ–°å®šä¹‰ threeparttable 包的 tablenotes 环境 -\renewlist{tablenotes}{description}{1} -\setlist[tablenotes]{% - format=\normalfont\tnote@item,align=right,listparindent=\parindent, - labelindent=\tabcolsep,leftmargin=*,rightmargin=\tabcolsep, - after=\@noparlisttrue} -\AtBeginEnvironment{tablenotes}{% - \setlength\parindent{2\ccwd}% - \normalfont\footnotesize} -\AtBeginEnvironment{threeparttable}{% - \stepcounter{tpt@id}% - \edef\curr@tpt@id{tpt@\arabic{tpt@id}}} -\newcounter{tpt@id} -\def\tnote@item#1{% - \Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}#1} -\def\TPTtagStyle#1{\hyperlink{\curr@tpt@id-#1}{#1}} -\fvset{ - fontsize=\small,baselinestretch=1,numbersep=5pt, - formatcom=\ctexdocverbaddon, - listparameters=\setlength\topsep{\MacrocodeTopsep}} -\DefineVerbatimEnvironment{frameverb}{Verbatim}{% - gobble=4, - frame=single,framesep=8pt, - listparameters= - \setlength\topsep{\medskipamount}% - \appto\FV@EndList{\nointerlineskip}} -\DefineVerbatimEnvironment{ctexexam}{Verbatim}{% - gobble=4, - frame=single,framesep=10pt, - label=\rule{0pt}{12pt}\textnormal{\bfseries 例 \arabic{ctexexam}}, - listparameters= - \setlength\topsep{\bigskipamount}% - \refstepcounter{ctexexam}\ctexexamlabelref - \appto\FV@EndList{\nointerlineskip}} -\define@key{FV}{labelref}{\def\ctexexamlabelref{\label{#1}}} -\let\ctexexamlabelref\empty -\newcounter{ctexexam} -\BeforeBeginEnvironment{function}{\par\nointerlineskip} -\AtEndEnvironment{function}{% - \par\xdef\ctexfixprevdepth{\prevdepth=\the\prevdepth\space}} -\AfterEndEnvironment{function}{\ctexfixprevdepth} -\AtBeginEnvironment{syntax}{\linespread{1}\ctexplainps\ctexdisableecglue} -\BeforeBeginEnvironment{SideBySideExample}{\par\addvspace{\medskipamount}} -\newcommand*\exptarget{\Hy@raisedlink{\hypertarget{expstar}{}}} -\newcommand*\rexptarget{\Hy@raisedlink{\hypertarget{rexpstar}{}}} -\newcommand*\expstar{\hyperlink{expstar}{$\star$}} -\newcommand*\rexpstar{\hyperlink{rexpstar}{\ding{73}}} -\ExplSyntaxOn -%% l3doc ä¼šè®¾ç½®åˆ—è¡¨çŽ¯å¢ƒä¸ \listparindent=\z@,我们在这里æ¢å¤å®ƒã€‚ -\cs_set_eq:NN \list \__codedoc_oldlist:nn -\cs_new_nopar:Npn \zihaopt #1 - { - \exp_last_unbraced:Nf \tl_head:w - { \prop_item:Nn \c__ctex_font_size_prop {#1} } { } \q_stop - } -%% 抑制首段的 \parskip -\ctex_patch_cmd_once:NnnnTF \__codedoc_function_descr_start:w - { } - { \noindent } - { \skip_vertical:n { -\parskip } \noindent } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -%% l3doc 会在 function 环境的 syntax å’Œ descr ç›’åä¸é—´åŠ 上 \medskipamount çš„è·ç¦»ã€‚ -%% 但是若 syntax ç›’å为空(未使用 syntax 环境),就会显得ä¸å¥½çœ‹ã€‚ -%% æ¤æ—¶æˆ‘们通过将 \medskipamount 设置为零æ¥ä¿®æ£ã€‚若盒åéžç©ºï¼Œåˆ™å°† \parskip 还回去。 -\ctex_preto_cmd:NnnTF \__codedoc_function_assemble: - { } - { \ctex_doc_fix_yoffset: } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\cs_new_protected_nopar:Npn \ctex_doc_fix_yoffset: - { - \box_if_empty:NTF \g__codedoc_syntax_box - { \skip_zero:N \medskipamount } - { \skip_add:Nn \medskipamount { \parskip } } - } -%% 左侧边注的函数列表采用å•å€è¡Œè· -\ctex_preto_cmd:NnnTF \__codedoc_typeset_functions: - { } - { \MacroFont } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_init: - { } - { \hbox:n } - { \MacroFont \hbox:n } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_dump: - { } - { \hbox_unpack_drop:N } - { \MacroFont \hbox_unpack_drop:N } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\cs_set_eq:NN \__codedoc_macro_end_style:n \use_none:n -\cs_set_protected:Npn \__codedoc_macro_typeset_one:nN #1#2 - { - \vbox_set:Nn \l__codedoc_macro_box - { - \MacroFont - \vbox_unpack_drop:N \l__codedoc_macro_box - \hbox_set:Nn \l_tmpa_box - { \__codedoc_print_macroname:nN {#1} #2 } - \dim_set:Nn \l_tmpa_dim { \marginparwidth - \labelsep } - \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > \l_tmpa_dim - { - \box_resize_to_wd_and_ht:Nnn \l_tmpa_box - { \l_tmpa_dim } - { \box_ht:N \l_tmpa_box } - } - \hbox_overlap_left:n - { - \box_use:N \l_tmpa_box - \skip_horizontal:n { \marginparsep - \labelsep } - } - } - \int_incr:N \l__codedoc_macro_int - } -\cs_set_protected:Npn \__codedoc_print_macroname:nN #1#2 - { - \strut - \__codedoc_get_hyper_target:xN - { - \exp_not:n {#1} - \bool_if:NT #2 { \tl_to_str:n {TF} } - } - \l__codedoc_tmpa_tl - \cs_if_exist:cTF { r@ \l__codedoc_tmpa_tl } - { \exp_args:NNo \label@hyperref [ \l__codedoc_tmpa_tl ] } - { \use:n } - { - \tl_set:Nn \l__codedoc_tmpa_tl {#1} - \tl_replace_all:Non \l__codedoc_tmpa_tl - { \c_catcode_other_space_tl } - { \fontspec_visible_space: } - \__codedoc_macroname_prefix:o \l__codedoc_tmpa_tl - \__codedoc_macroname_suffix:N #2 - } - } -\AtBeginEnvironment { syntax } - { - \char_set_catcode_active:N \| - \char_set_active_eq:NN \| \orbar - \char_set_catcode_active:N \( - \char_set_active_eq:NN \( \defaultvalaux - } -%% ä¸å¯¹ç›®å½•ä¸å‡ºçŽ°çš„ \cs å’Œ \tn ç‰ç¼–索引 -\DeclareDocumentCommand \StopSpecialIndexModule { } - { \cs_set_eq:NN \__codedoc_special_index_module:nnnnN \use_none:nnnnn } -\tl_map_inline:nn { \actualchar \encapchar \levelchar } - { \exp_args:Nx \DoNotIndex { \bslash \tl_to_str:N #1 } } -\DeclareDocumentCommand \package { o m } - { - \exp_args:Nx \href - { - http \c_colon_str //www.ctan.org/pkg/ - \IfNoValueTF {#1} { \str_fold_case:n {#2} } {#1} - } - { \pkg {#2} } - } -\DeclareDocumentCommand \GetFileId { m } - { - \GetFileInfo {#1} - \file_get:nnNTF { \c_sys_jobname_str .id } - { \int_set:Nn \tex_endlinechar:D { -1 } } \l_@@_tmp_tl - { \exp_after:wN \GetIdInfo \l_@@_tmp_tl } - { \GetIdInfo $Id$ } - { \fileinfo } - } -\cs_new_eq:NN \@@_ltx_changes:nnn \changes@ -\cs_set_protected:Npn \changes@ #1#2 - { - \@@_save_version_date:nn {#1} {#2} - \tl_if_empty:nTF {#1} - { \@@_ltx_changes:nnn } - { \@@_version_zfill:wnnn #1 \q_stop } - {#1} {#2} - } -\cs_new_protected:Npn \@@_version_zfill:wnnn #1#2 \q_stop - { - \str_if_eq:nnTF {#1} { v } - { \@@_version_zfill:nnnn {#2} } - { \@@_ltx_changes:nnn } - } -\cs_new_protected:Npn \@@_version_zfill:nnnn #1#2 - { - \tl_clear:N \l_@@_tmp_tl - \int_zero:N \l_tmpa_int - \seq_set_split:Nnn \l_tmpa_seq { . } {#1} - \seq_map_function:NN \l_tmpa_seq \@@_version_zfill:n - \int_compare:nNnF \l_tmpa_int > 2 - { - \tl_put_right:Nx \l_@@_tmp_tl - { \prg_replicate:nn { 3 - \l_tmpa_int } { 00000 } } - } - \@@_ltx_changes:nnn { \l_@@_tmp_tl \actualchar #2 } - } -\tl_new:N \l_@@_tmp_tl -\cs_new_protected:Npn \@@_version_zfill:n #1 - { - \int_incr:N \l_tmpa_int - \tl_put_right:Nx \l_@@_tmp_tl - { - \prg_replicate:nn - { \int_max:nn { 0 } { 5 - \tl_count:n {#1} } } { 0 } - \exp_not:n {#1} - } - } -\cs_new_protected:Npn \@@_save_version_date:nn #1#2 - { - \prop_get:NnNTF \g_@@_version_date_prop {#1} \l_@@_tmp_tl - { \exp_after:wN \@@_save_version_date:nnnn \l_@@_tmp_tl {#2} {#1} } - { \@@_save_version_date:nnn {#1} {#2} {#2} } - } -\cs_new_protected:Npn \@@_save_version_date:nnnn #1#2#3#4 - { - \@@_if_date_later:nnTF {#1} {#3} - { \@@_save_version_date:nnn {#4} {#3} {#2} } - { - \@@_if_date_later:nnT {#3} {#2} - { \@@_save_version_date:nnn {#4} {#1} {#3} } - } - } -\prg_new_conditional:Npnn \@@_if_date_later:nn #1#2 { TF , T } - { - \if_int_compare:w \@@_parse_date:w #1 / / / 0 \q_stop > - \@@_parse_date:w #2 / / / 0 \q_stop \exp_stop_f: - \prg_return_true: \else: \prg_return_false: \fi: - } -\cs_new:Npn \@@_parse_date:w #1/#2/#3/ #4 \q_stop - { #1#2#3 } -\cs_new_protected:Npn \@@_save_version_date:nnn #1#2#3 - { \prop_gput:Nnn \g_@@_version_date_prop {#1} { {#2} {#3} } } -\cs_new_protected:Npn \CTEX@versionitem #1 \efill - { - \@idxitem - \prop_get:NnNTF \g_@@_version_date_prop {#1} \l_@@_tmp_tl - { \exp_after:wN \@@_version_item:nnn \l_@@_tmp_tl {#1} } - { \BOOM } - } -\cs_new_protected:Npn \@@_version_item:nnn #1#2#3 - { - \noindent - \Hy@raisedlink { \belowpdfbookmark {#3} { HD.#3 } } - \textbf {#3} \hfill - \hbox:n - { - \footnotesize - \str_if_eq:nnTF {#1} {#2} - { ( #1 ) } - { ( #1 ~ -- ~ #2 ) } - } - \par \nopagebreak - } -\prop_new:N \g_@@_version_date_prop -\ctex_patch_cmd:Nnn \HDorg@theglossary - { \let \item \@idxitem } - { \let \item \CTEX@versionitem } -\ctex_patch_cmd:Nnn \l@section { 2.5em } { 1.5em } -\ctex_patch_cmd:Nnn \l@subsection { 2.5em } { 1.5em } -\ctex_patch_cmd:Nnn \@wrglossary - { hdpindex } - { - \ifnum \c@HD@hypercount = \z@ - hdpindex - \else - hdclindex { \the \c@HD@hypercount } - \fi - } -%% é‡å®šä¹‰ macrocode 环境的实现,é€è¡Œå¤„ç† -\cs_set_protected_nopar:Npn \xmacro@code - { \@@_marco_code:w } -\cs_set_protected_nopar:Npn \sxmacro@code - { - \fontspec_print_visible_spaces: - \xmacro@code - } -\cs_new_protected_nopar:Npn \@@_marco_code:w - { - \ifcodeline@index - \@@_marco_every_par:n { \@@_code_line_no: } - \else: - \@@_marco_every_par:n { } - \fi: - \exp_args:Nx \@@_make_finish_tag:n { \@currenvir } - \@@_verbatim_start:w - } -\cs_new_protected:Npn \@@_marco_every_par:n #1 - { - \everypar - { - \everypar {#1} - \if@inlabel - \global \@inlabelfalse - \@noparlistfalse - \llap { \box \@labels \hskip \leftskip } - \fi - #1 - } - } -\ctex_patch_cmd:Nnn \macro@code - { \if@inlabel \leavevmode \fi } - { \partopsep \z@skip } -\group_begin: - \int_set:Nn \tex_endlinechar:D { -1 } - \use:n - { - \char_set_catcode_active:n { 32 } - \tl_const:Nn \c_@@_active_space_tl - } - { } -\group_end: -\group_begin: - \char_set_catcode_active:n { 13 } - \cs_new_protected:Npx \@@_make_finish_tag:n #1 - { - \tl_set:Nn \exp_not:N \l_@@_verbatim_finish_tl - { - \c_percent_str - \prg_replicate:nn { 4 } - { \exp_not:o { \c_@@_active_space_tl } } - \exp_not:o { \active@escape@char } end - \c_left_brace_str #1 \c_right_brace_str - \exp_not:N ^^M - } - } - \cs_new_protected:Npn \@@_verbatim_start:w #1 - { - \str_if_eq:nnTF {#1} { ^^M } - { \@@_verbatim_read_line:w } - { \@@_verbatim_read_line:w #1 } - } - \cs_new_protected:Npn \@@_verbatim_read_line:w #1 ^^M - { - \tl_set:Nn \l_@@_verbatim_line_tl { #1 ^^M } - \tl_if_eq:NNTF \l_@@_verbatim_line_tl \l_@@_verbatim_finish_tl - { \exp_args:Nx \end { \@currenvir } } - { - \@@_verbatim_process_line: - \@@_verbatim_read_line:w - } - } - \cs_new_protected:Npn \@@_swap_cr: - { \exp_after:wN \@@_swap_cr:w \l_@@_verbatim_line_tl } - \cs_new_protected:Npn \@@_swap_cr:w #1 ^^M - { - \group_insert_after:N ^^M - \tl_set:Nn \l_@@_verbatim_line_tl {#1} - } - \tl_const:Nn \c_@@_active_cr_tl { ^^M } -\group_end: -\tl_new:N \l_@@_verbatim_line_tl -\tl_new:N \l_@@_verbatim_finish_tl -\tl_new:N \g_@@_verbatim_verb_stop_tl -\cs_new_protected_nopar:Npn \@@_process_normal_line: - { - \str_if_eq:eeTF - { \str_head:N \l_@@_verbatim_line_tl } { \c_percent_str } - { \@@_check_angle:x { \tl_tail:N \l_@@_verbatim_line_tl } } - { \@@_output_line: } - } -\cs_new_protected_nopar:Npn \@@_process_verb_line: - { - \tl_if_eq:NNTF \l_@@_verbatim_line_tl \g_@@_verbatim_verb_stop_tl - { - \tl_gclear:N \g_@@_verbatim_verb_stop_tl - \cs_gset_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: - \@@_output_module:nn - { \color { verb@guard } } - { - \@@_swap_cr: - \@@_module_pop:n { \l_@@_verbatim_line_tl } - } - } - { \tl_use:N \l_@@_verbatim_line_tl } - } -\cs_new_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: -\DeclareDocumentCommand \CheckModules { } - { \cs_set_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: } -\DeclareDocumentCommand \DontCheckModules { } - { \cs_set_eq:NN \@@_verbatim_process_line: \@@_output_line: } -\cs_new_protected:Npn \@@_check_angle:n #1 - { - \str_if_eq:eeTF { \str_head:n {#1} } { < } - { \@@_check_module:x { \tl_tail:n {#1} } } - { \@@_output_percent_line: } - } -\cs_generate_variant:Nn \@@_check_angle:n { x } -\cs_new_protected:Npn \@@_check_module:n #1 - { - \exp_args:Nx \str_case:nnF { \str_head:n {#1} } - { - { * } { \@@_module_star:w } - { / } { \@@_module_slash:w } - { @ } { \@@_module_at:w } - { < } { \@@_module_verb:w } - } - { \@@_module_pm:w } - #1 \q_stop - } -\cs_generate_variant:Nn \@@_check_module:n { x } -\group_begin: - \char_set_catcode_active:N \> - \cs_new_protected:Npn \@@_module_star:w #1 > #2 \q_stop - { - \@@_output_module:nn - { \@@_star_color: } - { \@@_module_push:n { \@@_module_angle:n {#1} } } - \@@_output_line:n {#2} - \@@_star_format: - } - \cs_new_protected:Npn \@@_module_slash:w #1 > #2 \q_stop - { - \@@_output_module:nn - { \@@_slash_color: } - { \@@_module_pop:n { \@@_module_angle:n {#1} } } - \@@_output_line:n {#2} - \@@_slash_format: - } - \cs_new_protected:Npn \@@_module_at:w @ @ = #1 > #2 \q_stop - { - \@@_output_module:nn - { \color { at@guard } } - { \@@_module_angle:n { @ @ = #1 } } - \tl_gset:Nn \g__codedoc_module_name_tl {#1} - \@@_output_line:n {#2} - } - \cs_new_protected:Npn \@@_module_pm:w #1 > #2 \q_stop - { - \tex_noindent:D - \hbox_overlap_left:n - { - \@@_output_module:nn - { \@@_pm_color: } - { \@@_module_angle:n {#1} } - \skip_horizontal:n { \leftskip + \smallskipamount } - } - \group_begin: - \@@_pm_format: - \@@_output_line:n {#2} - \group_end: - } - \cs_new_protected:Npn \@@_module_verb:w #1 \q_stop - { - \cs_gset_eq:NN \@@_verbatim_process_line: \@@_process_verb_line: - \tl_gset:Nx \g_@@_verbatim_verb_stop_tl - { \c_percent_str \tl_tail:n {#1} } - \@@_output_module:nn - { \color { verb@guard } } - { - \@@_swap_cr: - \@@_module_push:n { \l_@@_verbatim_line_tl } - } - } -\group_end: -\cs_new_protected_nopar:Npn \@@_output_line: - { - \tex_noindent:D - \@@_replace_at_at:N \l_@@_verbatim_line_tl - \tl_use:N \l_@@_verbatim_line_tl - } -\cs_new_protected:Npn \@@_replace_at_at:N #1 - { - \tl_if_empty:NF \g__codedoc_module_name_tl - { - \exp_args:NNo \@@_replace_at_at_aux:Nn - #1 \g__codedoc_module_name_tl - } - } -\cs_new_protected:Npn \@@_replace_at_at_aux:Nn #1#2 - { - \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 } - \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 } - } -\cs_new_protected:Npn \@@_output_line:n #1 - { - \tl_set:Nn \l_@@_verbatim_line_tl {#1} - \tl_if_eq:NNTF \l_@@_verbatim_line_tl \c_@@_active_cr_tl - { \tl_use:N \l_@@_verbatim_line_tl } - { - \str_if_eq:eeTF - { \str_head:N \l_@@_verbatim_line_tl } - { \c_percent_str } - { \@@_output_percent_line: } - { \@@_output_line: } - } - } -\cs_new_protected:Npn \@@_output_percent_line: - { - \tex_noindent:D - \group_begin: - \color { code@gray } - \@@_swap_cr: - \str_if_eq:eeTF { \f@shape } { \updefault } - { \slshape } - { \upshape } - \@@_output_line: - \group_end: - } -\cs_new_protected_nopar:Npn \@@_module_push:n - { \exp_args:No \@@_module_push_aux:nn { \int_use:N \c@HD@hypercount } } -\cs_new_protected:Npn \@@_module_push_aux:nn #1 - { - \seq_gpush:Nn \g_@@_module_dest_seq {#1} - \hypersetup { hidelinks } - \exp_args:Nx \hdclindex - { \zref@extractdefault { HD.#1 } { guard@end } { 1 } } { } - } -\cs_new_protected_nopar:Npn \@@_module_pop:n - { - \seq_gpop:NNTF \g_@@_module_dest_seq \l_@@_tmp_tl - { \exp_args:No \@@_module_pop_aux:nn { \l_@@_tmp_tl } } - { \BOOM \use:n } - } -\cs_new_protected:Npn \@@_module_pop_aux:nn #1 - { - \zref@labelbylist { HD.#1 } { ctxdoc } - \hypersetup { hidelinks } - \hdclindex {#1} { } - } -\seq_new:N \g_@@_module_dest_seq -\zref@newlist { ctxdoc } -\zref@newprop { guard@end } [ 1 ] - { \int_eval:n { \c@HD@hypercount - 1 } } -\zref@addprop { ctxdoc } { guard@end } -\cs_new_protected_nopar:Npn \@@_star_format: - { - \seq_gpush:No \g_@@_slash_format_seq { \macro@font } - \seq_gpop:NNF \g_@@_star_format_seq \l_@@_format_tl - { \@@_pop_format: } - \@@_select_format: - } -\cs_new_protected_nopar:Npn \@@_slash_format: - { - \seq_gpop:NNTF \g_@@_slash_format_seq \l_@@_format_tl - { - \seq_gpush:No \g_@@_star_format_seq { \macro@font } - \@@_select_format: - } - { \BOOM } - } -\cs_new_protected_nopar:Npn \@@_pm_format: - { - \seq_get:NNF \g_@@_star_format_seq \l_@@_format_tl - { - \@@_pop_format: - \seq_gpush:No \g_@@_star_format_seq { \l_@@_format_tl } - } - \cs_if_eq:NNF \macro@font \l_@@_format_tl - { \l_@@_format_tl } - } -\cs_new_protected_nopar:Npn \@@_pop_format: - { - \seq_gpop_left:NN \g_@@_format_seq \l_@@_format_tl - \seq_gput_right:No \g_@@_format_seq { \l_@@_format_tl } - } -\cs_new_protected_nopar:Npn \@@_select_format: - { - \cs_if_eq:NNF \macro@font \l_@@_format_tl - { - \cs_gset_eq:NN \macro@font \l_@@_format_tl - \macro@font - } - } -\tl_new:N \l_@@_format_tl -\seq_new:N \g_@@_format_seq -\seq_new:N \g_@@_star_format_seq -\seq_new:N \g_@@_slash_format_seq -\seq_gput_right:Nn \g_@@_format_seq { \MacroFont } -\seq_gput_right:Nn \g_@@_format_seq { \AltMacroFont } -\cs_set_protected:Npn \MacroFont - { - \linespread { 1 } - \small - \fontseries { \mddefault } - \fontshape { \updefault } - \ttfamily - \ctexdocverbaddon - } -\cs_set_protected:Npn \AltMacroFont - { - \linespread { 1 } - \small - \fontseries { \mddefault } - \fontshape { \sldefault } - \ttfamily - \ctexdocverbaddon - } -\AtBeginDocument - { - \tl_gset:Nx \macro@font - { \seq_item:Nn \g_@@_format_seq { 1 } } - } -\cs_new_protected:Npn \@@_output_module:nn #1#2 - { - \tex_noindent:D - \group_begin: - #1 - \footnotesize \normalfont \sffamily #2 - \group_end: - } -\cs_new_protected_nopar:Npn \@@_star_color: - { - \seq_gpop:NNTF \g_@@_star_color_seq \current@color - { \set@color } - { \@@_select_color: } - \seq_gpush:No \g_@@_slash_color_seq { \current@color } - } -\cs_new_protected_nopar:Npn \@@_slash_color: - { - \seq_gpop:NNTF \g_@@_slash_color_seq \current@color - { - \set@color - \seq_gpush:No \g_@@_star_color_seq { \current@color } - } - { \BOOM } - } -\cs_new_protected_nopar:Npn \@@_pm_color: - { - \seq_get:NNTF \g_@@_star_color_seq \current@color - { \set@color } - { - \@@_select_color: - \seq_gpush:No \g_@@_star_color_seq { \current@color } - } - } -\seq_new:N \g_@@_star_color_seq -\seq_new:N \g_@@_slash_color_seq -\cs_new_protected_nopar:Npn \@@_select_color: - { \color { guard@series!!+ } } -\definecolorseries { guard@series } - { cmyk } { last } { blue } { purple } -\resetcolorseries [ 3 ] { guard@series } -\definecolor { verb@guard } { rgb } { 0.5 , 0.5 , 0 } -\definecolor { at@guard } { rgb } { 0.5 , 0 , 0.5 } -\definecolor { code@gray } { gray } { 0.5 } -\cs_new_protected:Npn \@@_module_angle:n #1 - { \textlangle #1 \textrangle } -\cs_new_protected_nopar:Npn \@@_code_line_no: - { - \int_gincr:N \c@CodelineNo - \hbox_overlap_left:n - { - \hbox_to_wd:nn - { \MacroIndent } - { - \HD@target - \tex_hss:D - \@@_code_line_no_style: - \theCodelineNo \enspace - } - \tex_kern:D \@totalleftmargin - } - } -\tl_set:Nn \theCodelineNo - { \arabic { CodelineNo } } -\cs_new_protected_nopar:Npn \@@_code_line_no_style: - { \color { code@gray } \normalfont \sffamily \tiny } -\cs_set_protected:Npn \HD@SetMacroIndent #1 - { - \group_begin: - \settowidth \MacroIndent - { - \@@_code_line_no_style: - \prg_replicate:nn { \tl_count:n {#1} } { 0 } - \enspace - } - \dim_gset_eq:NN \MacroIndent \MacroIndent - \group_end: - } -\ExplSyntaxOff -\AtBeginDocument{\addtocontents{toc}{\StopSpecialIndexModule}} -\pdfstringdefDisableCommands{% - \let\path\meta - \let\opt\@firstofone} -\preto\@thehead{\cslet{MakeUppercase\space}{\@iden}} -\def\orbar{\textup{\textbar}} -\def\defaultval#1{\textbf{\textup{#1}}} -\def\defaultvalaux#1){\defaultval{#1}} -\def\TF{true\orbar false} -\def\TTF{\defaultval{true}\orbar false} -\def\TFF{true\orbar\defaultval{false}} -\protected\def\opt{\texttt} -\def\pdfTeX{\hologo{pdfTeX}} -\def\XeTeX{\hologo{XeTeX}} -\def\XeLaTeX{\hologo{XeLaTeX}} -\def\LuaLaTeX{\hologo{LuaLaTeX}} -\def\pdfLaTeX{\hologo{pdfLaTeX}} -\def\LaTeX{\hologo{LaTeX}} -\def\LaTeXe{\hologo{LaTeX2e}} -\def\LaTeXiii{\hologo{LaTeX3}} -\def\dvipdfmx{DVIPDFM\textit{x}} -\def\TeX{\hologo{TeX}} -\def\ApTeX{Ap\TeX} -\def\ApLaTeX{Ap\LaTeX} -\def\upTeX{up\TeX} -\def\upLaTeX{up\LaTeX} -\def\bashcmd{\texttt} -\def\TeXLive{\TeX\ Live} -\def\MiKTeX{\hologo{MiKTeX}} -\def\BSTACK{\begin{tabular}[t]{@{}l@{}}} -\def\ESTACK{\end{tabular}} -\newenvironment{defaultcapconfig}{% - \MakePercentComment - \input{ctex-name-utf8.cfg}% - \ExplSyntaxOff - \MakePercentIgnore}{} -\def\ctexkit{\href{https://github.com/CTeX-org/ctex-kit/}{\texttt{ctex-kit}}} -\def\ctexkitrev#1{% - \href{https://github.com/CTeX-org/ctex-kit/commit/#1}{\texttt{ctex-kit} rev. #1}} -\appto\GlossaryParms{% - \raggedcolumns - \let\Hy@writebookmark\HDorg@writebookmark - \def\@idxitem{\par\hangindent 2em }% - \def\subitem{\@idxitem\hspace*{1em}}% - \def\subsubitem{\@idxitem\hspace*{2em}}} -\def\glossaryname{版本历å²} -\GlossaryPrologue{\section{\glossaryname}} -\IndexPrologue{% - \section{\indexname} - \textit{æ„大利体的数å—表示æ述对应索引项的页ç ï¼› - 带下划线的数å—表示定义对应索引项的代ç è¡Œå·ï¼› - 罗马å—体的数å—表示使用对应索引项的代ç è¡Œå·ã€‚}} -\def\IndexLayout{% - \newgeometry{hmargin=15mm,vmargin={25mm,15mm},footskip=7mm}% - \setlength\IndexMin{.5\textheight}% - \ctexset{section/numbering=false}% - \StopSpecialIndexModule} -\EnableCrossrefs -\CodelineIndex -\RecordChanges -% \end{macrocode} -% -% \begin{macrocode} -%</ctxdoc> -% \end{macrocode} -% -% \subsection{\pkg{ctxdocstrip}} -% -% \begin{macrocode} -%<*docstrip> -\csname ctxdocstriploaded\endcsname -\let\ctxdocstriploaded\endinput -\input l3docstrip % -\edef\ctxresetcatcode{% - \catcode\number`\$=\the\catcode`\$\relax} -\makeOther\$ -\def\plusOption+#1>#2$#3$\endLine{% - \maybeMsg{<+#1 . >}% - \Evaluate{#1}% - \def\ctxCMD{#2}% - \def\ctxID{$#3$}% - \def\do##1##2##3{% - \if1\Expr{##2}% - \readIDFile - \StreamPut##1{\inLine}% - \fi - }% - \activefiles -} -\def\readIDFile{% - \openin\inputcheck=\jobname.id\relax - \ifeof\inputcheck\else - \read \inputcheck to \inLine - \closein\inputcheck - \ifx\inLine\empty\else - \let\ctxID\inLine - \fi - \fi - \maybeMsg{^^J\ctxID^^J}% - \def\inLine{\ctxCMD\ctxID}% -} -\keepsilent -\askforoverwritefalse -\declarepreamble\emptypreamble -\endpreamble -\declarepostamble\emptypostamble -\endpostamble -\ctxresetcatcode -%</docstrip> -% \end{macrocode} -% -% \end{implementation} -% \endinput diff --git a/language/chinese/ctex/ctex.pdf b/language/chinese/ctex/ctex.pdf Binary files differindex 88f89a1e10..7f13942d03 100644 --- a/language/chinese/ctex/ctex.pdf +++ b/language/chinese/ctex/ctex.pdf diff --git a/language/chinese/ctex/ctexpunct.spa b/language/chinese/ctex/ctexpunct.spa index 2c6e37c497..a535be5ed7 100644 --- a/language/chinese/ctex/ctexpunct.spa +++ b/language/chinese/ctex/ctexpunct.spa @@ -17,9 +17,23 @@ \ctexspadef{founderzhli}{69,19,58,9,48,21,45,27,48,25,47,32,48,27,48,39,48,21,43,17,47,33,47,33,0,0,11,11,11,61,13,63,17,66,7,80,20,70,19,68,20,70,3,54,9,9,25,48,32,47,27,48,40,48,21,48,17,43,33,47,33,47,19,69,9,58,21,48,27,45,,,} \ctexspadef{founderzhyou}{67,16,61,11,48,11,45,14,48,20,48,17,48,16,48,39,48,12,42,16,48,30,48,30,0,0,12,11,11,61,9,59,17,67,11,83,20,70,18,69,21,70,4,54,12,12,20,48,17,48,16,48,39,48,12,48,16,41,30,48,29,48,16,67,11,61,11,48,14,45,,,} \ctexspadef{founderzhyoub}{69,18,60,10,46,13,43,16,46,17,45,20,46,18,46,31,45,13,38,14,44,29,46,30,-3,0,10,9,9,61,9,59,19,69,7,82,18,68,18,67,20,69,2,52,17,17,17,46,20,45,18,46,32,46,13,45,14,38,29,44,30,46,19,69,10,60,14,46,17,43,,,} -\ctexspadef{ubuntuzhsong}{66,21,58,7,58,8,55,11,59,18,71,7,71,2,40,38,58,13,52,4,64,6,58,14,7,7,11,10,38,38,38,38,17,73,21,70,13,78,13,75,27,63,4,52,4,5,18,59,7,71,2,71,38,40,13,58,4,51,6,64,14,58,16,70,8,56,10,58,11,54,,,} -\ctexspadef{ubuntuzhhei}{6,6,4,4,60,10,61,11,62,12,65,15,67,15,62,15,63,13,57,6,19,52,63,13,-0,0,11,11,10,70,10,68,44,44,45,44,44,44,44,44,43,45,27,27,19,16,12,62,15,65,15,67,15,62,13,63,6,56,3,68,13,63,6,6,4,4,10,60,11,61,,,} -\ctexspadef{ubuntuzhkai}{68,20,58,9,58,8,55,11,59,18,59,20,59,18,53,23,58,13,52,4,58,8,58,14,7,7,11,10,38,38,38,38,40,42,43,43,43,43,43,43,43,43,25,28,10,11,18,59,20,59,18,59,24,53,13,58,4,51,8,58,14,58,17,70,9,58,10,58,11,54,,,} +\ctexspadef{maczhsong}{4,4,4,4,63,14,59,7,63,13,64,13,70,12,59,13,61,12,47,7,56,7,58,8,0,0,11,11,10,68,13,63,17,68,20,70,20,70,18,68,20,70,12,59,18,18,14,62,10,66,12,69,9,64,12,61,7,47,7,56,8,58,4,4,4,4,14,63,7,59,,,} +\ctexspadef{maczhsongb}{4,4,4,4,62,13,49,13,62,10,65,10,59,13,62,14,61,12,43,9,56,4,56,14,0,0,11,10,7,67,13,62,15,66,18,67,18,69,16,66,18,69,10,60,14,10,10,62,10,64,12,60,14,62,12,61,9,43,4,56,14,56,4,4,4,4,12,62,12,50,,,} +\ctexspadef{maczhhei}{68,15,58,4,62,13,56,6,61,11,65,12,66,16,63,12,59,14,51,5,55,5,60,10,0,0,8,11,13,60,13,62,20,70,20,70,20,70,20,70,20,70,3,54,9,10,10,62,12,65,16,65,9,66,14,60,7,48,5,55,10,60,14,68,4,58,13,62,6,56,,,} +\ctexspadef{maczhheil}{71,17,65,7,60,11,56,6,59,9,67,10,66,15,64,13,58,14,51,6,53,6,60,8,0,0,9,10,10,61,12,62,20,70,20,70,20,70,20,70,21,71,4,55,9,9,9,59,10,67,15,66,13,64,14,58,6,51,6,53,8,60,17,71,7,65,11,60,6,56,,,} +\ctexspadef{maczhkai}{5,5,6,3,63,14,59,7,63,13,62,12,60,11,61,15,61,12,47,7,56,7,58,8,0,0,12,11,10,68,13,63,18,67,20,69,19,69,17,67,19,70,14,57,15,10,14,62,10,65,10,60,13,63,12,61,7,47,7,56,8,58,4,4,4,5,14,63,7,59,,,} +\ctexspadef{maczhkaib}{5,6,4,4,65,10,54,8,62,14,63,9,65,10,60,14,61,13,50,8,58,10,60,10,0,0,10,10,11,68,13,63,17,68,18,68,18,68,17,68,19,69,11,59,15,12,13,62,9,63,9,66,13,60,13,61,8,50,10,58,10,61,6,5,4,4,9,65,8,55,,,} +\ctexspadef{maczhfs}{71,14,62,8,63,14,59,7,63,13,62,12,60,11,61,15,61,12,47,7,56,7,58,8,0,0,12,11,10,68,13,63,18,67,20,69,19,69,17,67,19,70,7,58,15,10,14,62,10,65,10,60,13,63,12,61,7,47,7,56,8,58,15,68,8,60,14,63,7,59,,,} +\ctexspadef{maczhli}{4,2,7,4,69,2,61,4,65,6,62,6,48,2,46,1,67,5,52,4,61,3,65,3,0,-0,10,7,10,64,11,66,18,67,43,41,18,67,15,67,19,67,11,57,14,13,4,67,6,63,2,47,1,50,5,67,4,52,3,61,3,65,4,2,7,4,6,67,4,61,,,} +\ctexspadef{maczhyou}{5,5,5,9,71,4,58,4,71,4,75,6,75,6,69,5,73,4,57,4,59,4,63,4,0,0,12,12,12,64,13,66,19,70,15,75,19,72,18,71,19,72,5,58,11,11,4,71,6,75,6,75,5,69,4,73,4,57,4,59,4,63,5,5,7,10,4,71,4,58,,,} +\ctexspadef{maczhyoub}{3,3,4,7,69,2,57,2,70,2,74,4,74,6,67,3,71,2,55,2,58,4,63,4,0,0,10,10,9,62,12,62,17,68,13,72,17,68,16,68,18,68,4,56,10,10,2,70,4,74,6,74,3,67,2,71,2,55,4,58,4,63,3,4,5,7,2,69,2,57,,,} +\ctexspadef{maczhpf}{12,8,12,8,65,3,62,3,67,3,70,8,72,4,67,4,65,8,51,6,63,3,66,5,0,0,11,11,13,63,12,62,12,74,12,76,19,69,18,68,19,69,3,53,8,8,3,67,8,70,4,72,4,67,8,65,6,51,3,63,5,66,8,12,8,12,3,65,3,62,,,} +\ctexspadef{maczhpfb}{12,8,12,8,64,3,61,3,66,3,67,8,70,4,65,4,63,8,47,6,61,3,64,5,0,0,9,9,11,61,11,61,11,71,11,73,17,67,17,66,17,67,2,52,7,7,3,66,8,67,4,70,4,65,8,63,6,47,3,61,5,64,8,12,8,12,3,64,3,61,,,} +\ctexspadef{ubuntuzhsong}{77,8,57,8,66,4,60,4,71,4,65,6,71,4,58,3,53,4,52,4,61,4,62,4,4,4,11,11,4,71,4,68,8,77,9,78,17,70,15,70,19,69,6,55,9,9,4,71,6,65,4,71,3,58,4,53,4,52,4,61,4,62,8,77,8,57,4,66,4,60,,,} +\ctexspadef{ubuntuzhsongb}{75,8,53,8,65,3,62,3,72,3,64,6,72,3,57,3,53,3,53,3,62,3,63,3,4,4,11,11,3,69,4,68,5,77,6,77,18,65,18,65,17,67,4,54,7,7,3,72,6,64,3,72,3,57,3,53,3,53,3,62,3,63,8,75,8,53,3,65,3,62,,,} +\ctexspadef{ubuntuzhhei}{81,5,62,4,65,3,60,3,71,4,70,5,71,3,70,4,59,5,53,4,62,3,67,3,5,5,10,10,5,66,4,65,14,67,16,68,18,67,15,66,19,69,3,54,8,8,4,71,5,70,3,71,4,70,5,59,4,53,3,62,3,67,5,81,4,62,3,65,3,60,,,} +\ctexspadef{ubuntuzhheib}{80,4,60,2,64,3,60,3,69,2,66,4,71,3,68,3,56,5,52,3,63,3,66,3,5,5,9,9,4,64,3,64,16,61,18,62,16,66,13,64,16,66,3,53,5,5,2,69,4,66,3,71,3,68,5,56,3,52,3,63,3,66,4,80,2,60,3,64,3,60,,,} +\ctexspadef{ubuntuzhkai}{53,33,53,19,58,8,59,9,61,11,60,10,62,12,60,10,56,6,54,4,58,8,58,8,7,7,15,15,26,53,29,53,19,67,22,68,30,60,27,59,26,63,7,57,25,23,11,61,10,60,12,62,10,60,6,56,3,54,8,58,8,58,32,54,19,53,8,58,9,59,,,} \ctexspadef{windowszhsong}{67,13,46,13,62,14,61,14,65,17,57,14,55,14,53,18,64,11,54,10,47,11,49,14,3,3,10,10,11,64,14,64,11,71,13,73,12,73,12,73,23,63,14,52,15,13,16,66,14,57,14,55,19,52,11,66,9,54,11,48,14,51,14,68,13,48,14,62,14,61,,,} \ctexspadef{windowszhhei}{78,9,56,9,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,9,11,14,64,13,63,14,72,14,73,19,68,18,68,25,64,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,8,79,8,56,18,50,18,50,,,} \ctexspadef{windowszhkai}{67,13,46,13,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,10,10,11,64,13,63,11,71,13,73,17,68,17,68,23,63,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,14,68,13,48,18,50,18,50,,,} diff --git a/language/chinese/ctex/ctxdoc.cls b/language/chinese/ctex/ctxdoc.cls new file mode 100644 index 0000000000..4cd102e496 --- /dev/null +++ b/language/chinese/ctex/ctxdoc.cls @@ -0,0 +1,867 @@ +%% +%% File ctxdoc.cls +%% +%% Copyright (C) 2016--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%%--------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%%--------------------------------------------------------------------- +%% +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{expl3} +\GetIdInfo$Id: ctxdoc.cls 25394ad 2020-04-20 20:56:32 +0800 Qing Lee <sobenlee@gmail.com> $ + {ctex documentation (CTEX)} +\ProvidesExplClass{ctxdoc}{\ExplFileDate}{}{\ExplFileDescription} +\ExplSyntaxOff +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{l3doc}} +\PassOptionsToClass{a4paper,full}{l3doc} +\ProcessOptions +\LoadClass{l3doc} +\RequirePackage[UTF8, punct=kaiming, heading, linespread=1.2, sub3section]{ctex} +\ctexset{ + abstractname = 简介, + indexname = 代ç 索引, + section/format = \Large\bfseries\raggedright, + section/name = {第,节}, +} +\RequirePackage[toc]{multitoc} +\RequirePackage{geometry} +\RequirePackage{tabularx} +\RequirePackage{makecell} +\RequirePackage{threeparttable} +\RequirePackage{siunitx} +\RequirePackage{unicode-math} +\RequirePackage{xcolor} +\RequirePackage{caption} +\RequirePackage{fancyvrb-ex} +\RequirePackage{zref-base} +\geometry{includemp, hmargin={0mm,15mm}, vmargin={25mm,15mm}, footskip=7mm} +\hypersetup{pdfstartview=FitH, bookmarksdepth=subparagraph} +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{2} +\newcommand*\email{\nolinkurl} +\setmainfont{texgyrepagella}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic] +\setsansfont{texgyreheros}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic] +\setmonofont{cmun}[ + Extension = .otf, + UprightFont = *btl, + BoldFont = *tb, + ItalicFont = *bto, + BoldItalicFont = *tx, + HyphenChar = None] +\setmathfont{texgyrepagella-math.otf} +\captionsetup{strut=off, labelsep=quad, labelfont+=bf} +%% <--- http://tex.stackexchange.com/a/40896 +\patchcmd{\@addtocurcol}% + {\vskip \intextsep}% + {\edef\save@first@penalty{\the\lastpenalty}\unpenalty + \ifnum \lastpenalty = \@M % hopefully the OR penalty + \unpenalty + \else + \penalty \save@first@penalty \relax % put it back + \fi + \ifnum\outputpenalty <-\@Mii + \addvspace\intextsep + \vskip\parskip + \else + \addvspace\intextsep + \fi}% + {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} +\patchcmd{\@addtocurcol}% + {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}% + {\ifnum\outputpenalty <-\@Mii + \aftergroup\vskip\aftergroup\intextsep + \aftergroup\nointerlineskip + \else + \vskip\intextsep + \fi}% + {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} +\patchcmd{\@getpen}{\@M}{\@Mi} + {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} +%% ---> +%% ä¸å¯¹ä»£ç 实现的 \section ä»¥ä¸‹æ ‡é¢˜ç¼–ç›®å½•ã€‚ +\AtBeginEnvironment{implementation}{% + \ifnum\value{tocdepth}>\@ne + \addtocontents{toc}{\protect\value{tocdepth}=1\relax}% + \fi} +\ifxetex + \let\ctexdocverbaddon\xeCJKVerbAddon + \def\ctexdisableecglue{\xeCJKsetup{CJKecglue}} + \def\ctexplainps{\xeCJKsetup{PunctStyle=plain}} + \appto\meta@font@select{\ifinner\ctexdisableecglue\fi} +\else + \let\ctexdocverbaddon\relax + \let\ctexplainps\relax + \def\ctexdisableecglue{\ltjsetparameter{autoxspacing=false}} + \appto\meta@font@select{\ctexdisableecglue} +\fi +\setlist{noitemsep,topsep=\smallskipamount} +\setlist[1]{labelindent=\parindent} +\setlist[enumerate]{leftmargin=*} +\setlist[itemize]{leftmargin=*} +\newlist{optdesc}{description}{3} +%% 设置间è·ä¸º \marginparsep,与 l3doc 一致 +\setlist[optdesc]{% + font=\mdseries\small\ttfamily,align=right,listparindent=\parindent, + labelsep=\marginparsep,labelindent=-\marginparsep,leftmargin=0pt} +%% é‡æ–°å®šä¹‰ threeparttable 包的 tablenotes 环境 +\renewlist{tablenotes}{description}{1} +\setlist[tablenotes]{% + format=\normalfont\tnote@item,align=right,listparindent=\parindent, + labelindent=\tabcolsep,leftmargin=*,rightmargin=\tabcolsep, + after=\@noparlisttrue} +\AtBeginEnvironment{tablenotes}{% + \setlength\parindent{2\ccwd}% + \normalfont\footnotesize} +\AtBeginEnvironment{threeparttable}{% + \stepcounter{tpt@id}% + \edef\curr@tpt@id{tpt@\arabic{tpt@id}}} +\newcounter{tpt@id} +\def\tnote@item#1{% + \Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}#1} +\def\TPTtagStyle#1{\hyperlink{\curr@tpt@id-#1}{#1}} +\fvset{ + fontsize=\small,baselinestretch=1,numbersep=5pt, + formatcom=\ctexdocverbaddon, + listparameters=\setlength\topsep{\MacrocodeTopsep}} +\DefineVerbatimEnvironment{frameverb}{Verbatim}{% + gobble=4, + frame=single,framesep=8pt, + listparameters= + \setlength\topsep{\medskipamount}% + \appto\FV@EndList{\nointerlineskip}} +\DefineVerbatimEnvironment{ctexexam}{Verbatim}{% + gobble=4, + frame=single,framesep=10pt, + label=\rule{0pt}{12pt}\textnormal{\bfseries 例 \arabic{ctexexam}}, + listparameters= + \setlength\topsep{\bigskipamount}% + \refstepcounter{ctexexam}\ctexexamlabelref + \appto\FV@EndList{\nointerlineskip}} +\define@key{FV}{labelref}{\def\ctexexamlabelref{\label{#1}}} +\let\ctexexamlabelref\empty +\newcounter{ctexexam} +\BeforeBeginEnvironment{function}{\par\nointerlineskip} +\AtEndEnvironment{function}{% + \par\xdef\ctexfixprevdepth{\prevdepth=\the\prevdepth\space}} +\AfterEndEnvironment{function}{\ctexfixprevdepth} +\AtBeginEnvironment{syntax}{\linespread{1}\ctexplainps\ctexdisableecglue} +\BeforeBeginEnvironment{SideBySideExample}{\par\addvspace{\medskipamount}} +\newcommand*\exptarget{\Hy@raisedlink{\hypertarget{expstar}{}}} +\newcommand*\rexptarget{\Hy@raisedlink{\hypertarget{rexpstar}{}}} +\newcommand*\expstar{\hyperlink{expstar}{$\star$}} +\newcommand*\rexpstar{\hyperlink{rexpstar}{\ding{73}}} +\ExplSyntaxOn +%% l3doc ä¼šè®¾ç½®åˆ—è¡¨çŽ¯å¢ƒä¸ \listparindent=\z@,我们在这里æ¢å¤å®ƒã€‚ +\cs_set_eq:NN \list \__codedoc_oldlist:nn +\cs_new_nopar:Npn \zihaopt #1 + { + \exp_last_unbraced:Nf \tl_head:w + { \prop_item:Nn \c__ctex_font_size_prop {#1} } { } \q_stop + } +%% 抑制首段的 \parskip +\ctex_patch_cmd_once:NnnnTF \__codedoc_function_descr_start:w + { } + { \noindent } + { \skip_vertical:n { -\parskip } \noindent } + { \iow_term:n { *** ~ SUCCESS ~ *** } } + { \iow_term:n { *** ~ FAIL ~ *** } } +%% l3doc 会在 function 环境的 syntax å’Œ descr ç›’åä¸é—´åŠ 上 \medskipamount çš„è·ç¦»ã€‚ +%% 但是若 syntax ç›’å为空(未使用 syntax 环境),就会显得ä¸å¥½çœ‹ã€‚ +%% æ¤æ—¶æˆ‘们通过将 \medskipamount 设置为零æ¥ä¿®æ£ã€‚若盒åéžç©ºï¼Œåˆ™å°† \parskip 还回去。 +\ctex_preto_cmd:NnnTF \__codedoc_function_assemble: + { } + { \ctex_doc_fix_yoffset: } + { \iow_term:n { *** ~ SUCCESS ~ *** } } + { \iow_term:n { *** ~ FAIL ~ *** } } +\cs_new_protected_nopar:Npn \ctex_doc_fix_yoffset: + { + \box_if_empty:NTF \g__codedoc_syntax_box + { \skip_zero:N \medskipamount } + { \skip_add:Nn \medskipamount { \parskip } } + } +%% 左侧边注的函数列表采用å•å€è¡Œè· +\ctex_preto_cmd:NnnTF \__codedoc_typeset_functions: + { } + { \MacroFont } + { \iow_term:n { *** ~ SUCCESS ~ *** } } + { \iow_term:n { *** ~ FAIL ~ *** } } +\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_init: + { } + { \hbox:n } + { \MacroFont \hbox:n } + { \iow_term:n { *** ~ SUCCESS ~ *** } } + { \iow_term:n { *** ~ FAIL ~ *** } } +\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_dump: + { } + { \hbox_unpack_drop:N } + { \MacroFont \hbox_unpack_drop:N } + { \iow_term:n { *** ~ SUCCESS ~ *** } } + { \iow_term:n { *** ~ FAIL ~ *** } } +\cs_set_eq:NN \__codedoc_macro_end_style:n \use_none:n +\cs_set_protected:Npn \__codedoc_macro_typeset_one:nN #1#2 + { + \vbox_set:Nn \l__codedoc_macro_box + { + \MacroFont + \vbox_unpack_drop:N \l__codedoc_macro_box + \hbox_set:Nn \l_tmpa_box + { \__codedoc_print_macroname:nN {#1} #2 } + \dim_set:Nn \l_tmpa_dim { \marginparwidth - \labelsep } + \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > \l_tmpa_dim + { + \box_resize_to_wd_and_ht:Nnn \l_tmpa_box + { \l_tmpa_dim } + { \box_ht:N \l_tmpa_box } + } + \hbox_overlap_left:n + { + \box_use:N \l_tmpa_box + \skip_horizontal:n { \marginparsep - \labelsep } + } + } + \int_incr:N \l__codedoc_macro_int + } +\cs_set_protected:Npn \__codedoc_print_macroname:nN #1#2 + { + \strut + \__codedoc_get_hyper_target:xN + { + \exp_not:n {#1} + \bool_if:NT #2 { \tl_to_str:n {TF} } + } + \l__codedoc_tmpa_tl + \cs_if_exist:cTF { r@ \l__codedoc_tmpa_tl } + { \exp_args:NNo \label@hyperref [ \l__codedoc_tmpa_tl ] } + { \use:n } + { + \tl_set:Nn \l__codedoc_tmpa_tl {#1} + \tl_replace_all:Non \l__codedoc_tmpa_tl + { \c_catcode_other_space_tl } + { \fontspec_visible_space: } + \__codedoc_macroname_prefix:o \l__codedoc_tmpa_tl + \__codedoc_macroname_suffix:N #2 + } + } +\AtBeginEnvironment { syntax } + { + \char_set_catcode_active:N \| + \char_set_active_eq:NN \| \orbar + \char_set_catcode_active:N \( + \char_set_active_eq:NN \( \defaultvalaux + } +%% ä¸å¯¹ç›®å½•ä¸å‡ºçŽ°çš„ \cs å’Œ \tn ç‰ç¼–索引 +\DeclareDocumentCommand \StopSpecialIndexModule { } + { \cs_set_eq:NN \__codedoc_special_index_module:nnnnN \use_none:nnnnn } +\tl_map_inline:nn { \actualchar \encapchar \levelchar } + { \exp_args:Nx \DoNotIndex { \bslash \tl_to_str:N #1 } } +\DeclareDocumentCommand \package { o m } + { + \exp_args:Nx \href + { + http \c_colon_str //www.ctan.org/pkg/ + \IfNoValueTF {#1} { \str_lowercase:n {#2} } {#1} + } + { \pkg {#2} } + } +\DeclareDocumentCommand \GetFileId { m } + { + \GetFileInfo {#1} + \file_get:nnNTF { \c_sys_jobname_str .id } + { \int_set:Nn \tex_endlinechar:D { -1 } } \l__ctxdoc_tmp_tl + { \exp_after:wN \GetIdInfo \l__ctxdoc_tmp_tl } + { \GetIdInfo $Id$ } + { \fileinfo } + } +\cs_new_eq:NN \__ctxdoc_ltx_changes:nnn \changes@ +\cs_set_protected:Npn \changes@ #1#2 + { + \__ctxdoc_save_version_date:nn {#1} {#2} + \tl_if_empty:nTF {#1} + { \__ctxdoc_ltx_changes:nnn } + { \__ctxdoc_version_zfill:wnnn #1 \q_stop } + {#1} {#2} + } +\cs_new_protected:Npn \__ctxdoc_version_zfill:wnnn #1#2 \q_stop + { + \str_if_eq:nnTF {#1} { v } + { \__ctxdoc_version_zfill:nnnn {#2} } + { \__ctxdoc_ltx_changes:nnn } + } +\cs_new_protected:Npn \__ctxdoc_version_zfill:nnnn #1#2 + { + \tl_clear:N \l__ctxdoc_tmp_tl + \int_zero:N \l_tmpa_int + \seq_set_split:Nnn \l_tmpa_seq { . } {#1} + \seq_map_function:NN \l_tmpa_seq \__ctxdoc_version_zfill:n + \int_compare:nNnF \l_tmpa_int > 2 + { + \tl_put_right:Nx \l__ctxdoc_tmp_tl + { \prg_replicate:nn { 3 - \l_tmpa_int } { 00000 } } + } + \__ctxdoc_ltx_changes:nnn { \l__ctxdoc_tmp_tl \actualchar #2 } + } +\tl_new:N \l__ctxdoc_tmp_tl +\cs_new_protected:Npn \__ctxdoc_version_zfill:n #1 + { + \int_incr:N \l_tmpa_int + \tl_put_right:Nx \l__ctxdoc_tmp_tl + { + \prg_replicate:nn + { \int_max:nn { 0 } { 5 - \tl_count:n {#1} } } { 0 } + \exp_not:n {#1} + } + } +\cs_new_protected:Npn \__ctxdoc_save_version_date:nn #1#2 + { + \prop_get:NnNTF \g__ctxdoc_version_date_prop {#1} \l__ctxdoc_tmp_tl + { \exp_after:wN \__ctxdoc_save_version_date:nnnn \l__ctxdoc_tmp_tl {#2} {#1} } + { \__ctxdoc_save_version_date:nnn {#1} {#2} {#2} } + } +\cs_new_protected:Npn \__ctxdoc_save_version_date:nnnn #1#2#3#4 + { + \__ctxdoc_if_date_later:nnTF {#1} {#3} + { \__ctxdoc_save_version_date:nnn {#4} {#3} {#2} } + { + \__ctxdoc_if_date_later:nnT {#3} {#2} + { \__ctxdoc_save_version_date:nnn {#4} {#1} {#3} } + } + } +\prg_new_conditional:Npnn \__ctxdoc_if_date_later:nn #1#2 { TF , T } + { + \if_int_compare:w \__ctxdoc_parse_date:w #1 / / / 0 \q_stop > + \__ctxdoc_parse_date:w #2 / / / 0 \q_stop \exp_stop_f: + \prg_return_true: \else: \prg_return_false: \fi: + } +\cs_new:Npn \__ctxdoc_parse_date:w #1/#2/#3/ #4 \q_stop + { #1#2#3 } +\cs_new_protected:Npn \__ctxdoc_save_version_date:nnn #1#2#3 + { \prop_gput:Nnn \g__ctxdoc_version_date_prop {#1} { {#2} {#3} } } +\cs_new_protected:Npn \CTEX@versionitem #1 \efill + { + \@idxitem + \prop_get:NnNTF \g__ctxdoc_version_date_prop {#1} \l__ctxdoc_tmp_tl + { \exp_after:wN \__ctxdoc_version_item:nnn \l__ctxdoc_tmp_tl {#1} } + { \BOOM } + } +\cs_new_protected:Npn \__ctxdoc_version_item:nnn #1#2#3 + { + \noindent + \Hy@raisedlink { \belowpdfbookmark {#3} { HD.#3 } } + \textbf {#3} \hfill + \hbox:n + { + \footnotesize + \str_if_eq:nnTF {#1} {#2} + { ( #1 ) } + { ( #1 ~ -- ~ #2 ) } + } + \par \nopagebreak + } +\prop_new:N \g__ctxdoc_version_date_prop +\ctex_patch_cmd:Nnn \HDorg@theglossary + { \let \item \@idxitem } + { \let \item \CTEX@versionitem } +\ctex_patch_cmd:Nnn \l@section { 2.5em } { 1.5em } +\ctex_patch_cmd:Nnn \l@subsection { 2.5em } { 1.5em } +\ctex_patch_cmd:Nnn \@wrglossary + { hdpindex } + { + \ifnum \c@HD@hypercount = \z@ + hdpindex + \else + hdclindex { \the \c@HD@hypercount } + \fi + } +%% é‡å®šä¹‰ macrocode 环境的实现,é€è¡Œå¤„ç† +\cs_set_protected_nopar:Npn \xmacro@code + { \__ctxdoc_marco_code:w } +\cs_set_protected_nopar:Npn \sxmacro@code + { + \fontspec_print_visible_spaces: + \xmacro@code + } +\cs_new_protected_nopar:Npn \__ctxdoc_marco_code:w + { + \ifcodeline@index + \__ctxdoc_marco_every_par:n { \__ctxdoc_code_line_no: } + \else: + \__ctxdoc_marco_every_par:n { } + \fi: + \exp_args:Nx \__ctxdoc_make_finish_tag:n { \@currenvir } + \__ctxdoc_verbatim_start:w + } +\cs_new_protected:Npn \__ctxdoc_marco_every_par:n #1 + { + \everypar + { + \everypar {#1} + \if@inlabel + \global \@inlabelfalse + \@noparlistfalse + \llap { \box \@labels \hskip \leftskip } + \fi + #1 + } + } +\ctex_patch_cmd:Nnn \macro@code + { \if@inlabel \leavevmode \fi } + { \partopsep \z@skip } +\group_begin: + \int_set:Nn \tex_endlinechar:D { -1 } + \use:n + { + \char_set_catcode_active:n { 32 } + \tl_const:Nn \c__ctxdoc_active_space_tl + } + { } +\group_end: +\group_begin: + \char_set_catcode_active:n { 13 } + \cs_new_protected:Npx \__ctxdoc_make_finish_tag:n #1 + { + \tl_set:Nn \exp_not:N \l__ctxdoc_verbatim_finish_tl + { + \c_percent_str + \prg_replicate:nn { 4 } + { \exp_not:o { \c__ctxdoc_active_space_tl } } + \exp_not:o { \active@escape@char } end + \c_left_brace_str #1 \c_right_brace_str + \exp_not:N ^^M + } + } + \cs_new_protected:Npn \__ctxdoc_verbatim_start:w #1 + { + \str_if_eq:nnTF {#1} { ^^M } + { \__ctxdoc_verbatim_read_line:w } + { \__ctxdoc_verbatim_read_line:w #1 } + } + \cs_new_protected:Npn \__ctxdoc_verbatim_read_line:w #1 ^^M + { + \tl_set:Nn \l__ctxdoc_verbatim_line_tl { #1 ^^M } + \tl_if_eq:NNTF \l__ctxdoc_verbatim_line_tl \l__ctxdoc_verbatim_finish_tl + { \exp_args:Nx \end { \@currenvir } } + { + \__ctxdoc_verbatim_process_line: + \__ctxdoc_verbatim_read_line:w + } + } + \cs_new_protected:Npn \__ctxdoc_swap_cr: + { \exp_after:wN \__ctxdoc_swap_cr:w \l__ctxdoc_verbatim_line_tl } + \cs_new_protected:Npn \__ctxdoc_swap_cr:w #1 ^^M + { + \group_insert_after:N ^^M + \tl_set:Nn \l__ctxdoc_verbatim_line_tl {#1} + } + \tl_const:Nn \c__ctxdoc_active_cr_tl { ^^M } +\group_end: +\tl_new:N \l__ctxdoc_verbatim_line_tl +\tl_new:N \l__ctxdoc_verbatim_finish_tl +\tl_new:N \g__ctxdoc_verbatim_verb_stop_tl +\cs_new_protected_nopar:Npn \__ctxdoc_process_normal_line: + { + \str_if_eq:eeTF + { \str_head:N \l__ctxdoc_verbatim_line_tl } { \c_percent_str } + { \__ctxdoc_check_angle:x { \tl_tail:N \l__ctxdoc_verbatim_line_tl } } + { \__ctxdoc_output_line: } + } +\cs_new_protected_nopar:Npn \__ctxdoc_process_verb_line: + { + \tl_if_eq:NNTF \l__ctxdoc_verbatim_line_tl \g__ctxdoc_verbatim_verb_stop_tl + { + \tl_gclear:N \g__ctxdoc_verbatim_verb_stop_tl + \cs_gset_eq:NN \__ctxdoc_verbatim_process_line: \__ctxdoc_process_normal_line: + \__ctxdoc_output_module:nn + { \color { verb@guard } } + { + \__ctxdoc_swap_cr: + \__ctxdoc_module_pop:n { \l__ctxdoc_verbatim_line_tl } + } + } + { \tl_use:N \l__ctxdoc_verbatim_line_tl } + } +\cs_new_eq:NN \__ctxdoc_verbatim_process_line: \__ctxdoc_process_normal_line: +\DeclareDocumentCommand \CheckModules { } + { \cs_set_eq:NN \__ctxdoc_verbatim_process_line: \__ctxdoc_process_normal_line: } +\DeclareDocumentCommand \DontCheckModules { } + { \cs_set_eq:NN \__ctxdoc_verbatim_process_line: \__ctxdoc_output_line: } +\cs_new_protected:Npn \__ctxdoc_check_angle:n #1 + { + \str_if_eq:eeTF { \str_head:n {#1} } { < } + { \__ctxdoc_check_module:x { \tl_tail:n {#1} } } + { \__ctxdoc_output_percent_line: } + } +\cs_generate_variant:Nn \__ctxdoc_check_angle:n { x } +\cs_new_protected:Npn \__ctxdoc_check_module:n #1 + { + \exp_args:Nx \str_case:nnF { \str_head:n {#1} } + { + { * } { \__ctxdoc_module_star:w } + { / } { \__ctxdoc_module_slash:w } + { @ } { \__ctxdoc_module_at:w } + { < } { \__ctxdoc_module_verb:w } + } + { \__ctxdoc_module_pm:w } + #1 \q_stop + } +\cs_generate_variant:Nn \__ctxdoc_check_module:n { x } +\group_begin: + \char_set_catcode_active:N \> + \cs_new_protected:Npn \__ctxdoc_module_star:w #1 > #2 \q_stop + { + \__ctxdoc_output_module:nn + { \__ctxdoc_star_color: } + { \__ctxdoc_module_push:n { \__ctxdoc_module_angle:n {#1} } } + \__ctxdoc_output_line:n {#2} + \__ctxdoc_star_format: + } + \cs_new_protected:Npn \__ctxdoc_module_slash:w #1 > #2 \q_stop + { + \__ctxdoc_output_module:nn + { \__ctxdoc_slash_color: } + { \__ctxdoc_module_pop:n { \__ctxdoc_module_angle:n {#1} } } + \__ctxdoc_output_line:n {#2} + \__ctxdoc_slash_format: + } + \cs_new_protected:Npn \__ctxdoc_module_at:w @ @ = #1 > #2 \q_stop + { + \__ctxdoc_output_module:nn + { \color { at@guard } } + { \__ctxdoc_module_angle:n { @ @ = #1 } } + \tl_gset:Nn \g__codedoc_module_name_tl {#1} + \__ctxdoc_output_line:n {#2} + } + \cs_new_protected:Npn \__ctxdoc_module_pm:w #1 > #2 \q_stop + { + \tex_noindent:D + \hbox_overlap_left:n + { + \__ctxdoc_output_module:nn + { \__ctxdoc_pm_color: } + { \__ctxdoc_module_angle:n {#1} } + \skip_horizontal:n { \leftskip + \smallskipamount } + } + \group_begin: + \__ctxdoc_pm_format: + \__ctxdoc_output_line:n {#2} + \group_end: + } + \cs_new_protected:Npn \__ctxdoc_module_verb:w #1 \q_stop + { + \cs_gset_eq:NN \__ctxdoc_verbatim_process_line: \__ctxdoc_process_verb_line: + \tl_gset:Nx \g__ctxdoc_verbatim_verb_stop_tl + { \c_percent_str \tl_tail:n {#1} } + \__ctxdoc_output_module:nn + { \color { verb@guard } } + { + \__ctxdoc_swap_cr: + \__ctxdoc_module_push:n { \l__ctxdoc_verbatim_line_tl } + } + } +\group_end: +\cs_new_protected_nopar:Npn \__ctxdoc_output_line: + { + \tex_noindent:D + \__ctxdoc_replace_at_at:N \l__ctxdoc_verbatim_line_tl + \tl_use:N \l__ctxdoc_verbatim_line_tl + } +\cs_new_protected:Npn \__ctxdoc_replace_at_at:N #1 + { + \tl_if_empty:NF \g__codedoc_module_name_tl + { + \exp_args:NNo \__ctxdoc_replace_at_at_aux:Nn + #1 \g__codedoc_module_name_tl + } + } +\cs_new_protected:Npx \__ctxdoc_replace_at_at_aux:Nn #1#2 + { + \tl_replace_all:Nnn #1 { \token_to_str:N @ } { @ } + \tl_replace_all:Nnn #1 { \token_to_str:N _ } { _ } + \tl_replace_all:Nnn #1 { @ @ @ @ } { \token_to_str:N a a } + \tl_replace_all:Nnn #1 { _ _ @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { \token_to_str:N a a } { @ @ } + } +\cs_new_protected:Npn \__ctxdoc_output_line:n #1 + { + \tl_set:Nn \l__ctxdoc_verbatim_line_tl {#1} + \tl_if_eq:NNTF \l__ctxdoc_verbatim_line_tl \c__ctxdoc_active_cr_tl + { \tl_use:N \l__ctxdoc_verbatim_line_tl } + { + \str_if_eq:eeTF + { \str_head:N \l__ctxdoc_verbatim_line_tl } + { \c_percent_str } + { \__ctxdoc_output_percent_line: } + { \__ctxdoc_output_line: } + } + } +\cs_new_protected:Npn \__ctxdoc_output_percent_line: + { + \tex_noindent:D + \group_begin: + \color { code@gray } + \__ctxdoc_swap_cr: + \str_if_eq:eeTF { \f@shape } { \updefault } + { \slshape } + { \upshape } + \__ctxdoc_output_line: + \group_end: + } +\cs_new_protected_nopar:Npn \__ctxdoc_module_push:n + { \exp_args:No \__ctxdoc_module_push_aux:nn { \int_use:N \c@HD@hypercount } } +\cs_new_protected:Npn \__ctxdoc_module_push_aux:nn #1 + { + \seq_gpush:Nn \g__ctxdoc_module_dest_seq {#1} + \hypersetup { hidelinks } + \exp_args:Nx \hdclindex + { \zref@extractdefault { HD.#1 } { guard@end } { 1 } } { } + } +\cs_new_protected_nopar:Npn \__ctxdoc_module_pop:n + { + \seq_gpop:NNTF \g__ctxdoc_module_dest_seq \l__ctxdoc_tmp_tl + { \exp_args:No \__ctxdoc_module_pop_aux:nn { \l__ctxdoc_tmp_tl } } + { \BOOM \use:n } + } +\cs_new_protected:Npn \__ctxdoc_module_pop_aux:nn #1 + { + \zref@labelbylist { HD.#1 } { ctxdoc } + \hypersetup { hidelinks } + \hdclindex {#1} { } + } +\seq_new:N \g__ctxdoc_module_dest_seq +\zref@newlist { ctxdoc } +\zref@newprop { guard@end } [ 1 ] + { \int_eval:n { \c@HD@hypercount - 1 } } +\zref@addprop { ctxdoc } { guard@end } +\cs_new_protected_nopar:Npn \__ctxdoc_star_format: + { + \seq_gpush:No \g__ctxdoc_slash_format_seq { \macro@font } + \seq_gpop:NNF \g__ctxdoc_star_format_seq \l__ctxdoc_format_tl + { \__ctxdoc_pop_format: } + \__ctxdoc_select_format: + } +\cs_new_protected_nopar:Npn \__ctxdoc_slash_format: + { + \seq_gpop:NNTF \g__ctxdoc_slash_format_seq \l__ctxdoc_format_tl + { + \seq_gpush:No \g__ctxdoc_star_format_seq { \macro@font } + \__ctxdoc_select_format: + } + { \BOOM } + } +\cs_new_protected_nopar:Npn \__ctxdoc_pm_format: + { + \seq_get:NNF \g__ctxdoc_star_format_seq \l__ctxdoc_format_tl + { + \__ctxdoc_pop_format: + \seq_gpush:No \g__ctxdoc_star_format_seq { \l__ctxdoc_format_tl } + } + \cs_if_eq:NNF \macro@font \l__ctxdoc_format_tl + { \l__ctxdoc_format_tl } + } +\cs_new_protected_nopar:Npn \__ctxdoc_pop_format: + { + \seq_gpop_left:NN \g__ctxdoc_format_seq \l__ctxdoc_format_tl + \seq_gput_right:No \g__ctxdoc_format_seq { \l__ctxdoc_format_tl } + } +\cs_new_protected_nopar:Npn \__ctxdoc_select_format: + { + \cs_if_eq:NNF \macro@font \l__ctxdoc_format_tl + { + \cs_gset_eq:NN \macro@font \l__ctxdoc_format_tl + \macro@font + } + } +\tl_new:N \l__ctxdoc_format_tl +\seq_new:N \g__ctxdoc_format_seq +\seq_new:N \g__ctxdoc_star_format_seq +\seq_new:N \g__ctxdoc_slash_format_seq +\seq_gput_right:Nn \g__ctxdoc_format_seq { \MacroFont } +\seq_gput_right:Nn \g__ctxdoc_format_seq { \AltMacroFont } +\cs_set_protected:Npn \MacroFont + { + \linespread { 1 } + \small + \fontseries { \mddefault } + \fontshape { \updefault } + \ttfamily + \ctexdocverbaddon + } +\cs_set_protected:Npn \AltMacroFont + { + \linespread { 1 } + \small + \fontseries { \mddefault } + \fontshape { \sldefault } + \ttfamily + \ctexdocverbaddon + } +\AtBeginDocument + { + \tl_gset:Nx \macro@font + { \seq_item:Nn \g__ctxdoc_format_seq { 1 } } + } +\cs_new_protected:Npn \__ctxdoc_output_module:nn #1#2 + { + \tex_noindent:D + \group_begin: + #1 + \footnotesize \normalfont \sffamily #2 + \group_end: + } +\cs_new_protected_nopar:Npn \__ctxdoc_star_color: + { + \seq_gpop:NNTF \g__ctxdoc_star_color_seq \current@color + { \set@color } + { \__ctxdoc_select_color: } + \seq_gpush:No \g__ctxdoc_slash_color_seq { \current@color } + } +\cs_new_protected_nopar:Npn \__ctxdoc_slash_color: + { + \seq_gpop:NNTF \g__ctxdoc_slash_color_seq \current@color + { + \set@color + \seq_gpush:No \g__ctxdoc_star_color_seq { \current@color } + } + { \BOOM } + } +\cs_new_protected_nopar:Npn \__ctxdoc_pm_color: + { + \seq_get:NNTF \g__ctxdoc_star_color_seq \current@color + { \set@color } + { + \__ctxdoc_select_color: + \seq_gpush:No \g__ctxdoc_star_color_seq { \current@color } + } + } +\seq_new:N \g__ctxdoc_star_color_seq +\seq_new:N \g__ctxdoc_slash_color_seq +\cs_new_protected_nopar:Npn \__ctxdoc_select_color: + { \color { guard@series!!+ } } +\definecolorseries { guard@series } + { cmyk } { last } { blue } { purple } +\resetcolorseries [ 3 ] { guard@series } +\definecolor { verb@guard } { rgb } { 0.5 , 0.5 , 0 } +\definecolor { at@guard } { rgb } { 0.5 , 0 , 0.5 } +\definecolor { code@gray } { gray } { 0.5 } +\cs_new_protected:Npn \__ctxdoc_module_angle:n #1 + { \textlangle #1 \textrangle } +\cs_new_protected_nopar:Npn \__ctxdoc_code_line_no: + { + \int_gincr:N \c@CodelineNo + \hbox_overlap_left:n + { + \hbox_to_wd:nn + { \MacroIndent } + { + \HD@target + \tex_hss:D + \__ctxdoc_code_line_no_style: + \theCodelineNo \enspace + } + \tex_kern:D \@totalleftmargin + } + } +\tl_set:Nn \theCodelineNo + { \arabic { CodelineNo } } +\cs_new_protected_nopar:Npn \__ctxdoc_code_line_no_style: + { \color { code@gray } \normalfont \sffamily \tiny } +\cs_set_protected:Npn \HD@SetMacroIndent #1 + { + \group_begin: + \settowidth \MacroIndent + { + \__ctxdoc_code_line_no_style: + \prg_replicate:nn { \tl_count:n {#1} } { 0 } + \enspace + } + \dim_gset_eq:NN \MacroIndent \MacroIndent + \group_end: + } +\ExplSyntaxOff +\AtBeginDocument{\addtocontents{toc}{\StopSpecialIndexModule}} +\pdfstringdefDisableCommands{% + \let\path\meta + \let\opt\@firstofone} +\preto\@thehead{\cslet{MakeUppercase\space}{\@iden}} +\def\orbar{\textup{\textbar}} +\def\defaultval#1{\textbf{\textup{#1}}} +\def\defaultvalaux#1){\defaultval{#1}} +\def\TF{true\orbar false} +\def\TTF{\defaultval{true}\orbar false} +\def\TFF{true\orbar\defaultval{false}} +\protected\def\opt{\texttt} +\def\pdfTeX{\hologo{pdfTeX}} +\def\XeTeX{\hologo{XeTeX}} +\def\XeLaTeX{\hologo{XeLaTeX}} +\def\LuaLaTeX{\hologo{LuaLaTeX}} +\def\pdfLaTeX{\hologo{pdfLaTeX}} +\def\LaTeX{\hologo{LaTeX}} +\def\LaTeXe{\hologo{LaTeX2e}} +\def\LaTeXiii{\hologo{LaTeX3}} +\def\dvipdfmx{DVIPDFM\textit{x}} +\def\TeX{\hologo{TeX}} +\def\ApTeX{Ap\TeX} +\def\ApLaTeX{Ap\LaTeX} +\def\upTeX{up\TeX} +\def\upLaTeX{up\LaTeX} +\def\bashcmd{\texttt} +\def\TeXLive{\TeX\ Live} +\def\MiKTeX{\hologo{MiKTeX}} +\def\BSTACK{\begin{tabular}[t]{@{}l@{}}} +\def\ESTACK{\end{tabular}} +\newenvironment{defaultcapconfig}{% + \MakePercentComment + \input{ctex-name-utf8.cfg}% + \ExplSyntaxOff + \MakePercentIgnore}{} +\def\ctexkit{\href{https://github.com/CTeX-org/ctex-kit/}{\texttt{ctex-kit}}} +\def\ctexkitrev#1{% + \href{https://github.com/CTeX-org/ctex-kit/commit/#1}{\texttt{ctex-kit} rev. #1}} +\appto\GlossaryParms{% + \raggedcolumns + \let\Hy@writebookmark\HDorg@writebookmark + \def\@idxitem{\par\hangindent 2em }% + \def\subitem{\@idxitem\hspace*{1em}}% + \def\subsubitem{\@idxitem\hspace*{2em}}} +\def\glossaryname{版本历å²} +\GlossaryPrologue{\section{\glossaryname}} +\IndexPrologue{% + \section{\indexname} + \textit{æ„大利体的数å—表示æ述对应索引项的页ç ï¼› + 带下划线的数å—表示定义对应索引项的代ç è¡Œå·ï¼› + 罗马å—体的数å—表示使用对应索引项的代ç è¡Œå·ã€‚}} +\def\IndexLayout{% + \newgeometry{hmargin=15mm,vmargin={25mm,15mm},footskip=7mm}% + \setlength\IndexMin{.5\textheight}% + \ctexset{section/numbering=false}% + \StopSpecialIndexModule} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +%% +%% +%% End of file ctxdoc.cls. diff --git a/language/chinese/ctex/ctxdocstrip.tex b/language/chinese/ctex/ctxdocstrip.tex new file mode 100644 index 0000000000..425496c0e5 --- /dev/null +++ b/language/chinese/ctex/ctxdocstrip.tex @@ -0,0 +1,110 @@ +%% +%% File ctxdocstrip.tex +%% +%% Copyright (C) 2016--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%%--------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%%--------------------------------------------------------------------- +%% +\csname ctxDocstripLoaded\endcsname +\let\ctxDocstripLoaded\endinput +\input l3docstrip % +\edef\ctxResetCatcode{% + \catcode\number`\$=\the\catcode`\$\relax + \catcode\number`\@=\the\catcode`\@\relax +} +\makeOther\$ +\catcode`\@=11\relax +\def\plusOption+#1>#2$#3$\endLine{% + \maybeMsg{<+#1 . >}% + \Evaluate{#1}% + \def\ctxCMD{#2}% + \def\ctxID{$#3$}% + \def\do##1##2##3{% + \if1\Expr{##2}% + \ctxReadIDFile + \StreamPut##1{\inLine}% + \fi + }% + \activefiles +} +\def\ctxReadIDFile{% + \openin\inputcheck=\jobname.id\relax + \ifeof\inputcheck\else + \read \inputcheck to \inLine + \closein\inputcheck + \ifx\inLine\empty\else + \let\ctxID\inLine + \fi + \fi + \maybeMsg{^^J\ctxID^^J}% + \def\inLine{\ctxCMD\ctxID}% +} +\keepsilent +\askforoverwritefalse +\declarepreamble\emptypreamble +\endpreamble +\declarepostamble\emptypostamble +\endpostamble +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname directlua\endcsname\relax + \expandafter\ctxResetCatcode\expandafter\endinput +\fi +\let\OriginalStreamClose\StreamClose +\def\ctxStreamClose#1{% + \OriginalStreamClose{#1}% + \ctxConvFile{#1}% +} +\def\ctxConvFile#1{% + \ifcsname zhconv@\csstring#1\endcsname + \ctxConv{\lastnamedcs}% + {\begincsname pth@\csstring#1\endcsname}% + \fi +} +\def\ctxLuaFunc{% + \directlua{ + local zhconv = require("zhconv").conv + local scan_string = token.scan_string + local t = lua.get_functions_table() + local id = 233 + while t[id] do id = id + 1 end + t[id] = function () + local enc = scan_string() + local file = scan_string() + return zhconv(enc, file, file) + end + token.set_lua("ctxConv", id, "global", "protected") + }% + \global\let\ctxLuaFunc\relax +} +\def\convfile{% + \ifx\@file\file + \expandafter\ctxfile\else + \expandafter\setconvfile\fi +} +\def\setconvfile#1#2{% + \ctxLuaFunc + \Name\def{zhconv@#2}{#1}% + \let\StreamClose\ctxStreamClose +} +\def\ctxfile#1#2{% + \setconvfile{#1}{#2}% + \file{#2}% +} +\ctxResetCatcode +%% +%% +%% End of file ctxdocstrip.tex diff --git a/language/chinese/ctex/zhconv-make.lua b/language/chinese/ctex/zhconv-make.lua new file mode 100644 index 0000000000..fe6f00feaa --- /dev/null +++ b/language/chinese/ctex/zhconv-make.lua @@ -0,0 +1,114 @@ +#!/usr/bin/env texlua +-- +-- File zhconv-make.lua +-- +-- Copyright (C) 2020 by Qing Lee <sobenlee@gmail.com> +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files zhconv.lua, zhconv-make.lua +-- and the derived files zhconv-index.lua, zhconv-index.luc. +-- +-------------------------------------------------------------------------- +-- + +local preamble = [[ +-- +-- File zhconv-index.lua +-- +-- Copyright (C) 2020 by Qing Lee <sobenlee@gmail.com> +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files zhconv.lua, zhconv-make.lua +-- and the derived files zhconv-index.lua, zhconv-index.luc. +-- +-------------------------------------------------------------------------- +-- +-- Do not edit this file! +-- Generated from the WHATWG Encoding Standard: +-- +-- https://encoding.spec.whatwg.org/index-big5.txt (Date: %s) +-- https://encoding.spec.whatwg.org/index-gb18030.txt (Date: %s) +-- https://encoding.spec.whatwg.org/index-gb18030-ranges.txt (Date: %s) +-- +-- +]] + +local rep, format, dump = string.rep, string.format, string.dump +local insert, unpack, concat = table.insert, table.unpack, table.concat +local io_open, os_execute = io.open, os.execute + +local curlcmd = "curl --silent --output %s https://encoding.spec.whatwg.org/%s" +local function prepare_index (file) + local file_path = file + local handle = io_open(file, "rb") + if handle then return handle end + local ret = os_execute(curlcmd:format(file, file)) + assert(ret == 0, "the curl command failed with: ".. ret) + return assert(io_open(file, "rb")) +end + +local index, date = { }, { } + +local indent = 2 +local begin_enc = "%s[%q] = {" +local end_enc = "%s} ," +local num_item = "%s[%s] = %s ," +local tab_item = "%s{ %6d , %s } ," +local tab = rep(" ", indent) +local tabtab = tab .. tab + +insert(index, "return {") +for i, v in ipairs { { "index-big5.txt", "big5" }, + { "index-gb18030.txt", "gb18030" }, + { "index-gb18030-ranges.txt", "gb18030_ranges" } } do + local file, encode = unpack(v) + local handle = prepare_index(file) + insert(index, begin_enc:format(tab, encode)) + for line in handle:lines() do + if not date[i] then + local s = line:match("Date: (.+)$") + if s then date[i] = s end + end + local pointer, code_point = line:match("^%s*(%d+)\t(0x%x+)") + if pointer and code_point then + insert(index, format(i == 3 and tab_item or num_item, tabtab, pointer, code_point)) + end + end + insert(index, end_enc:format(tab)) + handle:close() +end +insert(index, "}\n") + +local index = concat(index, "\n") + +local handle = io_open("zhconv-index.lua", "wb") +handle:write(preamble:format(unpack(date)), index) +handle:close() diff --git a/language/chinese/ctex/zhconv.lua b/language/chinese/ctex/zhconv.lua new file mode 100644 index 0000000000..8af2161e26 --- /dev/null +++ b/language/chinese/ctex/zhconv.lua @@ -0,0 +1,205 @@ +-- +-- File zhconv.lua +-- +-- Copyright (C) 2020 by Qing Lee <sobenlee@gmail.com> +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files zhconv.lua, zhconv-make.lua +-- and the derived files zhconv-index.lua. +-- +-------------------------------------------------------------------------- +-- + +if status.kpse_used ~= 1 then + kpse.set_program_name("luatex") +end + +zhconv = zhconv or { } +local zhconv = zhconv +zhconv.module = { + name = "zhconv", + version = "0.1", + date = "2020/05/01", + description = "GBK/GB18030/Big5 encoder", + author = "Qing Lee", + copyright = "Qing Lee", + license = "LPPL v1.3c" +} + +local utf = require("unicode").utf8 +local ubyte, ugsub = utf.byte, utf.gsub + +local floor = math.floor +local unpack, insert, sort = table.unpack, table.insert, table.sort +local char, format = string.char, string.format + +zhconv.index = require("zhconv-index") +local index = zhconv.index + +zhconv.mapping = { } +local mapping = zhconv.mapping + +mapping.big5, mapping.gbk, mapping.gb18030 = { }, { }, { } +local gbk, gb18030, big5 = mapping.gbk, mapping.gb18030, mapping.big5 + +zhconv.bytes = { } +local bytes = zhconv.bytes + +-- Let lead be pointer / 190 + 0x81. +-- Let trail be pointer % 190. +-- Let offset be 0x40 if trail is less than 0x3F and 0x41 otherwise. +-- Return two bytes whose values are lead and trail + offset. +function bytes.gbk (pointer) + local lead = floor(pointer / 190) + 0x81 + local trail = pointer % 190 + local offset = trail < 0x3F and 0x40 or 0x41 + return format("%c%c", lead, trail + offset) +end + +-- Let lead be pointer / 157 + 0x81. +-- If lead is less than 0xA1, return error with code point. +-- Let trail be pointer % 157. +-- Let offset be 0x40 if trail is less than 0x3F and 0x62 otherwise. +-- Return two bytes whose values are lead and trail + offset. +function bytes.big5 (pointer) + local lead = floor(pointer / 157) + 0x81 + local trail = pointer % 157 + local offset = trail < 0x3F and 0x40 or 0x62 + return format("%c%c", lead, trail + offset) +end + +-- Let byte1 be pointer / 10 / 126 / 10. +-- Set pointer to pointer - byte1 × 10 × 126 × 10. +-- Let byte2 be pointer / 10 / 126. +-- Set pointer to pointer - byte2 × 10 × 126. +-- Let byte3 be pointer / 10. +-- Let byte4 be pointer - byte3 × 10. +-- Return four bytes whose values are byte1 + 0x81, byte2 + 0x30, byte3 + 0x81, byte4 + 0x30. +function bytes.gb18030 (pointer) + local pointer = pointer + local byte1 = floor(pointer / 12600) + 0x81 + pointer = pointer % 12600 + local byte2 = floor(pointer / 1260) + 0x30 + pointer = pointer % 1260 + local byte3 = floor(pointer / 10) + 0x81 + local byte4 = pointer % 10 + 0x30 + return format("%c%c%c%c", byte1, byte2, byte3, byte4) +end + +-- Let offset be the last code point in index gb18030 ranges that is equal to or +-- less than code point and let pointer offset be its corresponding pointer. +-- Return a pointer whose value is pointer offset + code point - offset. +do + local metatable = { } + local bytes, ranges = bytes.gb18030, index["gb18030_ranges"] + function metatable.__index (t, key) + if type(key) == "number" then + local n = #ranges + if key < 0x10000 then + local s = gbk[key] + if s then return s end + repeat + n = n - 1 + until ranges[n][2] <= key + end + local pointer, offset = unpack(ranges[n]) + return bytes(pointer + key - offset) + end + end + gb18030 = setmetatable(gb18030, metatable) +end + +-- The index Big5 pointer for code point is the return value of these steps: +-- 1. Let index be index Big5 excluding all entries whose pointer +-- is less than (0xA1 - 0x81) × 157. +-- 2. If code point is U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345, +-- return the last pointer corresponding to code point in index. +local big5_last = { + [0x2550] = true , + [0x255E] = true , + [0x2561] = true , + [0x256A] = true , + [0x5341] = true , + [0x5345] = true , +} + +do + +local function spairs (t) + local a = { } + for i, n in pairs(t) do insert(a, {i, n}) end + sort(a, function(b, c) return b[1] < c[1] end) + local i = 0 + local iter = function () + i = i + 1 + if a[i] then + return a[i][1], a[i][2] + end + end + return iter +end + +local chars = bytes.big5 +local m = (0xA1 - 0x81) * 157 +for i, v in spairs(index.big5) do + if i >= m then + if big5[v] then + if big5_last[v] then big5[v] = chars(i) end + else + big5[v] = chars(i) + end + end +end + +local chars = bytes.gbk +for i, v in pairs(index.gb18030) do + gbk[v] = chars(i) +end + +end + +-- If the gbk flag is set and code point is U+20AC, return byte 0x80. +gb18030[0x20AC] = gbk[0x20AC] +gbk[0x20AC] = char(0x80) + +local io_open = io.open +local encode_error = "Encoding %q not available!" +local file_error = "Open file %q failed!" + +function zhconv.conv (encoding, input, output) + local encoding = encoding:lower() + local mapping = assert(mapping[encoding], encode_error:format(encoding)) + local encoder = function (s) + local code_point = ubyte(s) + return code_point > 0x7F and mapping[code_point] + end + if output then + local handle = assert(io_open(input, "rb"), file_error:format(input)) + local stream = handle:read("*all") + handle:close() + handle = assert(io_open(output, "wb"), file_error:format(output)) + stream = stream:gsub("^\xEF\xBB\xBF", "") + stream = ugsub(stream, ".", encoder) + handle:write(stream) + handle:close() + else + local s = ugsub(input, ".", encoder) + return s + end +end + +return zhconv diff --git a/language/japanese/jlreq/Makefile b/language/japanese/jlreq/Makefile index 139d68925f..2d7b528547 100644 --- a/language/japanese/jlreq/Makefile +++ b/language/japanese/jlreq/Makefile @@ -143,7 +143,7 @@ sty-install: install: jfm-install cls-install sty-install -tds: jfm jlreq.cls README.md README-ja.md LICENSE jlreq.html jlreq-ja.html jlreq-trimmarks.html jlreq-trimmarks-ja.html jlreq.pdf jlreq-ja.pdf jlreq-trimmarks.pdf jlreq-trimmarks-ja.pdf +tds: jfm jlreq.cls README.md README-ja.md LICENSE jlreq.html jlreq-ja.html jlreq-trimmarks.html jlreq-trimmarks-ja.html jlreq.pdf jlreq-ja.pdf mkdir -p ./tds/fonts/tfm/public/jlreq cp -f *.tfm ./tds/fonts/tfm/public/jlreq mkdir -p ./tds/fonts/vf/public/jlreq diff --git a/language/japanese/jlreq/README-ja.md b/language/japanese/jlreq/README-ja.md index a57b5d4f4b..544f1ce7cf 100644 --- a/language/japanese/jlreq/README-ja.md +++ b/language/japanese/jlreq/README-ja.md @@ -178,9 +178,13 @@ pLaTeX / upLaTeX / LuaLaTeX上ã§å‹•ãã¾ã™ï¼Žä»¥ä¸‹ã®ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ã‚’å†…éƒ ### 定ç†ç’°å¢ƒ `\jlreqsetup`ã§æŒ‡å®šã—ã¾ã™ï¼Ž * `theorem_beforeafter_space=<寸法>`:定ç†ç’°å¢ƒã®å‰å¾Œã®ç©ºãを指定ã—ã¾ã™ï¼Ž +* `theorem_label_font=<フォントè¨å®šã‚³ãƒ¼ãƒ‰>`:定ç†ç’°å¢ƒã®ãƒ©ãƒ™ãƒ«éƒ¨åˆ†ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’è¨å®šã—ã¾ã™ï¼Ž +* `theorem_font=<フォントè¨å®šã‚³ãƒ¼ãƒ‰>`:定ç†ç’°å¢ƒæœ¬ä½“ã®ãƒ•ã‚©ãƒ³ãƒˆã‚’è¨å®šã—ã¾ã™ï¼Ž + +`amsthm`パッケージãŒèªã¿è¾¼ã¾ã‚Œã‚‹ã¨ï¼Œæ–°ã—ã„定ç†ã‚¹ã‚¿ã‚¤ãƒ«`jlreq`ãŒå®šç¾©ã•ã‚Œï¼Œç¾åœ¨ã®ã‚¹ã‚¿ã‚¤ãƒ«ãŒ`jlreq`ã¸ã¨å¤‰æ›´ã•ã‚Œã¾ã™ï¼Žã“ã®ã¨ã,上記è¨å®šã¯ã“ã®`jlreq`スタイルã¸ã®è¨å®šã¨ã—ã¦æ©Ÿèƒ½ã—ã¾ã™ï¼Ž ### å‰ä»˜ããªã© -`\fontmatter` / `\mainmatter` / `\backmatter` / `\appendix`ã§ã®å‡¦ç†ã‚’`\jlreqsetup`ã§æŒ‡å®šã§ãã¾ã™ï¼Ž +`\frontmatter` / `\mainmatter` / `\backmatter` / `\appendix`ã§ã®å‡¦ç†ã‚’`\jlreqsetup`ã§æŒ‡å®šã§ãã¾ã™ï¼Ž * `frontmatter_pagebreak=[cleardoublepage/clearpage/]`:`\frontmatter`実行時ã®æ”¹ãƒšãƒ¼ã‚¸ã‚’実行ã™ã‚‹å‘½ä»¤åを指定ã—ã¾ã™ï¼Žç©ºã«ã™ã‚‹ã¨ä½•ã‚‚ã—ã¾ã›ã‚“. * `frontmatter_counter={<カウンタå>={value=<値>, the=<コード>, restore=[true/false]},...}`:`\frontmatter`時ã§ã®ã‚«ã‚¦ãƒ³ã‚¿ã®æ“作を指定ã—ã¾ã™ï¼Žä¾‹ãˆã°`chapter={value=0,the={[\arabic{chapter]}}`ã¨ã™ã‚‹ã¨ï¼Œ`chapter`カウンタã®å€¤ãŒ`0`ã«ãªã‚Šï¼Œ`\thechapter`ãŒ`[\arabic{chapter}]`ã¨ãªã‚Šã¾ã™ï¼Žãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯`\mainmatter`時ã«å€¤ã¨`\the<カウンタå>`ã®å®šç¾©ã‚’戻ã—ã¾ã™ãŒï¼Œ`restore=false`ã¨ã™ã‚‹ã¨ã“ã®å‹•ããŒæŠ‘制ã•ã‚Œã¾ã™ï¼Ž * `frontmatter_heading={<見出ã—命令å>={<è¨å®š>},...}`:見出ã—命令ã®å‹•ãを変更ã—ã¾ã™ï¼Ž`\Delare***Heading`ã§æŒ‡å®šã§ãã‚‹é …ç›®ã®ä»–以下をå—ã‘付ã‘ã¾ã™ï¼Ž @@ -472,6 +476,9 @@ JFMã®åå‰ã¯æ¬¡ã®é€šã‚Šã§ã™ï¼Ž`[]`ã§å›²ã¾ã‚Œã¦ã„ã‚‹æ–‡å—ã¯è¨å®šã«ã - `\rmfamily`ãªã©ã®å†å®šç¾©ã‚’ã‚„ã‚,`\@rmfamilyhook`ãªã©ã«ã‚³ãƒ¼ãƒ‰ã‚’挿入ã™ã‚‹ã“ã¨ã«ã—ãŸï¼Ž - `\parskip`ã‚’`0pt`ã«å¤‰æ›´ï¼Ž - ãƒã‚°ä¿®æ£ï¼Ž +* 2020-05-01 + - `\jlreqsetup`ã«`theorem_label_font`ã¨`theorem_font`ã‚’è¿½åŠ ï¼Ž + - ãƒã‚°ä¿®æ£ï¼Ž -------------- Noriyuki Abe diff --git a/language/japanese/jlreq/README.md b/language/japanese/jlreq/README.md index fb5175fb94..c0ef2c541f 100644 --- a/language/japanese/jlreq/README.md +++ b/language/japanese/jlreq/README.md @@ -124,6 +124,9 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS - Removed the redefinitions `\rmfamily` etc and added a code to `\@rmfamilyhook`. - Changed `\parskip` to `0pt`. - Fixed bugs. +* 2020-05-01 + - Added `theorem_label_font` and `theorem_font` to `\jlreqsetup`. + - Fixed bugs. -------------- Noriyuki Abe diff --git a/language/japanese/jlreq/jlreq-helpers.sty b/language/japanese/jlreq/jlreq-helpers.sty index 3594c7d1f8..46a619a84c 100644 --- a/language/japanese/jlreq/jlreq-helpers.sty +++ b/language/japanese/jlreq/jlreq-helpers.sty @@ -73,11 +73,21 @@ \expandafter\expandafter\expandafter\jlreq@ifmacro@noargument@\jlreq@getfirsttoken#1\jlreq@uniqtoken{}\jlreq@endmark@ }}} \long\def\jlreq@ifmacro@noargument@#1{\expandafter\jlreq@ifmacro@noargument@@\expandafter{\meaning #1}} -\edef\jlreq@do{% - \unexpanded{\def\jlreq@ifmacro@noargument@@}##1{\noexpand\jlreq@ifmacro@noargument@@@##1\expandonce{\detokenize{macro:->}}\noexpand\jlreq@endmark} - \unexpanded{\def\jlreq@ifmacro@noargument@@@}##1\expandonce{\detokenize{macro:->}}##2\noexpand\jlreq@endmark{\noexpand\jlreq@ifempty{##1}} +\def\@tempa#1{% + \def\jlreq@ifmacro@noargument@@##1{\jlreq@ifmacro@noargument@@@##1#1\noexpand\jlreq@endmark} + \def\jlreq@ifmacro@noargument@@@##1#1##2\jlreq@endmark{\jlreq@ifempty{##1}} } +\edef\jlreq@do{\noexpand\@tempa{\detokenize{macro:->}}} \jlreq@do +% ã“ã¡ã‚‰ã¯å˜ã«ãƒžã‚¯ãƒã‹ +\def\@tempa#1{% + \long\def\jlreq@ifmacro##1{\jlreq@ifempty{##1}{\@secondoftwo}{\expandafter\jlreq@ifmacro@i\meaning##1#1\jlreq@endmark}} + \long\def\jlreq@ifmacro@i##1#1##2\jlreq@endmark{\jlreq@ifempty{##1}} +} +\edef\jlreq@do{\noexpand\@tempa{\detokenize{macro:}}} +\jlreq@do + + % #1(skipレジスタ)ãŒ0ã‹ï¼ˆå±•é–‹ä¸å¯ï¼‰ï¼Ž \newcommand*\jlreq@ifgluezero[1]{% diff --git a/language/japanese/jlreq/jlreq-ja.pdf b/language/japanese/jlreq/jlreq-ja.pdf Binary files differindex 76cb0ff374..3a0fb1c3f7 100644 --- a/language/japanese/jlreq/jlreq-ja.pdf +++ b/language/japanese/jlreq/jlreq-ja.pdf diff --git a/language/japanese/jlreq/jlreq-trimmarks-ja.md b/language/japanese/jlreq/jlreq-trimmarks-ja.md index 7531072932..e75a31512d 100644 --- a/language/japanese/jlreq/jlreq-trimmarks-ja.md +++ b/language/japanese/jlreq/jlreq-trimmarks-ja.md @@ -157,7 +157,10 @@ dviドライãƒã®æŒ‡å®šã§ã™ï¼Žã‚¨ãƒ³ã‚¸ãƒ³ã«`lualatex`を利用ã™ã‚‹å ´åˆã * 2019-04-01 - `\jlreqtrimmarkssetup`内ã®`banner`ã‚’æ›´ã«æ‹¡å¼µï¼Ž - `bleed_margin`を拡張. - +* 2020-05-01 + - `\jlreqtrimmarkssetup`ã®`banner`を使ã‚ãªã„å ´åˆï¼Œ`\@bannertoken`ã®ä¸èº«ã‚’å¶å¥‡ãƒšãƒ¼ã‚¸ä¸¡æ–¹ã«å‡ºåŠ›ã™ã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž + - `\jlreqtrimmarkssetup`ã®`banner`を使ã†å ´åˆï¼Œ`\@bannertoken`ã®ä¸èº«ã‚’無視ã™ã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž + - `\jlreqtrimmarkssetup`ã®`banner_font`ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆï¼Œ`\@bannerfont`を無視ã™ã‚‹ã‚ˆã†ã«ã—ãŸï¼Ž -------------- Noriyuki Abe diff --git a/language/japanese/jlreq/jlreq-trimmarks.md b/language/japanese/jlreq/jlreq-trimmarks.md index 3d66dd56ef..a8fb96bf48 100644 --- a/language/japanese/jlreq/jlreq-trimmarks.md +++ b/language/japanese/jlreq/jlreq-trimmarks.md @@ -46,7 +46,7 @@ Set the size of the paper including trim marks. * If `<paper size>` is empty (e.g. `trimmarks_paper=+2cm`), the current paper size (which is specified usually by the option for the document class) is used. ### `landscape` -Swap the width and the height. This swaps only the width and height which is specified with the option `trimmarks_paper`. For example, `landscape,trimmarks_paper=+{2cm,1cm}`, adds 1cm to the height and 2cm to the width. But the current paper size is not swapped. +Swap the width and the height. This swaps only the width and height which is specified with the option `trimmarks_paper`. For example, `landscape,trimmarks_paper=+{1cm,2cm}`, adds 1cm to the height and 2cm to the width. But the current paper size is not swapped. ### `show` Specify the types of trim marks which the package outputs. It is specified with the comma separated list like `show={trimmarks,banner,digital}`. If no argument is given, everything will be showed. @@ -151,7 +151,10 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS * 2019-04-01 - Extended `banner` in `\jlreqtrimmarkssetup`. - Extended `bleed_margin`. - +- 2020-05-01 + - `jlreq-trimmarks` outputs the contents in `\@bannertoken` when `banner` in `\jlreqtrimmarkssetup` is not used. + - `\@bannertoken` is ignored when `banner` in `\jlreqtrimmarkssetup` is used. + - `\@bannerfont` is ignored when `banner_font` in `\jlreqtrimmarkssetup` is used. -------------- Noriyuki Abe diff --git a/language/japanese/jlreq/jlreq-trimmarks.sty b/language/japanese/jlreq/jlreq-trimmarks.sty index 6ba910a240..03c31e521a 100644 --- a/language/japanese/jlreq/jlreq-trimmarks.sty +++ b/language/japanese/jlreq/jlreq-trimmarks.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{jlreq-trimmarks}[2019/04/01 jlreq-trimmarks] +\ProvidesPackage{jlreq-trimmarks}[2020/05/01 jlreq-trimmarks] \RequirePackage{xkeyval,etoolbox} \RequirePackage{jlreq-helpers} @@ -33,16 +33,10 @@ \@ifclassloaded{jlreq}{\let\ifjlreq@trimmarks@jlreqloaded=\@firstoftwo}{\let\ifjlreq@trimmarks@jlreqloaded=\@secondoftwo} -\def\ifjlreq@trimmarks@tate@{% - \if@tate\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi -} +\def\ifjlreq@trimmarks@tate@{\jlreq@if{\if@tate\fi}}% % \@firstoftwo when \if@tate is defined and \if@tate=\iftrue \def\ifjlreq@trimmarks@tate{% - \ifnum0\ifx\if@tate\@undefined 1\fi\ifx\if@tate\relax 1\fi>0 - \expandafter\@secondoftwo - \else - \expandafter\ifjlreq@trimmarks@tate@ - \fi + \jlreq@if{\ifnum0\ifx\if@tate\@undefined 1\fi\ifx\if@tate\relax 1\fi>0 \fi}{\@secondoftwo}{\ifjlreq@trimmarks@tate@}% } @@ -256,9 +250,9 @@ }% }% }{#3}% - \ifx\jlreq@do\@empty + \jlreq@if{\ifx\jlreq@do\@empty\fi}{% \appto\jlreq@do{\jlreq@trimmarks@setbanner@@{yoko@#1}{yoko@#2}{#3}}% - \fi + }{}% \expandafter\endgroup \jlreq@do } @@ -277,9 +271,9 @@ }% }% }{#3}% - \ifx\jlreq@do\@empty + \jlreq@if{\ifx\jlreq@do\@empty\fi}{ \appto\jlreq@do{\jlreq@trimmarks@setbanner@@{before@#1}{before@#2}{#3}}% - \fi + }{}% \expandafter\endgroup \jlreq@do } @@ -296,12 +290,12 @@ }% }% }{#3}% - \ifx\jlreq@do\@empty + \jlreq@if{\ifx\jlreq@do\@empty\fi}{ \appto\jlreq@do{% \expandafter\edef\csname jlreq@trimmarks@banner@odd@#1\endcsname{\unexpanded{#3}}% \expandafter\edef\csname jlreq@trimmarks@banner@even@#2\endcsname{\unexpanded{#3}}% }% - \fi + }{}% \expandafter\endgroup \jlreq@do } @@ -326,11 +320,9 @@ }% }% }% - \@bannertoken{}% \def\jlreq@do{}% \jlreq@parsekeyval@nokey{% \ifjlreq@parsekeyval@nokey@novalue{}{% - \jlreq@tempafalse \edef\jlreq@gutterodd{\ifjlreq@trimmarks@tate{right}{left}}% \if@twoside \edef\jlreq@guttereven{\ifjlreq@trimmarks@tate{left}{right}}% @@ -338,8 +330,8 @@ \let\jlreq@guttereven\jlreq@gutterodd \fi \jlreq@switch*{####1}{ - {top-left}{\jlreq@tempatrue\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}} - {left-top}{\jlreq@tempatrue\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}} + {top-left}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}} + {left-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{####2}}} {top-right}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@right}{top@right}{####2}}} {right-top}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@right}{top@right}{####2}}} {top-gutter}{\appto\jlreq@do{\jlreq@trimmarks@setbanner{top@\jlreq@gutterodd}{top@\jlreq@guttereven}{####2}}} @@ -367,17 +359,12 @@ {center-fore-edge}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@guttereven}{center@\jlreq@gutterodd}{####2}}} {fore-edge-center}{\appto\jlreq@do{\jlreq@trimmarks@setbanner@{center@\jlreq@guttereven}{center@\jlreq@gutterodd}{####2}}} }% - \ifjlreq@tempa - \appto\jlreq@do{\expandafter\@bannertoken\expandafter{\jlreq@trimmarks@banner@odd@yoko@top@left}}% - \fi }% }{##1}% - \ifx\jlreq@do\@empty - \jlreq@trimmarks@setbanner{top@left}{##1}% - \expandafter\@bannertoken\expandafter{\jlreq@trimmarks@banner@odd@yoko@top@left}% - \else - \jlreq@do - \fi + \jlreq@if{\ifx\jlreq@do\@empty\fi}{ + \appto\jlreq@do{\jlreq@trimmarks@setbanner{top@left}{top@left}{##1}}% + }{}% + \jlreq@do } {banner_font}{\def\jlreq@trimmarks@bannerfont{##1}} {trimmarks_width}{\setlength{\@tombowwidth}{##1}} @@ -418,12 +405,13 @@ }{#1}% } \@onlypreamble\jlreqtrimmarkssetup +\@bannertoken{% + \jobname\space(\number\year-\two@digits\month-\two@digits\day + \space\two@digits\hour:\two@digits\minute)% +} \jlreqtrimmarkssetup{ - banner={% - \jobname\space(\number\year-\two@digits\month-\two@digits\day - \space\two@digits\hour:\two@digits\minute)% - }, - banner_font={}, + banner={\the\@bannertoken}, + banner_font={\@bannerfont}, color={} } @@ -461,14 +449,14 @@ }{ \def\@tombowreset@@paper{% \@@topmargin\topmargin - \iftombow + \jlreq@if{\iftombow\fi}{ \@@paperwidth\paperwidth \advance\@@paperwidth 2\dimexpr\@tombowbleed\relax \@@paperheight\paperheight \advance\@@paperheight 10mm\relax \advance\@@paperheight 2\dimexpr\@tombowbleed\relax % 1in -> 1truein \advance\@@topmargin 1truein\relax \advance\@themargin 1truein\relax - \fi + }{}% } } \fi @@ -484,21 +472,21 @@ \setlength{\stockheight}{\dimexpr\jlreq@trimmarks@paperheight\relax} \def\jlreq@trimmarks@outputbanner#1#2{% - \iftombowdate + \jlreq@if{\iftombowdate\fi}{% \expandafter\let\expandafter\jlreq@tempa\csname jlreq@trimmarks@banner@\ifodd\c@page odd\else even\fi @#1\endcsname - \ifx\jlreq@tempa\@empty\else + \jlreq@if{\ifx\jlreq@tempa\@empty\fi}{}{% \def\@tempa##1{#2}% \expandafter\@tempa\expandafter{\jlreq@tempa}% - \fi - \fi + }% + }{}% } \def\jlreq@trimmarks@bleed{3mm} % left=gutter? \def\ifjlreq@trimmarks@leftisgutter{% \ifjlreq@trimmarks@tate{% - \ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi + \jlreq@if{\ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \fi}{\@secondoftwo}{\@firstoftwo}% }{% - \ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi + \jlreq@if{\ifnum 0\ifodd\c@page 1\fi\if@twoside\else 1\fi>0 \fi}{\@firstoftwo}{\@secondoftwo}% }% } \def\jlreq@trimmarks@bleed@left{\ifjlreq@trimmarks@leftisgutter{\jlreq@trimmarks@bleed@gutter}{\expandafter\csname jlreq@trimmarks@bleed@fore-edge\endcsname}} @@ -516,15 +504,13 @@ \yoko\hss \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed@left\relax height\@tombowwidth depth\z@ \vrule height10mm width\@tombowwidth depth\z@ - \iftombowdate - \setbox\jlreq@tempboxa=\hbox to\z@{\hskip5mm\@bannerfont\jlreq@trimmarks@bannerfont - \ifodd\c@page\the\@bannertoken\else\jlreq@trimmarks@banner@even@yoko@top@left\fi - \hss}% + \jlreq@trimmarks@outputbanner{yoko@top@left}{% + \setbox\jlreq@tempboxa=\hbox to\z@{\hskip5mm\jlreq@trimmarks@bannerfont##1\hss}% \dp\jlreq@tempboxa=0pt \raise 4pt\box\jlreq@tempboxa - \fi + }% \jlreq@trimmarks@outputbanner{inyoko@top@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + \jlreq@trimmarks@bleed@top\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa @@ -537,12 +523,12 @@ \yoko \vrule width10mm height\@tombowwidth depth\z@ \jlreq@trimmarks@outputbanner{before@top@center}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\jlreq@trimmarks@bannerfont##1\hskip 5mm}% \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt \raise 4pt\box\jlreq@tempboxa }% \jlreq@trimmarks@outputbanner{in@top@center}{% - \setbox\jlreq@tempboxa=\hbox{\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox{\jlreq@trimmarks@bannerfont##1}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + \jlreq@trimmarks@bleed@top\relax \jlreq@tempdimb=0.5\wd\jlreq@tempboxa \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt @@ -550,7 +536,7 @@ }% \vrule height10mm width\@tombowwidth depth\z@ \jlreq@trimmarks@outputbanner{after@top@center}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 5mm\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 5mm\jlreq@trimmarks@bannerfont##1\hss}% \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt \raise 4pt\box\jlreq@tempboxa }% @@ -562,19 +548,19 @@ \setbox\jlreq@tempboxa=\hbox to\z@{% \@TR \yoko \jlreq@trimmarks@outputbanner{yoko@top@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\jlreq@trimmarks@bannerfont##1\hskip 5mm}% \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise 4pt\box\jlreq@tempboxa }% \jlreq@trimmarks@outputbanner{inyoko@top@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\jlreq@trimmarks@bannerfont##1}% \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@top + \ht\jlreq@tempboxa\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa }% \vrule height10mm width\@tombowwidth depth\z@ \jlreq@trimmarks@outputbanner{corner@top@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip\dimexpr\jlreq@trimmarks@bleed@right + 4pt\relax\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip\dimexpr\jlreq@trimmarks@bleed@right + 4pt\relax\jlreq@trimmarks@bannerfont##1\hss}% \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise 4pt\box\jlreq@tempboxa }% @@ -590,13 +576,13 @@ \yoko\hss \vrule width10mm height\@tombowwidth depth\z@ \jlreq@trimmarks@outputbanner{corner@top@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 4pt}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\jlreq@trimmarks@bannerfont##1\hskip 4pt}% \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \raise\dimexpr \jlreq@trimmarks@bleed@top + 4pt\relax\box\jlreq@tempboxa }% \vrule height\dimexpr 10mm + \jlreq@trimmarks@bleed@top\relax width\@tombowwidth depth\z@ \jlreq@trimmarks@outputbanner{tate@top@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\jlreq@trimmarks@bannerfont##1\hss}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax \else @@ -606,7 +592,7 @@ \kern-\jlreq@tempdima\raise-5mm\box\jlreq@tempboxa\kern\jlreq@tempdima }% \jlreq@trimmarks@outputbanner{intate@top@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left \ifx l\jlreq@trimmarks@engine + \ht\jlreq@tempboxa\fi\relax \wd\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima @@ -616,13 +602,13 @@ \hbox to\z@{% \@Tr \yoko \jlreq@trimmarks@outputbanner{tate@top@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr 4pt \ifx l\jlreq@trimmarks@engine + \dp\jlreq@tempboxa\fi\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt \kern\jlreq@tempdima\raise -5mm\box\jlreq@tempboxa\kern-\jlreq@tempdima }% \jlreq@trimmarks@outputbanner{intate@top@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\jlreq@trimmarks@bannerfont##1\hss}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@top + \ht\jlreq@tempboxa\relax \else @@ -642,7 +628,7 @@ \yoko\hss \vrule width10mm height.5\@tombowwidth depth.5\@tombowwidth \jlreq@trimmarks@outputbanner{before@center@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hss\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hss\adjustbaseline\jlreq@trimmarks@bannerfont##1\hskip 5mm}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax \else @@ -652,7 +638,7 @@ \kern-\jlreq@tempdima\box\jlreq@tempboxa\kern\jlreq@tempdima }% \jlreq@trimmarks@outputbanner{after@center@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hskip 5mm\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hskip 5mm\adjustbaseline\jlreq@trimmarks@bannerfont##1\hss}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax \else @@ -663,7 +649,7 @@ }% \vrule height10mm depth10mm width\@tombowwidth \jlreq@trimmarks@outputbanner{in@center@left}{% - \setbox\jlreq@tempboxa=\hbox{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox{\tate\adjustbaseline\jlreq@trimmarks@bannerfont##1}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left + \ht\jlreq@tempboxa\relax \jlreq@tempdimb=.5\wd\jlreq@tempboxa @@ -679,7 +665,7 @@ \hbox to\z@{% \@CR \yoko \jlreq@trimmarks@outputbanner{in@center@right}{% - \setbox\jlreq@tempboxa=\hbox{\tate\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox{\tate\adjustbaseline\jlreq@trimmarks@bannerfont##1}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@right + \ht\jlreq@tempboxa\relax \jlreq@tempdimb=0.5\wd\jlreq@tempboxa @@ -692,13 +678,13 @@ }% \vrule height10mm depth10mm width\@tombowwidth \jlreq@trimmarks@outputbanner{before@center@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hss\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hss\adjustbaseline\jlreq@trimmarks@bannerfont##1\hskip 5mm}% \jlreq@tempdima=\dimexpr 4pt \ifx l\jlreq@trimmarks@engine + \dp\jlreq@tempboxa\fi\relax \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima }% \jlreq@trimmarks@outputbanner{after@center@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hskip 5mm\adjustbaseline\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\hskip 5mm\adjustbaseline\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr 4pt \ifx l\jlreq@trimmarks@engine + \dp\jlreq@tempboxa\fi\relax \dp\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima @@ -713,7 +699,7 @@ \vrule width10mm depth\@tombowwidth height\z@ \vrule depth\dimexpr 10mm + \jlreq@trimmarks@bleed@bottom\relax width\@tombowwidth height\z@ \jlreq@trimmarks@outputbanner{tate@bottom@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\jlreq@trimmarks@bannerfont##1}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr 4pt + \ht\jlreq@tempboxa\relax \else @@ -723,7 +709,7 @@ \kern-\jlreq@tempdima\raise 5mm\box\jlreq@tempboxa\kern\jlreq@tempdima }% \jlreq@trimmarks@outputbanner{intate@bottom@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\jlreq@trimmarks@bannerfont##1}% \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@left \ifx l\jlreq@trimmarks@engine + \ht\jlreq@tempboxa\fi\relax \wd\jlreq@tempboxa=0pt \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \kern\jlreq@tempdima\box\jlreq@tempboxa\kern-\jlreq@tempdima @@ -733,13 +719,13 @@ \hbox to\z@{% \@Br \yoko \jlreq@trimmarks@outputbanner{tate@bottom@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\jlreq@trimmarks@bannerfont##1}% \jlreq@tempdima=\dimexpr\ifx l\jlreq@trimmarks@engine\ht\jlreq@tempboxa + \fi 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt \kern\jlreq@tempdima\raise5mm\box\jlreq@tempboxa\kern-\jlreq@tempdima }% \jlreq@trimmarks@outputbanner{intate@bottom@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\jlreq@trimmarks@bannerfont##1}% \ifx l\jlreq@trimmarks@engine \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@right + \ht\jlreq@tempboxa\relax \else @@ -750,7 +736,7 @@ }% \vrule depth\dimexpr 10mm + \jlreq@trimmarks@bleed@bottom\relax width\@tombowwidth height\z@ \jlreq@trimmarks@outputbanner{corner@bottom@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 4pt\relax\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 4pt\relax\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + \jlreq@trimmarks@bleed@bottom + 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa @@ -765,20 +751,20 @@ \yoko\hss \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed@left\relax depth\@tombowwidth height\z@ \jlreq@trimmarks@outputbanner{corner@bottom@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip\dimexpr\jlreq@trimmarks@bleed@left + 4pt\relax}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\jlreq@trimmarks@bannerfont##1\hskip\dimexpr\jlreq@trimmarks@bleed@left + 4pt\relax}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa }% \vrule depth10mm width\@tombowwidth height\z@ \jlreq@trimmarks@outputbanner{yoko@bottom@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hskip 5mm\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hskip 5mm\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa }% \jlreq@trimmarks@outputbanner{inyoko@bottom@left}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr\jlreq@trimmarks@bleed@bottom + \dp\jlreq@tempboxa\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise\jlreq@tempdima\box\jlreq@tempboxa @@ -791,13 +777,13 @@ \yoko \vrule width10mm depth\@tombowwidth height\z@ \jlreq@trimmarks@outputbanner{before@bottom@center}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hss\jlreq@trimmarks@bannerfont##1\hskip 5mm}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa }% \jlreq@trimmarks@outputbanner{in@bottom@center}{% - \setbox\jlreq@tempboxa=\hbox{\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox{\jlreq@trimmarks@bannerfont##1}% \jlreq@tempdima=\dimexpr\dp\jlreq@tempboxa + \jlreq@trimmarks@bleed@bottom\relax \jlreq@tempdimb=.5\wd\jlreq@tempboxa \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \wd\jlreq@tempboxa=0pt @@ -805,7 +791,7 @@ }% \vrule depth10mm width\@tombowwidth height\z@ \jlreq@trimmarks@outputbanner{before@bottom@center}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 5mm\@bannerfont\jlreq@trimmarks@bannerfont##1\hss}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\hskip 5mm\jlreq@trimmarks@bannerfont##1\hss}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa @@ -818,13 +804,13 @@ \setbox\jlreq@tempboxa=\hbox to 0pt{% \@BR \yoko \jlreq@trimmarks@outputbanner{yoko@bottom@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1\hskip 5mm}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\jlreq@trimmarks@bannerfont##1\hskip 5mm}% \jlreq@tempdima=\dimexpr\ht\jlreq@tempboxa + 4pt\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise-\jlreq@tempdima\box\jlreq@tempboxa }% \jlreq@trimmarks@outputbanner{inyoko@bottom@right}{% - \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq@trimmarks@bannerfont##1}% + \setbox\jlreq@tempboxa=\hbox to 0pt{\yoko\hss\jlreq@trimmarks@bannerfont##1}% \jlreq@tempdima=\dimexpr\dp\jlreq@tempboxa + \jlreq@trimmarks@bleed@bottom\relax \ht\jlreq@tempboxa=0pt \dp\jlreq@tempboxa=0pt \raise\jlreq@tempdima\box\jlreq@tempboxa diff --git a/language/japanese/jlreq/jlreq.cls b/language/japanese/jlreq/jlreq.cls index 8f1ed6dfb1..913785b02d 100644 --- a/language/japanese/jlreq/jlreq.cls +++ b/language/japanese/jlreq/jlreq.cls @@ -5,7 +5,7 @@ %% % (based on JLReq 20120403 https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/) \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jlreq}[2020/02/07 jlreq] +\ProvidesClass{jlreq}[2020/05/01 jlreq] \RequirePackage{xkeyval,everyhook,filehook,etoolbox,ifthen} \RequirePackage{jlreq-helpers} @@ -3769,6 +3769,14 @@ {% \begingroup \jlreq@pagestyle@parse@position@#1-\jlreq@endmark + \ifthenelse{\equal{\jlreq@tempa}{fore}}{% + \expandafter\jlreq@pagestyle@parse@position@\jlreq@tempb-\jlreq@endmark + \ifthenelse{\equal{\jlreq@tempa}{edge}}{% + \def\jlreq@tempa{fore-edge}% + }{% + \ClassError{jlreq}{Invalid position: fore-\jlreq@tempa}{\@ehc}% + }% + }{}% % \jlreq@tempcã«ç¸¦æ–¹å‘を,\jlreq@tempdã«æ¨ªæ–¹å‘を入れる \def\jlreq@tempc{}\def\jlreq@tempd{}% \jlreq@pagestyle@parse@position@@{\jlreq@tempa}% @@ -3786,8 +3794,8 @@ \jlreq@ifempty{#2}{% \ifx\jlreq@tempb\@empty\ClassError{jlreq}{Invalid position: #1}{\@ehc}\fi }{% - \def\@tempa##1-{\def\jlreq@tempb{##1}}% - \@tempa#2\relax + \def\@tempa##1-\jlreq@endmark{\def\jlreq@tempb{##1}}% + \@tempa#2\jlreq@endmark\relax }% } @@ -4230,9 +4238,8 @@ \jlreq@if{\ifjlreq@pstate\fi}{% tate % headã®æ–¹ã«å‡¦ç†ã‚’入れる.footã¯ç©ºï¼Ž \def\jlreq@oddfoot{}\def\jlreq@evenfoot{}% - \jlreq@for@noexpand\jlreq@position:=\jlreq@nombre@i@position,\jlreq@running@head@i@position\do{% - \expandafter\ifx\jlreq@position\@empty\expandafter\def\jlreq@position{0pt}\fi - }% + \ifx\jlreq@nombre@i@position\@empty\def\jlreq@nombre@i@position{5\jlreq@zw}\fi + \ifx\jlreq@running@head@i@position\@empty\def\jlreq@running@head@i@position{4\jlreq@zw}\fi \edef\jlreq@gapcs{\noexpand\hskip\noexpand\glueexpr\expandonce{\jlreq@nombre@gap}\noexpand\relax}% \jlreq@pagestyle@addifempty{\jlreq@nombre@iii@position}{\jlreq@nombre@ii}{\jlreq@gapcs}{\jlreq@nombre@iii}% \jlreq@pagestyle@addifempty{\jlreq@nombre@ii@position}{\jlreq@nombre@i}{\jlreq@gapcs}{\jlreq@nombre@ii}% @@ -4246,15 +4253,16 @@ \expandafter\let\expandafter\jlreq@position\csname jlreq@nombre@\jlreq@i @position\endcsname \expandafter\ifx\csname jlreq@nombre@\jlreq@i\endcsname\@empty\else \jlreq@ifgluezero{\glueexpr\jlreq@position\relax}{\def\jlreq@position{}}{}% + \expandafter\let\expandafter\jlreq@tempa\expandafter=\csname jlreq@nombre@\jlreq@i\endcsname + \jlreq@pagestyle@addfont@tocs{jlreq@tempa}{jlreq@nombre@font}% \eappto\jlreq@nombre@contents{% \noexpand\hbox to 0pt{\noexpand\hss + \expandonce{\jlreq@tempa}% \ifx\jlreq@position\@empty\else\unexpanded{\hskip \glueexpr}\expandonce{\jlreq@position}\noexpand\relax\fi - \csexpandonce{jlreq@nombre@\jlreq@i}% }% }% \fi }% - \jlreq@pagestyle@addfont@tocs{jlreq@nombre@contents}{jlreq@nombre@font}% % \jlreq@(odd|even)@contentsã«æŸ±ã‚’入れる(上ã®æ–¹ã«å‡ºåŠ›ï¼‰ \@for\jlreq@parity:=odd,even\do{% \expandafter\def\csname jlreq@\jlreq@parity @contents\endcsname{}% @@ -4262,17 +4270,18 @@ \expandafter\let\expandafter\jlreq@position\csname jlreq@running@head@\jlreq@i @position\endcsname \expandafter\ifx\csname jlreq@\jlreq@parity @running@head@\jlreq@i\endcsname\@empty\else \jlreq@ifgluezero{\glueexpr\jlreq@position\relax}{\def\jlreq@position{}}{}% + \expandafter\let\expandafter\jlreq@tempa\expandafter=\csname jlreq@\jlreq@parity @running@head@\jlreq@i\endcsname + \jlreq@pagestyle@addfont@tocs{jlreq@tempa}{jlreq@running@head@font}% \expandafter\eappto\csname jlreq@\jlreq@parity @contents\endcsname{% \noexpand\hbox to 0pt{\unexpanded{\hskip\glueexpr\headsep + \headheight}% \if@tate\else\unexpanded{+ \topskip - \Cht}\fi \ifx\jlreq@position\@empty\else + \expandonce{\jlreq@position}\fi\noexpand\relax - \csexpandonce{jlreq@\jlreq@parity @running@head@\jlreq@i}% + \expandonce{\jlreq@tempa}% \noexpand\hss }% }% \fi }% - \jlreq@pagestyle@addfont@tocs{jlreq@\jlreq@parity @contents}{jlreq@running@head@font}% % \jlreq@(odd|even)headã®æ§‹ç¯‰ % 空ã指定ã«ã¯åŸºæœ¬ç‰ˆé¢ã®æ–‡å—サイズを使ã†ï¼ˆ2.6.1.c) \@ifundefined{jlreq@\jlreq@parity headformat} @@ -4455,7 +4464,7 @@ \jlreq@pagestyle@setheadfoot{\jlreq@oddfoot}{jlreq@odd@bottom@left}{jlreq@odd@bottom@center}{jlreq@odd@bottom@right}% \jlreq@pagestyle@setheadfoot{\jlreq@evenhead}{jlreq@even@top@left}{jlreq@even@top@center}{jlreq@even@top@right}% \jlreq@pagestyle@setheadfoot{\jlreq@evenfoot}{jlreq@even@bottom@left}{jlreq@even@bottom@center}{jlreq@even@bottom@right}% - \ifthenelse{\lengthtest{\marginparwidth>0pt} \AND \(\NOT\boolean{@tate}\)}{% + \ifthenelse{\lengthtest{\jlreq@sidenote@length >0pt} \AND \(\NOT\boolean{@tate}\)}{% \def\jlreq@defaultformat{\hss\hbox to \jlreqyokoheadlength{####1}\hss}% }{% \def\jlreq@defaultformat{####1}% @@ -4465,7 +4474,7 @@ \jlreq@pagestyle@applyformat{\jlreq@oddfoot}{\jlreq@oddfootformat}{\jlreq@defaultformat}% \jlreq@pagestyle@applyformat{\jlreq@evenfoot}{\jlreq@evenfootformat}{\jlreq@defaultformat}% % å‚注用調整 - \ifdim\marginparwidth>0pt + \ifdim\jlreq@sidenote@length>0pt \if@tate\else \if@twocolumn \jlreq@pagestyle@addsidenotemargin@bothside{\jlreq@oddhead}% @@ -4507,14 +4516,14 @@ \if@tate \def\jlreqyokoheadlength{\textheight} \else - \ifdim\marginparwidth>0pt + \ifdim\jlreq@sidenote@length>0pt \if@twocolumn \def\jlreqyokoheadlength{\dimexpr\textwidth + 2\jlreq@sidenote@length + 2\jlreq@sidenote@sep\relax} \else \def\jlreqyokoheadlength{\dimexpr\textwidth + \jlreq@sidenote@length + \jlreq@sidenote@sep\relax} \fi \else - \def\jlreqyokoheadlength{\textwidth} + \def\jlreqyokoheadlength{\dimexpr\textwidth\relax} \fi \fi \edef\jlreqtateheadlength{\unexpanded{\dimexpr\headsep + \headheight + \textheight}\if@tate\else\unexpanded{- \topskip + 1\jlreq@zh}\fi\noexpand\relax} @@ -5615,18 +5624,20 @@ \def\@begintheorem#1#2{\topsep=\dimexpr\jlreq@theorem@beforeafter@space\relax \trivlist\labelsep=1\jlreq@zw \itemindent=\dimexpr\jlreq@theorem@indent\relax - \item[\hskip \labelsep{\sffamily\gtfamily\bfseries #1\ #2}]} + \jlreq@theorem@font + \item[\hskip \labelsep{\reset@font\jlreq@theorem@label@font #1\ #2}]} \def\@opargbegintheorem#1#2#3{\topsep=\dimexpr\jlreq@theorem@beforeafter@space\relax \trivlist\labelsep=1\jlreq@zw \itemindent=\dimexpr\jlreq@theorem@indent\relax - \item[\hskip \labelsep{\sffamily\gtfamily\bfseries #1\ #2(#3)}]} + \jlreq@theorem@font + \item[\hskip \labelsep{\reset@font\jlreq@theorem@label@font #1\ #2(#3)}]} \AtEndOfPackageFile*{amsthm}{% \jlreq@saveoriginalcs{\proof}% \jlreq@saveoriginalcs{\endproof}% \edef\jlreq@do{ \unexpanded{\def\jlreq@proof[#1]}{% \unexpanded{\labelsep=1\jlreq@zw}% - \expandonce{\proof[{\reset@font\sffamily\gtfamily\bfseries #1\inhibitglue}\nopunct]}% + \expandonce{\proof[{\reset@font\jlreq@proof@label@font #1\inhibitglue}\nopunct]}% } } \jlreq@do @@ -5636,17 +5647,29 @@ \theoremstyle{jlreq} } \def\jlreq@setupamsthm{ - \newtheoremstyle{jlreq}{\dimexpr\jlreq@theorem@beforeafter@space\relax}{\dimexpr\jlreq@theorem@beforeafter@space\relax}{\normalfont}{\dimexpr\jlreq@theorem@indent\relax}{\sffamily\gtfamily\bfseries}{}{1\jlreq@zw}{\thmname{##1}\thmnumber{\ ##2}\thmnote{(##3)}} + \newtheoremstyle{jlreq}{\dimexpr\jlreq@theorem@beforeafter@space\relax}{\dimexpr\jlreq@theorem@beforeafter@space\relax}{\jlreq@theorem@font}{\dimexpr\jlreq@theorem@indent\relax}{\jlreq@theorem@label@font}{}{1\jlreq@zw}{\thmname{##1}\thmnumber{\ ##2}\thmnote{(##3)}} } \jlreq@jlreqsetup@add{theorem_beforeafter_space}{ \def\jlreq@theorem@beforeafter@space{#1} + \begingroup\jlreq@tempdima=\dimexpr\jlreq@theorem@beforeafter@space\relax\endgroup \@ifpackageloaded{amsthm}{\jlreq@setupamsthm}{} } \jlreq@jlreqsetup@add{theorem_indent}{ \def\jlreq@theorem@indent{#1} + \begingroup\jlreq@tempdima=\dimexpr\jlreq@theorem@indent\relax\endgroup \@ifpackageloaded{amsthm}{\jlreq@setupamsthm}{} } - +\jlreq@jlreqsetup@add{theorem_font}{ + \def\jlreq@theorem@font{#1} + \@ifpackageloaded{amsthm}{\jlreq@setupamsthm}{} +} +\jlreq@jlreqsetup@add{theorem_label_font}{ + \def\jlreq@theorem@label@font{#1} + \@ifpackageloaded{amsthm}{\jlreq@setupamsthm}{} +} +\jlreq@jlreqsetup@add{proof_label_font}{ + \def\jlreq@proof@label@font{#1} +} %. デフォルトè¨å®š %.. 見出㗠@@ -5765,7 +5788,7 @@ \jlreqsetup{footnote_second_indent=1\jlreq@zw} \jlreqsetup{endnote_second_indent=2\jlreq@zw} \jlreqsetup{endnote_position=headings} -\ifdim\marginparwidth>0pt +\ifdim\jlreq@sidenote@length>0pt \jlreqsetup{sidenote_type=number} \jlreqsetup{sidenote_symbol=*,sidenote_keyword_font={}} \fi @@ -5930,7 +5953,13 @@ } \jlreqsetup{theindex_pagestyle=plain} \jlreqsetup{year_style=seireki} -\jlreqsetup{theorem_beforeafter_space=1\baselineskip,theorem_indent=0pt} +\jlreqsetup{ + theorem_beforeafter_space=1\baselineskip, + theorem_indent=0pt, + theorem_label_font = {\bfseries\gtfamily\sffamily}, + theorem_font = {\normalfont}, + proof_label_font = {\bfseries\gtfamily\sffamily}, +} \newcommand{\contentsname}{目次} diff --git a/language/japanese/jlreq/jlreq.pdf b/language/japanese/jlreq/jlreq.pdf Binary files differindex 6f92ea5c51..b770c64681 100644 --- a/language/japanese/jlreq/jlreq.pdf +++ b/language/japanese/jlreq/jlreq.pdf diff --git a/macros/latex/contrib/hep-paper/bibliography.bib b/macros/latex/contrib/hep-paper/bibliography.bib index 5b295b1c37..d63b733947 100644 --- a/macros/latex/contrib/hep-paper/bibliography.bib +++ b/macros/latex/contrib/hep-paper/bibliography.bib @@ -1,4 +1,4 @@ -@manual{hep-paper, +@article{hep-paper, title = "The |hep-paper| package", subtitle = "Publications in High Energy Physics", author = "Jan Hajer", @@ -15,18 +15,34 @@ eprintclass = "janhajer", eprint = "hep-paper", } -@manual{cleveref, +@article{kvoptions, +title = "The |kvoptions| package", +subtitle = "Key value format for package options", +author = "Heiko Oberdiek", +year = "2004", +eprinttype = "ctan", +eprint = "kvoptions", +related = "kvoptions-1", +} + +@manual{kvoptions-1, +eprinttype = "github", +eprintclass = "ho-tex", +eprint = "kvoptions", +} + +@article{cleveref, title = "The |cleveref| package", subtitle = "Intelligent cross-referencing", author = "Toby Cubitt", date = "2006", -url = "http://www.dr-qubit.org/cleveref.html", +url = "http://dr-qubit.org/cleveref", eprinttype = "ctan", eprint = "cleveref", } -@manual{foreign, -title = "The |foreign| package for \LaTeX2e", +@article{foreign, +title = "The |foreign| package for \hologo{LaTeX2e}", subtitle = "Systematic treatment of \enquote{foreign} words in documents", author = "Philip G. Ratcliffe", date = "2012", @@ -34,7 +50,7 @@ eprinttype = "ctan", eprint = "foreign", } -@manual{geometry, +@article{geometry, title = "The |geometry| package", subtitle = "Flexible and complete interface to document dimensions", author = "David Carlisle and Hideo Umeki", @@ -50,7 +66,7 @@ eprintclass = "davidcarlisle", eprint = "geometry", } -@manual{a4wide, +@article{a4wide, title = "The |a4wide| package", subtitle = "\enquote{Wide} a4 layout", author = "Alexander Holt and Jean-François Lamy", @@ -60,7 +76,7 @@ eprint = "a4wide", note = "depreciated and not used", } -@manual{microtype, +@article{microtype, title = "The |microtype| package", subtitle = "Subliminal refinements towards typographical perfection", author = "Robert Schlicht", @@ -69,8 +85,8 @@ eprinttype = "ctan", eprint = "microtype", } -@manual{authblk, -title = "A \LaTeX\ Package to Prepare Author and Affiliation Blocks", +@article{authblk, +title = "A \hologo{LaTeX} Package to Prepare Author and Affiliation Blocks", subtitle = "Support for footnote style author/affiliation", author = "Patrick W. Daly", date = "2001", @@ -78,24 +94,24 @@ eprinttype = "ctan", eprint = "authblk", } -@manual{bm, +@article{bm, title = "The |bm| package", subtitle = "Access bold symbols in maths mode", author = "David Carlisle and Frank Mittelbach", -collaboration = "\LaTeX\ Team", +collaboration = "\hologo{LaTeX} Team", date = "1993", eprinttype = "ctan", eprint = "bm", } -@manual{empheq, +@article{empheq, title = "The |empheq| package", author = "Lars Madsen and Morten Høgholm and Will Robertson and Joseph Wright", eprinttype = "ctan", eprint = "empheq", } -@manual{mathtools, +@article{mathtools, title = "The |mathtools| package", subtitle = "Mathematical tools to use with |amsmath|", author = "Lars Madsen and Morten Høgholm and Will Robertson and Joseph Wright", @@ -104,29 +120,29 @@ eprinttype = "ctan", eprint = "mathtools", } -@manual{amsmath, +@article{amsmath, title = "The |amsmath| package", -subtitle = "AMS mathematical facilities for \LaTeX", -author = "\LaTeX", -collaboration = "\LaTeX\ Team", +subtitle = "AMS mathematical facilities for \hologo{LaTeX}", +author = "\hologo{LaTeX}", +collaboration = "\hologo{LaTeX} Team", date = "1994", -url = "http://www.ams.org/tex/amslatex.html", +url = "https://ams.org/tex/amslatex", eprinttype = "ctan", eprint = "amsmath", } -@manual{amsfonts, +@article{amsfonts, title = "The |amsfonts| package", -subtitle = "\TeX\ fonts from the American Mathematical Society", +subtitle = "\hologo{TeX} fonts from the American Mathematical Society", author = "Michael Downes and David M. Jones and Frank Mittelbach and Rainer Schöpf", collaboration = "American Mathematical Society", date = "1995", -url = "http://www.ams.org/tex/amsfonts.html", +url = "https://ams.org/tex/amsfonts", eprinttype = "ctan", eprint = "amsfonts", } -@manual{amssymb, +@article{amssymb, title = "The |amssymb| package", author = "Michael Downes and David M. Jones and Frank Mittelbach and Rainer Schöpf", collaboration = "American Mathematical Society", @@ -135,7 +151,7 @@ eprinttype = "ctan", eprint = "amsfonts", } -@manual{slashed, +@article{slashed, title = "The |slashed| package", subtitle = "Put a slash through characters", author = "David Carlisle", @@ -144,7 +160,7 @@ eprinttype = "ctan", eprint = "slashed", } -@manual{physics, +@article{physics, title = "The |physics| package", subtitle = "Macros supporting the Mathematics of Physics", author = "Sergio C. de la Barrera", @@ -153,7 +169,7 @@ eprinttype = "ctan", eprint = "physics", } -@manual{units, +@article{units, title = "The |units| and |nicefrac| packages", subtitle = "Typeset units", author = "Axel Reichert", @@ -162,16 +178,17 @@ eprinttype = "ctan", eprint = "units", } -@manual{subcaption, +@article{subcaption, title = "The |subcaption| package", subtitle = "Support for sub-captions", author = "Axel Sommerfeldt", date = "2007", eprinttype = "ctan", eprint = "subcaption", +related = "caption-1", } -@manual{caption, +@article{caption, title = "The |caption| package", subtitle = "Customising captions in floating environments", author = "Axel Sommerfeldt", @@ -188,9 +205,9 @@ eprint = "caption", } -@manual{biblatex, +@article{biblatex, title = "The |biblatex| Package", -subtitle = "Sophisticated Bibliographies in \LaTeX", +subtitle = "Sophisticated Bibliographies in \hologo{LaTeX}", author = "Philipp Lehman and Joseph Wright and Audrey Boruvka and Philip Kime", date = "2006", eprinttype = "ctan", @@ -204,11 +221,11 @@ eprintclass = "plk", eprint = "biblatex", } -@manual{hyperref, -title = "Hypertext marks in \LaTeX: a manual for |hyperref|", -subtitle = "Extensive support for hypertext in \LaTeX", +@article{hyperref, +title = "Hypertext marks in \hologo{LaTeX}: a manual for |hyperref|", +subtitle = "Extensive support for hypertext in \hologo{LaTeX}", author = "Sebastian Rahtz and Heiko Oberdiek", -collaboration = "\LaTeX3 Project", +collaboration = "\hologo{LaTeX3} Project", date = "1995", eprinttype = "ctan", eprint = "hyperref", @@ -221,7 +238,7 @@ eprintclass = "latex3", eprint = "hyperref", } -@manual{graphicx, +@article{graphicx, title = "Packages in the \enquote{graphics} bundle", subtitle = "Enhanced support for graphics", author = "David Carlisle and Sebastian Rahtz", @@ -230,16 +247,16 @@ eprinttype = "ctan", eprint = "graphicx", } -@manual{booktabs, +@article{booktabs, title = "The |booktabs| package", -subtitle = "Publication quality tables in \LaTeX", +subtitle = "Publication quality tables in \hologo{LaTeX}", author = "Danie Els and Simon Fear", date = "1995", eprinttype = "ctan", eprint = "booktabs", } -@manual{multirow, +@article{multirow, title = "The |multirow|, |bigstrut| and |bigdelim| packages", subtitle = "Create tabular cells spanning multiple rows", author = "Piet van Oostrum and Jerry Leichter", @@ -248,8 +265,8 @@ eprinttype = "ctan", eprint = "multirow", } -@manual{fixmath, -title = "The |fixmath| package for \LaTeX2\epsilon", +@article{fixmath, +title = "The |fixmath| package for \hologo{LaTeX2e}", subtitle = "Make maths comply with ISO 31-0:1992 to ISO 31-13:1992", author = "Walter Schmidt", date = "2000", @@ -257,7 +274,7 @@ eprinttype = "ctan", eprint = "fixmath", } -@manual{alphabeta, +@article{alphabeta, title = "The |alphabeta| package", subtitle = "LICR macros and encoding definition files for Greek", author = "Günter Milde", @@ -266,17 +283,21 @@ eprinttype = "ctan", eprint = "greek-fontenc", } -@manual{arxiv-collector, -title = "arxiv-collector", +@article{arxiv-collector, +title = "|arxiv-collector|", +subtitle = "A little Python script to collect \hologo{LaTeX} sources for upload to the arXiv", author = "Dougal Sutherland", +date = "2018", eprinttype = "github", eprintclass = "dougalsutherland", eprint = "arxiv-collector", } -@manual{biber, -title = "biber", +@article{biber, +title = "\hologo{biber}", +subtitle = "Backend processor for Bib\hologo{LaTeX}", author = "François Charette and Philip Kime", +date = "2009", eprinttype = "github", eprintclass = "plk", eprint = "biber", @@ -288,30 +309,30 @@ eprinttype = "sourceforge", eprint = "biblatex-biber", } -@manual{lmodern, +@article{lmodern, title = "Latin Modern Family of Fonts", subtitle = "Latin modern fonts in outline formats", date = "2003", author = "B. Jackowski and J.M. Nowacki", -url = "http://www.gust.org.pl/projects/e-foundry/latin-modern", +url = "http://gust.org.pl/projects/e-foundry/latin-modern", eprinttype = "ctan", eprint = "lm", } -@manual{ifluatex, +@article{ifluatex, title = "The |ifluatex| package", subtitle = "Provides the |\textbackslash ifluatex| switch", author = "Heiko Oberdiek", -collaboration = "\LaTeX\ Team", +collaboration = "\hologo{LaTeX} Team", date = "2007", eprinttype = "ctan", eprint = "ifluatex", } -@manual{ifxetex, +@article{ifxetex, title = "The |iftex| package", -subtitle = "Am I running under XeTeX?", -collaboration = "\LaTeX\ Team", +subtitle = "Am I running under \hologo{XeTeX}?", +collaboration = "\hologo{LaTeX} Team", author = "Will Robertson", date = "2006", eprinttype = "ctan", @@ -325,47 +346,49 @@ eprintclass = "latex3", eprint = "iftex", } -@manual{fontspec, +@article{fontspec, title = "The |fontspec| package", author = "Will Robertson and Khaled Hosny", eprinttype = "ctan", eprint = "fontspec", } -@manual{fontenc, +@article{fontenc, title = "The |fontenc| package", subtitle = "Standard package for selecting font encodings", -collaboration = "\LaTeX\ Team", -author = "\LaTeX\ Team", +collaboration = "\hologo{LaTeX} Team", +author = "Frank Mittelbach and Robin Fairbairns and Werner Lemberg", +date = "1995", eprinttype = "ctan", eprint = "fontenc", } -@manual{inputenc, +@article{inputenc, title = "The |inputenc| package", subtitle = "Accept different input encodings", -collaboration = "\LaTeX\ Team", +collaboration = "\hologo{LaTeX} Team", author = "Frank Mittelbach and Alan Jeffrey", +date = "1989", eprinttype = "ctan", eprint = "inputenc", } -@manual{textcomp, +@article{textcomp, title = "The |textcomp| package", -subtitle = "\LaTeX\ support for the Text Companion fonts", -collaboration = "\LaTeX\ Team", +subtitle = "\hologo{LaTeX} support for the Text Companion fonts", +collaboration = "\hologo{LaTeX} Team", author = "Sebastian Rahtz", date = "1995", eprinttype = "ctan", eprint = "textcomp", } -@manual{enumitem, +@article{enumitem, title = "Customizing lists with the |enumitem| package", subtitle = "Control layout of itemize, enumerate, description", author = "Javier Bezos", date = "2003", -url = " http://www.texnia.com/enumitem.html", +url = "https://texnia.com/enumitem.html", eprinttype = "ctan", eprint = "enumitem", related = "enumitem-1", @@ -377,7 +400,7 @@ eprintclass = "jbezos", eprint = "enumitem", } -@manual{atbegshi, +@article{atbegshi, title = "The |atbegshi| package", subtitle = "Execute stuff at |shipout| time", author = "Heiko Oberdiek", @@ -393,7 +416,7 @@ eprintclass = "ho-tex", eprint = "atbegshi", } -@manual{picture, +@article{picture, title = "The |picture| package", subtitle = "Dimens for picture macros", author = "Heiko Oberdiek", @@ -409,7 +432,7 @@ eprintclass = "ho-tex", eprint = "picture", } -@manual{varwidth, +@article{varwidth, title = "The |varwidth| package", subtitle = "A variable-width minipage", author = "Donald Arseneau", @@ -418,7 +441,7 @@ eprinttype = "ctan", eprint = "varwidth", } -@manual{csquotes, +@article{csquotes, title = "The |csquotes| Package", subtitle = "Context sensitive quotation facilities", author = "Philipp Lehman and Joseph Wright", @@ -427,9 +450,9 @@ eprinttype = "ctan", eprint = "csquotes", } -@manual{babel, +@article{babel, title = "|Babel| Localization and internationalization", -subtitle = "Multilingual support for Plain \TeX\ or \LaTeX", +subtitle = "Multilingual support for Plain \hologo{TeX} or \hologo{LaTeX}", author = "Johannes Braams and Javier Bezos and at al.", date = "1989", eprinttype = "ctan", @@ -443,14 +466,14 @@ eprintclass = "latex3", eprint = "babel", } -@manual{polyglossia, +@article{polyglossia, title = "The |polyglossia| package", author = "Arthur Reutenauer and François Charette and Elie Roux and Bastien Roucariès and Jürgen Spitzmüller", eprinttype = "ctan", eprint = "polyglossia", } -@manual{parskip, +@article{parskip, title = "The |parskip| package", subtitle = "Layout with zero |\textbackslash parindent|, non-zero |\textbackslash parskip|", author = "Robin Fairbairns and Frank Mittelbach and H. Partl", @@ -467,24 +490,24 @@ eprint = "fmitex", } -@manual{fntguide, -title = "\LaTeX2\epsilon\ font selection", -subtitle = "Docmentation of \LaTeX\ font commands", -collaboration = "\LaTeX\ Team", -author = "\LaTeX\ Team", +@article{fntguide, +title = "\hologo{LaTeX2e}\ font selection", +subtitle = "Docmentation of \hologo{LaTeX} font commands", +collaboration = "\hologo{LaTeX} Team", +author = "\hologo{LaTeX} Team", date = "1995", eprinttype = "ctan", eprint = "fntguide", } -@manual{euenc, +@article{euenc, title = "The Experimental Unicode `EUx’ Encodings", author = "Will Robertson and Elie Roux and Khaled Hosny", eprinttype = "ctan", eprint = "euenc", } -@manual{soul, +@article{soul, title = "The |soul| package", subtitle = "Hyphenation for letterspacing, underlining, and more", author = "Melchior Franz", @@ -493,7 +516,7 @@ eprinttype = "ctan", eprint = "soul", } -@manual{glossaries, +@article{glossaries, title = "The |glossaries| package", subtitle = "Create glossaries and lists of acronyms", author = "Nicola Talbot", @@ -502,7 +525,7 @@ eprinttype = "ctan", eprint = "glossaries", } -@manual{glossaries-extra, +@article{glossaries-extra, title = "The |glossaries-extra| package", subtitle = "An extension to the |glossaries| package", author = "Dickimaw Books, Nicola Talbot", @@ -511,34 +534,34 @@ eprinttype = "ctan", eprint = "glossaries-extra", } -@manual{xparse, +@article{xparse, title = "The |xparse| package", subtitle = "A generic document command parser", author = "Frank Mittelbach and Chris Rowley and David Carlisle", -collaboration = "\LaTeX3 Project", +collaboration = "\hologo{LaTeX3} Project", date = "1999", eprinttype = "ctan", eprint = "xparse", } -@manual{pdftexcmds, +@article{pdftexcmds, title = "The |pdftexcmds| package", -subtitle = "LuaTeX support for pdfTeX utility functions", +subtitle = "\hologo{LuaTeX} support for \hologo{pdfTeX} utility functions", author = "Heiko Oberdiek", date = "2007", eprinttype = "ctan", eprint = "pdftexcmds", } -@manual{fix-cm, +@article{fix-cm, title = "The |fix-cm| package", author = "Frank Mittelbach and David Carlisle and Chris Rowley and Walter Schmidt", eprinttype = "ctan", eprint = "fix-cm", } -@manual{revtex, -title = "The |revtex| package", +@article{revtex, +title = "The REV\hologo{TeX} package", subtitle = "Styles for various Physics Journals", author = "Mark Doyle and Arthur Ogawa", collaboration = "American Physical Society", @@ -548,27 +571,27 @@ eprinttype = "ctan", eprint = "revtex", } -@manual{encguide, -title = "\LaTeX\ font encodings", -subtitle = "Documentation of \LaTeX\ font encodings", +@article{encguide, +title = "\hologo{LaTeX} font encodings", +subtitle = "Documentation of \hologo{LaTeX} font encodings", author = "Frank Mittelbach and Robin Fairbairns and Werner Lemberg", -collaboration = "\LaTeX3 Project Team", +collaboration = "\hologo{LaTeX3} Project Team", date = "1995", eprinttype = "ctan", eprint = "encguide", } -@manual{sfmath, +@article{sfmath, title = "The |sfmath| package", subtitle = "Sans-serif mathematics", author = "Olaf Dietrich", date = "2005", -url = "http://dtrx.de/od/tex/sfmath.html", +url = "https://dtrx.de/od/tex/sfmath", eprinttype = "ctan", eprint = "sfmath", } -@manual{relsize, +@article{relsize, title = "The |relsize| package", subtitle = "Set the font size relative to the current font size", author = "Donald Arseneau and Matt Swift", @@ -577,12 +600,101 @@ eprinttype = "ctan", eprint = "relsize", } -@manual{everyhook, +@article{everyhook, title = "The |everyhook| package", -subtitle = "Hooks for standard \TeX\ token lists", +subtitle = "Hooks for standard \hologo{TeX} token lists", author = "Stephen Checkoway", date = "2010", eprinttype = "ctan", eprint = "everyhook", } + +@article{sansmathfonts, +title = "The |sansmathfonts| package", +subtitle = "Correct placement of accents in sans-serif maths", +author = "Ariel Barton", +date = "2013", +eprinttype = "ctan", +eprint = "sansmathfonts", +} + +@article{xspace, +title = "The |xspace| package", +subtitle = "Define commands that appear not to eat spaces", +author = "David Carlisle and Morten Høgholm", +collaboration = "\hologo{LaTeX} Team", +date = "1993", +eprinttype = "ctan", +eprint = "xspace", +} + +@article{ragged2e, +title = "The |ragged2e|-package", +subtitle = "Alternative versions of \enquote{ragged}-type commands", +author = "Martin Schröder", +date = "1996", +eprinttype = "ctan", +eprint = "ragged2e", +related = "ragged2e-1", +} + +@manual{ragged2e-1, +eprinttype = "gitlab", +eprintclass = "hagenbuch", +eprint = "ragged2e", +} + +@article{url, +title = "The |url| package", +subtitle = "Verbatim with URL-sensitive line breaks", +author = "Donald Arseneau", +date = "1996", +eprinttype = "ctan", +eprint = "url", +} + +@article{jhep, +title = "The |JHEP| package", +author = "SISSA Medialab", +collaboration = "SISSA Medialab", +date = "1997", +url = "https://jhep.sissa.it/jhep/help/JHEP_TeXclass.jsp", +} + +@article{jcap, +title = "The |JCAP| package", +author = "SISSA Medialab", +collaboration = "SISSA Medialab", +date = "2002", +url = "https://jcap.sissa.it/jcap/help/JCAP_TeXclass.jsp", +} + +@article{bbm-macros, +title = "A package for using the |bbm| fonts in math environment", +author = "Torsten Hilbrich", +date = "1994", +eprinttype = "ctan", +eprint = "bbm-macros", +related = "bbm" +} + +@article{bbm, +title = "|bbm|", +subtitle = "\enquote{Blackboard-style} cm fonts", +author = " Gilles Robert", +date = "1993", +eprinttype = "ctan", +eprint = "bbm", +} + +@online{arxiv, +title = "arXiv", +subtitle = "free distribution service and an open archive for scholarly articles", +url = "https://arxiv.org", +author = "Paul Ginsparg", +collaboration = "arXiv Team", +year = "1991", +organization = "Cornell University", +ReportNumber = "test", +} diff --git a/macros/latex/contrib/hep-paper/hep-paper.dtx b/macros/latex/contrib/hep-paper/hep-paper.dtx index 9ba0f10dcd..5c9841bc6a 100644 --- a/macros/latex/contrib/hep-paper/hep-paper.dtx +++ b/macros/latex/contrib/hep-paper/hep-paper.dtx @@ -16,10 +16,13 @@ % \fi % % \iffalse +% %<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] -%<package>\ProvidesPackage{hep-paper}[2020/03/01 v1.2 Publications in High Energy Physics] - +%<package>\ProvidesPackage{hep-paper}[2020/05/01 v1.3 Publications in High Energy Physics] +%<datamodel>\ProvidesFile{hep-paper.dbx}[2020/05/01 v1.3 HEP-Paper biblatex data model] +% %<*driver> + \documentclass{ltxdoc} \MacroIndent=1.5em @@ -39,26 +42,27 @@ % \vspace{2.3ex}\vskip -\parskip} % \makeatother -\newenvironment{example}[1][.5]{% - \begin{minipage}[t]{\linewidth}% - \begin{minipage}[t]{#1\linewidth} - \newcommand{\second}{% - \end{minipage}% - \begin{minipage}[t]{\linewidth-#1\linewidth}% - }% -}{\end{minipage}\end{minipage}} - \usepackage[parskip]{hep-paper} \bibliography{bibliography} \acronym{PDF}{portable document format} -\listfiles +\usepackage{hologo} +\usepackage{multicol} \usepackage{titletoc} \titlecontents{section}[0em]{\medskip\bfseries}{\thecontentslabel\hspace{.8em}}{}{\hfill\contentspage} +\newenvironment{columns}[1][.5]{% + \begin{minipage}[t]{\linewidth}% + \begin{minipage}[t]{#1\linewidth} + \newcommand{\column}{% + \end{minipage}% + \begin{minipage}[t]{\linewidth-#1\linewidth}% + }% +}{\end{minipage}\end{minipage}} + \EnableCrossrefs \CodelineIndex \RecordChanges @@ -66,10 +70,12 @@ \begin{document} \DocInput{hep-paper.dtx} \end{document} + %</driver> +% % \fi % -% \CheckSum{0} +% \CheckSum{1140} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -88,8 +94,9 @@ % Right brace \} Tilde \~} % % \changes{v1.0}{2019/01/01}{Initial version of the style file} -% \changes{v1.1}{2020/01/01}{Transition to documented \LaTeX\ source file} -% \changes{v1.2}{2020/03/01}{Inclusion of package options} +% \changes{v1.1}{2020/01/01}{Transition to documented \hologo{LaTeX} source file} +% \changes{v1.2}{2020/03/01}{Introduction of package options} +% \changes{v1.3}{2020/05/01}{Inclusion of JHEP and JCAP package options, fix incompatibility with recent subcaption package version, move biblatex datamodel into its own file} % % \GetFileInfo{hep-paper.sty} % @@ -100,8 +107,7 @@ % \author{Jan Hajer \email{jan.hajer@uclouvain.be}} % \affiliation{Centre for Cosmology, Particle Physics and Phenomenology, Université catholique de Louvain, Louvain-la-Neuve B-1348, Belgium} % \preprint{Preprint-Number} -% \date{\today} -% \date{\normalsize\filedate} +% \date{\normalfont\filedate} % % \maketitle % @@ -121,11 +127,11 @@ % | \documentclass{article}|\\ % | \usepackage{hep-paper}| % -% The most notable changes after loading the |hep-paper| package is the change of some \LaTeX\ defaults. +% The most notable changes after loading the |hep-paper| package is the change of some \hologo{LaTeX} defaults. % The paper and font sizes are set to A4 and \unit[11]{pt}, respectively. % Additionally, the paper geometry is set to the values known from the (depreciated) |a4wide| package \cite{a4wide} using the |geometry| package \cite{geometry}. -% Finally, the font is changed to |lmodern| \cite{lmodern} with |microtype| \cite{microtype} optimizations. -% \PDF hyperlinks are implemented with the |hyperref| package \cite{hyperref}. +% Furthermore, the font is changed to |lmodern| \cite{lmodern} with |microtype| \cite{microtype} optimizations. +% Finally, \PDF hyperlinks are implemented with the |hyperref| package \cite{hyperref}. % % \subsection{Options} % @@ -153,26 +159,36 @@ % % \DescribeMacro{parskip} % The |parskip| option makes use of the |parskip| package \cite{parskip} and changes how two paragraphs are separated from each other. -% The \LaTeX\ default is separation via indentation the |parskip| option switches to separation via vertical space. +% The \hologo{LaTeX} default is separation via indentation the |parskip| option switches to separation via vertical space. % \footnote{The |parskip| option is used for this document.} % % \DescribeMacro{sansserif} % The |sansserif| option switches the document including math to sans serif font shape. % % \DescribeMacro{title} -% The |title=false| option deactivates the titlepage adjustments. +% The |title=false| option deactivates the title page adjustments. % % \DescribeMacro{manualplacement} % The |manualplacement| option reactivates manual float placement. % % \DescribeMacro{bibliography} -% The |bibliography|=\meta{key} option prevents the automatic loading of the |biblatex| package \cite{biblatex} for \meta{key}=|false| or passes the \meta{key} as |style| string to the |biblatex| package. +% The |bibliography|=\meta{key} option prevents the automatic loading of the |biblatex| package \cite{biblatex} if \meta{key}=|false|. +% Otherwise the \meta{key} is passed as |style| string to the |biblatex| package. % % \DescribeMacro{glossaries} -% The |glossaries=false| option deactives the use of the |glossaries| package \cite{glossaries, glossaries-extra}. +% The |glossaries=false| option deactives the use of the |glossaries| package \cite{glossaries}. +% +% \DescribeMacro{jhep} +% The |jhep| option activates the |JHEP| \cite{jhep} compatibility mode. +% +% \DescribeMacro{jcap} +% The |jcap| option activates the |JCAP| \cite{jcap} compatibility mode. % % \DescribeMacro{revtex} -% The |revtex| option switches the |hep-paper| package into a |revtex| \cite{revtex} compatibility mode. +% The |revtex| option activates the REV\hologo{TeX} \cite{revtex} compatibility mode. +% +% \DescribeMacro{pos} +% The |pos| option activates the |PoS| compatibility mode. % % \DescribeMacro{eqnarray} % The |eqnarray| option reactivates the depreciated |eqnarray| environment. @@ -181,7 +197,6 @@ % % \subsection{Title page} % -% The \PDF meta information is set according to the |\title|\marg{text} and |\author|\marg{text} information. % \DescribeMacro{\author} % \DescribeMacro{\affiliation} % \DescribeMacro{\email} @@ -193,18 +208,21 @@ % | \author[2]{Author two \email{Email two}}|\\ % | \affiliation[1,2]{Affiliation two}| % +% \DescribeMacro{\title} +% The \PDF meta information is set according to the |\title|\marg{text} and |\author| \marg{text} information. +% % \DescribeMacro{\preprint} -% The |\preprint|\marg{numer} macro places a pre-print number in the upper right corner of the first page. +% The |\preprint|\marg{numer} macro places a pre-print number in the upper right corner of the title page. % % \DescribeEnv{abstract} -% The |abstract| environment has been adjusted to not start with an indentation. +% The |abstract| environment is adjusted to not start with an indentation. % % \subsection{Text} % -% \DescribeMacro{\enquote} % Hyphenation is provided by the |babel| package \cite{babel} and quotation commands are provided by the |csquotes| package \cite{csquotes} recommended by the |babel| package. +% \DescribeMacro{\enquote} % \DescribeMacro{\MakeOuterQuote} -% The latter package provides the convenient macro |\MakeOuterQuote{"}| allowing to simply use |"| instead of the pair |``| and |''|. +% The latter package provides the convenient macros |\enquote|\marg{text} and |\MakeOuterQuote{"}| allowing to leave the choice of quotation marks to \hologo{LaTeX} and use |"| instead of the pair |``| and |''|, respectively. % % \DescribeMacro{\eg} % \DescribeMacro{\vs} @@ -217,12 +235,12 @@ % The |\software|\oarg{version}\marg{name} macro is typeset as \software[\fileversion]{HEP-Paper}. % % \DescribeMacro{\online} -% The |\online|\marg{url}\marg{text} macro combines the features of the |\href|\marg{url}\marg{text} and the |\url|\marg{text} macros, resulting in \eg \online{https://ctan.org/pkg/hep-paper}{ctan.org/pkg/hep-paper}. +% The |\online|\marg{url}\marg{text} macro combines the features of the |\href|\marg{url} \marg{text} \cite{hyperref} and the |\url|\marg{text} \cite{url} macros, resulting in \eg \online{https://ctan.org/pkg/hep-paper}{ctan.org/pkg/hep-paper}. % -% \DescribeMacro{inlinelist} -% Using the |enumitem| package \cite{enumitem} the |inlinelist| +% The |inlinelist| and |enumdescript| environments are defined using the |enumitem| package \cite{enumitem}. % -% \begin{example} +% \DescribeMacro{inlinelist} +% \begin{columns} % |The three main points are| % % |\begin{inlinelist}| @@ -234,19 +252,17 @@ % | \item three| % % |\end{inlinelist}| -% \second +% \column % The three main points are % \begin{inlinelist} % \item one % \item two % \item three % \end{inlinelist} -% \end{example} +% \end{columns} % % \DescribeMacro{enumdescript} -% and the |enumdescript| environments are defined -% -% \begin{example}[.6] +% \begin{columns}[.6] % |\begin{enumdescript}[label=\Roman*)]| % % | \item{First} one| @@ -256,16 +272,21 @@ % | \item{Third} three| % % |\end{enumdescript}| -% \second +% \column % \begin{enumdescript}[label=\Roman*)] % \item{First} one % \item{Second} two % \item{Third} three % \end{enumdescript} -% \end{example} +% \end{columns} % % \DescribeMacro{\textsc} -% A sans serif version of \textsf{\textsc{Small Caps}} is provided. +% A sans serif version of \textsf{\textsc{Small Caps}} is provided, using the |sansmathfonts| package \cite{sansmathfonts}. +% +% \DescribeMacro{\underline} +% \DescribeMacro{\overline} +% The |\underline| macro is redefined to allow linebreaks using the |soul| package \cite{soul}. +% The |\overline| macro is extended to also \overline{overline} text outside of math environments. % % \DescribeMacro{\useparskip} % \DescribeMacro{\useparindent} @@ -274,8 +295,8 @@ % \subsubsection{References and footnotes} % % \DescribeMacro{\cref} -% References are extended with the |cleveref| package \cite{cleveref}, which allows to \eg just type |\cref|\marg{key} in order to write 'Figure 1'. -% Furthermore, the |cleveref| package allows to reference multiple objects within one |\cref|\marg{key} (similar to the |\cite|\marg{key} macro). +% References are extended with the |cleveref| package \cite{cleveref}, which allows to \eg just type |\cref|\marg{key} in order to write \enquote{Figure 1}. +% Furthermore, the |cleveref| package allows to reference multiple objects within one |\cref|\marg{key1,key2}. % % \DescribeMacro{\cite} % Citations are adjusted to not start on a new line in order to avoid the repeated use of |~\cite|\marg{key}. @@ -293,8 +314,9 @@ % \DescribeMacro{\acronym} % \DescribeMacro{\shortacronym} % \DescribeMacro{\longacronym} -% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\marg{definition}\oarg{plural\linebreak[4]definition} macro generates the singluar |\|\meta{abbreviation} and plural |\|\meta{abbreviation}|s| macros. -% The starred version does not add an \enquote{s} to the abbreviation plural. +% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4]definition} macro generates the singluar |\|\meta{abbreviation} and plural |\|\meta{abbreviation}|s| macros. +% % The first star prevents the addition of an \enquote{s} to the abbreviation plural. +% The second star restores the \hologo{TeX} default of swallowing subsequent white space. % The long form is only shown at the first appearance of these macros, later appearances generate the abbreviation with a hyperlink to the long form. % Capitalization at the beginning of paragraphs and sentences is ensured. % The |\shortacronym| and |\longacronym| macros only show the short or long form of their acronym. @@ -307,7 +329,8 @@ % \subsection{Math} % % The |mathtools| \cite{mathtools} and |amssymb| \cite{amsfonts} packages are loaded. -% They in turn load the |amsmath| \cite{amsmath} and |amsfonts| \cite{amsfonts} packages. +% They in turn load the \hologo{AmSLaTeX} |amsmath| \cite{amsmath} and |amsfonts| \cite{amsfonts} packages. +% Details about the font handling in \hologo{TeX} can be found in \cite{fntguide}. % \DescribeMacro{\mathbf} % Bold math, including |\mathbf| is provided by the |bm| package \cite{bm}, \ie ($ A b \Gamma \delta \mathbf A \mathbf b \mathbf \Gamma \mathbf \delta$). % Macros switching to |bfseries| such as |\section|\marg{text} are ensured to also typeset math in bold. @@ -318,32 +341,34 @@ % This behaviour conflicts \eg with the |sansserif| package option. % \DescribeMacro{\mathsf} % The math sans serif alphabet is redefined to be italic sans serif if the main text is serif and italic serif if the main text is sans serif, \ie ($\mathsf A \mathsf b \mathsf \Gamma \mathsf \delta \mathbf{\mathsf A} \mathbf{\mathsf b} \mathbf{\mathsf \Gamma} \mathbf{\mathsf \delta}$). -% Details about the font handling in \TeX\ can be found in \cite{fntguide}. % \DescribeMacro{\mathscr} % The |\mathcal| font \ie ($\mathcal{ABCD}$) is accompanied by the |\mathscr| font \ie ($\mathscr{ABCD}$). +% \DescribeMacro{\mathbb} +% The |\mathbb| font is changed by the |bbm| \cite{bbm-macros} package and adjusted depending on the |sansserif| option \ie ($\mathbb{Ab1}${\mathversion{bold}$\mathbb{Ab1}$}). % % \DescribeMacro{\nicefrac} % \DescribeMacro{\flatfrac} -% The |\frac|\marg{number}\marg{number} macro is accompanied by |\nicefrac|\linebreak[1]\marg{number}\linebreak[1]\marg{number} and |\flatfrac|\marg{number}\marg{number} -% \begin{align} -% \frac12 \ ,&& \nicefrac 12 \ ,&& \flatfrac 12\ . -% \end{align} +% The |\frac|\marg{number}\marg{number} macro is accompanied by |\nicefrac|\linebreak[1]\marg{number}\linebreak[1]\marg{number} and |\flatfrac|\marg{number}\marg{number} leading to $\frac12$, $\nicefrac 12$, and $\flatfrac 12$. % \DescribeMacro{\diag} +% % A diagonal matrix operator is defined |\diag|. % % \DescribeMacro{\mathdef} % The |\mathdef|\marg{name}\oarg{arguments}\marg{code} macro (re-)defines macros only within math mode without changing the text mode definition. +% % \DescribeMacro{\i} -% The imaginary unit $\i$ is defined using this functionality. +% \DescribeMacro{\d} +% The imaginary unit $\i$ and the differential $\d$ are defined using this functionality. % % \DescribeMacro{\numberwithin} % For longer paper it can be useful to re-number the equation in accordance with the section numbering |\numberwithin{equation}{section}|. -% \DescribeMacro{\subequations} +% \DescribeMacro{subequations} % In order to further reduce the size the of equation counter it can be useful to wrap |align| environments with multiple rows in a |subequations| environment. +% Both macros are provided by the \hologo{AmSLaTeX} package. % % \DescribeMacro{eqnarray} % The depreciated |eqnarray| environment is undefined as long this behaviour is not prevented by the |eqnarray| package option. -% The |align| environment should be used instead. +% The |split|, |multline|, |align|, |multlined|, |aligned|, |alignedat|, and |cases| environments should be used instead. % % \subsubsection{Physics} % @@ -353,7 +378,7 @@ % \sigma &= \unit[5]{fb} \ , & &\text{at \unit[5]{\sigma} C.L.} \ , & \mu &= \unit[5]{cm} \ , & l &= \text{\unit[5]{\mu m}} \ , % \label{eq:greek} % \end{align} -% and \eg to distinguish gauge $\nu$ and mass \nu\ eigenstates in models with massive light neutrinos. +% and \eg to distinguish gauge $\nu$ and mass \nu\ eigenstates in models with massive neutrinos. % Additionally, Greek letters can also be directly typed using Unicode. % % \DescribeMacro{\ev} @@ -374,10 +399,11 @@ % The |\slashed|\marg{character} macro from the |slashed| \cite{slashed} package allows to use the Dirac slash notation. % % \DescribeMacro{\overleftright} -% A better looking over left right arrow is defined $\overleftright{\partial}$. +% A better looking over left right arrow is defined \ie $\overleftright{\partial}$. +% % \DescribeMacro{\unit} % \DescribeMacro{\inv} -% The correct spacing for units, \cf \cref{eq:greek}, is provided by the macro |\unit|\oarg{value}\marg{unit} from the |units| package \cite{units} which can also be used in text mode. +% The correct spacing for units, \cf \cref{eq:greek}, is provided by the macro |\unit|\oarg{value} \marg{unit} from the |units| package \cite{units} which can also be used in text mode. % The macro |\inv|\oarg{power}\marg{text} allows to avoid math mode also for inverse units such as \unit[5]{\inv{fb}} typeset via |\unit[5]{\inv{fb}}|. % % \subsection{Floats} @@ -420,7 +446,7 @@ % \DescribeMacro{\panel} % The |panels| environment makes use of the |subcaption| package \cite{subcaption}. % It provides sub-floats and takes as mandatory argument either the number of sub-floats (default~2) or the width of the first sub-float as fraction of the |\linewidth|. -% Within the |\begin{panels}|\oarg{vert}\marg{width} environment the |\panel| macro initiates a new sub-float. +% Within the |\begin{panels}|\oarg{vertical alignment}\marg{width} environment the |\panel| macro initiates a new sub-float. % In the case that the width of the first sub-float has been given as an optional argument to the |panels| environment the |\panel|\marg{width} macro takes the width of the next sub-float as mandatory argument. % The example code is presented in \cref{tab:panels}. % @@ -438,9 +464,9 @@ % \DescribeMacro{\printbibliography} % The |biblatex| package \cite{biblatex} is loaded for bibliography management. % The user has to add the line |\bibliography|\marg{my.bib} to the preamble of the document and |\printbibliography| at the end of the document. -% The bibliography is generated by |biber| \cite{biber}. +% The bibliography is generated by \software{Biber} \cite{biber}. % |biblatex| is extended to be able to cope with the |collaboration| and |reportNumber| fields provided by \online{https://inspirehep.net}{inspirehep.net} and a bug in the volume number is fixed. -% Additionally, \online{https://ctan.org}{ctan.org}, \online{https://github.com}{github.com}, \online{https://gitlab.com}{gitlab.com}, \online{https://sourceforge.net}{sourceforge.net}, and \online{https://hepforge.org}{hepforge.org} are recognized as |eprinttype|s. +% Additionally, \online{https://ctan.org}{ctan.org}, \online{https://github.com}{github.com}, \online{https://gitlab.com}{gitlab.com}, \online{https://bitbucket.org}{bitbucket.org}, \online{https://www.launchpad.net}{launchpad.net}, \online{https://sourceforge.net}{sourceforge.net}, and \online{https://hepforge.org}{hepforge.org} are recognized as |eprinttype|s. % \DescribeMacro{erratum} % Errata can be included using the |related| feature. % @@ -459,7 +485,7 @@ % The majority of the loaded packages are fairly lightweight, the others can be deactivated with package options. % % \DescribeMacro{arxiv-collector} -% ArXiv requires the setup dependent |bbl| files instead of the original |bib| files, which causes trouble if the local \LaTeX\ version differs from the one used by arXiv. +% ArXiv.org \cite{arxiv} requires the setup dependent |bbl| files instead of the original |bib| files, which causes trouble if the local \hologo{LaTeX} version differs from the one used by arXiv. % The |arxiv-collector| python script \cite{arxiv-collector} alleviates this problem by collecting all files necessary for publication on arXiv (including figures). % % \StopEventually{ @@ -471,9 +497,12 @@ % % \section{Options} % -% Load the |kvoptions| package and define a |hep| namespace. +%<*package> + +% Load the |pdftexcmds| \cite{pdftexcmds} and |kvoptions| \cite{kvoptions} packages and define a |hep| namespace. % \DoNotIndex{\RequirePackage,\SetupKeyvalOptions} % \begin{macrocode} +\RequirePackage{pdftexcmds} \RequirePackage{kvoptions} \SetupKeyvalOptions{ family=hep, @@ -548,7 +577,7 @@ % \end{macro} % % \begin{macro}{glossaries} -% Provide the option |glossaries| able to turn of the use of the |glossaries-extra| package \cite{glossaries-extra}. +% Provide the option |glossaries| able to turn of the use of the |glossaries| package \cite{glossaries}. % \DoNotIndex{\ifhep@glossaries} % \begin{macrocode} \DeclareBoolOption[true]{glossaries} @@ -572,39 +601,94 @@ % \end{macro} % % \begin{macro}{revtex} -% Provide the option |revtex| for |revtex| \cite{revtex} compatibility mode. +% Provide the option |revtex| for REV\hologo{TeX} \cite{revtex} compatibility mode. % \begin{macrocode} \DeclareBoolOption[false]{revtex} % \end{macrocode} % \end{macro} - +% +% \begin{macro}{jhep} +% Provide the option |jhep| for |JHEP| \cite{jhep} compatibility mode. +% \begin{macrocode} +\DeclareBoolOption[false]{jhep} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{jcap} +% Provide the option |jcap| for |JCAP| \cite{jcap} compatibility mode. +% \begin{macrocode} +\DeclareBoolOption[false]{jcap} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{pos} +% Provide the option |pos| for |PoS| compatibility mode. +% \begin{macrocode} +\DeclareBoolOption[false]{pos} +% \end{macrocode} +% \end{macro} +% % \subsection{Process options} % % \begin{macrocode} \ProcessKeyvalOptions* % \end{macrocode} +% +% Set the |pos| compatibility options. +% \DoNotIndex{\ifhep@pos,\setkeys,\fi} +% \begin{macrocode} +\ifhep@pos + \setkeys{hep}{title=false, defaults} +\fi +% \end{macrocode} +% % Set the |revtex| compatibility options. -% \DoNotIndex{\ifhep@revtex,\setkeys,\fi} +% \DoNotIndex{\ifhep@revtex} % \begin{macrocode} \ifhep@revtex \setkeys{hep}{defaults, title=false, lang=american, bibliography=false} \fi % \end{macrocode} - +% +% Define the SISSA conditional. +% \begin{macrocode} +\newif\ifhep@sissa +\ifhep@jhep\hep@sissatrue +\else + \ifhep@jcap\hep@sissatrue + \else\hep@sissafalse + \fi +\fi +% \end{macrocode} +% +% Set the SISSA compatibility options. +% \begin{macrocode} +\ifhep@sissa + \setkeys{hep}{title=false, bibliography=false} + \PassOptionsToPackage{ + colorlinks=true, linktocpage=true, pdfproducer=medialab, pdfa=true, + urlcolor=blue, anchorcolor=blue, citecolor=blue, filecolor=blue, + linkcolor=blue, menucolor=blue, pagecolor=blue + }{hyperref} + \hoffset 0pt + \voffset 0pt +\fi +% \end{macrocode} % \section{Engine} % % \begin{macro}{\ifxetexorluatex} % Load the |ifluatex| \cite{ifluatex} and |ifxetex| \cite{ifxetex} packages. -% Define the |\ifxetexorluatex| conditional. +% Define the |\ifxetexorluatex| conditional checking if the package is executed by \hologo{LuaLaTeX} or \hologo{XeLaTeX}. % \DoNotIndex{\newif,\ifxetex,\xetexorluatextrue,\else,\ifluatex,\xetexorluatexfalse,\fi} % \begin{macrocode} \RequirePackage{ifluatex} \RequirePackage{ifxetex} \newif\ifxetexorluatex -\ifxetex\xetexorluatextrue\else +\ifxetex\xetexorluatextrue +\else \ifluatex\xetexorluatextrue - \else\xetexorluatexfalse + \else\xetexorluatexfalse \fi \fi % \end{macrocode} @@ -612,12 +696,23 @@ % \section{Text} % -% Load |alphabeta| package \cite{alphabeta} first in order to archive the correct behaviour. +% Load the |alphabeta| package \cite{alphabeta} first in order to archive the correct behaviour. % The |alphabeta| package provides upright Greek letters in text mode. % \begin{macrocode} \RequirePackage{alphabeta} % \end{macrocode} % +% Set the whole text to sans serif if requested. +% Load the |sansmathfonts| package \cite{sansmathfonts} first. +% Although, most fonts will later be overwritten by the |lmodern| package \cite{lmodern} some mathematical objects are ensured to be in sans serif. +% \DoNotIndex{\ifhep@serif,\renewcommand,\familydefault,\sfdefault} +% \begin{macrocode} +\ifhep@serif\else + \RequirePackage{sansmathfonts} + \renewcommand\familydefault{\sfdefault} +\fi +% \end{macrocode} +% % Pick the correct font encoding depending on the engine used and load the |fontenc| package \cite{fontenc} with this encoding. % For details of the font encoding see \cite{encguide}. % \DoNotIndex{\def,\@encoding} @@ -635,8 +730,18 @@ \RequirePackage{textcomp} \RequirePackage{microtype} % \end{macrocode} - +% % Define sans serif small caps font shapes. +% The font abbreviations are +% \begin{description}[nosep] +% \item[lmss] Latin modern sans serif font +% \item[cmss] Computer modern sans serif font +% \item[xcmss] Extended computer modern sans serif font (from the |sansmathfonts| package \cite{sansmathfonts}) +% \item[bx] Bold extended series +% \item[m] Medium weight and width series +% \item[c] Medium weight, condensed width series +% \item[sc] Caps and small caps font shape +% \end{description} % \DoNotIndex{\DeclareFontShape,\sffamily} % \begin{macrocode} \ifxetexorluatex @@ -657,22 +762,14 @@ \RequirePackage[utf8]{inputenc} \fi % \end{macrocode} - +% % Load the |babel| \cite{babel} package for hyphenation and the recommended |csquotes| package \cite{csquotes}. % \DoNotIndex{\hep@lang} % \begin{macrocode} \RequirePackage[\hep@lang]{babel} \RequirePackage{csquotes} % \end{macrocode} - -% Set the whole text to sans serif if requested. -% \DoNotIndex{\ifhep@serif,\renewcommand,\familydefault,\sfdefault} -% \begin{macrocode} -\ifhep@serif\else - \renewcommand\familydefault{\sfdefault} -\fi -% \end{macrocode} - +% % \begin{macro}{\underline} % Load the |soul| package \cite{soul} for hyphenable underlined text. % \DoNotIndex{\let} @@ -681,10 +778,10 @@ \let\underline\ul % \end{macrocode} % \end{macro} - -% \subsection{Font size} % -% Undefine previously defined font sizes and load the \LaTeX\ font size file corresponding to the font size option. +% \subsection{Font size} \label{sec:font size} +% +% Undefine previously defined font sizes and load the \hologo{LaTeX} font size file corresponding to the font size option. % \DoNotIndex{\remove@pt,\edef,\@ptsize,\expandafter,\small,\relax,\footnotesize,\scriptsize} % \begin{macrocode} \ifhep@defaults\else @@ -710,18 +807,25 @@ % Add the missing |\vs| command. % \DoNotIndex{\DeclareRobustCommand,\xperiodafter,\foreignabbrfont,\pdf@strcmp,\hep@lang@foreign} % \begin{macrocode} -\RequirePackage{pdftexcmds} -\newcommand{\hep@lang@foreign}{british} -\ifnum\pdf@strcmp{\hep@lang}{american}=0% - \renewcommand{\hep@lang@foreign}{USenglish}% -\fi -\ifnum\pdf@strcmp{\hep@lang}{USenglish}=0% - \renewcommand{\hep@lang@foreign}{USenglish}% +\ifnum\pdf@strcmp{\hep@lang}{american}=0 + \newcommand{\hep@lang@foreign}{USenglish} +\else + \ifnum\pdf@strcmp{\hep@lang}{USenglish}=0 + \newcommand{\hep@lang@foreign}{USenglish} + \else + \newcommand{\hep@lang@foreign}{british} + \fi \fi \RequirePackage[all, \hep@lang@foreign]{foreign} \DeclareRobustCommand\vs{\xperiodafter{{\foreignabbrfont{vs}}}} % \end{macrocode} % \end{macro} +% +% The |foreign| package relies on the |xspace| package \cite{xspace}. +% Ensure that |\xspace| is compatible with the |\enquote| macro from the |csquote| package. +% \begin{macrocode} +\xspaceaddexceptions{\csq@qclose@i} +% \end{macrocode} %\begin{macro}{\no} % Define the macro |\no|\marg{number} for the use of \textnumero\ with appropriate spacing. @@ -729,7 +833,7 @@ \newcommand{\no}[1]{\textnumero~#1} % \end{macrocode} % \end{macro} - +% %\begin{macro}{\software} % Define a macro for software with optional version information |\software|\linebreak[1]\oarg{version}\linebreak[1]\marg{name}, using the |relsize| package \cite{relsize}. % \DoNotIndex{\hspace,\fontdimen,\font,\smaller,\textsc} @@ -740,17 +844,17 @@ } % \end{macrocode} % \end{macro} - +% % \begin{macro}{\online} % The |\online|\marg{text}\marg{url} macro combines the features of the |\href| and the |\url| macros. % \DoNotIndex{\href,\url} % \begin{macrocode} -\newcommand{\online}[2]{\href{#1}{\url{#2}}} +\newcommand{\online}[2]{\href{#1}{\nolinkurl{#2}}} % \end{macrocode} % \end{macro} % \subsection{Lists} - +% % Load the |enumitem| package \cite{enumitem}. % \begin{macrocode} \RequirePackage[inline]{enumitem} @@ -798,6 +902,7 @@ % \section{Geometry} % % Load the |geometry| package \cite{geometry} and adjust the text width and height to the values of the |a4wide| package \cite{a4wide}. +% This step must happen after readjusting the font size in \cref{sec:font size}. % \DoNotIndex{\ifhep@defaults,\hep@paper,\geometry} % \begin{macrocode} \ifhep@defaults\else @@ -808,7 +913,7 @@ %\begin{macro}{\useparskip} %\begin{macro}{\useparindent} -% Load the |parskip| package \cite{parskip} and provide two commands switching between the two paragraph modes. +% Load the |parskip| package \cite{parskip} if requested and provide two commands switching between the two paragraph modes. % \DoNotIndex{\ifhep@parindent,\setlength,\parskip,\baselineskip,\parindent} % \begin{macrocode} \ifhep@parindent\else @@ -853,13 +958,13 @@ % \begin{macrocode} \RequirePackage{xparse} \DeclareDocumentCommand{\mathdef}{mO{0}m}{% - \expandafter\let\csname old\string#1\endcsname=#1 - \expandafter\newcommand\csname new\string#1\endcsname[#2]{#3} + \expandafter\let\csname text\string#1\endcsname=#1 + \expandafter\newcommand\csname math\string#1\endcsname[#2]{#3} \DeclareRobustCommand#1{% \ifmmode - \expandafter\let\expandafter\next\csname new\string#1\endcsname + \expandafter\let\expandafter\next\csname math\string#1\endcsname \else - \expandafter\let\expandafter\next\csname old\string#1\endcsname + \expandafter\let\expandafter\next\csname text\string#1\endcsname \fi \next }% @@ -874,10 +979,20 @@ % \end{macrocode} % \end{macro} +% \begin{macro}{\overline} +% Redefine |\overline| to be a text macro using the |soul| package \cite{soul}. +% Extend it as a math macro with the original definition from |amsmath| \cite{amsmath}. +% \begin{macrocode} +\def\overline#1{{\setul{-2ex}{}\ul{#1}}} +\DeclareRobustCommand{\over@line}[1]{\@@overline{#1}} +\mathdef{\overline}{\over@line} +% \end{macrocode} +% \end{macro} + % \begin{macro}{eqnarray} % Undefine the |eqnarray| environment. % \begin{macrocode} -\ifhep@eqnarray\else% +\ifhep@eqnarray\else \let\eqnarray\@undefined \let\endeqnarray\@undefined \fi @@ -887,9 +1002,10 @@ % \subsection{Math fonts} % % \begin{macro}{\mathbf} -% Load the |bm| package \cite{bm} for superior boldmath. +% Load the |bm| package \cite{bm} for superior boldmath after limiting the number of allocated math alphabets. % Make math symbols bold whenever they appear in bold macros such as |\section|\marg{text}. % \begin{macrocode} +\newcommand{\bmmax}{2} \RequirePackage{bm} \let\mathbf\bm \g@addto@macro\bfseries{\boldmath} @@ -900,6 +1016,15 @@ % Load the |fixmath| package \cite{fixmath} which ensures that upper Greek letters in math mode are italic. % Ensure that also math mode is sans serif using the |sfmath| package \cite{sfmath} if the option sans serif is passed to the package. % Ensure that |\mathsf| is italic as well as sans serif and sans for sans and sans serif documents, respectively. +% The font abbreviations are +% \begin{description}[nosep] +% \item[OML] \hologo{TeX} math italic font encoding +% \item[cmm] Computer modern math italic font +% \item[cmbr] Computer modern bright font +% \item[bx] Bold extended series +% \item[m] Medium weight and width series +% \item[it] Italic font shape +% \end{description} % \begin{macrocode} \ifhep@serif \RequirePackage{fixmath} @@ -907,6 +1032,7 @@ \SetMathAlphabet{\mathsf}{bold}{OML}{cmbr}{bx}{it} \else \RequirePackage[slantedGreek]{sfmath} + \RequirePackage{sansmathfonts} \DeclareMathAlphabet{\mathsf}{OML}{cmm}{m}{it} \SetMathAlphabet{\mathsf}{bold}{OML}{cmm}{bx}{it} \fi @@ -918,11 +1044,22 @@ \RequirePackage{mathrsfs} % \end{macrocode} % \end{macro} +% \begin{macro}{\mathbb} +% Load the |bbm| package \cite{bbm-macros} for the |\mathbb| math blackboard style font in (sans-) serif. +% \begin{macrocode} +\RequirePackage{bbm} +\ifhep@serif + \let\mathbb\mathbbm +\else + \let\mathbb\mathbbmss +\fi +% \end{macrocode} +% \end{macro} % \subsection{Physics notation} % % \begin{macro}{\slashed} -% \begin{macro}{\units} +% \begin{macro}{\unit} % Load the |physics| package \cite{physics} which provides macros useful for publications in physics. % Additionally, load the |slashed| package \cite{slashed} which provides the slashed macro for Dirac notation. % Finally, load the |units| package \cite{units} which provides the |\units| and |\nicefrac| macros. @@ -941,6 +1078,13 @@ % \end{macrocode} % \end{macro} +% \begin{macro}{\d} +% Provide a differential |\d|. +% \begin{macrocode} +\AtBeginDocument{\mathdef{\d}{\dd}} +% \end{macrocode} +% \end{macro} + % \begin{macro}{\oset} % Define a new overset macro |\oset|\oarg{offset}\marg{over}\marg{base} % \begin{macrocode} @@ -960,7 +1104,7 @@ % \section{Floats} % -% Adjust the \LaTeX\ float placement defaults +% Adjust the \hologo{LaTeX} float placement defaults % \begin{macrocode} \renewcommand{\textfraction}{0.01} \setcounter{topnumber}{1} @@ -1019,14 +1163,18 @@ % \end{macrocode} % % Load the |subcaption| package \cite{subcaption}. +% Provide old |\subcaption@minipage| macro. % \begin{macrocode} -\RequirePackage[subrefformat = parens]{subcaption} +\RequirePackage[subrefformat=parens]{subcaption} \captionsetup{font=small} \captionsetup[sub]{font=small} +\providecommand*\subcaption@minipage[2]{% + \minipage#1{#2}\setcaptionsubtype\relax% +} % \end{macrocode} % \begin{environment}{panels} % \begin{macro}{\panel} -% Load the |subcaption| package \cite{subcaption} and define the |panels| environment as well as the |\panel| macro. +% Define the |panels| environment and the |\panel| macro. % \begin{macrocode} \newenvironment{panels}[2][b]{% % \end{macrocode} @@ -1058,15 +1206,15 @@ % \end{macro} % \end{environment} -% Reajust the captions to the revtex class. +% Reajust the captions to the revtex class using the |ragged2e| package \cite{ragged2e}. % \begin{macrocode} \ifhep@revtex - \renewcommand{\figurename}{Figure} - \renewcommand{\tablename}{Table} \RequirePackage{ragged2e} \DeclareCaptionFormat{revtex}{#1#2\justifying{#3}} - \captionsetup{font = small, format = revtex} - \captionsetup[sub]{font = footnotesize, format = plain} + \captionsetup{font=small, format=revtex} + \captionsetup[sub]{font=footnotesize, format=plain} + \renewcommand{\figurename}{Figure} + \renewcommand{\tablename}{Table} \fi % \end{macrocode} @@ -1088,7 +1236,7 @@ \RequirePackage{graphicx} \providecommand{\tikzsetnextfilename}[1]{} \newcommand{\graphic}[2][1]{\tikzsetnextfilename{#2}{% - \centering\includegraphics[width=#1\linewidth]{#2}% + \centering\includegraphics[width=#1\linewidth]{#2}\par% }} % \end{macrocode} % \end{macro} @@ -1119,7 +1267,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\email} -% Provide macro for the email of authors used as |\author{|$\langle name\rangle$| \email{|$\langle email\rangle$|}}|. +% Define a macro for the email of authors used as |\author{|$\langle name\rangle$| \email{|$\langle email\rangle$|}}|. % \begin{macrocode} \AtEndOfClass{\newcommand{\email}[1]{% \unskip\thanks{\online{mailto:#1}{#1}} @@ -1153,8 +1301,7 @@ % \subsection{Preprint} % % \begin{macro}{\preprint} -% Places a preprint number in the top right corner of the first page. -% This code uses the |varwidth| \cite{varwidth}, |atbegshi| \cite{atbegshi}, and |picture| \cite{picture} packages. +% Define the |\preprint| macro using the |varwidth| package \cite{varwidth}. % \begin{macrocode} \let\@preprint\relax \newcommand\preprint[1]{\long\gdef\@preprint{#1}} @@ -1164,13 +1311,23 @@ \textsc{\small\@preprint}% \end{varwidth}% } +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\maketitle} +% Places a preprint number in the top right corner of the title page using the |atbegshi| \cite{atbegshi} and |picture| \cite{picture} packages. +% \begin{macrocode} \RequirePackage{atbegshi} \RequirePackage{picture} -\AtBeginShipoutFirst{% - \put( - \textwidth+\oddsidemargin-\widthof{\@preprint@box}, - -2pt-\topmargin-\heightof{\@preprint@box} - ){\normalfont\@preprint@box} +\let\old@maketitle\maketitle +\renewcommand{\maketitle}{% + \old@maketitle% + \AtBeginShipoutFirst{% + \put( + \textwidth+\oddsidemargin-\widthof{\@preprint@box}, + -2pt-\topmargin-\heightof{\@preprint@box} + ){\normalfont\@preprint@box} + } } % \end{macrocode} % \end{macro} @@ -1180,8 +1337,10 @@ % \begin{environment}{abstract} % Adjust the |abstract| environment to not start with indentation. % \begin{macrocode} -\let\old@abstract\abstract -\renewcommand\abstract{\old@abstract\noindent\ignorespaces} +\@ifundefined{abstract}{}{% + \let\old@abstract\abstract% + \renewcommand\abstract{\old@abstract\noindent\ignorespaces}% +} % \end{macrocode} % \end{environment} % End of check for |title| option. @@ -1191,143 +1350,272 @@ % \section{Bibliography} % -% Check if bibliography management is requested using the |pdftexcmds| package \cite{pdftexcmds}. +% Check if bibliography management is requested. % \begin{macrocode} \ifnum\pdf@strcmp{\hep@bibliography}{false}=0\else % \end{macrocode} % % \begin{macro}{\bibliography} -% Load the |biblatex| package \cite{biblatex} with a JHEP like bibliography style. +% Load the |biblatex| package \cite{biblatex} with the datamodel defined in \cref{sec:data model}. +% \begin{macrocode} +\RequirePackage[style=\hep@bibliography, datamodel=hep-paper]{biblatex} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{hep-paper} +% Define a new sorting template that sorts only multi key |\cite| entries according to their date and leaves the rest of the bibliography entries in the order they appear in the text. +% Provide the |\DeclareSortingTemplate| macro for older |biblatex| installations. +% \begin{macrocode} +\providecommand{\DeclareSortingTemplate}{\DeclareSortingScheme} +\DeclareSortingTemplate{hep-paper}{ + \sort{\citeorder} + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortyear} + \field{year} + \literal{9999} + } + \sort{ + \field{month} + } + \sort{ + \field{eprint} + \field{doi} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{subtitle} + \field{volume} + } +} +% \end{macrocode} +% \end{macro} +% +% Use the new sorting scheme and abbreviat all first names. % \begin{macrocode} -\RequirePackage[style=\hep@bibliography]{biblatex} \ExecuteBibliographyOptions{ - sorting=none, + sorting=hep-paper, giveninits=true } % \end{macrocode} +% +% \begin{macro}{erratum} +% Add new bibliography string \enquote{Erratum} for the use in the |relatedtype| field. +% \begin{macrocode} +\NewBibliographyString{erratum} +\DefineBibliographyStrings{english}{erratum={Erratum}} +% \end{macrocode} % \end{macro} -% Read the collaboration and pre-print information if present. -% Move letters from the volume field to the journal field. +% +% \begin{macro}{\printbibliography} +% Allow the bibliography to be printed sloppy +% \begin{macrocode} +\let\old@printbibliography\printbibliography +\renewcommand{\printbibliography}{\sloppy\old@printbibliography} +% \end{macrocode} +% \end{macro} + +% \subsection{Sourcemap} +% +% \begin{macro}{\reg@exp@one} +% \begin{macro}{\reg@exp@two} +% \begin{macro}{\reg@exp@url} +% Define regular expressions in order to deal with inconsistent journal title and volume naming as well as URL protocols. +% \begin{macrocode} +\newcommand{\reg@exp@one}{\regexp{\A(\p{L}+)?\d+(\p{L}+)?\Z}} +\newcommand{\reg@exp@two}{\regexp{\A(\p{L}+)?(\d+)(\p{L}+)?\Z}} +\newcommand{\reg@exp@url}{\regexp{\A(ht|f)tp(s)?:\/\/}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\DeclareSourcemap} +% Use the |\DeclareSourcemap| feature. % \begin{macrocode} -\newcommand{\@reg@exp}{\regexp{\A(\p{L}+)?\d+(\p{L}+)?\Z}} -\newcommand{\@reg@exp@}{\regexp{\A(\p{L}+)?(\d+)(\p{L}+)?\Z}} \DeclareSourcemap{% - \maps[datatype=bibtex,overwrite=true]{% + \maps[datatype=bibtex, overwrite=true]{% +% \end{macrocode} +% \begin{macro}{collaboration} +% Read the collaboration information if present. +% \begin{macrocode} \map{% - \step[fieldsource=Collaboration,final=true]% - \step[fieldset=usere,origfieldval,final=true] + \step[fieldsource=Collaboration, final=true]% + \step[fieldset=collaboration, origfieldval, final=true] }% +% \end{macrocode} +% \end{macro} +% \begin{macro}{reportnumber} +% Read the pre-print information if present. +% \begin{macrocode} \map{% - \step[fieldsource=reportNumber,final=true]% - \step[fieldset=userf,origfieldval,final=true] + \step[fieldsource=reportNumber, final=true]% + \step[fieldset=reportnumber, origfieldval, final=true] }% +% \end{macrocode} +% \end{macro} +% \begin{macro}{journal} +% Move letters from the volume field to the journal field. +% \begin{macrocode} \map[overwrite]{ - \step[fieldsource=volume, match=\@reg@exp, final] - \step[fieldsource=volume, match=\@reg@exp@, replace={$2}] + \step[fieldsource=volume, match=\reg@exp@one, final] + \step[fieldsource=volume, match=\reg@exp@two, replace={$2}] \step[fieldsource=journal, fieldtarget=journaltitle] \step[fieldset=journaltitle, fieldvalue={\space$1$2}, append=true] } +% \end{macrocode} +% \end{macro} +% \begin{macro}{url} +% Remove the protocol from URL. +% \begin{macrocode} + \map{ + \step[fieldsource=url, final=true] + \step[fieldset=protocollessurl, origfieldval, final=true] + \step[fieldsource=protocollessurl, match=\reg@exp@url, replace={}] + } }% } % \end{macrocode} - -% Override the author information with collaboration information if present. +% \end{macro} +% \end{macro} +% +% \begin{macro}{In:} +% Remove spurious \enquote{In:} if no journal is present. % \begin{macrocode} -\renewbibmacro*{author}{% - \iffieldundef{usere}{\printnames{author}}{\textbf{\printfield{usere}}}% +\renewbibmacro*{in:}{% + \iffieldundef{journaltitle}{}{\printtext{\bibstring{in}\intitlepunct}}% } % \end{macrocode} - -% Remove spurious `In:' if no journal is present. +% \end{macro} +% +% \begin{macro}{url} +% Show URLs without the protocol. % \begin{macrocode} -\renewbibmacro*{in:}{% - \iffieldundef{journal}{}{\printtext{\bibstring{in}\intitlepunct}}% +\DeclareFieldFormat{url}{% + \mkbibacro{URL}\addcolon\space\online{#1}{\thefield{protocollessurl}}% } % \end{macrocode} - +% \end{macro} +% +% \begin{macro}{collaboration} +% Override the author information with collaboration information if present. +% \begin{macrocode} +\renewbibmacro*{author}{% + \iffieldundef{collaboration}{% + \printnames{author}}{\textbf{\printfield{collaboration}}% + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\letbibmacro} % Provide the |\letbibmacro| macro for old |biblatex| installations. % \begin{macrocode} \providecommand{\letbibmacro}[2]{\csletcs{abx@macro@#1}{abx@macro@#2}} % \end{macrocode} - +% \end{macro} +% +% \begin{macro}{reportnumber} % Add the pre-print information if present. % \begin{macrocode} \letbibmacro{doi+eprint+url-old}{doi+eprint+url} \renewbibmacro*{doi+eprint+url}{% \usebibmacro{doi+eprint+url-old} - \iffieldundef{userf}{}{\textls[0]{% + \iffieldundef{reportnumber}{}{\textls[0]{% \newunitpunct\textnumero\intitlepunct% - \textsc{\small\printfield{userf}}% + \textsc{\small\printfield{reportnumber}}% }}% } % \end{macrocode} +% \end{macro} -% Add CTAN as a pre-print option +% \subsection{Eprints} +% +% \begin{macro}{\bib@online} +% Private |\bib@online| macro % \begin{macrocode} -\DeclareFieldFormat{eprint:ctan}{% - CTAN\addcolon\space\ifhyperref{% - \href{https://ctan.org/pkg/#1}{\nolinkurl{#1}}% - }{\nolinkurl{#1}}% +\newcommand{\bib@online}[2]{% + \ifhyperref{\online{#1}{#2}}{\nolinkurl{#2}}% } -\DeclareFieldAlias{eprint:CTAN}{eprint:ctan} % \end{macrocode} - -% Add GitHub as a pre-print option +% \end{macro} +% +% \begin{macro}{\new@eprint} +% Private |\new@eprint| macro % \begin{macrocode} -\DeclareFieldFormat{eprint:github}{% - GitHub\addcolon\space\ifhyperref{\href{% - https://github.com/\thefield{eprintclass}/#1% - }{\nolinkurl{\thefield{eprintclass}/#1}}% - }{\nolinkurl{\thefield{eprintclass}/#1}}% +\NewDocumentCommand{\new@eprint}{smm}{ + \DeclareFieldFormat{eprint:#2}{% + \newcommand{\@path}{\IfBooleanT{#1}{\thefield{eprintclass}/}##1}% + #2\addcolon\space\bib@online{#3/\@path}{\@path}% + }% } -\DeclareFieldAlias{eprint:GitHub}{eprint:github} % \end{macrocode} - -% Add GitLab as a pre-print option +% \end{macro} +% +% \begin{macro}{CTAN} +% Add CTAN as a eprint option % \begin{macrocode} -\DeclareFieldFormat{eprint:gitlab}{% - GitLab\addcolon\space\ifhyperref{\href{% - https://gitlab.com/\thefield{eprintclass}/#1% - }{\nolinkurl{\thefield{eprintclass}/#1}}% - }{\nolinkurl{\thefield{eprintclass}/#1}}% -} -\DeclareFieldAlias{eprint:GitLab}{eprint:gitlab} +\new@eprint{CTAN}{https://ctan.org/pkg} +\DeclareFieldAlias{eprint:ctan}{eprint:CTAN} % \end{macrocode} - -% Add SourceForge as a pre-print option +% \end{macro} +% +% \begin{macro}{GitHub} +% Add GitHub as a eprint option % \begin{macrocode} -\DeclareFieldFormat{eprint:sourceforge}{% - SourceForge\addcolon\space\ifhyperref{% - \href{https://sourceforge.net/projects/#1}{\nolinkurl{#1}}% - }{\nolinkurl{#1}}% -} -\DeclareFieldAlias{eprint:SourceForge}{eprint:sourceforge} +\new@eprint*{GitHub}{https://github.com} +\DeclareFieldAlias{eprint:github}{eprint:GitHub} % \end{macrocode} - -% Add HEPForge as a pre-print option +% \end{macro} +% +% \begin{macro}{GitLab} +% Add GitLab as a eprint option % \begin{macrocode} -\DeclareFieldFormat{eprint:hepforge}{% - HEPForge\addcolon\space\ifhyperref{% - \href{https://#1/hepforge.org/}{\nolinkurl{#1}}% - }{\nolinkurl{#1}}% -} -\DeclareFieldAlias{eprint:HEPForge}{eprint:hepforge} +\new@eprint*{GitLab}{https://gitlab.com} +\DeclareFieldAlias{eprint:gitlab}{eprint:GitLab} % \end{macrocode} - -% Add new bibliography string \enquote{Erratum} for the use in the |relatedtype| field. +% \end{macro} +% +% \begin{macro}{Bitbucket} +% Add Bitbucket as a eprint option % \begin{macrocode} -\NewBibliographyString{erratum} -\DefineBibliographyStrings{english}{erratum={Erratum:}} +\new@eprint*{Bitbucket}{https://bitbucket.org} +\DeclareFieldAlias{eprint:bitbucket}{eprint:Bitbucket} % \end{macrocode} - -% \begin{macro}{\printbibliography} -% Allow the bibliography to be printed sloppy +% \end{macro} +% +% \begin{macro}{Launchpad} +% Add Launchpad as a eprint option % \begin{macrocode} -\let\old@printbibliography\printbibliography -\renewcommand{\printbibliography}{\sloppy\old@printbibliography} +\new@eprint{Launchpad}{https://launchpad.net} +\DeclareFieldAlias{eprint:launchpad}{eprint:Launchpad} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{SourceForge} +% Add SourceForge as a eprint option +% \begin{macrocode} +\new@eprint{SourceForge}{https://sourceforge.net/projects} +\DeclareFieldAlias{eprint:launchpad}{eprint:SourceForge} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{HEPForge} +% Add HEPForge as a eprint option +% \begin{macrocode} +\DeclareFieldFormat{eprint:hepforge}{% + HEPForge\addcolon\space\bib@online{https://#1/hepforge.org}{#1}% +} +\DeclareFieldAlias{eprint:HEPForge}{eprint:hepforge} % \end{macrocode} % \end{macro} % + % End check for bibliography option. % \begin{macrocode} \fi @@ -1361,7 +1649,11 @@ \pdfstringdefDisableCommands{\let\footnote\@gobble} \pdfstringdefDisableCommands{\let\\\@gobble} } -\AtBeginShipout{\hypersetup{pdftitle={\@title}}} +\ifhep@revtex + \AtBeginShipout{\hypersetup{pdftitle={\@title}}} +\else + \AtBeginDocument{\hypersetup{pdftitle={\@title}}} +\fi \ifhep@title \AtBeginDocument{\hypersetup{pdfauthor=\AB@authlist}} \else @@ -1373,43 +1665,15 @@ % Improve reference using the |cleveref| package \cite{cleveref}. % % \begin{macrocode} -\RequirePackage[noabbrev, capitalize, nameinlink]{cleveref} +\RequirePackage[noabbrev, nameinlink]{cleveref} +\newcommand{\creflastconjunction}{, and\nobreakspace} \crefname{enumi}{point}{points} \Crefname{enumi}{Point}{Points} % \end{macrocode} % \end{macro} -% \begin{macro}{\refstepcounter@...} -% Adjust the |cleveref| |\refstepcounter@noarg| and |\refstepcounter@optarg| to use the |\@currentlabel| in order to fix problems with |\subref|. -% \begin{macrocode} -\def\refstepcounter@noarg#1{% - \cref@old@refstepcounter{#1}% - \cref@constructprefix{#1}{\cref@result}% - \@ifundefined{cref@#1@alias}% - {\def\@tempa{#1}}% - {\def\@tempa{\csname cref@#1@alias\endcsname}}% - \protected@edef\cref@currentlabel{% - [\@tempa][\arabic{#1}][\cref@result]% - \noexpand\@currentlabel% - }% changed -} - -\def\refstepcounter@optarg[#1]#2{% - \cref@old@refstepcounter{#2}% - \cref@constructprefix{#2}{\cref@result}% - \@ifundefined{cref@#1@alias}% - {\def\@tempa{#1}}% - {\def\@tempa{\csname cref@#1@alias\endcsname}}% - \protected@edef\cref@currentlabel{% - [\@tempa][\arabic{#2}][\cref@result]% - \noexpand\@currentlabel% changed - }% -} -% \end{macrocode} -% \end{macro} - %\begin{macro}{\no@break@before} -% Provide macro able to prevent line breaks. +% Define a macro able to prevent line breaks. % \DoNotIndex{\no@break@before,\ifvmode,\ifhmode,\ifdim,\lastskip,\unskip,\nobreakspace} % \begin{macrocode} \newcommand\no@break@before{% @@ -1431,6 +1695,7 @@ \AtBeginDocument{\renewcommand\ref{\no@break@before\labelcref}} % \end{macrocode} % \end{macro} +% ! Bug ! in equations the additional brackets from the cleveref macro conflict with the traditional |(\ref|\marg{key}|)| approach % \begin{macro}{\eqref} % Adjust |\eqref|\marg{key} in order to prevent preceding line breaks and to enable the possibility to reference multiple equations at once. @@ -1461,7 +1726,7 @@ % \begin{macro}{\eqcrefname} % Define the |\eqcrefname| macro for named equation types. % \begin{macrocode} -\DeclareDocumentCommand{\eqcrefname}{mmo}{ +\NewDocumentCommand{\eqcrefname}{mmo}{ \crefname{#1}{#2}{\IfValueTF{#3}{#3}{#2s}} \creflabelformat{#1}{(##2##1##3)} } @@ -1477,7 +1742,7 @@ % \end{macrocode} % \end{macro} -% \subsection{Citation macros} +% \subsection{Citations} % % \begin{macro}{\cite} % Adjust |\cite|\marg{key} in order to prevent preceding line breaks. @@ -1496,8 +1761,8 @@ \NewBibliographyString{refname} \NewBibliographyString{refsname} \DefineBibliographyStrings{english}{% - refname = {Reference}, - refsname = {References} + refname = {reference}, + refsname = {references} } % \end{macrocode} % \begin{macro}{\ccite} @@ -1505,7 +1770,7 @@ % Define \emph{clever} citation macros. % \begin{macrocode} \DeclareCiteCommand{\ccite}{% - \ifnum\thecitetotal=1% + \ifnum\thecitetotal=1 \bibstring{refname}% \else% \bibstring{refsname}% @@ -1562,40 +1827,60 @@ }} % \end{macrocode} -% \begin{macro}{\if@begin@of@sentence} +% \begin{macro}{\begin@sentence} % Mark the beginning of a paragraph as if it would follow a full stop using the |everyhook| package \cite{everyhook}. -% Provide a macro checking for the beginning of a sentence by examining the length of the preceeding space. (This breaks if |\frenchspacing| is activated) % \begin{macrocode} -\usepackage[excludeor]{everyhook} -\PushPostHook{par}{{\spacefactor=3000}} +\RequirePackage[excludeor]{everyhook} +\newcommand{\begin@sentence}{1001} +\PushPostHook{par}{{\spacefactor=\begin@sentence}} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\frenchspacing} +% Adjust the |\frenchspacing| macro to be compatibel with this idea. +% \begin{macrocode} +\def\frenchspacing{% + \sfcode`\.\begin@sentence \sfcode`\?\begin@sentence + \sfcode`\!\begin@sentence \sfcode`\:\begin@sentence + \sfcode`\;\@m \sfcode`\,\@m +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\if@begin@of@sentence} +% Provide a macro checking for the beginning of a sentence by examining the length of the preceeding space. +% \begin{macrocode} \newcommand{\if@begin@of@sentence}[2]{\leavevmode\protecting{% \ifboolexpr{ test {\ifnumcomp{\spacefactor}{=}{3000}} or% - test {\ifnumcomp{\spacefactor}{=}{2000}}% + test {\ifnumcomp{\spacefactor}{=}{2000}} or% + test {\ifnumcomp{\spacefactor}{=}{\begin@sentence}}% }{#1}{#2}% }} % \end{macrocode} % \end{macro} % \begin{macro}{\acronym} -% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\marg{definition}\oarg{plural\linebreak[4] definition} macro is defined. +% The |\acronym|\meta{*}\oarg{typeset abbreviation}\marg{abbreviation}\meta{*}\marg{definition}\oarg{plural\linebreak[4] definition} macro is defined. % \begin{enumerate}[nosep, label=\#\arabic*] % \item star for omitting the \enquote{s} in the short plural % \item optional typeset abbreviation % \item mandatory abbreviation +% \item star for restoring the \hologo{TeX} default for space after text macros % \item mandatory long form % \item optional plural long form % \end{enumerate} % \begin{macrocode} -\DeclareDocumentCommand{\acronym}{sommo}{ +\NewDocumentCommand{\acronym}{somsmo}{ \newabbreviation[ - longplural=\IfNoValueTF{#5}{#4s}{#5}, + longplural=\IfNoValueTF{#6}{#5s}{#6}, \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} - ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#4} + ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#5} % \end{macrocode} % Provide the singular acronym macro. % \begin{macrocode} \expandafter\newcommand\csname#3\endcsname{% - \if@begin@of@sentence{\cGls{#3}}{\cgls{#3}}\@\xspace% + \if@begin@of@sentence{\cGls{#3}}{\cgls{#3}}% + \IfBooleanTF{#4}{}{\@\xspace}% } % \end{macrocode} % Expand the singular acronym macro in \PDF labels. @@ -1607,13 +1892,14 @@ % Provide the singular acronym macro in math mode. % \begin{macrocode} \expandafter\mathdef\csname#3\endcsname{% - \text{\glsxtrshort{#3}}\glsunset{#3}% + \text{\glsxtrshort{#3}}\@gls@increment@currcount{#3}% } % \end{macrocode} % Provide the plural acronym macro. % \begin{macrocode} \expandafter\newcommand\csname#3s\endcsname{% - \if@begin@of@sentence{\cGlspl{#3}}{\cglspl{#3}}\@\xspace% + \if@begin@of@sentence{\cGlspl{#3}}{\cglspl{#3}}% + \IfBooleanTF{#4}{}{\@\xspace}% } % \end{macrocode} % Expand the plural acronym macro in \PDF labels. @@ -1625,7 +1911,7 @@ % Provide the plural acronym macro in math mode. % \begin{macrocode} \expandafter\mathdef\csname#3s\endcsname{% - \text{\glsxtrshortpl{#3}}\glsunset{#3}% + \text{\glsxtrshortpl{#3}}\@gls@increment@currcount{#3}% } } % \end{macrocode} @@ -1634,14 +1920,13 @@ % \begin{macro}{\shortacronym} % The |\shortacronym| never expands into the long form. % \begin{macrocode} -\DeclareDocumentCommand{\shortacronym}{somm}{ - \newabbreviation[ - \glsshortpluralkey=\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}} - ]{#3}{\IfNoValueTF{#2}{#3}{#2}}{#4} +\NewDocumentCommand{\shortacronym}{somsmo}{ % \end{macrocode} % Provide the singular acronym macro. % \begin{macrocode} - \expandafter\newcommand\csname#3\endcsname{\cgls*{#3}\@\xspace} + \expandafter\newcommand\csname#3\endcsname{% + \IfNoValueTF{#2}{#3}{#2}\IfBooleanTF{#4}{}{\@\xspace}% + } % \end{macrocode} % Expand the singular acronym macro in \PDF labels. % \begin{macrocode} @@ -1651,11 +1936,16 @@ % \end{macrocode} % Provide the singular acronym macro in math mode. % \begin{macrocode} - \expandafter\mathdef\csname#3\endcsname{\text{\glsxtrshort*{#3}}} + \expandafter\mathdef\csname#3\endcsname{% + \text{\IfNoValueTF{#2}{#3}{#2}}% + } % \end{macrocode} % Provide the plural acronym macro. % \begin{macrocode} - \expandafter\newcommand\csname#3s\endcsname{\cglspl*{#3}\@\xspace} + \expandafter\newcommand\csname#3s\endcsname{% + \IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}% + \IfBooleanTF{#4}{}{\@\xspace}% + } % \end{macrocode} % Expand the plural acronym macro in \PDF labels. % \begin{macrocode} @@ -1665,8 +1955,9 @@ % \end{macrocode} % Provide the plural acronym macro in math mode. % \begin{macrocode} - \expandafter\mathdef\csname#3s\endcsname{\text{\glsxtrshortpl*{#3}}}% - \glsunset{#3} + \expandafter\mathdef\csname#3s\endcsname{% + \text{\IfBooleanTF{#1}{#3}{\IfNoValueTF{#2}{#3s}{#2s}}}% + }% } % \end{macrocode} % \end{macro} @@ -1674,31 +1965,32 @@ % \begin{macro}{\longacronym} % The |\longacronym| never shows the abbreviated form. % \begin{macrocode} -\DeclareDocumentCommand{\longacronym}{sommo}{ +\NewDocumentCommand{\longacronym}{somsmo}{ % \end{macrocode} % Provide the singular acronym macro. % \begin{macrocode} \expandafter\newcommand\csname#3\endcsname{% - \if@begin@of@sentence{\MakeUppercase#4}{#4}\@\xspace% + \if@begin@of@sentence{\MakeUppercase#5}{#5}% + \IfBooleanTF{#4}{}{\@\xspace}% } % \end{macrocode} % Expand the singular acronym macro in \PDF labels. % \begin{macrocode} - \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{#4 }} + \pdfstringdefDisableCommands{\expandafter\def\csname#3\endcsname{#5 }} % \end{macrocode} % Provide the plural acronym macro. % \begin{macrocode} \expandafter\newcommand\csname#3s\endcsname{% \if@begin@of@sentence{% - \IfNoValueTF{#5}{\MakeUppercase#4s}{\MakeUppercase#5}% + \IfNoValueTF{#6}{\MakeUppercase#5s}{\MakeUppercase#6}% }{% - \IfNoValueTF{#5}{#4s}{#5}}\@\xspace% + \IfNoValueTF{#6}{#5s}{#6}}\IfBooleanTF{#4}{}{\@\xspace}% } % \end{macrocode} % Expand the plural acronym macro in \PDF labels. % \begin{macrocode} \pdfstringdefDisableCommands{\expandafter\def\csname#3s\endcsname{% - \IfNoValueTF{#5}{#4s}{#5} }% + \IfNoValueTF{#6}{#5s}{#6} }% } } % \end{macrocode} @@ -1732,11 +2024,60 @@ % \end{macrocode} % \end{macro} % \end{macro} +% +% \begin{macro}{abstract} +% Adjust the |abstract| environment to reset all acronym counters. +% \begin{macrocode} +\@ifundefined{abstract}{}{% + \let\end@old@abstract\endabstract% + \renewcommand\endabstract{\glsresetall\end@old@abstract}% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tableofcontents} +% Adjust the |\tableofcontents| macro to never show the long form of acronyms. +% \begin{macrocode} +\let\old@table@of@contents\tableofcontents +\renewcommand\tableofcontents{% + \glsunsetall\old@table@of@contents\glsresetall% +} +% \end{macrocode} +% \end{macro} +% % End of glossaries if. % \begin{macrocode} \fi % \end{macrocode} % +%</package> +% +% \section{Biblatex datamodel file} \label{sec:data model} +% +%<*datamodel> + +% \begin{macro}{reportnumber} +% \begin{macro}{collaboration} +% \begin{macro}{protocollessurl} +% Define the |dbx| file containing the |hep-paper| datamodel. +% \begin{macrocode} +\DeclareDatamodelFields[type=field, datatype=literal]{ + reportnumber, + collaboration, +} +\DeclareDatamodelFields[type=field, datatype=uri]{protocollessurl} +\DeclareDatamodelEntryfields{ + reportnumber, + collaboration, + protocollessurl, +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +%</datamodel> +% % \Finale \endinput @@ -1744,3 +2085,32 @@ % \PrintIndex % makeindex -s gglo.ist -o hep-paper.gls hep-paper.glo % makeindex -s gglo.ist -o hep-paper.ind hep-paper.idx + +% \begin{macro}{\refstepcounter@...} +% Adjust the |cleveref| |\refstepcounter@noarg| and |\refstepcounter@optarg| to use the |\@currentlabel| in order to fix problems with |\subref|. +% \begin{macrocode} +\def\refstepcounter@noarg#1{% + \cref@old@refstepcounter{#1}% + \cref@constructprefix{#1}{\cref@result}% + \@ifundefined{cref@#1@alias}% + {\def\@tempa{#1}}% + {\def\@tempa{\csname cref@#1@alias\endcsname}}% + \protected@edef\cref@currentlabel{% + [\@tempa][\arabic{#1}][\cref@result]% + \noexpand\@currentlabel% + }% changed +} + +\def\refstepcounter@optarg[#1]#2{% + \cref@old@refstepcounter{#2}% + \cref@constructprefix{#2}{\cref@result}% + \@ifundefined{cref@#1@alias}% + {\def\@tempa{#1}}% + {\def\@tempa{\csname cref@#1@alias\endcsname}}% + \protected@edef\cref@currentlabel{% + [\@tempa][\arabic{#2}][\cref@result]% + \noexpand\@currentlabel% changed + }% +} +% \end{macrocode} +% \end{macro} diff --git a/macros/latex/contrib/hep-paper/hep-paper.ins b/macros/latex/contrib/hep-paper/hep-paper.ins index b88c8423a5..881f9745b5 100644 --- a/macros/latex/contrib/hep-paper/hep-paper.ins +++ b/macros/latex/contrib/hep-paper/hep-paper.ins @@ -28,7 +28,10 @@ and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. \endpreamble -\generate{\file{hep-paper.sty}{\from{hep-paper.dtx}{package}}} +\generate{ + \file{hep-paper.sty}{\from{hep-paper.dtx}{package}} + \file{hep-paper.dbx}{\from{hep-paper.dtx}{datamodel}} +} \Msg{*********************************************************} \Msg{*} diff --git a/macros/latex/contrib/hep-paper/hep-paper.pdf b/macros/latex/contrib/hep-paper/hep-paper.pdf Binary files differindex 29b7c506ae..4142b2afe7 100644 --- a/macros/latex/contrib/hep-paper/hep-paper.pdf +++ b/macros/latex/contrib/hep-paper/hep-paper.pdf diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt index d4c0b0a650..992bd5efd0 100644 --- a/macros/latex/contrib/lwarp/README.txt +++ b/macros/latex/contrib/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.84 README.txt +LaTeX lwarp package v0.85 README.txt Files included are: diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx index f073d2bc36..8d1bb36cd3 100644 --- a/macros/latex/contrib/lwarp/lwarp.dtx +++ b/macros/latex/contrib/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{lwarp} -%<package> [2020/04/24 v0.84 Allows LaTeX to directly produce HTML5 output.] +%<package> [2020/05/01 v0.85 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -1570,6 +1570,12 @@ Or, use a short name for the \TOC\ entry without the math, or use \cs{texorpdfst \end{itemize} } +\newcommand{\limitsacro}{% +Define acronymn formats using \cs{textbf} instead +\watchout[formats] +of \cs{bfseries} etc. +} + \newcommand{\limitschemfig}{% If using \cs{polymerdelim} to add delimiters to a \cs{chemfig}, wrap both inside a single \env{lateximage}: @@ -2999,7 +3005,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{44148} +% \CheckSum{44178} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -3126,6 +3132,7 @@ This boolean may be tested by the user for later use. % \changes{v0.82}{2020/03/25}{\ 2020/03/25} % \changes{v0.83}{2020/03/27}{\ 2020/03/27} % \changes{v0.84}{2020/04/24}{\ 2020/04/24} +% \changes{v0.85}{2020/05/01}{\ 2020/05/01} @@ -3348,6 +3355,16 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.85:] \pkg{fontspec} +% \begin{itemize} +% \item \pkg{fontspec}: Fixed core font change macros for world languages. +% \margintag{packages} +% \item \pkg{acro}: Due to v3 changes, when defining acronym formats, +% \watchout[\pkg{acro} formats] +% use \cs{textbf} instead of \cs{bfseries}, etc. +% \item Fixed \pkg{idxlayout}, \pkg{mathtools}, \pkg{titlesec}, \pkg{url}. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.84:] Previous/next page links, numerous fixes. % \begin{itemize} % \item Added documentation of \env{BlockClass} and \cs{InlineClass} @@ -10093,6 +10110,10 @@ This boolean may be tested by the user for later use. % \limitsfixme % % +% \subsubsection{\pkg{acro} package} +% \limitsacro +% \trouble{acro=\pkg{acro}} +% % \subsubsection{\pkg{chemfig} package} % % \limitschemfig @@ -13919,6 +13940,7 @@ This boolean may be tested by the user for later use. % ^^A % ^^A % +% \DescribePackage{fontspec} % Load \pkg{fontspec} if necessary: % \changes{v0.50}{2018/02/24}{Fix: Load \pkg{fontspec} if necessary.} % \begin{macrocode} @@ -19014,7 +19036,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX- -- Copyright 2016-2020 Brian Dunn -printversion = "v0.84" +printversion = "v0.85" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -21217,12 +21239,13 @@ end -- not --version % Break ligatures and use upright apostrophes in \HTML\ tags. % % \cs{protect} is in case the tag appears in \TOC, \LOF, \LOT. +% \changes{v0.85}{2020/04/30}{Fix: Added print macros for \pkg{fontspec}.} % \begin{macrocode} \newcommand*{\LWR@htmltagc}[1]{% \LWR@traceinfo{LWR@htmltagc !\detokenize{#1}!}% \begingroup% \LWR@FBcancel% -\ifmmode\else\protect\LWR@origttfamily\fi% +\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi% \protect\LWR@origtextless% \LWR@isolate{#1}% \protect\LWR@origtextgreater% @@ -21395,13 +21418,14 @@ end -- not --version % \begin{macro}{\LWR@htmlclosecomment} % \changes{v0.47}{2018/01/25}{Add \cs{mbox} to prevent line breaks.} % \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.} +% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.} % \begin{macrocode} \newcommand*{\LWR@htmlopencomment}{% {% % \LWR@traceinfo{LWR@htmlopencomment}% \begingroup% \LWR@FBcancel% -\ifmmode\else\protect\LWR@origttfamily\fi% +\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi% \LWR@print@mbox{\LWR@origtextless{}!-\/-}% \endgroup% }% @@ -21412,7 +21436,7 @@ end -- not --version % \LWR@traceinfo{LWR@htmlclosecomment}% \begingroup% \LWR@FBcancel% -\ifmmode\else\protect\LWR@origttfamily\fi% +\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi% \LWR@print@mbox{-\/-\LWR@origtextgreater}% \endgroup% }% @@ -21424,13 +21448,14 @@ end -- not --version % \begin{macro}{\LWR@htmlcomment} \marg{comment} % % \changes{v0.28}{2017/04/13}{Breaks ligatures in \HTML\ comments.} -% +% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.} % \begin{macrocode} \newcommand{\LWR@htmlcomment}[1]{% \LWR@htmlopencomment{}% {% -\LWR@origttfamily% break ligatures -#1% + \LWR@print@normalfont% + \LWR@origttfamily% break ligatures + #1% }% \LWR@htmlclosecomment{}} % \end{macrocode} @@ -26516,8 +26541,10 @@ end -- not --version % \end{macrocode} % \changes{v0.50}{2018/03/02}{Improved column alignment.} % \changes{v0.54}{2018/04/06}{Improved column alignment.} +% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.} % \begin{macrocode} % \LWR@print@normalsize% +\LWR@print@normalfont% \LWR@origttfamily% \LWR@print@small% % \end{macrocode} @@ -38151,17 +38178,24 @@ color:\LWR@origpound\LWR@tempcolor% % \changes{v0.48}{2018/02/02}{Improved font control.} % \changes{v0.50}{2018/02/20}{Robustify macros.} % \changes{v0.72}{2019/05/24}{Use \cs{LWR@formatted} for \cs{bfseries}, etc.} +% \changes{v0.85}{2020/04/29}{Fix: Added print macros for \pkg{fontspec}.} % % \begin{macro}{\mdseries} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@mdseries}{\renewcommand*{\LWR@f@series}{md}} +\newrobustcmd*{\LWR@HTML@mdseries}{% + \LWR@print@mdseries% + \renewcommand*{\LWR@f@series}{md}% +} \LWR@formatted{mdseries} % \end{macrocode} % \end{macro} % \begin{macro}{\bfseries} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@bfseries}{\renewcommand*{\LWR@f@series}{bf}} +\newrobustcmd*{\LWR@HTML@bfseries}{% + \LWR@print@bfseries% + \renewcommand*{\LWR@f@series}{bf}% +} \LWR@formatted{bfseries} % \end{macrocode} % \end{macro} @@ -38169,7 +38203,10 @@ color:\LWR@origpound\LWR@tempcolor% % \begin{macro}{\ebweight} From \pkg{nfssext-cfr}. % \changes{v0.72}{2019/05/26}{\pkg{nfssext-cfr}: Added.} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@ebweight}{\renewcommand*{\LWR@f@series}{eb}} +\newrobustcmd*{\LWR@HTML@ebweight}{% + \LWR@print@ebweight% + \renewcommand*{\LWR@f@series}{eb}% +} \LWR@formatted{ebweight} % \end{macrocode} % \end{macro} @@ -38177,49 +38214,75 @@ color:\LWR@origpound\LWR@tempcolor% % \begin{macro}{\lgweight} From \pkg{nfssext-cfr}. % \changes{v0.72}{2019/05/26}{\pkg{nfssext-cfr}: Added.} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@lgweight}{\renewcommand*{\LWR@f@series}{lg}} +\newrobustcmd*{\LWR@HTML@lgweight}{% + \LWR@print@lgweight% + \renewcommand*{\LWR@f@series}{lg}% +} \LWR@formatted{lgweight} % \end{macrocode} % \end{macro} % \begin{macro}{\rmfamily} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@rmfamily}{\renewcommand*{\LWR@f@family}{rm}} +\newrobustcmd*{\LWR@HTML@rmfamily}{% + \LWR@print@rmfamily% + \renewcommand*{\LWR@f@family}{rm}% +} \LWR@formatted{rmfamily} % \end{macrocode} % \end{macro} % \begin{macro}{\sffamily} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@sffamily}{\renewcommand*{\LWR@f@family}{sf}} +\newrobustcmd*{\LWR@HTML@sffamily}{% + \LWR@print@sffamily% + \renewcommand*{\LWR@f@family}{sf}% +} \LWR@formatted{sffamily} % \end{macrocode} % \end{macro} % \begin{macro}{\ttfamily} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@ttfamily}{\renewcommand*{\LWR@f@family}{tt}} +\newrobustcmd*{\LWR@HTML@ttfamily}{% + \LWR@print@ttfamily% + \renewcommand*{\LWR@f@family}{tt}% +} \LWR@formatted{ttfamily} % \end{macrocode} % \end{macro} - +% +% +% The following use \cs{AtBeginDocument} due to the +% \LaTeX\ core \cs{reinstall@nfss@defs}, which redefines these +% \cs{AtBeginDocument}. See \cmds{texdoc source2e}. +% % \begin{macro}{\upshape} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@upshape}{\renewcommand*{\LWR@f@shape}{up}} +\newrobustcmd*{\LWR@HTML@upshape}{% + \LWR@print@upshape% + \renewcommand*{\LWR@f@shape}{up}% +} \AtBeginDocument{\LWR@formatted{upshape}} % \end{macrocode} % \end{macro} % \begin{macro}{\itshape} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@itshape}{\renewcommand*{\LWR@f@shape}{it}} +\newrobustcmd*{\LWR@HTML@itshape}{% + \LWR@print@itshape% + \renewcommand*{\LWR@f@shape}{it}% +} \AtBeginDocument{\LWR@formatted{itshape}} % \end{macrocode} % \end{macro} % \begin{macro}{\scshape} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@scshape}{\renewcommand*{\LWR@f@shapecaps}{sc}} +\newrobustcmd*{\LWR@HTML@scshape}{% + \LWR@print@scshape% + \renewcommand*{\LWR@f@shapecaps}{sc}% +} \AtBeginDocument{\LWR@formatted{scshape}} % \end{macrocode} % \end{macro} @@ -38230,7 +38293,10 @@ color:\LWR@origpound\LWR@tempcolor% \@ifundefined{ulcshape}{ \LetLtxMacro\ulcshape\upshape }{} -\newrobustcmd*{\LWR@HTML@ulcshape}{\renewcommand*{\LWR@f@shapecaps}{ulc}} +\newrobustcmd*{\LWR@HTML@ulcshape}{% + \LWR@print@ulcshape% + \renewcommand*{\LWR@f@shapecaps}{ulc}% +} \AtBeginDocument{\LWR@formatted{ulcshape}} % \end{macrocode} % \end{macro} @@ -38242,6 +38308,7 @@ color:\LWR@origpound\LWR@tempcolor% \LetLtxMacro\sishape\scshape }{} \newrobustcmd*{\LWR@HTML@sishape}{% + \LWR@print@sishape% \renewcommand*{\LWR@f@shape}{it} \renewcommand*{\LWR@f@shapecaps}{sc}% } @@ -38252,7 +38319,10 @@ color:\LWR@origpound\LWR@tempcolor% % \begin{macro}{\slshape} % \changes{v0.62}{2018/11/11}{Added.} % \begin{macrocode} -\newrobustcmd*{\LWR@HTML@slshape}{\renewcommand*{\LWR@f@shape}{sl}} +\newrobustcmd*{\LWR@HTML@slshape}{% + \LWR@print@slshape% + \renewcommand*{\LWR@f@shape}{sl}% +} \AtBeginDocument{\LWR@formatted{slshape}} % \end{macrocode} % \end{macro} @@ -40249,6 +40319,8 @@ color:\LWR@origpound\LWR@tempcolor% % \DescribePackage{acro} % \pkg{acro} is patched for use by \pkg{lwarp}. % +% \limitsacro +% % \changes{v0.48}{2018/02/02}{\pkg{acro}: Added.} % % \codehtml @@ -40281,6 +40353,9 @@ color:\LWR@origpound\LWR@tempcolor% % \changes{v0.76}{2019/10/07}{\pkg{acro}: Updated for v2.10.} % \begin{macrocode} \ExplSyntaxOn +\@ifpackagelater{acro}{2020/04/29}% +{}% v3 or later +{% before v3 \@ifpackagelater{acro}{2019/09/23}% {% v2.10 or later \cs_gset_protected:Npn \__acro_typeset:nn #1#2 @@ -40377,6 +40452,7 @@ color:\LWR@origpound\LWR@tempcolor% \group_end: } }% before v2.10 +}% before v3 \ExplSyntaxOff % \end{macrocode} @@ -45448,7 +45524,7 @@ s% % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackagePass{chemgreek}[2016/02/10] +\LWR@ProvidesPackagePass{chemgreek}[2020/01/16] % \end{macrocode} % \begin{macrocode} @@ -52215,7 +52291,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space \providecommand*{\multfootsep}{,} % \end{macrocode} % -% Using \pkg{cleveref}: +% Using \pkg{cleveref}. +% \cs{labelcref} only prints the number of the object, not its type. % \begin{macrocode} \providecommand*{\footref}[1]{\labelcref{#1}} % \end{macrocode} @@ -55190,16 +55267,24 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % \begin{macrocode} \newcommand{\LWR@indexprenote}{} +% \end{macrocode} +% +% \cs{AtBeginDocument} to help with package load order. +% \changes{v0.85}{2020/04/29}{\pkg{idxlayout}: Fixed: \cs{AtBeginDocument} for load order.} +% \begin{macrocode} +\AtBeginDocument{ + \preto\printindex{ -\preto\printindex{ - -\LWR@orignewpage -\LWR@startpars + \LWR@orignewpage + \LWR@startpars -\LWR@indexprenote + \LWR@indexprenote + } } - +% \end{macrocode} +% +% \begin{macrocode} \newcommand{\setindexprenote}[1]{\renewcommand{\LWR@indexprenote}{#1}} \newcommand*{\noindexprenote}{\renewcommand{\LWR@indexprenote}{}} @@ -58845,8 +58930,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{ \newcommand{\ArrowBetweenLines}[1][\Updownarrow]{#1}% no starred } - -\CustomizeMathJax{\newcommand{\shortintertext}[1]{\\ \text{#1}\notag \\}} +% \end{macrocode} +% +% \changes{v0.85}{2020/05/01}{\pkg{mathtools}: Fixed: \cs{shortintertext}.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\shortintertext}[1]{\text{#1}\notag \\}} \CustomizeMathJax{\newcommand{\vdotswithin}[1]{\hspace{.5em}\vdots}} \CustomizeMathJax{\newcommand{\shortvdotswithin}[1]{ & \hspace{.5em}\vdots \\}} @@ -61742,7 +61830,13 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak \newcommand*{\LWR@nccmath@eqs}[2][]{\begin{eqnarray}#2\end{eqnarray}} \begin{warpMathJax} -\CustomizeMathJax{\renewcommand{\intertext}[2][]{\\ \text{#2}\notag \\}} +% \end{macrocode} +% +% \changes{v0.85}{2020/05/01}{\pkg{mathtools}: Fixed: \cs{shortintertext}.} +% \begin{macrocode} +\CustomizeMathJax{\renewcommand{\intertext}[2][]{\text{#2}\notag \\}} +% \end{macrocode} +% \begin{macrocode} \CustomizeMathJax{\newenvironment{fleqn}[1][]{}{}} \CustomizeMathJax{\newenvironment{ceqn}{}{}} \CustomizeMathJax{\newenvironment{darray}[2][c]{\begin{array}[#1]{#2}}{\end{array}}} @@ -72956,10 +73050,28 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % Discard all options for \pkg{lwarp-titlesec}: - +% % \codehtml +% +% \changes{v0.85}{2020/04/30}{\pkg{titlesec}: \optn{pagestyles} option.} % \begin{macrocode} -\LWR@ProvidesPackageDrop{titlesec}[2016/03/21] +\PackageInfo{lwarp}{Using the lwarp version of package `titlesec'.}% +\ProvidesPackage{lwarp-titlesec}[2016/03/21] + +\newbool{LWR@loadtitleps} +\boolfalse{LWR@loadtitleps} + +\DeclareOption{pagestyles}{ + \booltrue{LWR@loadtitleps} +} + +\DeclareOption*{} + +\ProcessOptions\relax + +\ifbool{LWR@loadtitleps}{ + \RequirePackage{lwarp-titleps} +}{} % \end{macrocode} % \begin{noindmacro}{\titlelabel} \marg{label-format} @@ -75388,6 +75500,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \changes{v0.52}{2018/03/29}{\pkg{url}: Added.} % \changes{v0.80}{2020/02/06}{\pkg{url}: Creates hyperlinks.} +% \changes{v0.85}{2020/05/01}{\pkg{url}: Fixed print mode.} % % \codehtml % @@ -75406,9 +75519,10 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % ^^A \LWR@url@origUrl@FormatString% % % \begin{macrocode} -\renewcommand*{\Url@FormatString}{% +\newcommand*{\LWR@HTML@Url@FormatString}{% \expandafter\LWR@url@orig@url\expandafter{\Url@String}% } +\LWR@formatted{Url@FormatString} % \end{macrocode} % % \iffalse diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf Binary files differindex eea09fbc8e..44912c4d03 100644 --- a/macros/latex/contrib/lwarp/lwarp.pdf +++ b/macros/latex/contrib/lwarp/lwarp.pdf diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua index a6239409bc..b2e06788aa 100755 --- a/macros/latex/contrib/lwarp/lwarpmk.lua +++ b/macros/latex/contrib/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2020 Brian Dunn -printversion = "v0.84" +printversion = "v0.85" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README index 8f87c4fe2b..3992b6e1a2 100644 --- a/macros/latex/contrib/univie-ling/README +++ b/macros/latex/contrib/univie-ling/README @@ -80,6 +80,13 @@ also have a look at the example files. == CHANGES == +V. 1.10 (2020-05-01): + - univie-ling-wlg.cls: + * fix encoding incompatibilities. + - univie-ling.bbx: + * only print origyear (not full origdate) in label. + * fix title capitalization in inbook, mvbook and mvcollection types. + V. 1.9 (2019-01-21) - univie-ling.bbx: correct fix of duplicate editorstrg parentheses. diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx index 86bc01fbda..c41cc4ff75 100644 --- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx +++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx @@ -36,7 +36,7 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesFile{univie-ling.bbx}[2019/01/21 v1.9 biblatex bibliography style] +\ProvidesFile{univie-ling.bbx}[2019/01/22 v1.10dev biblatex bibliography style] % Load base style (authoryear) \RequireBibliographyStyle{authoryear} @@ -116,7 +116,17 @@ \iffieldundef{pubstate}{% \iffieldundef{labelyear}{}{% \printlabeldateextra% - \iffieldundef{origyear}{}{\addspace\mkbibbrackets{\printorigdate}}% + \iffieldundef{origyear}{}{% + \addspace\mkbibbrackets{% + \iffieldundef{origmonth}{% + \printorigdate}{% + \printfield{origyear}% + \iffieldundef{origenddate}{}{% + \bibdaterangesep\printfield{origendyear}% + }% + }% + }% + }% \clearfield{year}% }% }{% @@ -567,7 +577,7 @@ % FIELD FORMATS % -\DeclareFieldFormat[article,book,collection,incollection,inproceedings,thesis,unpublished]{titlecase}{\MakeSentenceCase*{#1}}% +\DeclareFieldFormat[article,book,mvbook,inbook,collection,mvcollection,incollection,inproceedings,thesis,unpublished]{titlecase}{\MakeSentenceCase*{#1}}% \DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{title}{#1} diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx index aeed54c5bd..3a7815e0c6 100644 --- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx +++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx @@ -34,7 +34,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\ProvidesFile{univie-ling.cbx}[2019/01/21 v1.9 biblatex citation style] +\ProvidesFile{univie-ling.cbx}[2019/01/22 v1.10dev biblatex citation style] \RequireCitationStyle{authoryear} @@ -70,7 +70,17 @@ {\printtext[bibhyperref]{% \printfield{labelyear}% \printfield{extradate}}% - \iffieldundef{origyear}{}{\addspace\mkbibbrackets{\printorigdate}}% + \iffieldundef{origyear}{}{% + \addspace\mkbibbrackets{% + \iffieldundef{origmonth}{% + \printorigdate}{% + \printfield{origyear}% + \iffieldundef{origenddate}{}{% + \bibdaterangesep\printfield{origendyear}% + }% + }% + }% + }% }% } diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf Binary files differindex 44743fba7e..a0b21eae63 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex index 2e5b42d01e..26a611ffcd 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex @@ -63,7 +63,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.9, 2019/01/21} +\date{Version 1.10, 2020/05/01} \maketitle @@ -315,6 +315,7 @@ Templates are provided as well: \section{Release History} \begin{description} + \item 2020/05/01 (v.\,1.10) No change to this class. \item 2019/01/21 (v.\,1.9) No change to this class. \item 2019/01/15 (v.\,1.8) No change to this class. \item 2018/11/07 (v.\,1.7) No change to this class. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf Binary files differindex d0d41dec34..78f1ef1fb5 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex index 859ac65c0d..c691588972 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.9, 2019/01/21} +\date{Version 1.10, 2020/05/01} \maketitle @@ -339,6 +339,7 @@ Templates are provided as well: \section{Release History} \begin{itemize} + \item 2020/05/01 (v.\,1.10) No change to this class. \item 2019/01/21 (v.\,1.9) No change to this class. \item 2019/01/15 (v.\,1.8) Fix encoding of German declaration string. \item 2018/11/07 (v.\,1.7) No change to this class. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf Binary files differindex f7cdd4f59e..471763d75c 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex index 1ee24a3dad..4c43f624ce 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.9, 2019/01/21} +\date{Version 1.10, 2020/05/01} \maketitle @@ -363,6 +363,7 @@ Templates are provided as well: \section{Release History} \begin{itemize} + \item 2020/05/01 (v.\,1.10) No change to this class. \item 2019/01/21 (v.\,1.9) No change to this class. \item 2019/01/15 (v.\,1.8) Fix title abbreviations (MA, BA). \item 2018/11/07 (v.\,1.7) No change to this class. diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf Binary files differindex 57659d94f6..d9bac596d1 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex index 6c491d7d2d..34fc150c1e 100644 --- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex +++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex @@ -59,7 +59,7 @@ \author{\texorpdfstring{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}} -\date{Version 1.9, 2019/01/21} +\date{Version 1.10, 2020/05/01} \maketitle @@ -212,10 +212,11 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m \section{Release History} \begin{itemize} - \item 2019/01/21 (v.\,1.9) No change to this class. - \item 2019/01/15 (v.\,1.8) No change to this class. - \item 2018/11/07 (v.\,1.7) No change to this class. - \item 2018/11/04 (v.\,1.6) Remove \jmacro{subexamples} environment as this is now provided by \textsf{covington}. + \item 2020/05/01 (v.\,1.10) Fix encoding incompatibilities. + \item 2019/01/21 (v.\,1.9) No change to this class. + \item 2019/01/15 (v.\,1.8) No change to this class. + \item 2018/11/07 (v.\,1.7) No change to this class. + \item 2018/11/04 (v.\,1.6) Remove \jmacro{subexamples} environment as this is now provided by \textsf{covington}. \item 2018/09/03 (v.\,1.5) \begin{itemize} \item Introduce \jmacro{subexamples} environment. diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls index c065ef81b7..b135db0976 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls @@ -31,7 +31,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-expose}[2019/01/21 v1.9 Univie Linguistic Exposes (JSp)] +\ProvidesPackage{univie-ling-expose}[2019/05/01 v1.10 Univie Linguistic Exposes (JSp)] \RequirePackage{xkeyval} diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls index fd63517941..c190660feb 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls @@ -31,7 +31,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-paper}[2019/01/21 v1.9 Univie Linguistic Papers (JSp)] +\ProvidesPackage{univie-ling-paper}[2019/05/01 v1.10 Univie Linguistic Papers (JSp)] \RequirePackage{xkeyval} diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls index c0e25d7e53..b43242a9ed 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls @@ -31,7 +31,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{univie-ling-thesis}[2019/01/21 v1.9 Univie Linguistic Theses (JSp)] +\ProvidesPackage{univie-ling-thesis}[2019/05/01 v1.10 Univie Linguistic Theses (JSp)] \RequirePackage{xkeyval} diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls index ec2a665e22..f24a6c12bf 100644 --- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls +++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls @@ -194,9 +194,9 @@ \deftranslation[to=English]{corrauthors}{Corresponding authors} \deftranslation[to=German]{edby}{Hg.\,v.} \deftranslation[to=English]{edby}{Ed.\,by} -\deftranslation[to=German]{imp-editor}{Eigentümer, Herausgeber und Verleger} +\deftranslation[to=German]{imp-editor}{Eigent\"umer, Herausgeber und Verleger} \deftranslation[to=English]{imp-editor}{Owner, editor and publisher} -\deftranslation[to=German]{univie-address}{Sensengasse 3a\\1090 Wien\\Österreich} +\deftranslation[to=German]{univie-address}{Sensengasse 3a\\1090 Wien\\\"Osterreich} \deftranslation[to=English]{univie-address}{Sensengasse 3a\\1090 Vienna\\Austria} \deftranslation[to=German]{edboard}{Redaktion} \deftranslation[to=English]{edboard}{Editorial board} @@ -206,7 +206,7 @@ \deftranslation[to=English]{contact}{Contact} \deftranslation[to=German]{appform}{Die \emph{Wiener Linguistische Gazette} erscheint in loser Folge im Open-Access-Format.\\ - Alle Ausgaben ab Nr. 72 (2005) sind online verfügbar.} + Alle Ausgaben ab Nr. 72 (2005) sind online verf\"ugbar.} \deftranslation[to=English]{appform}{The \versal{WLG} journal is published in loose sequence and in open access format.\\ All issues as of 72 (2005) are available online.} @@ -912,8 +912,8 @@ pdfborder={0 0 0} % Varioref: \RequirePackage[ngerman]{varioref} \AtBeginDocument{% -\renewcommand\reftextafter{auf der \reftextvario{folgenden}{nächsten} Seite}% -\renewcommand\reftextfaceafter{auf der \reftextvario{folgenden}{nächsten} Seite}% +\renewcommand\reftextafter{auf der \reftextvario{folgenden}{n\"achsten} Seite}% +\renewcommand\reftextfaceafter{auf der \reftextvario{folgenden}{n\"achsten} Seite}% \renewcommand\reftextbefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% \renewcommand\reftextfacebefore{auf der \reftextvario{vorhergehenden}{vorangegangenen} Seite}% \renewcommand\reftextfaraway[1]{auf S.~\pageref{#1}}% diff --git a/macros/latex/contrib/xcjk2uni/README.md b/macros/latex/contrib/xcjk2uni/README.md index 26676edd3f..8f9535728f 100644 --- a/macros/latex/contrib/xcjk2uni/README.md +++ b/macros/latex/contrib/xcjk2uni/README.md @@ -19,12 +19,10 @@ Set the current encoding. The default encoding is GBK. \CJKchartouni{<character>} Convert a single CJK character to its Unicode. -It requires two steps of expansion. \CJKsfdtouni{<plane>}{<slot>} Convert the .sfd coordinate to its Unicode. -It requires two steps of expansion. You can read the package manual (in Chinese) for more detailed explanations. @@ -38,7 +36,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2013-2014, 2016, 2018 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2013-2014, 2016, 2018-2020 by Qing Lee <sobenlee@gmail.com> ---------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -51,7 +49,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. diff --git a/macros/latex/contrib/xcjk2uni/xCJK2uni.dtx b/macros/latex/contrib/xcjk2uni/xCJK2uni.dtx index 860d37f915..7a87a2a2b5 100644 --- a/macros/latex/contrib/xcjk2uni/xCJK2uni.dtx +++ b/macros/latex/contrib/xcjk2uni/xCJK2uni.dtx @@ -25,12 +25,10 @@ Set the current encoding. The default encoding is GBK. \CJKchartouni{<character>} Convert a single CJK character to its Unicode. -It requires two steps of expansion. \CJKsfdtouni{<plane>}{<slot>} Convert the .sfd coordinate to its Unicode. -It requires two steps of expansion. You can read the package manual (in Chinese) for more detailed explanations. @@ -44,7 +42,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2013-2014, 2016, 2018-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2013-2014, 2016, 2018-2020 by Qing Lee <sobenlee@gmail.com> ---------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -57,7 +55,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. @@ -89,7 +87,7 @@ Copyright and Licence \preamble - Copyright (C) 2013-2014, 2016, 2018-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2013-2014, 2016, 2018-2020 by Qing Lee <sobenlee@gmail.com> -------------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -102,7 +100,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. @@ -192,7 +190,7 @@ Copyright and Licence %<package>\NeedsTeXFormat{LaTeX2e} %<package>\RequirePackage{expl3} %<make>\input expl3-generic % -%<+package|make|def>\GetIdInfo$Id: xCJK2uni.dtx 21b29fd 2019-04-07 23:27:31 +0800 Qing Lee <sobenlee@gmail.com> $ +%<+package|make|def>\GetIdInfo$Id: xCJK2uni.dtx daef005 2020-05-01 21:09:45 +0800 Qing Lee <sobenlee@gmail.com> $ %<package|make|def> {Convert CJK character to Unicode.} %<*driver> \def\ctxaux#1#2#3{\def\ctxversion{v#2}}\ctxaux @@ -202,7 +200,7 @@ Copyright and Licence %<make>\cs_if_exist:NF \ProvidesExplFile %<make> { %<make> \group_begin: -%<make> \cs_set_nopar:Npn \ProvidesExplFile #1#2#3#4 +%<make> \cs_set:Npn \ProvidesExplFile #1#2#3#4 %<make> { \iow_log:x { File:~#1~#2~v#3~#4 } } %<make> \exp_after:wN \group_end: %<make> } @@ -214,7 +212,7 @@ Copyright and Licence %<JIS>\ProvidesExplFile{xCJK2uni-UJIS.def} %<KS>\ProvidesExplFile{xCJK2uni-UKS.def} %<*driver|package|make|def> - {\ExplFileDate}{0.8}{\ExplFileDescription} + {\ExplFileDate}{1.0}{\ExplFileDescription} %</driver|package|make|def> %<*driver> \documentclass{ctxdoc} @@ -226,7 +224,7 @@ Copyright and Licence %</driver> % \fi % -% \CheckSum{585} +% \CheckSum{532} % \GetFileId{xCJK2uni.sty} % % \title{\bfseries\pkg{xCJK2uni} å®åŒ…} @@ -264,8 +262,7 @@ Copyright and Licence % \begin{syntax} % \cs{CJKchartouni} \Arg{å•ä¸ªCJKæ–‡å—} % \end{syntax} -% 将文å—转æ¢æˆ $16$ 进制形å¼çš„ Unicode。例如 |\CJKchartouni{一}| 将得到 |4E00|。 -% 将它展开两次就å¯ä»¥å¾—到结果。 +% 将文å—转æ¢æˆ Unicode。例如 |\CJKchartouni{一}| 将得到 \texttt{\number\string"4E00 }。 % \end{function} % % \begin{function}[EXP]{\CJKsfdtouni} @@ -273,8 +270,8 @@ Copyright and Licence % \cs{CJKsfdtouni} \Arg{plane} \Arg{slot} % \end{syntax} % \meta{plane} 表示由 \file{.sfd} 文件定义的åå—体的编å·ï¼Œ\meta{slot} 表示在 -% åå—体ä¸çš„ä½ç½®ï¼Œè¿™ä¸ªå‘½ä»¤å°†å¾—到该åæ ‡ä½ç½®çš„ Unicode。将它展开两次就å¯ä»¥å¾—到结果。 -% 如果在当å‰ç¼–ç 下,该åæ ‡ä½ç½®ä¸åˆæ³•ï¼Œå°†å±•å¼€ä¸ºç©ºã€‚ +% åå—体ä¸çš„ä½ç½®ï¼Œè¿™ä¸ªå‘½ä»¤å°†å¾—到该åæ ‡ä½ç½®çš„ Unicode。 +% 如果在当å‰ç¼–ç 下,该åæ ‡ä½ç½®ä¸åˆæ³•ï¼Œå°†å±•å¼€ä¸ºç©ºå¹¶æŠ¥é”™ã€‚ % \end{function} % % \end{documentation} @@ -300,7 +297,7 @@ Copyright and Licence 'l3kernel'~and~'l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/03/06 } { } { \msg_error:nn { xCJK2uni } { l3-too-old } } % \end{macrocode} % @@ -330,7 +327,7 @@ Copyright and Licence % % \begin{macro}{\@@_set_enc:nnnnnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_enc:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \@@_set_enc:nnnnnn #1#2#3#4#5#6 { \seq_gput_right:Nn \c_@@_encoding_seq {#1} \prop_gput:Nnn \c_@@_sfd_prop {#1} {#2} @@ -366,25 +363,63 @@ Copyright and Licence % % \begin{macro}{\@@_enc_map:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_enc_map:nn #1#2 +\cs_new_protected:Npn \@@_enc_map:nn #1#2 { \int_set_eq:Nc \l_@@_i_min_int { c_@@_ #1 _i_min_int } \int_set_eq:Nc \l_@@_ii_min_int { c_@@_ #1 _ii_min_int } \int_set_eq:Nc \l_@@_gap_begin_int { c_@@_ #1 _gap_begin_int } \int_set_eq:Nc \l_@@_gap_end_int { c_@@_ #1 _gap_end_int } \int_set_eq:Nc \l_@@_plane_int { c_@@_ #1 _plane_int } - \cs_if_exist:cF { CJKtu_ #1 _sfd_map:nn } - { \group_begin: \file_input:n { xCJK2uni-#2.def } \group_end: } - \cs_set_eq:Nc \CJKtu_sfd_map:nn { CJKtu_ #1 _sfd_map:nn } + \cs_if_exist:cF { CJKtu_ #1 _index_map:n } + { \@@_input_sfd_map:n {#2} } + \cs_set_eq:Nc \@@_index_map:n { CJKtu_ #1 _index_map:n } + } +\cs_new_protected:Npn \@@_input_sfd_map:n #1 + { + \group_begin: + \ExplSyntaxOn + \file_input:n { xCJK2uni-#1.def } + \group_end: } % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_use_enc_map:n} +% \begin{macro}[int]{\CJKtu_index_map:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_use_enc_map:n #1 +\cs_new:Npn \CJKtu_index_map:n #1 + { \CJKtu_unicode:n { \@@_index_map:n {#1} } } +\cs_new_eq:NN \CJKtu_unicode:n \use:n +\cs_new_eq:NN \@@_index_map:n \use_none:n +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\CJKtu_index_map:nn} +% \begin{macrocode} +\cs_new_protected:Npn \CJKtu_index_map:nn #1 + { + \exp_args:Ncc \@@_index_map_aux:NNn + { CJKtu_ #1 _index_map:n } { c_@@_ #1 _intarray } + } +\cs_new_protected:Npn \@@_index_map_aux:NNn #1#2 { - \prop_get:NxNTF \c_@@_sfd_prop {#1} \l_@@_sfd_tl + \cs_new:Npn #1 ##1 { \intarray_item:Nn #2 { ##1 + 1 } } + \intarray_const_from_clist:Nn #2 + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\CJKtu_sfd_map:nn} +% \begin{macrocode} +\cs_new:Npn \CJKtu_sfd_map:nn #1#2 + { \CJKtu_index_map:n { ( #1 - 1 ) * 256 + (#2) } } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\CJKtu_use_enc_map:n} +% \begin{macrocode} +\cs_new_protected:Npn \CJKtu_use_enc_map:n #1 + { + \prop_get:NnNTF \c_@@_sfd_prop {#1} \l_@@_sfd_tl { \@@_enc_map:nn {#1} { \l_@@_sfd_tl } } { \msg_error:nnx { xCJK2uni } { invalid-encoding } {#1} } } @@ -394,7 +429,7 @@ Copyright and Licence Only~\seq_use:Nnnn \c_@@_encoding_seq { ~and~ } { ,~ } { ,~and~ } ~ are~supported. } -\prg_generate_conditional_variant:Nnn \prop_get:NnN { Nx } { TF } +\cs_generate_variant:Nn \CJKtu_use_enc_map:n { x } % \end{macrocode} % \end{macro} % @@ -407,36 +442,12 @@ Copyright and Licence \@@_set_enc:nnnnnn { GBK } { UGBK } { "81 } { "40 } { "7E } { "80 } % \end{macrocode} % -% \begin{macro}{\@@_sfd_to_unicode:nn} -% \begin{macrocode} -\cs_new_nopar:Npn \@@_sfd_to_unicode:nn #1#2 - { - \exp:w \exp_last_unbraced:Nf - \@@_get_unicode:w \CJKtu_sfd_map:nn {#1} {#2} \exp_end: - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@@_get_unicode:w} -% \begin{macrocode} -\cs_new_nopar:Npn \@@_get_unicode:w #1 \exp_end: - { - \tl_if_empty:nTF {#1} - { \exp_end: } - { \@@_get_unicode_aux:w #1 \q_stop } - } -\cs_new_nopar:Npn \@@_get_unicode_aux:w #1 \or: #2 \q_stop - { \or: #2 \exp_end: #1 } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@@_char_to_unicode:n} +% \begin{macro}[int]{\CJKtu_char_to_unicode:n} % \begin{macrocode} \group_begin: \char_set_catcode_active:n { "7F } -\cs_new_nopar:Npn \@@_char_to_unicode:n #1 +\cs_new:Npn \CJKtu_char_to_unicode:n #1 { - \exp:w \int_compare:nNnTF { \tl_count:n {#1} } = 2 { \CJKtu_byte:NN #1 } { @@ -445,23 +456,23 @@ Copyright and Licence { \@@_encoding_error: } } } -\cs_new_nopar:Npn \@@_byte:wNwnw ^^7f #1 ^^7f #2 ^^7f +\cs_new:Npn \@@_byte:wNwnw ^^7f #1 ^^7f #2 ^^7f { \CJKtu_byte_map:nn { `#1 } {#2} } -\cs_new_nopar:Npn \@@_byte:Nwnw #1 ^^7f #2 ^^7f +\cs_new:Npn \@@_active_byte:Nwnw #1 ^^7f #2 ^^7f { \CJKtu_byte_map:nn { `#1 } {#2} } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\CJKtu_bookmarks_hook:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \CJKtu_bookmarks_hook: +\cs_new_protected:Npn \CJKtu_bookmarks_hook: { - \cs_set_eq:NN ^^7f \@@_byte:Nwnw - \cs_set_eq:NN \CJK@XX \CJKtu_byte:NN - \cs_set_eq:NN \CJKchar \@@_byte:wnn - \cs_set_eq:NN \CCTchar \CJKtu_byte:nn - \cs_set_eq:NN \@CCTSetChar \@@_CCT_byte:NNN - \cs_set_eq:NN \@@_get_unicode:n \@@_UTF_xvi_be:n + \cs_set_eq:NN ^^7f \@@_active_byte:Nwnw + \cs_set_eq:NN \CJK@XX \CJKtu_byte:NN + \cs_set_eq:NN \CJKchar \@@_byte:wnn + \cs_set_eq:NN \CCTchar \CJKtu_byte:nn + \cs_set_eq:NN \@CCTSetChar \@@_CCT_byte:NNN + \cs_set_eq:NN \CJKtu_unicode:n \@@_UTF_xvi_be_octal:n } \group_end: % \end{macrocode} @@ -470,9 +481,9 @@ Copyright and Licence % \begin{macro}[int]{\CJKtu_byte:NN} % \begin{macro}{\@@_CCT_byte:NNN} % \begin{macrocode} -\cs_new_nopar:Npn \CJKtu_byte:NN #1#2 +\cs_new:Npn \CJKtu_byte:NN #1#2 { \CJKtu_byte:nn { `#1 } { `#2 } } -\cs_new_nopar:Npn \@@_CCT_byte:NNN #1#2#3 +\cs_new:Npn \@@_CCT_byte:NNN #1#2#3 { \CJKtu_byte:nn { `#1 } { `#3 } } % \end{macrocode} % \end{macro} @@ -480,13 +491,13 @@ Copyright and Licence % % \begin{macro}{\@@_byte:wnn} % \begin{macrocode} -\cs_new_nopar:Npn \@@_byte:wnn #1# { \CJKtu_byte:nn } +\cs_new:Npn \@@_byte:wnn #1# { \CJKtu_byte:nn } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\CJKtu_byte:nn} % \begin{macrocode} -\cs_new_nopar:Npn \CJKtu_byte:nn #1#2 +\cs_new:Npn \CJKtu_byte:nn #1#2 { \int_compare:nTF { \l_@@_i_min_int <= #1 <= \l_@@_i_max_int } { @@ -501,11 +512,8 @@ Copyright and Licence } { \@@_encoding_error: } } -\cs_new_nopar:Npn \@@_encoding_error: - { - \msg_expandable_error:nn { xCJK2uni } { encoding-error } - \exp_end: - } +\cs_new:Npn \@@_encoding_error: + { \msg_expandable_error:nn { xCJK2uni } { encoding-error } } \msg_new:nnn { xCJK2uni } { encoding-error } { Wrong~encoding~scheme. } % \end{macrocode} @@ -513,9 +521,9 @@ Copyright and Licence % % \begin{macro}[int]{\CJKtu_byte_map:nn} % \begin{macrocode} -\cs_new_nopar:Npn \CJKtu_byte_map:nn #1#2 +\cs_new:Npn \CJKtu_byte_map:nn #1#2 { - \exp_args:Nf \@@_index_map:n + \exp_args:Nf \CJKtu_index_map:n { \int_eval:n { @@ -529,38 +537,21 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_index_map:n} +% \begin{macro}{\@@_UTF_xvi_be_octal:n} % \begin{macrocode} -\cs_new_nopar:Npn \@@_index_map:n #1 +\cs_new:Npn \@@_UTF_xvi_be_octal:n #1 + { \exp_args:Nf \@@_UTF_xvi_be_octal_aux:n { \int_eval:n {#1} } } +\cs_new:Npn \@@_UTF_xvi_be_octal_aux:n #1 { - \@@_get_unicode:n - { - \CJKtu_sfd_map:nn - { \int_div_truncate:nn {#1} { 256 } + 1 } - { \int_mod:nn {#1} { 256 } } - } - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@@_get_unicode:n} -% \begin{macrocode} -\cs_new_nopar:Npn \@@_get_unicode:n #1 - { \exp_last_unbraced:Nf \@@_get_unicode:w #1 \exp_end: } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@@_UTF_xvi_be:n} -% \begin{macrocode} -\cs_new_nopar:Npn \@@_UTF_xvi_be:n #1 - { \exp_args:Nf \@@_UTF_xvi_aux:n { \int_eval:n { "#1 } } } -\cs_new_nopar:Npn \@@_UTF_xvi_aux:n #1 - { - \HyPsd@DecimalToOctalFirst + \@@_UTF_xvi_be_octal:nn { \int_div_truncate:nn {#1} { 256 } } - \HyPsd@DecimalToOctalSecond { \int_mod:nn {#1} { 256 } } } +\cs_new:Npn \@@_UTF_xvi_be_octal:nn #1#2 + { + \HyPsd@DecimalToOctalFirst {#1} + \HyPsd@DecimalToOctalSecond {#2} + } % \end{macrocode} % \end{macro} % @@ -589,29 +580,31 @@ Copyright and Licence % % \begin{macro}{\useCJKencmap,\CJKchartouni,\CJKsfdtouni} % \begin{macrocode} -\cs_new_eq:NN \useCJKencmap \@@_use_enc_map:n -\cs_new_eq:NN \CJKchartouni \@@_char_to_unicode:n -\cs_new_eq:NN \CJKsfdtouni \@@_sfd_to_unicode:nn +\cs_new_eq:NN \useCJKencmap \CJKtu_use_enc_map:x +\cs_new_eq:NN \CJKchartouni \CJKtu_char_to_unicode:n +\cs_new_eq:NN \CJKsfdtouni \CJKtu_sfd_map:nn % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_initial:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_initial:N #1 +\cs_new_protected:Npn \@@_initial:N #1 { \tl_if_exist:NTF #1 { \prop_get:NxNTF \c_@@_sfd_prop {#1} \l_@@_sfd_tl { \@@_enc_map:nn {#1} { \l_@@_sfd_tl } } - { \@@_use_enc_map:n { GBK } } + { \CJKtu_use_enc_map:n { GBK } } } - { \@@_use_enc_map:n { GBK } } + { \CJKtu_use_enc_map:n { GBK } } } +\prg_generate_conditional_variant:Nnn \prop_get:NnN { Nx } { TF } % \end{macrocode} % \end{macro} % % \begin{macrocode} -\exp_args:Nc \@@_initial:N { CJK @ @ @ enc } +\group_begin: \exp_args:NNc \group_end: +\@@_initial:N { CJK @ @ @ enc } % \end{macrocode} % % \begin{macrocode} @@ -641,7 +634,7 @@ Copyright and Licence { \lua_now:e { - kpse.set_program_name("kpsewhich") ~ + kpse.set_program_name("luatex") ~ local ~ sfd = kpse.find_file("UGBK.sfd", "subfont~definition~files") ~ if ~ sfd ~ then ~ tex.write(sfd) ~ @@ -650,7 +643,7 @@ Copyright and Licence } } { - \sys_shell_get:nnNTF { kpsewhich ~ UGBK.sfd } { } \l_tmpa_str + \sys_get_shell:nnNTF { kpsewhich ~ UGBK.sfd } { } \l_tmpa_str { \str_gset_eq:NN \g_@@_path_str \l_tmpa_str } { \msg_fatal:nnnn { xCJK2uni } { file-not-found } { GBK } { UGBK.sfd } } } @@ -694,7 +687,7 @@ Copyright and Licence % % \begin{macro}{\@@_write_file:nnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_write_file:nnn #1#2#3 +\cs_new_protected:Npn \@@_write_file:nnn #1#2#3 { \group_begin: \seq_put_right:No \l_file_search_path_seq { \g_@@_path_str } @@ -704,19 +697,14 @@ Copyright and Licence \seq_clear:N \l_@@_sfd_plane_seq \@@_write_sfd_map_header:n {#1} \ior_str_map_inline:Nn \g_@@_sfd_ior - { \str_if_eq:nnT {##1} { 00 ~ 0x0000_0x00FF } { \ior_map_break: } } + { \str_if_eq:nnT { ##1 } { 00 ~ 0x0000_0x00FF } { \ior_map_break: } } \ior_str_map_inline:Nn \g_@@_sfd_ior { - \tl_if_blank:nTF {##1} - { - \ior_map_break:n - { - \@@_write_sfd_map_trailer:n {#1} - \@@_write_cmap_file:n {#2} - } - } - { \@@_read_sfd_line:nnn {##1} {#1} {#2} } + \tl_if_blank:nT { ##1 } { \ior_map_break: } + \@@_read_sfd_line:nn { ##1 } {#2} } + \@@_write_sfd_map_trailer:n {#1} + \@@_write_cmap_file:n {#2} \iow_close:N \g_@@_sfd_cmap_iow \ior_close:N \g_@@_sfd_ior \seq_clear:N \l_@@_sfd_plane_seq @@ -732,19 +720,18 @@ Copyright and Licence % % \begin{macro}{\@@_read_sfd_line:n,\@@_read_sfd_line:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npx \@@_read_sfd_line:nnn #1#2#3 +\cs_new_protected:Npx \@@_read_sfd_line:nn #1 { - \exp_not:N \@@_read_sfd_line:nwnn #1 - \c_backslash_str \exp_not:N \q_nil \exp_not:N \q_stop {#2} {#3} + \exp_not:N \@@_read_sfd_line:nwn #1 + \c_backslash_str \exp_not:N \q_nil \exp_not:N \q_stop } -\use:x +\use:e { - \cs_new_protected_nopar:Npn \exp_not:N \@@_read_sfd_line:nwnn - ##1 0 \token_to_str:N x ##2 \c_backslash_str ##3 \exp_not:N \q_stop - ##4##5 + \cs_new_protected:Npn \exp_not:N \@@_read_sfd_line:nwn + #1 0 \token_to_str:N x #2 \c_backslash_str #3 \exp_not:N \q_stop { - \exp_not:N \@@_read_sfd_line:nnnnn - {##1} { 0 \token_to_str:N x } {##2} {##4} {##5} + \exp_not:N \@@_read_sfd_line:nnnn + {#1} { 0 \token_to_str:N x } {#2} } } % \end{macrocode} @@ -752,48 +739,22 @@ Copyright and Licence % % \begin{macro}{\@@_read_sfd_line:nnnnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_read_sfd_line:nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \@@_read_sfd_line:nnnn #1#2#3#4 { \tl_if_blank:nF {#1} { \seq_if_empty:NF \l_@@_sfd_plane_seq - { - \iow_now:Nx \g_@@_sfd_map_iow - { - \c_@@_indent_str \c_@@_indent_str - \token_to_str:N \fi: \iow_newline: - \c_@@_indent_str \c_right_brace_str - } - \@@_write_cmap_file:n {#5} - } - \@@_write_plane_map:nn {#1} {#4} + { \@@_write_cmap_file:n {#4} } \tl_set:Nx \l_@@_sfd_plane_tl { \tl_trim_spaces:n {#1} } + \@@_write_plane_map:n { \l_@@_sfd_plane_tl } } \seq_set_split:Nnn \l_@@_sfd_line_seq {#2} {#3} \seq_concat:NNN \l_@@_sfd_plane_seq \l_@@_sfd_plane_seq \l_@@_sfd_line_seq \iow_now:Nx \g_@@_sfd_map_iow { - \c_@@_indent_str \c_@@_indent_str \c_@@_indent_str - \seq_use:Nn \l_@@_sfd_line_seq { ~ \or: } ~ - \token_to_str:N \or: - } - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\@@_write_plane_map:nn} -% \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_write_plane_map:nn #1#2 - { - \iow_now:Nx \g_@@_sfd_map_iow - { - \cs_new_nopar:cpn { ~ @@_ #2 _sfd_map_ \int_eval:n {#1} :n ~ } ~ - \c_hash_str 1 \iow_newline: - \c_@@_indent_str \c_left_brace_str \iow_newline: \c_@@_indent_str \c_@@_indent_str - \exp_not:N \if_case:w \tex_numexpr:D - \c_hash_str 1 ~ \token_to_str:N \scan_stop: + " \seq_use:Nn \l_@@_sfd_line_seq { ~ , ~ " } ~ , } } % \end{macrocode} @@ -801,7 +762,7 @@ Copyright and Licence % % \begin{macro}{\@@_write_cmap_file:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_write_cmap_file:n #1 +\cs_new_protected:Npn \@@_write_cmap_file:n #1 { \tl_clear:N \l_@@_cmap_block_tl \int_zero:N \l_@@_sfd_index_int @@ -809,13 +770,13 @@ Copyright and Licence \@@_write_cmap_header:nn { C #1 } { \l_@@_sfd_plane_tl } \iow_now:Nx \g_@@_sfd_cmap_iow { - \iow_newline: - 1~begincodespacerange \iow_newline: + \iow_newline: + 1~begincodespacerange \iow_newline: \c_@@_indent_str < 00 > ~ < \int_to_Hex:n { \seq_count:N \l_@@_sfd_plane_seq - 1 } - > \iow_newline: + > \iow_newline: endcodespacerange } \seq_map_function:NN \l_@@_sfd_plane_seq \@@_write_cmap_body:n @@ -823,9 +784,9 @@ Copyright and Licence { \iow_now:Nx \g_@@_sfd_cmap_iow { - \iow_newline: + \iow_newline: \int_mod:nn { \l_@@_sfd_index_int } { 100 } ~ - beginbfchar \iow_newline: + beginbfchar \iow_newline: \l_@@_cmap_block_tl endbfchar } @@ -838,18 +799,18 @@ Copyright and Licence % % \begin{macro}{\@@_write_cmap_body:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_write_cmap_body:n #1 +\cs_new_protected:Npn \@@_write_cmap_body:n #1 { \int_case:nnTF { \l_@@_sfd_index_int } { { 99 } { } { 199 } { } } { \iow_now:Nx \g_@@_sfd_cmap_iow { - \iow_newline: - 100 ~ beginbfchar \iow_newline: + \iow_newline: + 100 ~ beginbfchar \iow_newline: \l_@@_cmap_block_tl < \int_to_Hex:n { \l_@@_sfd_index_int } > ~ - <#1> \iow_newline: + <#1> \iow_newline: endbfchar } \tl_clear:N \l_@@_cmap_block_tl @@ -860,7 +821,7 @@ Copyright and Licence < \int_compare:nNnF \l_@@_sfd_index_int > { 15 } { 0 } \int_to_Hex:n { \l_@@_sfd_index_int } - > ~ <#1> \iow_newline: + > ~ <#1> \iow_newline: } } \int_incr:N \l_@@_sfd_index_int @@ -872,20 +833,13 @@ Copyright and Licence % \begin{macrocode} \group_begin: \char_set_catcode_other:N \% -\cs_new_protected_nopar:Npn \@@_write_sfd_map_header:n #1 +\cs_new_protected:Npn \@@_write_sfd_map_header:n #1 { \iow_now:Nx \g_@@_sfd_map_iow { - %<*#1> \iow_newline: - \cs_new_nopar:cpn { ~ CJKtu_#1_sfd_map:nn ~ } ~ \c_hash_str 1 - \iow_newline: \c_@@_indent_str \c_left_brace_str \iow_newline: - \c_@@_indent_str \c_@@_indent_str - \token_to_str:N \cs_if_exist_use:cF - \iow_newline: \c_@@_indent_str \c_@@_indent_str \c_@@_indent_str - { ~ @@_#1_sfd_map_ ~ \exp_not:N \int_eval:n { \c_hash_str 1 } ~ :n ~} - \iow_newline: \c_@@_indent_str \c_@@_indent_str \c_@@_indent_str - { ~ \exp_not:N \use_none:n } \iow_newline: - \c_@@_indent_str \c_right_brace_str + %<*#1> \iow_newline: + \exp_not:N \CJKtu_index_map:nn { ~ #1 ~ } \iow_newline: + \c_@@_indent_str \c_left_brace_str } } % \end{macrocode} @@ -893,22 +847,30 @@ Copyright and Licence % % \begin{macro}{\@@_write_sfd_map_trailer:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_write_sfd_map_trailer:n #1 +\cs_new_protected:Npn \@@_write_sfd_map_trailer:n #1 { \iow_now:Nx \g_@@_sfd_map_iow { - \c_@@_indent_str \c_@@_indent_str - \token_to_str:N \fi: \iow_newline: - \c_@@_indent_str \c_right_brace_str \iow_newline: + \c_@@_indent_str \c_right_brace_str \iow_newline: %</#1> } } % \end{macrocode} % \end{macro} % +% \begin{macro}{\@@_write_plane_map:n} +% \begin{macrocode} +\cs_new_protected:Npn \@@_write_plane_map:n #1 + { + \iow_now:Nx \g_@@_sfd_map_iow + { %% ~ <#1> } + } +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\@@_write_cmap_header:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_write_cmap_header:nn #1#2 +\cs_new_protected:Npn \@@_write_cmap_header:nn #1#2 { \iow_now:Nx \g_@@_sfd_cmap_iow { @@ -919,17 +881,17 @@ Copyright and Licence %%Title:~(TeX-#1-#2-0~TeX~#1-#2~0) \iow_newline: %%Version:~1.000 \iow_newline: %%EndComments \iow_newline: \iow_newline: - /CIDInit~/ProcSet~findresource~begin \iow_newline: \iow_newline: - 12~dict~begin \iow_newline: \iow_newline: - begincmap \iow_newline: \iow_newline: - /CIDSystemInfo~3~dict~dup~begin \iow_newline: - \c_@@_indent_str /Registry~(TeX)~def \iow_newline: - \c_@@_indent_str /Ordering~(#1-#2)~def \iow_newline: - \c_@@_indent_str /Supplement~0~def \iow_newline: - end~def \iow_newline: \iow_newline: - /CMapName~/TeX-#1-#2-0~def \iow_newline: - /CMapVersion~1.000~def \iow_newline: - /CMapType~2~def \iow_newline: \iow_newline: + /CIDInit~/ProcSet~findresource~begin \iow_newline: \iow_newline: + 12~dict~begin \iow_newline: \iow_newline: + begincmap \iow_newline: \iow_newline: + /CIDSystemInfo~3~dict~dup~begin \iow_newline: + \c_@@_indent_str /Registry~(TeX)~def \iow_newline: + \c_@@_indent_str /Ordering~(#1-#2)~def \iow_newline: + \c_@@_indent_str /Supplement~0~def \iow_newline: + end~def \iow_newline: \iow_newline: + /CMapName~/TeX-#1-#2-0~def \iow_newline: + /CMapVersion~1.000~def \iow_newline: + /CMapType~2~def \iow_newline: \iow_newline: /WMode~0~def } } @@ -938,16 +900,16 @@ Copyright and Licence % % \begin{macro}{\@@_write_cmap_trailer:} % \begin{macrocode} -\cs_new_protected_nopar:Npx \@@_write_cmap_trailer: +\cs_new_protected:Npx \@@_write_cmap_trailer: { \iow_now:Nn \g_@@_sfd_cmap_iow { - \iow_newline: - endcmap \iow_newline: - CMapName~currentdict~/CMap~defineresource~pop \iow_newline: - end \iow_newline: - end \iow_newline: \iow_newline: - %%EndResource \iow_newline: + \iow_newline: + endcmap \iow_newline: + CMapName~currentdict~/CMap~defineresource~pop \iow_newline: + end \iow_newline: + end \iow_newline: \iow_newline: + %%EndResource \iow_newline: %%EOF } } diff --git a/macros/latex/contrib/xcjk2uni/xCJK2uni.ins b/macros/latex/contrib/xcjk2uni/xCJK2uni.ins deleted file mode 100644 index 31967db2ee..0000000000 --- a/macros/latex/contrib/xcjk2uni/xCJK2uni.ins +++ /dev/null @@ -1,139 +0,0 @@ -%% -%% This is file `xCJK2uni.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xCJK2uni.dtx (with options: `install') -%% -%% Copyright (C) 2013-2014, 2016, 2018-2019 by Qing Lee <sobenlee@gmail.com> -%% -------------------------------------------------------------------------- -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Qing Lee. -%% -%% -------------------------------------------------------------------------- -%% - -\input ctxdocstrip % - -\preamble - - Copyright (C) 2013-2014, 2016, 2018-2019 by Qing Lee <sobenlee@gmail.com> --------------------------------------------------------------------------- - - This work may be distributed and/or modified under the - conditions of the LaTeX Project Public License, either - version 1.3c of this license or (at your option) any later - version. This version of this license is in - http://www.latex-project.org/lppl/lppl-1-3c.txt - and the latest version of this license is in - http://www.latex-project.org/lppl.txt - and version 1.3 or later is part of all distributions of - LaTeX version 2005/12/01 or later. - - This work has the LPPL maintenance status `maintained'. - - The Current Maintainer of this work is Qing Lee. - --------------------------------------------------------------------------- - -\endpreamble -\postamble - - This package consists of the file xCJK2uni.dtx, - and the derived files xCJK2uni.pdf, - xCJK2uni.sty, - xCJK2uni.ins, - xCJK2uni-make.tex, - xCJK2uni-sfd.def, - xCJK2uni-UBg5plus.def, - xCJK2uni-UBig5.def, - xCJK2uni-UGB.def, - xCJK2uni-UGBK.def, - xCJK2uni-UJIS.def, - xCJK2uni-UKS.def, - c****.cmap, and - README.md. -\endpostamble - -\generate - { - \usedir{tex/latex/xcjk2uni} - \file{xCJK2uni.sty} {\from{\jobname.dtx}{package}} - \file{xCJK2uni-make.tex} {\from{\jobname.dtx}{make}} - \nopreamble\nopostamble - \usedir{doc/latex/xcjk2uni} - \file{README.md} {\from{\jobname.dtx}{readme}} - } - -\let\input\@@input -\def\CJKtuend{\ExplSyntaxOff} -\input xCJK2uni-make % -\let\input\skip@input - -\generate - { - \usedir{tex/latex/xcjk2uni} - \usepostamble\emptypostamble - \file{xCJK2uni-UBig5.def} - { - \from{\jobname.dtx} {def,Bg5} - \from{xCJK2uni-sfd.def} {Bg5} - } - \file{xCJK2uni-UBg5plus.def} - { - \from{\jobname.dtx} {def,Bg5+} - \from{xCJK2uni-sfd.def} {Bg5+} - } - \file{xCJK2uni-UGB.def} - { - \from{\jobname.dtx} {def,GB} - \from{xCJK2uni-sfd.def} {GB} - } - \file{xCJK2uni-UGBK.def} - { - \from{\jobname.dtx} {def,GBK} - \from{xCJK2uni-sfd.def} {GBK} - } - \file{xCJK2uni-UJIS.def} - { - \from{\jobname.dtx} {def,JIS} - \from{xCJK2uni-sfd.def} {JIS} - } - \file{xCJK2uni-UKS.def} - { - \from{\jobname.dtx} {def,KS} - \from{xCJK2uni-sfd.def} {KS} - } - } - -\endbatchfile -%% -%% This package consists of the file xCJK2uni.dtx, -%% and the derived files xCJK2uni.pdf, -%% xCJK2uni.sty, -%% xCJK2uni.ins, -%% xCJK2uni-make.tex, -%% xCJK2uni-sfd.def, -%% xCJK2uni-UBg5plus.def, -%% xCJK2uni-UBig5.def, -%% xCJK2uni-UGB.def, -%% xCJK2uni-UGBK.def, -%% xCJK2uni-UJIS.def, -%% xCJK2uni-UKS.def, -%% c****.cmap, and -%% README.md. -%% -%% End of file `xCJK2uni.ins'. diff --git a/macros/latex/contrib/xcjk2uni/xCJK2uni.pdf b/macros/latex/contrib/xcjk2uni/xCJK2uni.pdf Binary files differindex d2ba50e042..b143ba1467 100644 --- a/macros/latex/contrib/xcjk2uni/xCJK2uni.pdf +++ b/macros/latex/contrib/xcjk2uni/xCJK2uni.pdf diff --git a/macros/latex/contrib/xpinyin/README.md b/macros/latex/contrib/xpinyin/README.md index 7c11c0fb0a..b9f5f5c6cc 100644 --- a/macros/latex/contrib/xpinyin/README.md +++ b/macros/latex/contrib/xpinyin/README.md @@ -20,7 +20,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2012-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2012-2020 by Qing Lee <sobenlee@gmail.com> ---------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -33,7 +33,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. diff --git a/macros/latex/contrib/xpinyin/xpinyin.dtx b/macros/latex/contrib/xpinyin/xpinyin.dtx index 8d50b231f2..b23d96db64 100644 --- a/macros/latex/contrib/xpinyin/xpinyin.dtx +++ b/macros/latex/contrib/xpinyin/xpinyin.dtx @@ -26,7 +26,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2012-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2012-2020 by Qing Lee <sobenlee@gmail.com> ---------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -39,7 +39,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. @@ -81,7 +81,7 @@ Copyright and Licence \preamble - Copyright (C) 2012-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2012-2020 by Qing Lee <sobenlee@gmail.com> -------------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -94,7 +94,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. @@ -167,12 +167,12 @@ Copyright and Licence %</internal> %<package>\NeedsTeXFormat{LaTeX2e} %<package>\RequirePackage{expl3} -%<+package>\GetIdInfo$Id: xpinyin.dtx 81bb941 2019-04-07 23:27:58 +0800 Qing Lee <sobenlee@gmail.com> $ +%<+package>\GetIdInfo$Id: xpinyin.dtx 789567a 2020-05-01 21:10:07 +0800 Qing Lee <sobenlee@gmail.com> $ %<package> {Automatically add pinyin to Chinese characters} %<package>\ProvidesExplPackage{\ExplFileName} -%<package> {\ExplFileDate}{2.7}{\ExplFileDescription} +%<package> {\ExplFileDate}{2.8}{\ExplFileDescription} %<database>\ProvidesFile{xpinyin-database.def}% -%<database> [2019/04/07 v2.7 xpinyin database] +%<database> [2020/05/01 v2.8 xpinyin database] %<*driver> \documentclass{ctxdoc} \usepackage{xpinyin} @@ -186,7 +186,7 @@ Copyright and Licence %</driver> % \fi % -% \CheckSum{696} +% \CheckSum{694} % \GetFileId{xpinyin.sty} % % \title{\bfseries\pkg{xpinyin} å®åŒ…} @@ -359,14 +359,14 @@ Copyright and Licence % \begin{syntax} % format = \Arg{format} % \end{syntax} -% è®¾ç½®æ‹¼éŸ³çš„å…¶å®ƒæ ¼å¼ï¼Œä¾‹å¦‚颜色ç‰ï¼Œç¼ºçœå€¼ä¸ºç©ºã€‚ +% è®¾ç½®æ‹¼éŸ³çš„å…¶ä»–æ ¼å¼ï¼Œä¾‹å¦‚颜色ç‰ï¼Œç¼ºçœå€¼ä¸ºç©ºã€‚ % \end{function} % % \begin{function}{multiple} % \begin{syntax} % multiple = \Arg{format} % \end{syntax} -% 设置多音å—æ‹¼éŸ³çš„å…¶å®ƒæ ¼å¼ï¼Œç¼ºçœå€¼ä¸ºç©ºã€‚å¯ä»¥é€šè¿‡è¿™ä¸ªé€‰é¡¹æ¥æé†’æ ¡æ£å¤šéŸ³å—的拼音。例如 +% 设置多音å—æ‹¼éŸ³çš„å…¶ä»–æ ¼å¼ï¼Œç¼ºçœå€¼ä¸ºç©ºã€‚å¯ä»¥é€šè¿‡è¿™ä¸ªé€‰é¡¹æ¥æé†’æ ¡æ£å¤šéŸ³å—的拼音。例如 % 本文档设置多音å—拼音的颜色是红色(需è¦è½½å…¥ \pkg{color} å®åŒ…): % \begin{frameverb} % \xpinyinsetup{multiple={\color{red}}} @@ -467,7 +467,7 @@ Copyright and Licence % % \begin{macro}{\@@_UTF_char:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_UTF_char:nn #1#2 +\cs_new_protected:Npn \@@_UTF_char:nn #1#2 { \cs_if_exist:cF { u8:#1 } { \tl_const:cn { u8:#1 } {#2} } @@ -478,14 +478,14 @@ Copyright and Licence % % \begin{macro}{\@@_GBK_char:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_GBK_char:nn #1#2 +\cs_new_protected:Npn \@@_GBK_char:nn #1#2 { \@@_UTF_char:nn {#1} {#2} \exp_args:Nx \@@_GBK_char_aux:nn { \tl_head:n {#1} } {#1} } -\cs_new_protected_nopar:Npn \@@_GBK_char_aux:nn #1#2 +\cs_new_protected:Npn \@@_GBK_char_aux:nn #1#2 { \exp_args:Nf \@@_GBK_char_aux:nnn { \int_eval:n { `#1 } } {#1} {#2} } -\cs_new_protected_nopar:Npn \@@_GBK_char_aux:nnn #1#2#3 +\cs_new_protected:Npn \@@_GBK_char_aux:nnn #1#2#3 { \cs_if_exist:cF { @@_UTF_ #1 :w } { @@ -505,9 +505,9 @@ Copyright and Licence \char_set_catcode_active:n {#1} } } -\cs_new_protected_nopar:Npn \@@_GBK_char_def:nnn #1#2#3 +\cs_new_protected:Npn \@@_GBK_char_def:nnn #1#2#3 { - \cs_new_protected_nopar:cpn { @@_UTF_ #2 :w } #1 + \cs_new_protected:cpn { @@_UTF_ #2 :w } #1 { \use:c { u8: \tl_to_str:n { #3#1 } } } } \tl_new:N \c_@@_reset_UTF_catcode_tl @@ -518,7 +518,7 @@ Copyright and Licence % \begin{macrocode} \group_begin: \char_set_catcode_active:n { 126 } -\cs_new_protected_nopar:Npn \@@_save_UTF_cs:Nn #1#2 +\cs_new_protected:Npn \@@_save_UTF_cs:Nn #1#2 { \group_begin: \char_set_lccode:nn { 126 } {#2} @@ -592,7 +592,7 @@ Copyright and Licence % % \begin{macro}{\@@_make_pinyin_box:nnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_make_pinyin_box:nnn #1#2#3 +\cs_new_protected:Npn \@@_make_pinyin_box:nnn #1#2#3 { \@@_leavevmode: \hbox_overlap_right:n @@ -637,9 +637,9 @@ Copyright and Licence % % \begin{macro}{\@@_CJKsymbol:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_CJKsymbol:n #1 +\cs_new_protected:Npn \@@_CJKsymbol:n #1 { \@@_CJKsymbol:xn { \@@_to_unicode:n {#1} } {#1} } -\cs_new_protected_nopar:Npn \@@_CJKsymbol:nn #1#2 +\cs_new_protected:Npn \@@_CJKsymbol:nn #1#2 { \@@_make_pinyin_box:nnn {#1} {#2} { \use:c { c_@@_ #1 _tl } } \@@_save_CJKsymbol:n {#2} @@ -691,7 +691,7 @@ Copyright and Licence % % \begin{macro}{\@@_CJKglue:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_CJKglue: +\cs_new_protected:Npn \@@_CJKglue: { \skip_horizontal:n { \l_@@_hsep_tl } } % \end{macrocode} % \end{macro} @@ -733,7 +733,7 @@ Copyright and Licence % % \begin{macro}{\@@_restore_footnote:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_restore_footnote: +\cs_new_protected:Npn \@@_restore_footnote: { \bool_if:NF \l_@@_footnote_bool { \tl_put_left:Nn \@parboxrestore { \l_@@_restore_footnote_tl } } @@ -760,19 +760,19 @@ Copyright and Licence % % \begin{macro}{\@@_single_aux:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_single_aux:nn #1#2 +\cs_new_protected:Npn \@@_single_aux:nn #1#2 { \@@_replace_CJKsymbol_single:n {#2} #1 \group_end: } -\cs_new_protected_nopar:Npn \@@_replace_CJKsymbol_single_aux:n #1 +\cs_new_protected:Npn \@@_replace_CJKsymbol_single_aux:n #1 { \bool_if:NF \l_@@_enable_bool { \@@_replace_CJKsymbol: } - \cs_set_protected_nopar:Npn \CJKsymbol ##1 + \cs_set_protected:Npn \CJKsymbol ##1 { \@@_single_CJKsymbol:nn {##1} {#1} } } -\cs_new_protected_nopar:Npn \@@_single_CJKsymbol:nn #1#2 +\cs_new_protected:Npn \@@_single_CJKsymbol:nn #1#2 { \@@_make_pinyin_box:xnn { \@@_to_unicode:n {#1} } {#1} { \@@_pinyin:n {#2} } @@ -783,7 +783,7 @@ Copyright and Licence % % \begin{macro}{\@@_replace_CJKsymbol_aux:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_replace_CJKsymbol_aux: +\cs_new_protected:Npn \@@_replace_CJKsymbol_aux: { \cs_set_eq:NN \@@_save_CJKsymbol:n \CJKsymbol \cs_set_eq:NN \CJKsymbol \@@_CJKsymbol:n @@ -793,14 +793,14 @@ Copyright and Licence % % \begin{macro}{\@@_restore_CJKsymbol_aux:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_restore_CJKsymbol_aux: +\cs_new_protected:Npn \@@_restore_CJKsymbol_aux: { \cs_set_eq:NN \CJKsymbol \@@_save_CJKsymbol:n } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_select_font_xetex:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_select_font_xetex: +\cs_new_protected:Npn \@@_select_font_xetex: { \cs_if_exist_use:cF { \l_@@_coor_tl } { @@ -818,7 +818,7 @@ Copyright and Licence % % \begin{macro}{\@@_select_font_aux:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_select_font_aux: +\cs_new_protected:Npn \@@_select_font_aux: { \fontsize { \l_@@_ratio_tl \tex_dimexpr:D \f@size pt \scan_stop: } @@ -832,21 +832,21 @@ Copyright and Licence % % \begin{macro}{\@@_to_unicode_xetex:n} % \begin{macrocode} -\cs_new_nopar:Npn \@@_to_unicode_xetex:n #1 +\cs_new:Npn \@@_to_unicode_xetex:n #1 { \int_to_arabic:n { `#1 } } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_UTF_to_unicode:n,\@@_UTFchar_to_unicode:n} % \begin{macrocode} -\cs_new_nopar:Npn \@@_UTF_to_unicode:n #1 +\cs_new:Npn \@@_UTF_to_unicode:n #1 { \int_to_arabic:n { \exp_args:No \int_from_hex:n { \CJK@plane } * "100 + #1 } } -\cs_new_nopar:Npn \@@_UTFchar_to_unicode:n #1 +\cs_new:Npn \@@_UTFchar_to_unicode:n #1 { \int_to_arabic:n { \@@_UTF_viii_to_unicode:NNNw #1 \q_stop } } -\cs_new_nopar:Npn \@@_UTF_viii_to_unicode:NNNw #1#2#3#4 \q_stop +\cs_new:Npn \@@_UTF_viii_to_unicode:NNNw #1#2#3#4 \q_stop { \tl_if_empty:nTF {#4} { ( `#1 - "E0 ) * "1000 + ( `#2 - "80 ) * "40 + ( `#3 - "80 ) } @@ -857,16 +857,16 @@ Copyright and Licence % % \begin{macro}{\@@_GBK_to_unicode:n,\@@_GBKchar_to_unicode:n} % \begin{macrocode} -\cs_new_nopar:Npn \@@_GBK_to_unicode:n #1 - { \int_to_arabic:n { " \CJKtu_sfd_map:nn { \CJK@plane } {#1} } } -\cs_new_nopar:Npn \@@_GBKchar_to_unicode:n #1 - { \int_to_arabic:n { " \CJKchartouni {#1} } } +\cs_new:Npn \@@_GBK_to_unicode:n + { \CJKtu_sfd_map:nn { \CJK@plane } } +\cs_new:Npn \@@_GBKchar_to_unicode:n + { \CJKtu_char_to_unicode:n } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_adjust_xeCJK_hook:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_adjust_xeCJK_hook: +\cs_new_protected:Npn \@@_adjust_xeCJK_hook: { \cs_new_eq:NN \@@_select_font: \@@_select_font_xetex: \cs_new_eq:NN \@@_to_unicode:n \@@_to_unicode_xetex:n @@ -891,7 +891,7 @@ Copyright and Licence } } \cs_new_eq:NN \@@_leavevmode: \prg_do_nothing: - \cs_new_protected_nopar:Npx \@@_CJKsymbol_hook: + \cs_new_protected:Npx \@@_CJKsymbol_hook: { \exp_not:N \makexeCJKinactive \cs_if_exist_use:NF \xeCJK_select_font: @@ -903,7 +903,7 @@ Copyright and Licence % % \begin{macro}{\@@_adjust_CJK_hook:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_adjust_CJK_hook: +\cs_new_protected:Npn \@@_adjust_CJK_hook: { \bool_if:NTF \g_@@_GBK_bool { @@ -941,15 +941,15 @@ Copyright and Licence % % \begin{macro}{\@@_adjust_CJKpunct_hook:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_adjust_CJKpunct_hook: +\cs_new_protected:Npn \@@_adjust_CJKpunct_hook: { - \cs_new_protected_nopar:Npn \@@_restore_CJKsymbol: + \cs_new_protected:Npn \@@_restore_CJKsymbol: { \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain } { \@@_restore_CJKsymbol_aux: } { \cs_set_eq:NN \CJKosymbol \@@_save_CJKsymbol:n } } - \cs_new_protected_nopar:Npn \@@_replace_CJKsymbol: + \cs_new_protected:Npn \@@_replace_CJKsymbol: { \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain } { \@@_replace_CJKsymbol_aux: } @@ -958,14 +958,14 @@ Copyright and Licence \cs_set_eq:NN \CJKosymbol \@@_CJKsymbol:n } } - \cs_new_protected_nopar:Npn \@@_replace_CJKsymbol_single:n ##1 + \cs_new_protected:Npn \@@_replace_CJKsymbol_single:n ##1 { \int_compare:nNnTF { \CJKpunct@punctstyle } = { \CJKpunct@ps@plain } { \@@_replace_CJKsymbol_single_aux:n { ##1 } } { \bool_if:NF \l_@@_enable_bool { \cs_set_eq:NN \@@_save_CJKsymbol:n \CJKosymbol } - \cs_set_protected_nopar:Npn \CJKosymbol ####1 + \cs_set_protected:Npn \CJKosymbol ####1 { \@@_single_CJKsymbol:nn { ####1 } { ##1 } } } } @@ -991,7 +991,7 @@ Copyright and Licence % % \begin{macro}{\@@_pinyin:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_pinyin:n #1 +\cs_new_protected:Npn \@@_pinyin:n #1 { \@@_pinyin_init: \bool_set_true:N \l_@@_first_bool @@ -1003,7 +1003,7 @@ Copyright and Licence % % \begin{macro}{\@@_pinyin_aux:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_pinyin_aux:n #1 +\cs_new_protected:Npn \@@_pinyin_aux:n #1 { \quark_if_recursion_tail_stop_do:nn {#1} { @@ -1039,7 +1039,7 @@ Copyright and Licence % % \begin{macro}{\@@_tone:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_tone:nn #1#2 +\cs_new_protected:Npn \@@_tone:nn #1#2 { \use:c { @@_num_to_tone_ #1 :Nn } {#1} {#2} } \cs_generate_variant:Nn \@@_tone:nn { V } % \end{macrocode} @@ -1047,7 +1047,7 @@ Copyright and Licence % % \begin{macro}{\@@_replace_v:n} % \begin{macrocode} -\cs_new_nopar:Npn \@@_replace_v:n #1 +\cs_new:Npn \@@_replace_v:n #1 { \str_if_eq:nnTF {#1} { v } { @@ -1062,7 +1062,7 @@ Copyright and Licence % % \begin{macro}{\@@_pinyin_init:} % \begin{macrocode} -\cs_new_nopar:Npn \@@_pinyin_init: +\cs_new:Npn \@@_pinyin_init: { \tl_clear:N \l_@@_pre_tl \tl_clear:N \l_@@_post_tl \tl_clear:N \l_@@_item_tl \tl_clear:N \l_@@_tone_tl @@ -1100,19 +1100,19 @@ Copyright and Licence % % \begin{macro}{\@@_num_to_tone:Nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_num_to_tone:Nn #1#2 +\cs_new_protected:Npn \@@_num_to_tone:Nn #1#2 { \if_case:w \int_eval:n { #2 - 1 } \exp_stop_f: \= {#1} \or: \'{#1} \or: \v {#1} \or: \` {#1} \else: #1 \fi: } \tl_map_inline:nn { a o e u } { \cs_new_eq:cN { @@_num_to_tone_ #1 :Nn } \@@_num_to_tone:Nn } -\cs_new_nopar:Npn \@@_num_to_tone_i:Nn #1#2 +\cs_new:Npn \@@_num_to_tone_i:Nn #1#2 { \if_case:w \int_eval:n { #2 - 1 } \exp_stop_f: Ä« \or: à \or: Ç \or: ì \else: i \fi: } -\cs_new_protected_nopar:Npn \@@_num_to_tone_v:Nn #1#2 +\cs_new_protected:Npn \@@_num_to_tone_v:Nn #1#2 { \str_case:onTF { \l_@@_pre_tl } { { l } { } { n } { } { L } { } { N } { } } @@ -1150,10 +1150,10 @@ Copyright and Licence % % \begin{macro}[int]{\xpinyin_customary:nnn,\xpinyin_multiple:nnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xpinyin_customary:nnn #1#2#3 - { \cs_gset_nopar:cpn { c_@@_ #2 _tl } {#3} } -\cs_new_protected_nopar:Npn \xpinyin_multiple:nnn #1#2#3 - { \cs_gset_nopar:cpn { c_@@_multiple_ #2 _clist } {#3} } +\cs_new_protected:Npn \xpinyin_customary:nnn #1#2 + { \cs_gset_nopar:cpn { c_@@_ #2 _tl } } +\cs_new_protected:Npn \xpinyin_multiple:nnn #1#2 + { \cs_gset_nopar:cpn { c_@@_multiple_ #2 _clist } } % \end{macrocode} % \end{macro} % diff --git a/macros/latex/contrib/xpinyin/xpinyin.ins b/macros/latex/contrib/xpinyin/xpinyin.ins deleted file mode 100644 index bc0657b87a..0000000000 --- a/macros/latex/contrib/xpinyin/xpinyin.ins +++ /dev/null @@ -1,132 +0,0 @@ -%% -%% This is file `xpinyin.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xpinyin.dtx (with options: `install') -%% -%% Copyright (C) 2012-2019 by Qing Lee <sobenlee@gmail.com> -%% -------------------------------------------------------------------------- -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Qing Lee. -%% -%% -------------------------------------------------------------------------- -%% - -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname directlua\endcsname\relax - \begingroup - \newlinechar=10 % - \errmessage{^^J - ********************************************^^J - * LuaTeX is required to unpack this package.^^J - ********************************************^^J - } - \endgroup - \csname @@end\expandafter\endcsname\expandafter\end -\fi - -\input ctxdocstrip % - -\let\MetaPrefix\relax - -\preamble - - Copyright (C) 2012-2019 by Qing Lee <sobenlee@gmail.com> --------------------------------------------------------------------------- - - This work may be distributed and/or modified under the - conditions of the LaTeX Project Public License, either - version 1.3c of this license or (at your option) any later - version. This version of this license is in - http://www.latex-project.org/lppl/lppl-1-3c.txt - and the latest version of this license is in - http://www.latex-project.org/lppl.txt - and version 1.3 or later is part of all distributions of - LaTeX version 2005/12/01 or later. - - This work has the LPPL maintenance status `maintained'. - - The Current Maintainer of this work is Qing Lee. - --------------------------------------------------------------------------- - -\endpreamble - -\postamble - - This package consists of the file xpinyin.dtx, - and the derived files xpinyin.sty, - xpinyin.pdf, - xpinyin.ins, - xpinyin.lua, - xpinyin.db, - xpinyin-database.def and - README.md. -\endpostamble - -\declarepostamble\emptypostamble -\endpostamble - -\def\MetaPrefix{-- } - -\generate - { - \usedir{source/latex/xpinyin} - \usepostamble\emptypostamble - \file{xpinyin.lua} {\from{\jobname.dtx}{lua}} - } - -\let\MetaPrefix\DoubleperCent - -\directlua - { - if not kpse.find_file("xpinyin.db") then - dofile(kpse.find_file("xpinyin.lua")) - end - } -\generate - { - \usedir{tex/latex/xpinyin} - \usepostamble\emptypostamble - \file{xpinyin-database.def} - { - \from{\jobname.dtx} {database} - \from{xpinyin.db} {} - } - } - -\generate - { - \usedir{tex/latex/xpinyin} - \file{xpinyin.sty} {\from{\jobname.dtx}{package}} - \nopreamble\nopostamble - \usedir{doc/latex/xpinyin} - \file{README.md} {\from{\jobname.dtx}{readme}} - } - -\endbatchfile -%% -%% This package consists of the file xpinyin.dtx, -%% and the derived files xpinyin.sty, -%% xpinyin.pdf, -%% xpinyin.ins, -%% xpinyin.lua, -%% xpinyin.db, -%% xpinyin-database.def and -%% README.md. -%% -%% End of file `xpinyin.ins'. diff --git a/macros/latex/contrib/xpinyin/xpinyin.pdf b/macros/latex/contrib/xpinyin/xpinyin.pdf Binary files differindex e3ab9f27a2..125f64ac81 100644 --- a/macros/latex/contrib/xpinyin/xpinyin.pdf +++ b/macros/latex/contrib/xpinyin/xpinyin.pdf diff --git a/macros/latex/contrib/zhnumber/README.md b/macros/latex/contrib/zhnumber/README.md index a8ac1b7a7c..48cd3d5733 100644 --- a/macros/latex/contrib/zhnumber/README.md +++ b/macros/latex/contrib/zhnumber/README.md @@ -38,7 +38,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2012, 2014-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2012, 2014-2020 by Qing Lee <sobenlee@gmail.com> ---------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -51,7 +51,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. diff --git a/macros/latex/contrib/zhnumber/zhnumber.dtx b/macros/latex/contrib/zhnumber/zhnumber.dtx index 05472f8fd1..d5ed4bdd22 100644 --- a/macros/latex/contrib/zhnumber/zhnumber.dtx +++ b/macros/latex/contrib/zhnumber/zhnumber.dtx @@ -44,7 +44,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2012, 2014-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2012, 2014-2020 by Qing Lee <sobenlee@gmail.com> ---------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -57,7 +57,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. @@ -83,7 +83,7 @@ Copyright and Licence \preamble - Copyright (C) 2012, 2014-2019 by Qing Lee <sobenlee@gmail.com> + Copyright (C) 2012, 2014-2020 by Qing Lee <sobenlee@gmail.com> -------------------------------------------------------------------------- This work may be distributed and/or modified under the @@ -96,7 +96,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainer of this work is Qing Lee. @@ -120,18 +120,18 @@ Copyright and Licence %</install> %<*internal> \usedir{source/latex/zhnumber} - \file{zhnumber.ins} {\from{\jobname.dtx}{install}} + \file{zhnumber.ins} {\from{\jobname.dtx}{install}} %</internal> %<*install> \usedir{tex/latex/zhnumber} - \file{zhnumber.sty} {\from{\jobname.dtx}{package}} + \file{zhnumber.sty} {\from{\jobname.dtx}{package}} \usedir{tex/latex/zhnumber/config} - \file{zhnumber-utf8.cfg} {\from{\jobname.dtx}{config,utf8}} - \file{zhnumber-big5.cfg} {\from{\jobname.dtx}{config,big5}} - \file{zhnumber-gbk.cfg} {\from{\jobname.dtx}{config,gbk}} + \file{zhnumber-utf8.cfg} {\from{\jobname.dtx}{config,utf8}} + \ctxfile{Big5}{zhnumber-big5.cfg} {\from{\jobname.dtx}{config,big5}} + \ctxfile{GBK}{zhnumber-gbk.cfg} {\from{\jobname.dtx}{config,gbk}} \nopreamble\nopostamble \usedir{doc/latex/zhnumber} - \file{README.md} {\from{\jobname.dtx}{readme}} + \file{README.md} {\from{\jobname.dtx}{readme}} } \endbatchfile @@ -141,7 +141,7 @@ Copyright and Licence %</internal> %<package>\NeedsTeXFormat{LaTeX2e} %<package>\RequirePackage{expl3} -%<+package|config>\GetIdInfo$Id: zhnumber.dtx 311c61d 2019-04-07 23:29:51 +0800 Qing Lee <sobenlee@gmail.com> $ +%<+package|config>\GetIdInfo$Id: zhnumber.dtx c4664c6 2020-05-01 21:10:24 +0800 Qing Lee <sobenlee@gmail.com> $ %<package> {Typesetting numbers with Chinese glyphs} %<config&utf8> {Chinese numerals with UTF8 encoding} %<config&big5> {Chinese numerals with Big5 encoding} @@ -150,7 +150,7 @@ Copyright and Licence %<config&utf8>\ProvidesExplFile{\ExplFileName-utf8.cfg} %<config&big5>\ProvidesExplFile{\ExplFileName-big5.cfg} %<config&gbk>\ProvidesExplFile{\ExplFileName-gbk.cfg} -%<package|config> {\ExplFileDate}{2.7}{\ExplFileDescription} +%<package|config> {\ExplFileDate}{2.8}{\ExplFileDescription} %<*driver> \documentclass{ctxdoc} \begin{document} @@ -161,7 +161,7 @@ Copyright and Licence %</driver> % \fi % -% \CheckSum{1186} +% \CheckSum{1189} % \GetFileId{zhnumber.sty} % % \title{\bfseries\pkg{zhnumber} å®åŒ…} @@ -400,7 +400,7 @@ Copyright and Licence % \begin{syntax} % null = <\TFF> % \end{syntax} -% 缺çœçŠ¶æ€ä¸‹ï¼Œé™¤äº† \tn{zhdigits} å¤–ï¼Œå…¶å®ƒçš„æ ¼å¼è½¬æ¢å‘½ä»¤ï¼Œå°† 0 æ˜ å°„æˆé›¶ï¼Œå¦‚果需è¦å°† 0 æ˜ å°„ +% 缺çœçŠ¶æ€ä¸‹ï¼Œé™¤äº† \tn{zhdigits} å¤–ï¼Œå…¶ä»–çš„æ ¼å¼è½¬æ¢å‘½ä»¤ï¼Œå°† 0 æ˜ å°„æˆé›¶ï¼Œå¦‚果需è¦å°† 0 æ˜ å°„ % æˆã€‡ï¼Œå¯ä»¥ä½¿ç”¨è¿™ä¸ªé€‰é¡¹ã€‚ % \end{function} % @@ -437,7 +437,7 @@ Copyright and Licence % å…¶ä¸ |-| 设置负,|-0| 设置〇,|dot| 设置å°æ•°çš„点,|and| å’Œ |parts| 分别设置分数 % 的“åˆâ€å’Œâ€œåˆ†ä¹‹â€ï¼Œ|E|$n$ 设置 $10^n$,|F|$n$ è®¾ç½®æ•°å— $n$ 的大写,|T|$n$ 设置 % æ•°å— $n$ 的天干,|D|$n$ è®¾ç½®æ•°å— $n$ 的地支,而 |GZ|$n$ è®¾ç½®æ•°å— $n$ 的干支。 -% 其它的选项åŒå—é¢æ„æ€ï¼Œä¸å†èµ˜è¿°ã€‚例如 +% 其他的选项åŒå—é¢æ„æ€ï¼Œä¸å†èµ˜è¿°ã€‚例如 % \begin{verbatim}[frame=single] % \zhnumsetup{2={两}} % \end{verbatim} @@ -664,7 +664,7 @@ Copyright and Licence % \begin{macro}[int]{\@zhnum} % ç”¨äºŽæ”¯æŒ |\pagenumbering{zhnum}|。 % \begin{macrocode} -\cs_new_nopar:Npn \@zhnum { \zhnum_int:n } +\cs_new:Npn \@zhnum { \zhnum_int:n } % \end{macrocode} % \end{macro} % @@ -906,7 +906,7 @@ Copyright and Licence % \begin{macro}[int]{\@zhdig} % ç”¨äºŽæ”¯æŒ |\pagenumbering{zhdig}|。 % \begin{macrocode} -\cs_new_nopar:Npn \@zhdig #1 { \zhnum_digits_null:f { \int_eval:n {#1} } } +\cs_new:Npn \@zhdig #1 { \zhnum_digits_null:f { \int_eval:n {#1} } } % \end{macrocode} % \end{macro} % @@ -933,9 +933,9 @@ Copyright and Licence % \begin{macro}[int]{\zhnum_digits_zero:n,\zhnum_digits_null:n} % å¿«æ·æ–¹å¼ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \zhnum_digits_zero:n +\cs_new:Npn \zhnum_digits_zero:n { \zhnum_digits:Nn \BooleanTrue } -\cs_new_nopar:Npn \zhnum_digits_null:n +\cs_new:Npn \zhnum_digits_null:n { \zhnum_digits:Nn \BooleanFalse } \cs_generate_variant:Nn \zhnum_digits_null:n { V , v , f } % \end{macrocode} @@ -1012,14 +1012,14 @@ Copyright and Licence % \begin{macro}{\zhtoday} % 输出当天日期。 % \begin{macrocode} -\cs_new_nopar:Npn \zhtoday +\cs_new:Npn \zhtoday { \@@_date_aux:Vnn \tex_year:D \tex_month:D \tex_day:D } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_date_aux:nnn} % \begin{macrocode} -\cs_new_nopar:Npn \@@_date_aux:nnn +\cs_new:Npn \@@_date_aux:nnn { \bool_if:NTF \l_@@_time_bool { \@@_date_aux:NNnnnn \zhnum_digits_null:n \zhnum_int:n { } } @@ -1152,7 +1152,7 @@ Copyright and Licence % \begin{macro}{\zhcurrtime} % 输出当å‰æ—¶é—´ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \zhcurrtime +\cs_new:Npn \zhcurrtime { \@@_time_aux:nn { \int_div_truncate:nn \tex_time:D { 60 } } @@ -1163,7 +1163,7 @@ Copyright and Licence % % \begin{macro}{\@@_time_aux:nn,\@@_time_aux:Nnnn} % \begin{macrocode} -\cs_new_nopar:Npn \@@_time_aux:nn +\cs_new:Npn \@@_time_aux:nn { \bool_if:NTF \l_@@_time_bool { \@@_time_aux:Nnnn \zhnum_int:n { } } @@ -1453,7 +1453,7 @@ Copyright and Licence % } % å°† \texttt{prop} 表转化到å•ç‹¬çš„ \texttt{tl} å˜é‡ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \zhnum_parse_config: +\cs_new_protected:Npn \zhnum_parse_config: { \prop_map_function:NN \l_@@_cfg_map_prop \zhnum_check_simp:nn \prop_map_function:NN \l_@@_cfg_map_ganzhi_prop \zhnum_assgin_ganzhi:nn @@ -1485,7 +1485,7 @@ Copyright and Licence } { \tl_set:cn { l_@@_ #2 _tl } {#1} } } -\cs_new_protected_nopar:Npn \zhnum_assgin_const: +\cs_new_protected:Npn \zhnum_assgin_const: { \prop_map_function:NN \l_@@_cfg_map_prop \zhnum_check_financial:nn \zhnum_set_alias: @@ -1506,7 +1506,7 @@ Copyright and Licence { c_@@_ #1 _tl } { \exp_not:c { l_@@_ #1 _tl } } } } -\cs_new_protected_nopar:Npn \zhnum_set_zero: +\cs_new_protected:Npn \zhnum_set_zero: { \tl_set:cx { l_@@_0_tl } { @@ -1514,7 +1514,7 @@ Copyright and Licence { \exp_not:o \l_@@_null_tl } { \exp_not:v { l_@@_0_tl } } } } -\cs_new_protected_nopar:Npn \zhnum_set_week_day: +\cs_new_protected:Npn \zhnum_set_week_day: { \tl_set:Nx \l_@@_mon_tl { \exp_not:N \c_@@_weekday_tl \exp_not:v { l_@@_1_tl } } @@ -1565,7 +1565,7 @@ Copyright and Licence % 一些易于使用的别å。 % \begin{macrocode} \cs_new_eq:NN \zhnum_set_alias:NN \cs_new_eq:NN -\cs_new_protected_nopar:Npx \zhnum_set_alias: +\cs_new_protected:Npx \zhnum_set_alias: { \zhnum_set_alias:NN \exp_not:N \c_@@_zero_tl \exp_not:c { c_@@_ 0 _tl } @@ -1677,9 +1677,9 @@ Copyright and Licence } \cs_new_eq:NN \zhnum_reset_config: \zhnum_parse_config: \else: - \cs_new_protected_nopar:Npn \zhnum_set_catcode: + \cs_new_protected:Npn \zhnum_set_catcode: { \bool_if:NT \l_@@_active_char_bool { \zhnum_set_active: } } - \cs_new_protected_nopar:Npn \zhnum_set_active: + \cs_new_protected:Npn \zhnum_set_active: { \str_case:onTF { \l_@@_encoding_str } { @@ -1706,7 +1706,7 @@ Copyright and Licence \bool_if:NT \l_@@_active_char_bool { _active } } } - \cs_new_protected_nopar:Npn \zhnum_reset_config: + \cs_new_protected:Npn \zhnum_reset_config: { \zhnum_load_cfg:o { \l_@@_encoding_str } } \bool_new:N \l_@@_active_char_bool \bool_set_true:N \l_@@_active_char_bool @@ -1723,7 +1723,7 @@ Copyright and Licence { UTF8 , GBK , Big5 } { \str_set:Nx \l_@@_encoding_str - { \str_fold_case:V \l_keys_choice_tl } + { \exp_args:No \str_lowercase:n { \l_keys_choice_tl } } \zhnum_load_cfg:o { \l_@@_encoding_str } } , encoding .default:n = { GBK } , @@ -1897,12 +1897,14 @@ Copyright and Licence \zhnum_set_financial_map:nn { null } { 零 } \zhnum_set_financial_map:nn { 0 } { 零 } \zhnum_set_financial_map:nn { 1 } { 壹 } -\zhnum_set_financial_map:nn { 2 } { è²³ } %<*!big5> +\zhnum_set_financial_map:nnn { 2 } { simp } { è´° } +\zhnum_set_financial_map:nnn { 2 } { trad } { è²³ } \zhnum_set_financial_map:nnn { 3 } { simp } { å } \zhnum_set_financial_map:nnn { 3 } { trad } { å„ } %</!big5> %<*big5> +\zhnum_set_financial_map:nn { 2 } { è²³ } \zhnum_set_financial_map:nn { 3 } { åƒ } %</big5> \zhnum_set_financial_map:nn { 4 } { 肆 } diff --git a/macros/latex/contrib/zhnumber/zhnumber.ins b/macros/latex/contrib/zhnumber/zhnumber.ins deleted file mode 100644 index d403166319..0000000000 --- a/macros/latex/contrib/zhnumber/zhnumber.ins +++ /dev/null @@ -1,89 +0,0 @@ -%% -%% This is file `zhnumber.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% zhnumber.dtx (with options: `install') -%% -%% Copyright (C) 2012, 2014-2019 by Qing Lee <sobenlee@gmail.com> -%% -------------------------------------------------------------------------- -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is Qing Lee. -%% -%% -------------------------------------------------------------------------- -%% - -\input ctxdocstrip % - -\preamble - - Copyright (C) 2012, 2014-2019 by Qing Lee <sobenlee@gmail.com> --------------------------------------------------------------------------- - - This work may be distributed and/or modified under the - conditions of the LaTeX Project Public License, either - version 1.3c of this license or (at your option) any later - version. This version of this license is in - http://www.latex-project.org/lppl/lppl-1-3c.txt - and the latest version of this license is in - http://www.latex-project.org/lppl.txt - and version 1.3 or later is part of all distributions of - LaTeX version 2005/12/01 or later. - - This work has the LPPL maintenance status `maintained'. - - The Current Maintainer of this work is Qing Lee. - --------------------------------------------------------------------------- - -\endpreamble -\postamble - - This package consists of the file zhnumber.dtx, - and the derived files zhnumber.pdf, - zhnumber.sty, - zhnumber-utf8.cfg, - zhnumber-gbk.cfg, - zhnumber-big5.cfg, - zhnumber.ins and - README.md. -\endpostamble - -\generate - { - \usedir{tex/latex/zhnumber} - \file{zhnumber.sty} {\from{\jobname.dtx}{package}} - \usedir{tex/latex/zhnumber/config} - \file{zhnumber-utf8.cfg} {\from{\jobname.dtx}{config,utf8}} - \file{zhnumber-big5.cfg} {\from{\jobname.dtx}{config,big5}} - \file{zhnumber-gbk.cfg} {\from{\jobname.dtx}{config,gbk}} - \nopreamble\nopostamble - \usedir{doc/latex/zhnumber} - \file{README.md} {\from{\jobname.dtx}{readme}} - } - -\endbatchfile -%% -%% This package consists of the file zhnumber.dtx, -%% and the derived files zhnumber.pdf, -%% zhnumber.sty, -%% zhnumber-utf8.cfg, -%% zhnumber-gbk.cfg, -%% zhnumber-big5.cfg, -%% zhnumber.ins and -%% README.md. -%% -%% End of file `zhnumber.ins'. diff --git a/macros/latex/contrib/zhnumber/zhnumber.pdf b/macros/latex/contrib/zhnumber/zhnumber.pdf Binary files differindex 7a3936c5ff..3010ea379d 100644 --- a/macros/latex/contrib/zhnumber/zhnumber.pdf +++ b/macros/latex/contrib/zhnumber/zhnumber.pdf diff --git a/macros/xetex/latex/xecjk/README.md b/macros/xetex/latex/xecjk/README.md index 00f0e74c7f..0b9712861b 100644 --- a/macros/xetex/latex/xecjk/README.md +++ b/macros/xetex/latex/xecjk/README.md @@ -34,7 +34,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainers of this work are Leo Liu and Qing Lee. diff --git a/macros/xetex/latex/xecjk/teckit-mapping/full-stop.map b/macros/xetex/latex/xecjk/teckit-mapping/full-stop.map deleted file mode 100644 index 0a23fe0e05..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/full-stop.map +++ /dev/null @@ -1,9 +0,0 @@ -; TECkit mapping for conversion of `FULLWIDTH FULL STOP" to `IDEOGRAPHIC FULL STOP" -; - -LHSName "FULLWIDTH FULL STOP" -RHSName "IDEOGRAPHIC FULL STOP" - -pass(Unicode) - -U+FF0E <> U+3002 diff --git a/macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map b/macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map deleted file mode 100644 index 4c2c9c991a..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map +++ /dev/null @@ -1,9 +0,0 @@ -; TECkit mapping for conversion of `IDEOGRAPHIC FULL STOP" to `FULLWIDTH FULL STOP" -; - -LHSName "IDEOGRAPHIC FULL STOP" -RHSName "FULLWIDTH FULL STOP" - -pass(Unicode) - -U+3002 <> U+FF0E diff --git a/macros/xetex/latex/xecjk/teckit-mapping/han-simp.map b/macros/xetex/latex/xecjk/teckit-mapping/han-simp.map deleted file mode 100644 index bbb50a7d75..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/han-simp.map +++ /dev/null @@ -1,3073 +0,0 @@ -; TECkit mapping for conversion of traditional Chinese characters to simplified Chinese characters -; from the Unicode Unihan database: <http://www.unicode.org/Public/UNIDATA/Unihan.zip> -; -; Unihan_Variants.txt -; Date: 2018-11-09 21:36:19 GMT [JHJ] -; Unicode version: 12.0.0 -; - -LHSName "traditional" -RHSName "simplified" - -pass(Unicode) - -U+300C <> U+201C -U+300D <> U+201D -U+300E <> U+2018 -U+300F <> U+2019 - -U+346F <> U+3454 -U+3473 <> U+3447 -U+3493 <> U+20242 -U+34E8 <> U+523E -U+35F2 <> U+20D7E -U+361A <> U+360E -U+3704 <> U+36AF -U+370F <> U+36E3 -U+3722 <> U+217B1 -U+3737 <> U+21760 -U+379E <> U+2AA0A -U+380F <> U+37C6 -U+389D <> U+222C8 -U+396E <> U+3918 -U+398E <> U+226EF -U+3A5C <> U+3A2B -U+3A73 <> U+39D0 -U+3DFF <> U+24237 -U+3E8F <> U+2480B -U+3FE7 <> U+24F6F -U+4039 <> U+25174 -U+406A <> U+251E2 -U+407B <> U+4025 -U+4259 <> U+25B00 -U+426C <> U+2B088 -U+4272 <> U+25B9C -U+42AD <> U+25E85 -U+42B7 <> U+4336 -U+42D9 <> U+433A -U+42DA <> U+433B -U+42FB <> U+433E -U+42FF <> U+26213 -U+4308 <> U+26216 -U+430B <> U+26218 -U+4316 <> U+2621C -U+431D <> U+2621F -U+431F <> U+2621E -U+4325 <> U+26220 -U+4330 <> U+26219 -U+4573 <> U+26C34 -U+45FF <> U+2725E -U+4661 <> U+464C -U+4700 <> U+4727 -U+477B <> U+27E55 -U+477C <> U+478D -U+4788 <> U+27E51 -U+48A8 <> U+28479 -U+4947 <> U+4982 -U+4951 <> U+9FCF -U+4969 <> U+28C56 -U+4971 <> U+497E -U+4998 <> U+28E04 -U+499B <> U+49B6 -U+499F <> U+49B7 -U+49B3 <> U+28DFF -U+49E2 <> U+28E1F -U+4A8F <> U+293FC -U+4A97 <> U+29400 -U+4A98 <> U+293FF -U+4AF4 <> U+29597 -U+4B18 <> U+2966E -U+4B1D <> U+2966F -U+4B1E <> U+29667 -U+4B40 <> U+29807 -U+4B43 <> U+29808 -U+4B7F <> U+299ED -U+4B9D <> U+299F0 -U+4B9E <> U+29A01 -U+4BA0 <> U+299FF -U+4BAB <> U+29A07 -U+4BB3 <> U+29A0F -U+4BBE <> U+299EA -U+4BC0 <> U+4BC5 -U+4C3E <> U+9C83 -U+4C59 <> U+29F88 -U+4C6C <> U+29F8A -U+4C70 <> U+29F8B -U+4C77 <> U+4CA3 -U+4C7D <> U+4C9D -U+4C81 <> U+9CDA -U+4C96 <> U+29F82 -U+4CB0 <> U+2A242 -U+4D09 <> U+9E6E -U+4D2C <> U+2A388 -U+4D34 <> U+2A38B -U+4E1F <> U+4E22 -U+4E26 <> U+5E76 -U+4E7E <> U+5E72 -U+4E82 <> U+4E71 -U+4E9E <> U+4E9A -U+4F47 <> U+4F2B -U+4F59 <> U+4F59 -U+4F75 <> U+5E76 -U+4F86 <> U+6765 -U+4F96 <> U+4ED1 -U+4FB6 <> U+4FA3 -U+4FC1 <> U+4FE3 -U+4FC2 <> U+7CFB -U+4FD4 <> U+4F23 -U+4FE0 <> U+4FA0 -U+4FE5 <> U+4F21 -U+5000 <> U+4F25 -U+5006 <> U+4FE9 -U+5008 <> U+4FEB -U+5009 <> U+4ED3 -U+500B <> U+4E2A -U+5011 <> U+4EEC -U+502B <> U+4F26 -U+5032 <> U+3448 -U+5049 <> U+4F1F -U+5051 <> U+343D -U+5074 <> U+4FA7 -U+5075 <> U+4FA6 -U+507D <> U+4F2A -U+5091 <> U+6770 -U+5096 <> U+4F27 -U+5098 <> U+4F1E -U+5099 <> U+5907 -U+50AD <> U+4F63 -U+50AF <> U+506C -U+50B3 <> U+4F20 -U+50B4 <> U+4F1B -U+50B5 <> U+503A -U+50B7 <> U+4F24 -U+50BE <> U+503E -U+50C2 <> U+507B -U+50C5 <> U+4EC5 -U+50C9 <> U+4F65 -U+50D1 <> U+4FA8 -U+50D5 <> U+4EC6 -U+50DE <> U+4F2A -U+50E5 <> U+4FA5 -U+50E8 <> U+507E -U+50F9 <> U+4EF7 -U+5100 <> U+4EEA -U+5102 <> U+4FAC -U+5104 <> U+4EBF -U+5108 <> U+4FA9 -U+5109 <> U+4FED -U+5110 <> U+50A7 -U+5114 <> U+4FE6 -U+5115 <> U+4FAA -U+5118 <> U+5C3D -U+511F <> U+507F -U+5123 <> U+201B2 -U+512A <> U+4F18 -U+5132 <> U+50A8 -U+5137 <> U+4FEA -U+5138 <> U+3469 -U+513A <> U+50A9 -U+513B <> U+50A5 -U+513C <> U+4FE8 -U+514C <> U+5151 -U+5152 <> U+513F -U+5157 <> U+5156 -U+5167 <> U+5185 -U+5169 <> U+4E24 -U+518A <> U+518C -U+51AA <> U+5E42 -U+51C8 <> U+51C0 -U+51CD <> U+51BB -U+51D9 <> U+2A79D -U+51DC <> U+51DB -U+51F1 <> U+51EF -U+5225 <> U+522B -U+522A <> U+5220 -U+5244 <> U+522D -U+5247 <> U+5219 -U+524B <> U+514B -U+524E <> U+5239 -U+5257 <> U+522C -U+525B <> U+521A -U+525D <> U+5265 -U+526E <> U+5250 -U+5274 <> U+5240 -U+5275 <> U+521B -U+527E <> U+206C5 -U+5283 <> U+5212 -U+5287 <> U+5267 -U+5289 <> U+5218 -U+528A <> U+523D -U+528C <> U+523F -U+528D <> U+5251 -U+528F <> U+34E5 -U+5291 <> U+5242 -U+529A <> U+3509 -U+52C1 <> U+52B2 -U+52D5 <> U+52A8 -U+52D9 <> U+52A1 -U+52DB <> U+52CB -U+52DD <> U+80DC -U+52DE <> U+52B3 -U+52E2 <> U+52BF -U+52E9 <> U+52DA -U+52F1 <> U+52A2 -U+52F5 <> U+52B1 -U+52F8 <> U+529D -U+52FB <> U+5300 -U+532D <> U+5326 -U+532F <> U+6C47 -U+5331 <> U+532E -U+5340 <> U+533A -U+5354 <> U+534F -U+537B <> U+5374 -U+5399 <> U+538D -U+53AD <> U+538C -U+53B2 <> U+5389 -U+53B4 <> U+53A3 -U+53C3 <> U+53C2 -U+53C4 <> U+53C1 -U+53E2 <> U+4E1B -U+53F0 <> U+53F0 -U+540C <> U+540C -U+540E <> U+540E -U+5412 <> U+54A4 -U+5433 <> U+5434 -U+5436 <> U+5450 -U+5442 <> U+5415 -U+54BC <> U+5459 -U+54E1 <> U+5458 -U+54EF <> U+20BDF -U+5504 <> U+5457 -U+551A <> U+5423 -U+554F <> U+95EE -U+555E <> U+54D1 -U+555F <> U+542F -U+5562 <> U+5521 -U+558E <> U+359E -U+559A <> U+5524 -U+55AA <> U+4E27 -U+55AC <> U+4E54 -U+55AE <> U+5355 -U+55B2 <> U+54DF -U+55C6 <> U+545B -U+55C7 <> U+556C -U+55CA <> U+551D -U+55CE <> U+5417 -U+55DA <> U+545C -U+55E9 <> U+5522 -U+55F6 <> U+54D4 -U+55F9 <> U+2A84F -U+5606 <> U+53F9 -U+560D <> U+55BD -U+5613 <> U+556F -U+5614 <> U+5455 -U+5616 <> U+5567 -U+5617 <> U+5C1D -U+561C <> U+551B -U+5629 <> U+54D7 -U+562E <> U+5520 -U+562F <> U+5578 -U+5630 <> U+53FD -U+5635 <> U+54D3 -U+5638 <> U+5452 -U+563D <> U+5574 -U+5645 <> U+20BE0 -U+5653 <> U+5618 -U+565A <> U+358A -U+565D <> U+549D -U+5660 <> U+54D2 -U+5665 <> U+54DD -U+5666 <> U+54D5 -U+566F <> U+55F3 -U+5672 <> U+54D9 -U+5674 <> U+55B7 -U+5678 <> U+5428 -U+5679 <> U+5F53 -U+5680 <> U+549B -U+5687 <> U+5413 -U+568C <> U+54DC -U+5695 <> U+565C -U+5699 <> U+556E -U+56A6 <> U+5456 -U+56A8 <> U+5499 -U+56B2 <> U+4EB8 -U+56B3 <> U+55BE -U+56B4 <> U+4E25 -U+56B6 <> U+5624 -U+56C0 <> U+556D -U+56C1 <> U+55EB -U+56C2 <> U+56A3 -U+56C5 <> U+5181 -U+56C8 <> U+5453 -U+56C9 <> U+5570 -U+56D1 <> U+5631 -U+56EA <> U+56F1 -U+5707 <> U+56F5 -U+570B <> U+56FD -U+570D <> U+56F4 -U+5712 <> U+56ED -U+5713 <> U+5706 -U+5716 <> U+56FE -U+5718 <> U+56E2 -U+571E <> U+2A8AE -U+57B5 <> U+57EF -U+57E1 <> U+57AD -U+57F0 <> U+91C7 -U+57F7 <> U+6267 -U+5805 <> U+575A -U+580A <> U+57A9 -U+5816 <> U+57B4 -U+581D <> U+57DA -U+582F <> U+5C27 -U+5831 <> U+62A5 -U+5834 <> U+573A -U+584A <> U+5757 -U+584B <> U+8314 -U+584F <> U+57B2 -U+5852 <> U+57D8 -U+5857 <> U+6D82 -U+5862 <> U+575E -U+5864 <> U+57D9 -U+5875 <> U+5C18 -U+5879 <> U+5811 -U+588A <> U+57AB -U+589C <> U+5760 -U+58AE <> U+5815 -U+58B3 <> U+575F -U+58BE <> U+57A6 -U+58C7 <> U+575B -U+58C8 <> U+21484 -U+58CB <> U+57B1 -U+58D3 <> U+538B -U+58D8 <> U+5792 -U+58D9 <> U+5739 -U+58DA <> U+5786 -U+58DE <> U+574F -U+58DF <> U+5784 -U+58E0 <> U+5785 -U+58E2 <> U+575C -U+58E9 <> U+575D -U+58EF <> U+58EE -U+58FA <> U+58F6 -U+58FC <> U+58F8 -U+58FD <> U+5BFF -U+5920 <> U+591F -U+5922 <> U+68A6 -U+593E <> U+5939 -U+5950 <> U+5942 -U+5967 <> U+5965 -U+5969 <> U+5941 -U+596A <> U+593A -U+596E <> U+594B -U+597C <> U+59F9 -U+599D <> U+5986 -U+59CD <> U+59D7 -U+59E6 <> U+5978 -U+5A1B <> U+5A31 -U+5A41 <> U+5A04 -U+5A66 <> U+5987 -U+5A6D <> U+5A05 -U+5AA7 <> U+5A32 -U+5AAF <> U+59AB -U+5AB0 <> U+36C0 -U+5ABC <> U+5AAA -U+5ABD <> U+5988 -U+5AD7 <> U+59AA -U+5AF5 <> U+59A9 -U+5AFB <> U+5A34 -U+5AFF <> U+5A73 -U+5B03 <> U+5AAD -U+5B08 <> U+5A06 -U+5B0B <> U+5A75 -U+5B0C <> U+5A07 -U+5B19 <> U+5AF1 -U+5B21 <> U+5AD2 -U+5B24 <> U+5B37 -U+5B2A <> U+5AD4 -U+5B30 <> U+5A74 -U+5B38 <> U+5A76 -U+5B4B <> U+36E4 -U+5B4C <> U+5A08 -U+5B6B <> U+5B59 -U+5B78 <> U+5B66 -U+5B7F <> U+5B6A -U+5BAE <> U+5BAB -U+5BE2 <> U+5BDD -U+5BE6 <> U+5B9E -U+5BE7 <> U+5B81 -U+5BE9 <> U+5BA1 -U+5BEB <> U+5199 -U+5BEC <> U+5BBD -U+5BF5 <> U+5BA0 -U+5BF6 <> U+5B9D -U+5C07 <> U+5C06 -U+5C08 <> U+4E13 -U+5C0B <> U+5BFB -U+5C0D <> U+5BF9 -U+5C0E <> U+5BFC -U+5C37 <> U+5C34 -U+5C46 <> U+5C4A -U+5C4D <> U+5C38 -U+5C53 <> U+5C43 -U+5C5C <> U+5C49 -U+5C62 <> U+5C61 -U+5C64 <> U+5C42 -U+5C68 <> U+5C66 -U+5C69 <> U+2AA17 -U+5C6C <> U+5C5E -U+5CA1 <> U+5188 -U+5CF4 <> U+5C98 -U+5CF6 <> U+5C9B -U+5CFD <> U+5CE1 -U+5D0D <> U+5D03 -U+5D17 <> U+5C97 -U+5D22 <> U+5CE5 -U+5D2C <> U+5CBD -U+5D50 <> U+5C9A -U+5D7C <> U+21DB4 -U+5D81 <> U+5D5D -U+5D84 <> U+5D2D -U+5D87 <> U+5C96 -U+5D94 <> U+5D5A -U+5D97 <> U+5D02 -U+5DA0 <> U+5CE4 -U+5DA2 <> U+5CE3 -U+5DA7 <> U+5CC4 -U+5DAE <> U+5D04 -U+5DB4 <> U+5C99 -U+5DB8 <> U+5D58 -U+5DBA <> U+5CAD -U+5DBC <> U+5C7F -U+5DCB <> U+5CBF -U+5DD2 <> U+5CE6 -U+5DD4 <> U+5DC5 -U+5DF0 <> U+5DEF -U+5E25 <> U+5E05 -U+5E2B <> U+5E08 -U+5E33 <> U+5E10 -U+5E36 <> U+5E26 -U+5E40 <> U+5E27 -U+5E43 <> U+5E0F -U+5E57 <> U+5E3C -U+5E58 <> U+5E3B -U+5E5F <> U+5E1C -U+5E63 <> U+5E01 -U+5E6B <> U+5E2E -U+5E6C <> U+5E31 -U+5E79 <> U+5E72 -U+5E7A <> U+4E48 -U+5E7E <> U+51E0 -U+5EAB <> U+5E93 -U+5EC1 <> U+5395 -U+5EC2 <> U+53A2 -U+5EC4 <> U+53A9 -U+5EC8 <> U+53A6 -U+5EDA <> U+53A8 -U+5EDD <> U+53AE -U+5EDF <> U+5E99 -U+5EE0 <> U+5382 -U+5EE1 <> U+5E91 -U+5EE2 <> U+5E9F -U+5EE3 <> U+5E7F -U+5EE9 <> U+5EEA -U+5EEC <> U+5E90 -U+5EF3 <> U+5385 -U+5F12 <> U+5F11 -U+5F33 <> U+5F2A -U+5F35 <> U+5F20 -U+5F37 <> U+5F3A -U+5F48 <> U+5F39 -U+5F4C <> U+5F25 -U+5F4E <> U+5F2F -U+5F59 <> U+6C47 -U+5F5E <> U+5F5D -U+5F60 <> U+5F5F -U+5F65 <> U+5F66 -U+5F72 <> U+5F68 -U+5F81 <> U+5F81 -U+5F8C <> U+540E -U+5F91 <> U+5F84 -U+5F9E <> U+4ECE -U+5FA0 <> U+5F95 -U+5FA9 <> U+590D -U+5FB5 <> U+5F81 -U+5FB9 <> U+5F7B -U+5FD7 <> U+5FD7 -U+6046 <> U+6052 -U+6065 <> U+803B -U+6085 <> U+60A6 -U+609E <> U+60AE -U+60B5 <> U+6005 -U+60B6 <> U+95F7 -U+60E1 <> U+6076 -U+60F1 <> U+607C -U+60F2 <> U+607D -U+60FB <> U+607B -U+611B <> U+7231 -U+611C <> U+60EC -U+6128 <> U+60AB -U+6134 <> U+6006 -U+6137 <> U+607A -U+613E <> U+5FFE -U+613F <> U+613F -U+6144 <> U+6817 -U+614B <> U+6001 -U+614D <> U+6120 -U+6158 <> U+60E8 -U+615A <> U+60ED -U+615F <> U+6078 -U+6163 <> U+60EF -U+616A <> U+6004 -U+616B <> U+6002 -U+616E <> U+8651 -U+6173 <> U+60AD -U+6176 <> U+5E86 -U+6182 <> U+5FE7 -U+618A <> U+60EB -U+6190 <> U+601C -U+6191 <> U+51ED -U+6192 <> U+6126 -U+619A <> U+60EE -U+61A4 <> U+6124 -U+61AB <> U+60AF -U+61AE <> U+6003 -U+61B2 <> U+5BAA -U+61B6 <> U+5FC6 -U+61C0 <> U+22653 -U+61C7 <> U+6073 -U+61C9 <> U+5E94 -U+61CC <> U+603F -U+61CD <> U+61D4 -U+61DF <> U+603C -U+61E3 <> U+61D1 -U+61E8 <> U+6079 -U+61F2 <> U+60E9 -U+61F6 <> U+61D2 -U+61F7 <> U+6000 -U+61F8 <> U+60AC -U+61FA <> U+5FCF -U+61FC <> U+60E7 -U+61FE <> U+6151 -U+6200 <> U+604B -U+6207 <> U+6206 -U+6214 <> U+620B -U+6227 <> U+6217 -U+6229 <> U+622C -U+6230 <> U+6218 -U+6231 <> U+622F -U+6232 <> U+620F -U+6236 <> U+6237 -U+62CB <> U+629B -U+6329 <> U+635D -U+633E <> U+631F -U+6368 <> U+820D -U+636B <> U+626A -U+6383 <> U+626B -U+6384 <> U+62A1 -U+6386 <> U+39CF -U+6397 <> U+631C -U+6399 <> U+6323 -U+639B <> U+6302 -U+63A1 <> U+91C7 -U+63C0 <> U+62E3 -U+63DA <> U+626C -U+63DB <> U+6362 -U+63EE <> U+6325 -U+640D <> U+635F -U+6416 <> U+6447 -U+6417 <> U+6363 -U+6435 <> U+63FE -U+6436 <> U+62A2 -U+644B <> U+22AEC -U+6451 <> U+63B4 -U+645C <> U+63BC -U+645F <> U+6402 -U+646F <> U+631A -U+6473 <> U+62A0 -U+6476 <> U+629F -U+647B <> U+63BA -U+6488 <> U+635E -U+648F <> U+6326 -U+6490 <> U+6491 -U+6493 <> U+6320 -U+649D <> U+39D1 -U+649F <> U+6322 -U+64A3 <> U+63B8 -U+64A5 <> U+62E8 -U+64AB <> U+629A -U+64B2 <> U+6251 -U+64B3 <> U+63FF -U+64BB <> U+631E -U+64BE <> U+631D -U+64BF <> U+6361 -U+64C1 <> U+62E5 -U+64C4 <> U+63B3 -U+64C7 <> U+62E9 -U+64CA <> U+51FB -U+64CB <> U+6321 -U+64D3 <> U+39DF -U+64D4 <> U+62C5 -U+64DA <> U+636E -U+64E0 <> U+6324 -U+64E3 <> U+22B4F -U+64EC <> U+62DF -U+64EF <> U+6448 -U+64F0 <> U+62E7 -U+64F1 <> U+6401 -U+64F2 <> U+63B7 -U+64F4 <> U+6269 -U+64F7 <> U+64B7 -U+64FA <> U+6446 -U+64FB <> U+64DE -U+64FC <> U+64B8 -U+64FD <> U+39F0 -U+64FE <> U+6270 -U+6504 <> U+6445 -U+6506 <> U+64B5 -U+650F <> U+62E2 -U+6514 <> U+62E6 -U+6516 <> U+6484 -U+6519 <> U+6400 -U+651B <> U+64BA -U+651C <> U+643A -U+651D <> U+6444 -U+6522 <> U+6512 -U+6523 <> U+631B -U+6524 <> U+644A -U+652A <> U+6405 -U+652C <> U+63FD -U+6557 <> U+8D25 -U+6558 <> U+53D9 -U+6575 <> U+654C -U+6578 <> U+6570 -U+6582 <> U+655B -U+6583 <> U+6BD9 -U+6585 <> U+22F7E -U+6586 <> U+6569 -U+6595 <> U+6593 -U+65AC <> U+65A9 -U+65B7 <> U+65AD -U+65BC <> U+4E8E -U+6642 <> U+65F6 -U+6649 <> U+664B -U+665D <> U+663C -U+6688 <> U+6655 -U+6689 <> U+6656 -U+6698 <> U+65F8 -U+66A2 <> U+7545 -U+66AB <> U+6682 -U+66C4 <> U+6654 -U+66C6 <> U+5386 -U+66C7 <> U+6619 -U+66C9 <> U+6653 -U+66CF <> U+5411 -U+66D6 <> U+66A7 -U+66E0 <> U+65F7 -U+66E5 <> U+23190 -U+66E8 <> U+663D -U+66EC <> U+6652 -U+66F8 <> U+4E66 -U+6703 <> U+4F1A -U+6725 <> U+266E8 -U+6727 <> U+80E7 -U+6771 <> U+4E1C -U+6774 <> U+9528 -U+6781 <> U+6781 -U+67F5 <> U+6805 -U+687F <> U+6746 -U+6894 <> U+6800 -U+6898 <> U+67A7 -U+689D <> U+6761 -U+689F <> U+67AD -U+68B2 <> U+68C1 -U+68C4 <> U+5F03 -U+68D6 <> U+67A8 -U+68D7 <> U+67A3 -U+68DF <> U+680B -U+68E1 <> U+3B4E -U+68E7 <> U+6808 -U+68F2 <> U+6816 -U+68F6 <> U+68BE -U+690F <> U+6860 -U+6932 <> U+3B4F -U+694A <> U+6768 -U+6953 <> U+67AB -U+6968 <> U+6862 -U+696D <> U+4E1A -U+6975 <> U+6781 -U+69AA <> U+6769 -U+69AE <> U+8363 -U+69B2 <> U+6985 -U+69BF <> U+6864 -U+69CB <> U+6784 -U+69CD <> U+67AA -U+69E4 <> U+68BF -U+69E7 <> U+6920 -U+69E8 <> U+6901 -U+69F3 <> U+6868 -U+69F6 <> U+6922 -U+69FC <> U+691D -U+6A01 <> U+6869 -U+6A02 <> U+4E50 -U+6A05 <> U+679E -U+6A13 <> U+697C -U+6A19 <> U+6807 -U+6A1E <> U+67A2 -U+6A22 <> U+3B64 -U+6A23 <> U+6837 -U+6A2B <> U+3B74 -U+6A33 <> U+686A -U+6A38 <> U+6734 -U+6A39 <> U+6811 -U+6A3A <> U+6866 -U+6A3F <> U+692B -U+6A48 <> U+6861 -U+6A4B <> U+6865 -U+6A5F <> U+673A -U+6A62 <> U+692D -U+6A6B <> U+6A2A -U+6A81 <> U+6AA9 -U+6A89 <> U+67FD -U+6A94 <> U+6863 -U+6A9C <> U+6867 -U+6A9F <> U+69DA -U+6AA2 <> U+68C0 -U+6AA3 <> U+6A2F -U+6AAD <> U+23634 -U+6AAE <> U+68BC -U+6AAF <> U+53F0 -U+6AB3 <> U+69DF -U+6AB8 <> U+67E0 -U+6ABB <> U+69DB -U+6AC3 <> U+67DC -U+6AD3 <> U+6A79 -U+6ADA <> U+6988 -U+6ADB <> U+6809 -U+6ADD <> U+691F -U+6ADE <> U+6A7C -U+6ADF <> U+680E -U+6AE5 <> U+6A71 -U+6AE7 <> U+69E0 -U+6AE8 <> U+680C -U+6AEA <> U+67A5 -U+6AEB <> U+6A65 -U+6AEC <> U+6987 -U+6AF1 <> U+8616 -U+6AF3 <> U+680A -U+6AF8 <> U+6989 -U+6AFB <> U+6A31 -U+6B04 <> U+680F -U+6B0A <> U+6743 -U+6B0D <> U+23424 -U+6B0F <> U+6924 -U+6B12 <> U+683E -U+6B13 <> U+235CB -U+6B16 <> U+6984 -U+6B1E <> U+68C2 -U+6B3D <> U+94A6 -U+6B50 <> U+6B27 -U+6B5F <> U+6B24 -U+6B61 <> U+6B22 -U+6B72 <> U+5C81 -U+6B77 <> U+5386 -U+6B78 <> U+5F52 -U+6B7F <> U+6B81 -U+6B98 <> U+6B8B -U+6B9E <> U+6B92 -U+6BA4 <> U+6B87 -U+6BA8 <> U+3C6E -U+6BAB <> U+6B9A -U+6BAE <> U+6B93 -U+6BAF <> U+6BA1 -U+6BB0 <> U+3C69 -U+6BB2 <> U+6B7C -U+6BBA <> U+6740 -U+6BBC <> U+58F3 -U+6BC0 <> U+6BC1 -U+6BC6 <> U+6BB4 -U+6BFF <> U+6BF5 -U+6C02 <> U+7266 -U+6C08 <> U+6BE1 -U+6C0C <> U+6C07 -U+6C23 <> U+6C14 -U+6C2B <> U+6C22 -U+6C2C <> U+6C29 -U+6C33 <> U+6C32 -U+6C7A <> U+51B3 -U+6C92 <> U+6CA1 -U+6C96 <> U+51B2 -U+6CC1 <> U+51B5 -U+6D36 <> U+6C79 -U+6D79 <> U+6D43 -U+6D87 <> U+6CFE -U+6DBC <> U+51C9 -U+6DDA <> U+6CEA -U+6DE5 <> U+6E0C -U+6DEA <> U+6CA6 -U+6DF5 <> U+6E0A -U+6DF6 <> U+6D9E -U+6DFA <> U+6D45 -U+6E19 <> U+6DA3 -U+6E1B <> U+51CF -U+6E22 <> U+6CA8 -U+6E26 <> U+6DA1 -U+6E2C <> U+6D4B -U+6E3E <> U+6D51 -U+6E4A <> U+51D1 -U+6E5E <> U+6D48 -U+6E6F <> U+6C64 -U+6E88 <> U+6CA9 -U+6E96 <> U+51C6 -U+6E9D <> U+6C9F -U+6EAB <> U+6E29 -U+6EB3 <> U+6DA2 -U+6EC4 <> U+6CA7 -U+6EC5 <> U+706D -U+6ECC <> U+6DA4 -U+6ECE <> U+8365 -U+6EEC <> U+6CAA -U+6EEF <> U+6EDE -U+6EF2 <> U+6E17 -U+6EF8 <> U+6D52 -U+6EFB <> U+6D50 -U+6EFE <> U+6EDA -U+6EFF <> U+6EE1 -U+6F01 <> U+6E14 -U+6F0A <> U+6E87 -U+6F1A <> U+6CA4 -U+6F22 <> U+6C49 -U+6F23 <> U+6D9F -U+6F2C <> U+6E0D -U+6F32 <> U+6DA8 -U+6F35 <> U+6E86 -U+6F38 <> U+6E10 -U+6F3F <> U+6D46 -U+6F41 <> U+988D -U+6F51 <> U+6CFC -U+6F54 <> U+6D01 -U+6F5B <> U+6F5C -U+6F64 <> U+6DA6 -U+6F6F <> U+6D54 -U+6F70 <> U+6E83 -U+6F77 <> U+6ED7 -U+6F7F <> U+6DA0 -U+6F80 <> U+6DA9 -U+6F85 <> U+23DA9 -U+6F86 <> U+6D47 -U+6F87 <> U+6D9D -U+6F97 <> U+6DA7 -U+6FA0 <> U+6E11 -U+6FA4 <> U+6CFD -U+6FA6 <> U+6EEA -U+6FA9 <> U+6CF6 -U+6FAE <> U+6D4D -U+6FB1 <> U+6DC0 -U+6FBE <> U+3CE0 -U+6FC1 <> U+6D4A -U+6FC3 <> U+6D53 -U+6FC4 <> U+3CE1 -U+6FC6 <> U+23E23 -U+6FD5 <> U+6E7F -U+6FD8 <> U+6CDE -U+6FDC <> U+6D55 -U+6FDF <> U+6D4E -U+6FE4 <> U+6D9B -U+6FE7 <> U+3CD4 -U+6FEB <> U+6EE5 -U+6FF0 <> U+6F4D -U+6FF1 <> U+6EE8 -U+6FFA <> U+6E85 -U+6FFC <> U+6CFA -U+6FFE <> U+6EE4 -U+7002 <> U+6F9B -U+7003 <> U+23F77 -U+7005 <> U+6EE2 -U+7006 <> U+6E0E -U+7007 <> U+3CBF -U+7009 <> U+6CFB -U+700B <> U+6C88 -U+700F <> U+6D4F -U+7015 <> U+6FD2 -U+7018 <> U+6CF8 -U+701D <> U+6CA5 -U+701F <> U+6F47 -U+7020 <> U+6F46 -U+7026 <> U+6F74 -U+7027 <> U+6CF7 -U+7028 <> U+6FD1 -U+7030 <> U+3CFD -U+7032 <> U+6F4B -U+703E <> U+6F9C -U+7043 <> U+6CA3 -U+7044 <> U+6EE0 -U+7051 <> U+6D12 -U+7055 <> U+6F13 -U+7058 <> U+6EE9 -U+7059 <> U+23EBC -U+705D <> U+704F -U+7060 <> U+6F24 -U+7061 <> U+3CD5 -U+7063 <> U+6E7E -U+7064 <> U+6EE6 -U+7067 <> U+6EDF -U+707D <> U+707E -U+70BA <> U+4E3A -U+70CF <> U+4E4C -U+70F4 <> U+70C3 -U+7121 <> U+65E0 -U+7149 <> U+70BC -U+7152 <> U+709C -U+7159 <> U+70DF -U+7162 <> U+8315 -U+7165 <> U+7115 -U+7169 <> U+70E6 -U+716C <> U+7080 -U+7171 <> U+3DBD -U+7185 <> U+7174 -U+7189 <> U+24236 -U+718C <> U+241C4 -U+7192 <> U+8367 -U+7193 <> U+241A1 -U+7197 <> U+709D -U+71A1 <> U+242CF -U+71B1 <> U+70ED -U+71B2 <> U+988E -U+71BE <> U+70BD -U+71C1 <> U+70E8 -U+71C8 <> U+706F -U+71D2 <> U+70E7 -U+71D9 <> U+70EB -U+71DC <> U+7116 -U+71DF <> U+8425 -U+71E6 <> U+707F -U+71ED <> U+70DB -U+71F4 <> U+70E9 -U+71F6 <> U+3DB6 -U+71FC <> U+70EC -U+71FE <> U+7118 -U+7204 <> U+241C3 -U+720D <> U+70C1 -U+7210 <> U+7089 -U+721B <> U+70C2 -U+722D <> U+4E89 -U+723A <> U+7237 -U+723E <> U+5C14 -U+7246 <> U+5899 -U+7258 <> U+724D -U+727D <> U+7275 -U+7296 <> U+8366 -U+72A2 <> U+728A -U+72A7 <> U+727A -U+72C0 <> U+72B6 -U+72F9 <> U+72ED -U+72FD <> U+72C8 -U+7319 <> U+72F0 -U+7336 <> U+72B9 -U+733B <> U+72F2 -U+7341 <> U+72B8 -U+7344 <> U+72F1 -U+7345 <> U+72EE -U+734E <> U+5956 -U+7368 <> U+72EC -U+736A <> U+72EF -U+736B <> U+7303 -U+736E <> U+72DD -U+7370 <> U+72DE -U+7371 <> U+3E8D -U+7372 <> U+83B7 -U+7375 <> U+730E -U+7377 <> U+72B7 -U+7378 <> U+517D -U+737A <> U+736D -U+737B <> U+732E -U+737C <> U+7315 -U+7380 <> U+7321 -U+7381 <> U+247A4 -U+73FE <> U+73B0 -U+743A <> U+73D0 -U+743F <> U+73F2 -U+744B <> U+73AE -U+7452 <> U+739A -U+7463 <> U+7410 -U+7464 <> U+7476 -U+7469 <> U+83B9 -U+746A <> U+739B -U+7472 <> U+73B1 -U+747D <> U+2AED0 -U+7489 <> U+740F -U+74A3 <> U+7391 -U+74A6 <> U+7477 -U+74AB <> U+73F0 -U+74AF <> U+3EC5 -U+74B0 <> U+73AF -U+74BD <> U+73BA -U+74CA <> U+743C -U+74CF <> U+73D1 -U+74D4 <> U+748E -U+74D5 <> U+24980 -U+74DA <> U+74D2 -U+750C <> U+74EF -U+7522 <> U+4EA7 -U+755D <> U+4EA9 -U+7562 <> U+6BD5 -U+756B <> U+753B -U+7570 <> U+5F02 -U+7576 <> U+5F53 -U+7587 <> U+7574 -U+758A <> U+53E0 -U+75D9 <> U+75C9 -U+75FE <> U+75B4 -U+7602 <> U+75D6 -U+760B <> U+75AF -U+760D <> U+75A1 -U+7613 <> U+75EA -U+761E <> U+7617 -U+7621 <> U+75AE -U+7627 <> U+759F -U+762E <> U+7606 -U+7632 <> U+75AD -U+763A <> U+7618 -U+7642 <> U+7597 -U+7646 <> U+75E8 -U+7647 <> U+75EB -U+7649 <> U+7605 -U+7658 <> U+75A0 -U+765F <> U+762A -U+7662 <> U+75D2 -U+7664 <> U+7596 -U+7665 <> U+75C7 -U+7667 <> U+75AC -U+7669 <> U+765E -U+766C <> U+7663 -U+766D <> U+763F -U+766E <> U+763E -U+7670 <> U+75C8 -U+7671 <> U+762B -U+7672 <> U+766B -U+767C <> U+53D1 -U+769A <> U+7691 -U+769F <> U+24F80 -U+76B0 <> U+75B1 -U+76B8 <> U+76B2 -U+76BA <> U+76B1 -U+76DC <> U+76D7 -U+76DE <> U+76CF -U+76E1 <> U+5C3D -U+76E3 <> U+76D1 -U+76E4 <> U+76D8 -U+76E7 <> U+5362 -U+76EA <> U+8361 -U+7725 <> U+7726 -U+773E <> U+4F17 -U+774D <> U+2AFA2 -U+774F <> U+56F0 -U+775C <> U+7741 -U+775E <> U+7750 -U+7798 <> U+770D -U+779C <> U+4056 -U+779E <> U+7792 -U+77A4 <> U+251A7 -U+77B6 <> U+7786 -U+77BC <> U+7751 -U+77D3 <> U+772C -U+77DA <> U+77A9 -U+77EF <> U+77EB -U+785C <> U+7841 -U+7864 <> U+7856 -U+7868 <> U+7817 -U+786F <> U+781A -U+7899 <> U+2543B -U+78A9 <> U+7855 -U+78AD <> U+7800 -U+78B8 <> U+781C -U+78BA <> U+786E -U+78BC <> U+7801 -U+78BD <> U+40B5 -U+78D1 <> U+7859 -U+78DA <> U+7816 -U+78E0 <> U+7875 -U+78E3 <> U+789C -U+78E7 <> U+789B -U+78EF <> U+77F6 -U+78FD <> U+7857 -U+7904 <> U+785A -U+7906 <> U+7877 -U+790E <> U+7840 -U+7912 <> U+2541F -U+7919 <> U+788D -U+7926 <> U+77FF -U+792A <> U+783A -U+792B <> U+783E -U+792C <> U+77FE -U+7931 <> U+783B -U+797F <> U+7984 -U+798D <> U+7978 -U+798E <> U+796F -U+7995 <> U+794E -U+79A1 <> U+7943 -U+79A6 <> U+5FA1 -U+79AA <> U+7985 -U+79AE <> U+793C -U+79B0 <> U+7962 -U+79B1 <> U+7977 -U+79BF <> U+79C3 -U+79C8 <> U+7C7C -U+7A05 <> U+7A0E -U+7A08 <> U+79C6 -U+7A0F <> U+4149 -U+7A1F <> U+7980 -U+7A2E <> U+79CD -U+7A31 <> U+79F0 -U+7A40 <> U+8C37 -U+7A4C <> U+7A23 -U+7A4D <> U+79EF -U+7A4E <> U+9896 -U+7A60 <> U+79FE -U+7A61 <> U+7A51 -U+7A62 <> U+79FD -U+7A68 <> U+2C4FC -U+7A69 <> U+7A33 -U+7A6B <> U+83B7 -U+7A6D <> U+7A06 -U+7AA9 <> U+7A9D -U+7AAA <> U+6D3C -U+7AAE <> U+7A77 -U+7AAF <> U+7A91 -U+7AB5 <> U+7A8E -U+7AB6 <> U+7AAD -U+7ABA <> U+7AA5 -U+7AC4 <> U+7A9C -U+7AC5 <> U+7A8D -U+7AC7 <> U+7AA6 -U+7ACA <> U+7A83 -U+7AF6 <> U+7ADE -U+7B46 <> U+7B14 -U+7B4D <> U+7B0B -U+7B67 <> U+7B15 -U+7B74 <> U+41F2 -U+7B8B <> U+7B3A -U+7B8F <> U+7B5D -U+7BC0 <> U+8282 -U+7BC4 <> U+8303 -U+7BC9 <> U+7B51 -U+7BCB <> U+7BA7 -U+7BD4 <> U+7B7C -U+7BD8 <> U+25B20 -U+7BE4 <> U+7B03 -U+7BE9 <> U+7B5B -U+7BF3 <> U+7B5A -U+7C00 <> U+7BA6 -U+7C0D <> U+7BD3 -U+7C1E <> U+7BAA -U+7C21 <> U+7B80 -U+7C23 <> U+7BD1 -U+7C2B <> U+7BAB -U+7C39 <> U+7B5C -U+7C3D <> U+7B7E -U+7C3E <> U+5E18 -U+7C43 <> U+7BEE -U+7C4B <> U+25B1E -U+7C4C <> U+7B79 -U+7C54 <> U+4264 -U+7C59 <> U+7B93 -U+7C5B <> U+7BEF -U+7C5C <> U+7BA8 -U+7C5F <> U+7C41 -U+7C60 <> U+7B3C -U+7C69 <> U+7B3E -U+7C6A <> U+7C16 -U+7C6C <> U+7BF1 -U+7C6E <> U+7BA9 -U+7CB5 <> U+7CA4 -U+7CDD <> U+7CC1 -U+7CDE <> U+7CAA -U+7CE7 <> U+7CAE -U+7CF2 <> U+7C9D -U+7CF4 <> U+7C74 -U+7CF6 <> U+7C9C -U+7CF9 <> U+7E9F -U+7CFE <> U+7EA0 -U+7D00 <> U+7EAA -U+7D02 <> U+7EA3 -U+7D04 <> U+7EA6 -U+7D05 <> U+7EA2 -U+7D06 <> U+7EA1 -U+7D07 <> U+7EA5 -U+7D08 <> U+7EA8 -U+7D09 <> U+7EAB -U+7D0B <> U+7EB9 -U+7D0D <> U+7EB3 -U+7D10 <> U+7EBD -U+7D13 <> U+7EBE -U+7D14 <> U+7EAF -U+7D15 <> U+7EB0 -U+7D16 <> U+7EBC -U+7D17 <> U+7EB1 -U+7D18 <> U+7EAE -U+7D19 <> U+7EB8 -U+7D1A <> U+7EA7 -U+7D1B <> U+7EB7 -U+7D1C <> U+7EAD -U+7D1D <> U+7EB4 -U+7D21 <> U+7EBA -U+7D2C <> U+4337 -U+7D30 <> U+7EC6 -U+7D31 <> U+7EC2 -U+7D32 <> U+7EC1 -U+7D33 <> U+7EC5 -U+7D35 <> U+7EBB -U+7D39 <> U+7ECD -U+7D3A <> U+7EC0 -U+7D3C <> U+7ECB -U+7D3F <> U+7ED0 -U+7D40 <> U+7ECC -U+7D42 <> U+7EC8 -U+7D44 <> U+7EC4 -U+7D45 <> U+4339 -U+7D46 <> U+7ECA -U+7D4E <> U+7ED7 -U+7D50 <> U+7ED3 -U+7D55 <> U+7EDD -U+7D5B <> U+7EE6 -U+7D5D <> U+7ED4 -U+7D5E <> U+7EDE -U+7D61 <> U+7EDC -U+7D62 <> U+7EDA -U+7D66 <> U+7ED9 -U+7D68 <> U+7ED2 -U+7D70 <> U+7ED6 -U+7D71 <> U+7EDF -U+7D72 <> U+4E1D -U+7D73 <> U+7EDB -U+7D79 <> U+7EE2 -U+7D7A <> U+2B128 -U+7D80 <> U+2620C -U+7D81 <> U+7ED1 -U+7D83 <> U+7EE1 -U+7D86 <> U+7EE0 -U+7D87 <> U+2620B -U+7D88 <> U+7EE8 -U+7D8C <> U+7EE4 -U+7D8F <> U+7EE5 -U+7D90 <> U+433C -U+7D93 <> U+7ECF -U+7D9C <> U+7EFC -U+7D9D <> U+2C62D -U+7D9E <> U+7F0D -U+7DA0 <> U+7EFF -U+7DA2 <> U+7EF8 -U+7DA3 <> U+7EFB -U+7DAC <> U+7EF6 -U+7DAD <> U+7EF4 -U+7DAF <> U+7EF9 -U+7DB0 <> U+7EFE -U+7DB1 <> U+7EB2 -U+7DB2 <> U+7F51 -U+7DB4 <> U+7F00 -U+7DB5 <> U+433D -U+7DB8 <> U+7EB6 -U+7DB9 <> U+7EFA -U+7DBA <> U+7EEE -U+7DBB <> U+7EFD -U+7DBD <> U+7EF0 -U+7DBE <> U+7EEB -U+7DBF <> U+7EF5 -U+7DC4 <> U+7EF2 -U+7DC7 <> U+7F01 -U+7DCA <> U+7D27 -U+7DCB <> U+7EEF -U+7DCD <> U+2620F -U+7DD2 <> U+7EEA -U+7DD3 <> U+7EEC -U+7DD7 <> U+7F03 -U+7DD8 <> U+7F04 -U+7DD9 <> U+7F02 -U+7DDA <> U+7EBF -U+7DDD <> U+7F09 -U+7DDE <> U+7F0E -U+7DE0 <> U+7F14 -U+7DE1 <> U+7F17 -U+7DE3 <> U+7F18 -U+7DE6 <> U+7F0C -U+7DE8 <> U+7F16 -U+7DE9 <> U+7F13 -U+7DEC <> U+7F05 -U+7DEF <> U+7EAC -U+7DF0 <> U+26215 -U+7DF1 <> U+7F11 -U+7DF2 <> U+7F08 -U+7DF4 <> U+7EC3 -U+7DF6 <> U+7F0F -U+7DF7 <> U+26209 -U+7DF8 <> U+26211 -U+7DF9 <> U+7F07 -U+7DFB <> U+81F4 -U+7E08 <> U+8426 -U+7E09 <> U+7F19 -U+7E0A <> U+7F22 -U+7E0B <> U+7F12 -U+7E0E <> U+26214 -U+7E10 <> U+7EC9 -U+7E11 <> U+7F23 -U+7E15 <> U+7F0A -U+7E17 <> U+7F1E -U+7E1B <> U+7F1A -U+7E1D <> U+7F1C -U+7E1E <> U+7F1F -U+7E1F <> U+7F1B -U+7E23 <> U+53BF -U+7E2B <> U+7F1D -U+7E2C <> U+2621A -U+7E2D <> U+7F21 -U+7E2E <> U+7F29 -U+7E31 <> U+7EB5 -U+7E32 <> U+7F27 -U+7E33 <> U+4338 -U+7E35 <> U+7F26 -U+7E36 <> U+7D77 -U+7E37 <> U+7F15 -U+7E39 <> U+7F25 -U+7E3A <> U+26210 -U+7E3D <> U+603B -U+7E3E <> U+7EE9 -U+7E43 <> U+7EF7 -U+7E45 <> U+7F2B -U+7E46 <> U+7F2A -U+7E4F <> U+2621D -U+7E52 <> U+7F2F -U+7E53 <> U+2621B -U+7E54 <> U+7EC7 -U+7E55 <> U+7F2E -U+7E5A <> U+7F2D -U+7E5E <> U+7ED5 -U+7E5F <> U+2620E -U+7E61 <> U+7EE3 -U+7E62 <> U+7F0B -U+7E69 <> U+7EF3 -U+7E6A <> U+7ED8 -U+7E6B <> U+7CFB -U+7E6D <> U+8327 -U+7E6F <> U+7F33 -U+7E70 <> U+7F32 -U+7E73 <> U+7F34 -U+7E78 <> U+4341 -U+7E79 <> U+7ECE -U+7E7B <> U+26221 -U+7E7C <> U+7EE7 -U+7E7D <> U+7F24 -U+7E7E <> U+7F31 -U+7E7F <> U+4340 -U+7E81 <> U+2B138 -U+7E87 <> U+98A3 -U+7E88 <> U+7F2C -U+7E8A <> U+7EA9 -U+7E8C <> U+7EED -U+7E8D <> U+7D2F -U+7E8F <> U+7F20 -U+7E93 <> U+7F28 -U+7E96 <> U+7EA4 -U+7E98 <> U+7F35 -U+7E9C <> U+7F06 -U+7F3D <> U+94B5 -U+7F48 <> U+575B -U+7F4C <> U+7F42 -U+7F70 <> U+7F5A -U+7F75 <> U+9A82 -U+7F77 <> U+7F62 -U+7F85 <> U+7F57 -U+7F86 <> U+7F74 -U+7F88 <> U+7F81 -U+7F8B <> U+8288 -U+7FA5 <> U+7F9F -U+7FA9 <> U+4E49 -U+7FD2 <> U+4E60 -U+7FEC <> U+7FDA -U+7FF9 <> U+7FD8 -U+7FFD <> U+7FD9 -U+802C <> U+8027 -U+802E <> U+8022 -U+8056 <> U+5723 -U+805E <> U+95FB -U+806F <> U+8054 -U+8070 <> U+806A -U+8072 <> U+58F0 -U+8073 <> U+8038 -U+8075 <> U+8069 -U+8076 <> U+8042 -U+8077 <> U+804C -U+8079 <> U+804D -U+807D <> U+542C -U+807E <> U+804B -U+8085 <> U+8083 -U+8105 <> U+80C1 -U+8108 <> U+8109 -U+811B <> U+80EB -U+8125 <> U+23370 -U+812B <> U+8131 -U+8139 <> U+80C0 -U+814E <> U+80BE -U+8156 <> U+80E8 -U+8161 <> U+8136 -U+8166 <> U+8111 -U+816A <> U+2336F -U+816B <> U+80BF -U+8173 <> U+811A -U+8178 <> U+80A0 -U+8183 <> U+817D -U+8195 <> U+8158 -U+819A <> U+80A4 -U+81A0 <> U+80F6 -U+81A2 <> U+2677C -U+81A9 <> U+817B -U+81BD <> U+80C6 -U+81BE <> U+810D -U+81BF <> U+8113 -U+81C9 <> U+8138 -U+81CD <> U+8110 -U+81CF <> U+8191 -U+81D7 <> U+23391 -U+81D8 <> U+814A -U+81DA <> U+80EA -U+81DF <> U+810F -U+81E0 <> U+8114 -U+81E2 <> U+81DC -U+81E8 <> U+4E34 -U+81FA <> U+53F0 -U+8207 <> U+4E0E -U+8208 <> U+5174 -U+8209 <> U+4E3E -U+820A <> U+65E7 -U+8259 <> U+8231 -U+8264 <> U+8223 -U+8266 <> U+8230 -U+826B <> U+823B -U+8271 <> U+8270 -U+8277 <> U+8273 -U+82BB <> U+520D -U+82E7 <> U+82CE -U+8332 <> U+5179 -U+834A <> U+8346 -U+838A <> U+5E84 -U+8396 <> U+830E -U+83A2 <> U+835A -U+83A7 <> U+82CB -U+83EF <> U+534E -U+8407 <> U+82CC -U+840A <> U+83B1 -U+842C <> U+4E07 -U+8434 <> U+835D -U+8435 <> U+83B4 -U+8449 <> U+53F6 -U+8452 <> U+836D -U+8457 <> U+7740 -U+8464 <> U+836E -U+8466 <> U+82C7 -U+8477 <> U+8364 -U+8494 <> U+83B3 -U+849E <> U+8385 -U+84BC <> U+82CD -U+84C0 <> U+836A -U+84CB <> U+76D6 -U+84EE <> U+83B2 -U+84EF <> U+82C1 -U+84F4 <> U+83BC -U+84FD <> U+835C -U+851E <> U+848C -U+8523 <> U+848B -U+8525 <> U+8471 -U+8526 <> U+8311 -U+852D <> U+836B -U+8541 <> U+8368 -U+8546 <> U+8487 -U+854E <> U+835E -U+8552 <> U+836C -U+8553 <> U+82B8 -U+8555 <> U+83B8 -U+8558 <> U+835B -U+8562 <> U+8489 -U+8569 <> U+8361 -U+856A <> U+829C -U+856D <> U+8427 -U+8577 <> U+84E3 -U+8580 <> U+8570 -U+8588 <> U+835F -U+858A <> U+84DF -U+858C <> U+8297 -U+8594 <> U+8537 -U+8598 <> U+8359 -U+859F <> U+83B6 -U+85A6 <> U+8350 -U+85A9 <> U+8428 -U+85B3 <> U+44D5 -U+85B4 <> U+82E7 -U+85BA <> U+8360 -U+85CD <> U+84DD -U+85CE <> U+8369 -U+85DD <> U+827A -U+85E5 <> U+836F -U+85EA <> U+85AE -U+85F6 <> U+82C8 -U+85F9 <> U+853C -U+85FA <> U+853A -U+8604 <> U+8572 -U+8606 <> U+82A6 -U+8607 <> U+82CF -U+860A <> U+8574 -U+860B <> U+82F9 -U+861A <> U+85D3 -U+861E <> U+8539 -U+8622 <> U+830F -U+862D <> U+5170 -U+863A <> U+84E0 -U+863F <> U+841D -U+8646 <> U+8502 -U+8655 <> U+5904 -U+865B <> U+865A -U+865C <> U+864F -U+865F <> U+53F7 -U+8667 <> U+4E8F -U+866F <> U+866C -U+86FA <> U+86F1 -U+86FB <> U+8715 -U+8706 <> U+86AC -U+8721 <> U+8721 -U+8755 <> U+8680 -U+875F <> U+732C -U+8766 <> U+867E -U+8778 <> U+8717 -U+8784 <> U+86F3 -U+879E <> U+8682 -U+87A2 <> U+8424 -U+87AE <> U+45D6 -U+87BB <> U+877C -U+87BF <> U+8780 -U+87C4 <> U+86F0 -U+87C8 <> U+8748 -U+87CE <> U+87A8 -U+87E3 <> U+866E -U+87EC <> U+8749 -U+87EF <> U+86F2 -U+87F2 <> U+866B -U+87F6 <> U+86CF -U+87FB <> U+8681 -U+8801 <> U+8683 -U+8805 <> U+8747 -U+8806 <> U+867F -U+8810 <> U+86F4 -U+8811 <> U+877E -U+881F <> U+8721 -U+8823 <> U+86CE -U+8828 <> U+87CF -U+8831 <> U+86CA -U+8836 <> U+8695 -U+883B <> U+86EE -U+8853 <> U+672F -U+8855 <> U+540C -U+885A <> U+80E1 -U+885B <> U+536B -U+885D <> U+51B2 -U+889E <> U+886E -U+88CA <> U+8885 -U+88DC <> U+8865 -U+88DD <> U+88C5 -U+88E1 <> U+91CC -U+88FD <> U+5236 -U+8907 <> U+590D -U+890C <> U+88C8 -U+8918 <> U+8886 -U+8932 <> U+88E4 -U+8933 <> U+88E2 -U+8938 <> U+891B -U+893B <> U+4EB5 -U+8940 <> U+2B300 -U+8949 <> U+88E5 -U+894F <> U+88AF -U+8956 <> U+8884 -U+895D <> U+88E3 -U+8960 <> U+88C6 -U+8964 <> U+8934 -U+896A <> U+889C -U+896C <> U+4653 -U+896F <> U+886C -U+8972 <> U+88AD -U+8974 <> U+8955 -U+8986 <> U+590D -U+898B <> U+89C1 -U+898E <> U+89C3 -U+898F <> U+89C4 -U+8993 <> U+89C5 -U+8996 <> U+89C6 -U+8998 <> U+89C7 -U+89A1 <> U+89CB -U+89A5 <> U+89CD -U+89A6 <> U+89CE -U+89AA <> U+4EB2 -U+89AC <> U+89CA -U+89AF <> U+89CF -U+89B2 <> U+89D0 -U+89B7 <> U+89D1 -U+89BA <> U+89C9 -U+89BC <> U+2B328 -U+89BD <> U+89C8 -U+89BF <> U+89CC -U+89C0 <> U+89C2 -U+89F4 <> U+89DE -U+89F6 <> U+89EF -U+89F8 <> U+89E6 -U+8A01 <> U+8BA0 -U+8A02 <> U+8BA2 -U+8A03 <> U+8BA3 -U+8A08 <> U+8BA1 -U+8A0A <> U+8BAF -U+8A0C <> U+8BA7 -U+8A0E <> U+8BA8 -U+8A10 <> U+8BA6 -U+8A11 <> U+2B359 -U+8A12 <> U+8BB1 -U+8A13 <> U+8BAD -U+8A15 <> U+8BAA -U+8A16 <> U+8BAB -U+8A17 <> U+8BAC -U+8A18 <> U+8BB0 -U+8A1B <> U+8BB9 -U+8A1D <> U+8BB6 -U+8A1F <> U+8BBC -U+8A22 <> U+4723 -U+8A23 <> U+8BC0 -U+8A25 <> U+8BB7 -U+8A29 <> U+8BBB -U+8A2A <> U+8BBF -U+8A2D <> U+8BBE -U+8A31 <> U+8BB8 -U+8A34 <> U+8BC9 -U+8A36 <> U+8BC3 -U+8A3A <> U+8BCA -U+8A3B <> U+6CE8 -U+8A40 <> U+27BAA -U+8A41 <> U+8BC2 -U+8A46 <> U+8BCB -U+8A4E <> U+8BB5 -U+8A50 <> U+8BC8 -U+8A51 <> U+2B35F -U+8A52 <> U+8BD2 -U+8A54 <> U+8BCF -U+8A55 <> U+8BC4 -U+8A56 <> U+8BD0 -U+8A57 <> U+8BC7 -U+8A58 <> U+8BCE -U+8A5B <> U+8BC5 -U+8A5E <> U+8BCD -U+8A60 <> U+548F -U+8A61 <> U+8BE9 -U+8A62 <> U+8BE2 -U+8A63 <> U+8BE3 -U+8A66 <> U+8BD5 -U+8A69 <> U+8BD7 -U+8A6B <> U+8BE7 -U+8A6C <> U+8BDF -U+8A6D <> U+8BE1 -U+8A6E <> U+8BE0 -U+8A70 <> U+8BD8 -U+8A71 <> U+8BDD -U+8A72 <> U+8BE5 -U+8A73 <> U+8BE6 -U+8A75 <> U+8BDC -U+8A7C <> U+8BD9 -U+8A7F <> U+8BD6 -U+8A84 <> U+8BD4 -U+8A85 <> U+8BDB -U+8A86 <> U+8BD3 -U+8A87 <> U+5938 -U+8A8C <> U+5FD7 -U+8A8D <> U+8BA4 -U+8A91 <> U+8BF3 -U+8A92 <> U+8BF6 -U+8A95 <> U+8BDE -U+8A98 <> U+8BF1 -U+8A9A <> U+8BEE -U+8A9E <> U+8BED -U+8AA0 <> U+8BDA -U+8AA1 <> U+8BEB -U+8AA3 <> U+8BEC -U+8AA4 <> U+8BEF -U+8AA5 <> U+8BF0 -U+8AA6 <> U+8BF5 -U+8AA8 <> U+8BF2 -U+8AAA <> U+8BF4 -U+8AB0 <> U+8C01 -U+8AB2 <> U+8BFE -U+8AB6 <> U+8C07 -U+8AB9 <> U+8BFD -U+8ABC <> U+8C0A -U+8ABE <> U+8A1A -U+8ABF <> U+8C03 -U+8AC2 <> U+8C04 -U+8AC4 <> U+8C06 -U+8AC7 <> U+8C08 -U+8AC9 <> U+8BFF -U+8ACB <> U+8BF7 -U+8ACD <> U+8BE4 -U+8ACF <> U+8BF9 -U+8AD1 <> U+8BFC -U+8AD2 <> U+8C05 -U+8AD6 <> U+8BBA -U+8AD7 <> U+8C02 -U+8ADB <> U+8C00 -U+8ADC <> U+8C0D -U+8ADD <> U+8C1E -U+8ADE <> U+8C1D -U+8AE2 <> U+8BE8 -U+8AE4 <> U+8C14 -U+8AE6 <> U+8C1B -U+8AE7 <> U+8C10 -U+8AEB <> U+8C0F -U+8AED <> U+8C15 -U+8AEE <> U+8C18 -U+8AF0 <> U+2B370 -U+8AF1 <> U+8BB3 -U+8AF3 <> U+8C19 -U+8AF6 <> U+8C0C -U+8AF7 <> U+8BBD -U+8AF8 <> U+8BF8 -U+8AFA <> U+8C1A -U+8AFC <> U+8C16 -U+8AFE <> U+8BFA -U+8B00 <> U+8C0B -U+8B01 <> U+8C12 -U+8B02 <> U+8C13 -U+8B04 <> U+8A8A -U+8B05 <> U+8BCC -U+8B0A <> U+8C0E -U+8B0E <> U+8C1C -U+8B0F <> U+2B372 -U+8B10 <> U+8C27 -U+8B14 <> U+8C11 -U+8B16 <> U+8C21 -U+8B17 <> U+8C24 -U+8B19 <> U+8C26 -U+8B1A <> U+8C25 -U+8B1B <> U+8BB2 -U+8B1D <> U+8C22 -U+8B20 <> U+8C23 -U+8B28 <> U+8C1F -U+8B2B <> U+8C2A -U+8B2C <> U+8C2C -U+8B33 <> U+8BB4 -U+8B39 <> U+8C28 -U+8B3E <> U+8C29 -U+8B49 <> U+8BC1 -U+8B4A <> U+2B362 -U+8B4E <> U+8C32 -U+8B4F <> U+8BA5 -U+8B54 <> U+2C925 -U+8B56 <> U+8C2E -U+8B58 <> U+8BC6 -U+8B59 <> U+8C2F -U+8B5A <> U+8C2D -U+8B5C <> U+8C31 -U+8B6B <> U+8C35 -U+8B6F <> U+8BD1 -U+8B70 <> U+8BAE -U+8B74 <> U+8C34 -U+8B77 <> U+62A4 -U+8B78 <> U+8BEA -U+8B7D <> U+8A89 -U+8B7E <> U+8C2B -U+8B80 <> U+8BFB -U+8B8A <> U+53D8 -U+8B8B <> U+8A5F -U+8B8C <> U+4729 -U+8B8E <> U+96E0 -U+8B92 <> U+8C17 -U+8B93 <> U+8BA9 -U+8B95 <> U+8C30 -U+8B96 <> U+8C36 -U+8B9C <> U+8C20 -U+8B9E <> U+8C33 -U+8C48 <> U+5C82 -U+8C4E <> U+7AD6 -U+8C50 <> U+4E30 -U+8C6C <> U+732A -U+8C76 <> U+8C6E -U+8C93 <> U+732B -U+8C99 <> U+4759 -U+8C9D <> U+8D1D -U+8C9E <> U+8D1E -U+8C9F <> U+8D20 -U+8CA0 <> U+8D1F -U+8CA1 <> U+8D22 -U+8CA2 <> U+8D21 -U+8CA7 <> U+8D2B -U+8CA8 <> U+8D27 -U+8CA9 <> U+8D29 -U+8CAA <> U+8D2A -U+8CAB <> U+8D2F -U+8CAC <> U+8D23 -U+8CAF <> U+8D2E -U+8CB0 <> U+8D33 -U+8CB2 <> U+8D40 -U+8CB3 <> U+8D30 -U+8CB4 <> U+8D35 -U+8CB6 <> U+8D2C -U+8CB7 <> U+4E70 -U+8CB8 <> U+8D37 -U+8CBA <> U+8D36 -U+8CBB <> U+8D39 -U+8CBC <> U+8D34 -U+8CBD <> U+8D3B -U+8CBF <> U+8D38 -U+8CC0 <> U+8D3A -U+8CC1 <> U+8D32 -U+8CC2 <> U+8D42 -U+8CC3 <> U+8D41 -U+8CC4 <> U+8D3F -U+8CC5 <> U+8D45 -U+8CC7 <> U+8D44 -U+8CC8 <> U+8D3E -U+8CCA <> U+8D3C -U+8CD1 <> U+8D48 -U+8CD2 <> U+8D4A -U+8CD3 <> U+5BBE -U+8CD5 <> U+8D47 -U+8CD9 <> U+8D52 -U+8CDA <> U+8D49 -U+8CDC <> U+8D50 -U+8CDE <> U+8D4F -U+8CDF <> U+27E56 -U+8CE0 <> U+8D54 -U+8CE1 <> U+8D53 -U+8CE2 <> U+8D24 -U+8CE3 <> U+5356 -U+8CE4 <> U+8D31 -U+8CE6 <> U+8D4B -U+8CE7 <> U+8D55 -U+8CEA <> U+8D28 -U+8CEC <> U+8D26 -U+8CED <> U+8D4C -U+8CF0 <> U+4790 -U+8CF4 <> U+8D56 -U+8CF5 <> U+8D57 -U+8CFA <> U+8D5A -U+8CFB <> U+8D59 -U+8CFC <> U+8D2D -U+8CFD <> U+8D5B -U+8CFE <> U+8D5C -U+8D03 <> U+27E57 -U+8D04 <> U+8D3D -U+8D05 <> U+8D58 -U+8D07 <> U+8D5F -U+8D08 <> U+8D60 -U+8D0A <> U+8D5E -U+8D0D <> U+8D61 -U+8D0F <> U+8D62 -U+8D10 <> U+8D46 -U+8D13 <> U+8D43 -U+8D14 <> U+8D51 -U+8D16 <> U+8D4E -U+8D17 <> U+8D5D -U+8D1B <> U+8D63 -U+8D6C <> U+8D6A -U+8D95 <> U+8D76 -U+8D99 <> U+8D75 -U+8DA8 <> U+8D8B -U+8DB2 <> U+8DB1 -U+8DE1 <> U+8FF9 -U+8E10 <> U+8DF5 -U+8E34 <> U+8E0A -U+8E4C <> U+8DC4 -U+8E55 <> U+8DF8 -U+8E63 <> U+8E52 -U+8E64 <> U+8E2A -U+8E7A <> U+8DF7 -U+8E7B <> U+2B3CB -U+8E82 <> U+8DF6 -U+8E89 <> U+8DB8 -U+8E8A <> U+8E0C -U+8E8B <> U+8DFB -U+8E8D <> U+8DC3 -U+8E8E <> U+47E2 -U+8E91 <> U+8E2F -U+8E92 <> U+8DDE -U+8E93 <> U+8E2C -U+8E95 <> U+8E70 -U+8E9A <> U+8DF9 -U+8E9D <> U+2816C -U+8EA1 <> U+8E51 -U+8EA5 <> U+8E7F -U+8EA6 <> U+8E9C -U+8EAA <> U+8E8F -U+8EC0 <> U+8EAF -U+8EC9 <> U+28257 -U+8ECA <> U+8F66 -U+8ECB <> U+8F67 -U+8ECC <> U+8F68 -U+8ECD <> U+519B -U+8ECF <> U+2B404 -U+8ED1 <> U+8F6A -U+8ED2 <> U+8F69 -U+8ED4 <> U+8F6B -U+8ED7 <> U+28405 -U+8EDB <> U+8F6D -U+8EDF <> U+8F6F -U+8EE4 <> U+8F77 -U+8EE8 <> U+2B409 -U+8EEB <> U+8F78 -U+8EF2 <> U+8F71 -U+8EF8 <> U+8F74 -U+8EF9 <> U+8F75 -U+8EFA <> U+8F7A -U+8EFB <> U+8F72 -U+8EFC <> U+8F76 -U+8EFE <> U+8F7C -U+8F03 <> U+8F83 -U+8F04 <> U+28408 -U+8F05 <> U+8F82 -U+8F07 <> U+8F81 -U+8F08 <> U+8F80 -U+8F09 <> U+8F7D -U+8F0A <> U+8F7E -U+8F12 <> U+8F84 -U+8F13 <> U+633D -U+8F14 <> U+8F85 -U+8F15 <> U+8F7B -U+8F17 <> U+2B410 -U+8F1B <> U+8F86 -U+8F1C <> U+8F8E -U+8F1D <> U+8F89 -U+8F1E <> U+8F8B -U+8F1F <> U+8F8D -U+8F25 <> U+8F8A -U+8F26 <> U+8F87 -U+8F29 <> U+8F88 -U+8F2A <> U+8F6E -U+8F2C <> U+8F8C -U+8F2E <> U+2B413 -U+8F2F <> U+8F91 -U+8F33 <> U+8F8F -U+8F38 <> U+8F93 -U+8F3B <> U+8F90 -U+8F3E <> U+8F97 -U+8F3F <> U+8206 -U+8F40 <> U+8F92 -U+8F42 <> U+6BC2 -U+8F44 <> U+8F96 -U+8F45 <> U+8F95 -U+8F46 <> U+8F98 -U+8F49 <> U+8F6C -U+8F4D <> U+8F99 -U+8F4E <> U+8F7F -U+8F54 <> U+8F9A -U+8F5F <> U+8F70 -U+8F61 <> U+8F94 -U+8F62 <> U+8F79 -U+8F63 <> U+2B406 -U+8F64 <> U+8F73 -U+8FA6 <> U+529E -U+8FAD <> U+8F9E -U+8FAE <> U+8FAB -U+8FAF <> U+8FA9 -U+8FB2 <> U+519C -U+9015 <> U+8FF3 -U+9019 <> U+8FD9 -U+9023 <> U+8FDE -U+9032 <> U+8FDB -U+904B <> U+8FD0 -U+904E <> U+8FC7 -U+9054 <> U+8FBE -U+9055 <> U+8FDD -U+9059 <> U+9065 -U+905C <> U+900A -U+905E <> U+9012 -U+9060 <> U+8FDC -U+9069 <> U+9002 -U+9072 <> U+8FDF -U+9077 <> U+8FC1 -U+9078 <> U+9009 -U+907A <> U+9057 -U+907C <> U+8FBD -U+9081 <> U+8FC8 -U+9084 <> U+8FD8 -U+9087 <> U+8FE9 -U+908A <> U+8FB9 -U+908F <> U+903B -U+9090 <> U+9026 -U+90DF <> U+90CF -U+90F5 <> U+90AE -U+9106 <> U+90D3 -U+9109 <> U+4E61 -U+9112 <> U+90B9 -U+9114 <> U+90AC -U+9116 <> U+90E7 -U+9127 <> U+9093 -U+912D <> U+90D1 -U+9130 <> U+90BB -U+9132 <> U+90F8 -U+9134 <> U+90BA -U+9136 <> U+90D0 -U+913A <> U+909D -U+9147 <> U+9142 -U+9148 <> U+90E6 -U+919C <> U+4E11 -U+919E <> U+915D -U+91AB <> U+533B -U+91AC <> U+9171 -U+91B1 <> U+9166 -U+91C0 <> U+917F -U+91C1 <> U+8845 -U+91C3 <> U+917E -U+91C5 <> U+917D -U+91CB <> U+91CA -U+91D0 <> U+5398 -U+91D2 <> U+9485 -U+91D3 <> U+9486 -U+91D4 <> U+9487 -U+91D5 <> U+948C -U+91D7 <> U+948A -U+91D8 <> U+9489 -U+91D9 <> U+948B -U+91DD <> U+9488 -U+91E3 <> U+9493 -U+91E4 <> U+9490 -U+91E7 <> U+948F -U+91E9 <> U+9492 -U+91F3 <> U+28C3F -U+91F5 <> U+9497 -U+91F7 <> U+948D -U+91F9 <> U+9495 -U+91FA <> U+948E -U+91FE <> U+497A -U+9200 <> U+94AF -U+9201 <> U+94AB -U+9203 <> U+9498 -U+9204 <> U+94AD -U+9207 <> U+2B4E7 -U+9208 <> U+949A -U+9209 <> U+94A0 -U+920B <> U+28C42 -U+920D <> U+949D -U+9210 <> U+94A4 -U+9211 <> U+94A3 -U+9212 <> U+9491 -U+9214 <> U+949E -U+9215 <> U+94AE -U+921E <> U+94A7 -U+9220 <> U+28C41 -U+9223 <> U+9499 -U+9225 <> U+94AC -U+9226 <> U+949B -U+9227 <> U+94AA -U+922E <> U+94CC -U+922F <> U+28C44 -U+9230 <> U+94C8 -U+9232 <> U+28C43 -U+9233 <> U+94B6 -U+9234 <> U+94C3 -U+9237 <> U+94B4 -U+9238 <> U+94B9 -U+9239 <> U+94CD -U+923A <> U+94B0 -U+923D <> U+94B8 -U+923E <> U+94C0 -U+923F <> U+94BF -U+9240 <> U+94BE -U+9241 <> U+28C45 -U+9245 <> U+949C -U+9248 <> U+94CA -U+9249 <> U+94C9 -U+924B <> U+94C7 -U+924D <> U+94CB -U+9251 <> U+94C2 -U+9255 <> U+94B7 -U+9257 <> U+94B3 -U+925A <> U+94C6 -U+925B <> U+94C5 -U+925E <> U+94BA -U+9264 <> U+94A9 -U+9266 <> U+94B2 -U+9268 <> U+9FED -U+926C <> U+94BC -U+926D <> U+94BD -U+9276 <> U+94CF -U+9278 <> U+94F0 -U+927A <> U+94D2 -U+927B <> U+94EC -U+927F <> U+94EA -U+9280 <> U+94F6 -U+9283 <> U+94F3 -U+9285 <> U+94DC -U+928D <> U+94DA -U+9291 <> U+94E3 -U+9293 <> U+94E8 -U+9296 <> U+94E2 -U+9298 <> U+94ED -U+929A <> U+94EB -U+929B <> U+94E6 -U+929C <> U+8854 -U+92A0 <> U+94D1 -U+92A3 <> U+94F7 -U+92A5 <> U+94F1 -U+92A6 <> U+94DF -U+92A8 <> U+94F5 -U+92A9 <> U+94E5 -U+92AA <> U+94D5 -U+92AB <> U+94EF -U+92AC <> U+94D0 -U+92B1 <> U+94DE -U+92B3 <> U+9510 -U+92B6 <> U+28C47 -U+92B7 <> U+9500 -U+92BB <> U+9511 -U+92BC <> U+9509 -U+92C1 <> U+94DD -U+92C3 <> U+9512 -U+92C5 <> U+950C -U+92C7 <> U+94A1 -U+92C9 <> U+28C48 -U+92CC <> U+94E4 -U+92CF <> U+94D7 -U+92D2 <> U+950B -U+92D9 <> U+94FB -U+92DD <> U+950A -U+92DF <> U+9513 -U+92E3 <> U+94D8 -U+92E4 <> U+9504 -U+92E5 <> U+9503 -U+92E6 <> U+9514 -U+92E8 <> U+9507 -U+92E9 <> U+94D3 -U+92EA <> U+94FA -U+92EE <> U+94D6 -U+92EF <> U+9506 -U+92F0 <> U+9502 -U+92F1 <> U+94FD -U+92F6 <> U+950D -U+92F8 <> U+952F -U+92FC <> U+94A2 -U+9301 <> U+951E -U+9302 <> U+28C4B -U+9304 <> U+5F55 -U+9306 <> U+9516 -U+9307 <> U+952B -U+9308 <> U+9529 -U+930F <> U+94D4 -U+9310 <> U+9525 -U+9312 <> U+9515 -U+9315 <> U+951F -U+9318 <> U+9524 -U+9319 <> U+9531 -U+931A <> U+94EE -U+931B <> U+951B -U+931F <> U+952C -U+9320 <> U+952D -U+9321 <> U+951C -U+9322 <> U+94B1 -U+9326 <> U+9526 -U+9328 <> U+951A -U+9329 <> U+9520 -U+932B <> U+9521 -U+932E <> U+9522 -U+932F <> U+9519 -U+9333 <> U+9530 -U+9336 <> U+8868 -U+9338 <> U+94FC -U+9340 <> U+951D -U+9343 <> U+952A -U+9344 <> U+28C49 -U+9346 <> U+9494 -U+9347 <> U+9534 -U+9348 <> U+9533 -U+934B <> U+9505 -U+934D <> U+9540 -U+9354 <> U+9537 -U+9358 <> U+94E1 -U+935A <> U+9496 -U+935B <> U+953B -U+9360 <> U+953D -U+9364 <> U+9538 -U+9365 <> U+9532 -U+9369 <> U+9518 -U+936C <> U+9539 -U+936E <> U+28C4E -U+9370 <> U+953E -U+9375 <> U+952E -U+9376 <> U+9536 -U+937A <> U+9517 -U+937E <> U+949F -U+9382 <> U+9541 -U+9384 <> U+953F -U+9387 <> U+9545 -U+938A <> U+9551 -U+9394 <> U+9555 -U+9396 <> U+9501 -U+9398 <> U+9549 -U+939B <> U+9548 -U+939D <> U+28C4F -U+93A1 <> U+9543 -U+93A2 <> U+94A8 -U+93A3 <> U+84E5 -U+93A6 <> U+954F -U+93A7 <> U+94E0 -U+93A9 <> U+94E9 -U+93AA <> U+953C -U+93AC <> U+9550 -U+93AE <> U+9547 -U+93AF <> U+28C4D -U+93B0 <> U+9552 -U+93B2 <> U+954B -U+93B3 <> U+954D -U+93B5 <> U+9553 -U+93B6 <> U+9FD4 -U+93B7 <> U+28C3E -U+93BF <> U+954E -U+93C3 <> U+955E -U+93C6 <> U+28C4C -U+93C7 <> U+955F -U+93C8 <> U+94FE -U+93C9 <> U+28C52 -U+93CC <> U+9546 -U+93CD <> U+9559 -U+93D0 <> U+9560 -U+93D1 <> U+955D -U+93D7 <> U+94FF -U+93D8 <> U+9535 -U+93DC <> U+9557 -U+93DD <> U+9558 -U+93DE <> U+955B -U+93DF <> U+94F2 -U+93E1 <> U+955C -U+93E2 <> U+9556 -U+93E4 <> U+9542 -U+93E6 <> U+2B4E9 -U+93E8 <> U+933E -U+93F0 <> U+955A -U+93F5 <> U+94E7 -U+93F7 <> U+9564 -U+93F9 <> U+956A -U+93FA <> U+497D -U+93FD <> U+9508 -U+9403 <> U+94D9 -U+9404 <> U+28C51 -U+940B <> U+94F4 -U+940D <> U+2B50E -U+940E <> U+28C53 -U+940F <> U+28C54 -U+9410 <> U+9563 -U+9412 <> U+94F9 -U+9413 <> U+9566 -U+9414 <> U+9561 -U+9418 <> U+949F -U+9419 <> U+956B -U+9420 <> U+9568 -U+9425 <> U+4985 -U+9426 <> U+950E -U+9427 <> U+950F -U+9428 <> U+9544 -U+942B <> U+954C -U+942E <> U+9570 -U+942F <> U+4983 -U+9432 <> U+956F -U+9433 <> U+956D -U+9435 <> U+94C1 -U+9436 <> U+956E -U+9438 <> U+94CE -U+943A <> U+94DB -U+943F <> U+9571 -U+9444 <> U+94F8 -U+9448 <> U+9FED -U+944A <> U+956C -U+944C <> U+9554 -U+9452 <> U+9274 -U+9454 <> U+9572 -U+9455 <> U+9527 -U+945E <> U+9574 -U+9460 <> U+94C4 -U+9463 <> U+9573 -U+9465 <> U+9565 -U+946D <> U+9567 -U+9470 <> U+94A5 -U+9471 <> U+9575 -U+9472 <> U+9576 -U+9477 <> U+954A -U+9479 <> U+9569 -U+947C <> U+9523 -U+947D <> U+94BB -U+947E <> U+92AE -U+947F <> U+51FF -U+9481 <> U+9562 -U+9577 <> U+957F -U+9580 <> U+95E8 -U+9582 <> U+95E9 -U+9583 <> U+95EA -U+9586 <> U+95EB -U+9588 <> U+95EC -U+9589 <> U+95ED -U+958B <> U+5F00 -U+958C <> U+95F6 -U+958D <> U+28E02 -U+958E <> U+95F3 -U+958F <> U+95F0 -U+9590 <> U+28E03 -U+9591 <> U+95F2 -U+9593 <> U+95F4 -U+9594 <> U+95F5 -U+9598 <> U+95F8 -U+95A1 <> U+9602 -U+95A3 <> U+9601 -U+95A5 <> U+9600 -U+95A8 <> U+95FA -U+95A9 <> U+95FD -U+95AB <> U+9603 -U+95AC <> U+9606 -U+95AD <> U+95FE -U+95B1 <> U+9605 -U+95B6 <> U+960A -U+95B9 <> U+9609 -U+95BB <> U+960E -U+95BC <> U+960F -U+95BD <> U+960D -U+95BE <> U+9608 -U+95BF <> U+960C -U+95C3 <> U+9612 -U+95C6 <> U+677F -U+95C8 <> U+95F1 -U+95CA <> U+9614 -U+95CB <> U+9615 -U+95CC <> U+9611 -U+95CD <> U+9607 -U+95D0 <> U+9617 -U+95D2 <> U+9618 -U+95D3 <> U+95FF -U+95D4 <> U+9616 -U+95D5 <> U+9619 -U+95D6 <> U+95EF -U+95DC <> U+5173 -U+95DE <> U+961A -U+95E0 <> U+9613 -U+95E1 <> U+9610 -U+95E4 <> U+961B -U+95E5 <> U+95FC -U+962A <> U+5742 -U+9658 <> U+9649 -U+965D <> U+9655 -U+9663 <> U+9635 -U+9670 <> U+9634 -U+9673 <> U+9648 -U+9678 <> U+9646 -U+967D <> U+9633 -U+9689 <> U+9667 -U+968A <> U+961F -U+968E <> U+9636 -U+9695 <> U+9668 -U+969B <> U+9645 -U+96A4 <> U+2CBCE -U+96A8 <> U+968F -U+96AA <> U+9669 -U+96B1 <> U+9690 -U+96B4 <> U+9647 -U+96B8 <> U+96B6 -U+96BB <> U+53EA -U+96CB <> U+96BD -U+96D6 <> U+867D -U+96D9 <> U+53CC -U+96DB <> U+96CF -U+96DC <> U+6742 -U+96DE <> U+9E21 -U+96E2 <> U+79BB -U+96E3 <> U+96BE -U+96F2 <> U+4E91 -U+96FB <> U+7535 -U+9722 <> U+9721 -U+9727 <> U+96FE -U+973D <> U+9701 -U+9742 <> U+96F3 -U+9744 <> U+972D -U+9748 <> U+7075 -U+975A <> U+9753 -U+975C <> U+9759 -U+9766 <> U+817C -U+9768 <> U+9765 -U+9780 <> U+9F17 -U+978F <> U+5DE9 -U+979D <> U+7EF1 -U+97BD <> U+9792 -U+97C1 <> U+7F30 -U+97C3 <> U+9791 -U+97C9 <> U+97AF -U+97CB <> U+97E6 -U+97CC <> U+97E7 -U+97CD <> U+97E8 -U+97D3 <> U+97E9 -U+97D9 <> U+97EA -U+97DC <> U+97EC -U+97DE <> U+97EB -U+97FB <> U+97F5 -U+97FF <> U+54CD -U+9801 <> U+9875 -U+9802 <> U+9876 -U+9803 <> U+9877 -U+9805 <> U+9879 -U+9806 <> U+987A -U+9807 <> U+9878 -U+9808 <> U+987B -U+980A <> U+987C -U+980C <> U+9882 -U+980E <> U+9880 -U+980F <> U+9883 -U+9810 <> U+9884 -U+9811 <> U+987D -U+9812 <> U+9881 -U+9813 <> U+987F -U+9817 <> U+9887 -U+9818 <> U+9886 -U+981C <> U+988C -U+9821 <> U+9889 -U+9824 <> U+9890 -U+9826 <> U+988F -U+982D <> U+5934 -U+982E <> U+9892 -U+9830 <> U+988A -U+9832 <> U+988B -U+9834 <> U+9895 -U+9837 <> U+9894 -U+9838 <> U+9888 -U+9839 <> U+9893 -U+983B <> U+9891 -U+9843 <> U+29596 -U+9846 <> U+9897 -U+984C <> U+9898 -U+984D <> U+989D -U+984E <> U+989A -U+984F <> U+989C -U+9852 <> U+9899 -U+9853 <> U+989B -U+9858 <> U+613F -U+9859 <> U+98A1 -U+985B <> U+98A0 -U+985E <> U+7C7B -U+9862 <> U+989F -U+9865 <> U+98A2 -U+9867 <> U+987E -U+986B <> U+98A4 -U+986C <> U+98A5 -U+986F <> U+663E -U+9870 <> U+98A6 -U+9871 <> U+9885 -U+9873 <> U+989E -U+9874 <> U+98A7 -U+98A8 <> U+98CE -U+98AD <> U+98D0 -U+98AE <> U+98D1 -U+98AF <> U+98D2 -U+98B0 <> U+29665 -U+98B1 <> U+53F0 -U+98B3 <> U+522E -U+98B6 <> U+98D3 -U+98B7 <> U+2966A -U+98B8 <> U+98D4 -U+98BA <> U+98CF -U+98BB <> U+98D6 -U+98BC <> U+98D5 -U+98BE <> U+2966B -U+98C0 <> U+98D7 -U+98C4 <> U+98D8 -U+98C6 <> U+98D9 -U+98C8 <> U+98DA -U+98DB <> U+98DE -U+98E0 <> U+9963 -U+98E2 <> U+9965 -U+98E3 <> U+9964 -U+98E5 <> U+9966 -U+98E9 <> U+9968 -U+98EA <> U+996A -U+98EB <> U+996B -U+98ED <> U+996C -U+98EF <> U+996D -U+98F2 <> U+996E -U+98F4 <> U+9974 -U+98FC <> U+9972 -U+98FD <> U+9971 -U+98FE <> U+9970 -U+98FF <> U+9973 -U+9903 <> U+997A -U+9904 <> U+9978 -U+9905 <> U+997C -U+9909 <> U+9977 -U+990A <> U+517B -U+990C <> U+9975 -U+990E <> U+9979 -U+990F <> U+997B -U+9911 <> U+997D -U+9912 <> U+9981 -U+9913 <> U+997F -U+9914 <> U+2B5E6 -U+9915 <> U+9982 -U+9916 <> U+997E -U+9917 <> U+2B5E7 -U+9918 <> U+4F59 -U+991A <> U+80B4 -U+991B <> U+9984 -U+991C <> U+9983 -U+991E <> U+996F -U+9921 <> U+9985 -U+9926 <> U+2B5E0 -U+9928 <> U+9986 -U+992D <> U+2B5EE -U+9931 <> U+7CC7 -U+9933 <> U+9967 -U+9936 <> U+9989 -U+9937 <> U+9987 -U+9938 <> U+2980C -U+993A <> U+998E -U+993C <> U+9969 -U+993E <> U+998F -U+993F <> U+998A -U+9941 <> U+998C -U+9943 <> U+998D -U+9945 <> U+9992 -U+9948 <> U+9990 -U+9949 <> U+9991 -U+994A <> U+9993 -U+994B <> U+9988 -U+994C <> U+9994 -U+9952 <> U+9976 -U+9957 <> U+98E8 -U+9958 <> U+2B5F4 -U+995C <> U+990D -U+995E <> U+998B -U+9962 <> U+9995 -U+99AC <> U+9A6C -U+99AD <> U+9A6D -U+99AE <> U+51AF -U+99B1 <> U+9A6E -U+99B3 <> U+9A70 -U+99B4 <> U+9A6F -U+99B9 <> U+9A72 -U+99C1 <> U+9A73 -U+99C3 <> U+2B61D -U+99CE <> U+299E8 -U+99D0 <> U+9A7B -U+99D1 <> U+9A7D -U+99D2 <> U+9A79 -U+99D4 <> U+9A75 -U+99D5 <> U+9A7E -U+99D8 <> U+9A80 -U+99D9 <> U+9A78 -U+99DA <> U+299EB -U+99DB <> U+9A76 -U+99DD <> U+9A7C -U+99DF <> U+9A77 -U+99E2 <> U+9A88 -U+99E7 <> U+299F2 -U+99E9 <> U+299F4 -U+99ED <> U+9A87 -U+99F0 <> U+9A83 -U+99F1 <> U+9A86 -U+99F6 <> U+299FA -U+99F8 <> U+9A8E -U+99FB <> U+2B623 -U+99FF <> U+9A8F -U+9A01 <> U+9A8B -U+9A02 <> U+9A8D -U+9A03 <> U+2B624 -U+9A05 <> U+9A93 -U+9A0C <> U+9A94 -U+9A0D <> U+9A92 -U+9A0E <> U+9A91 -U+9A0F <> U+9A90 -U+9A14 <> U+29A00 -U+9A16 <> U+9A9B -U+9A19 <> U+9A97 -U+9A1A <> U+29A0A -U+9A1D <> U+29A03 -U+9A1F <> U+29A08 -U+9A20 <> U+2B628 -U+9A24 <> U+9A99 -U+9A27 <> U+4BC4 -U+9A2A <> U+29A04 -U+9A2B <> U+9A9E -U+9A2D <> U+9A98 -U+9A2E <> U+9A9D -U+9A30 <> U+817E -U+9A36 <> U+9A7A -U+9A37 <> U+9A9A -U+9A38 <> U+9A9F -U+9A3E <> U+9AA1 -U+9A40 <> U+84E6 -U+9A41 <> U+9A9C -U+9A42 <> U+9A96 -U+9A43 <> U+9AA0 -U+9A44 <> U+9AA2 -U+9A45 <> U+9A71 -U+9A4A <> U+9A85 -U+9A4B <> U+299EF -U+9A4C <> U+9A95 -U+9A4D <> U+9A81 -U+9A4F <> U+9AA3 -U+9A55 <> U+9A84 -U+9A57 <> U+9A8C -U+9A5A <> U+60CA -U+9A5B <> U+9A7F -U+9A5F <> U+9AA4 -U+9A62 <> U+9A74 -U+9A64 <> U+9AA7 -U+9A65 <> U+9AA5 -U+9A66 <> U+9AA6 -U+9A6A <> U+9A8A -U+9A6B <> U+9A89 -U+9AAF <> U+80AE -U+9ACF <> U+9AC5 -U+9AD2 <> U+810F -U+9AD4 <> U+4F53 -U+9AD5 <> U+9ACC -U+9AD6 <> U+9ACB -U+9AEE <> U+53D1 -U+9B06 <> U+677E -U+9B0D <> U+80E1 -U+9B1A <> U+987B -U+9B22 <> U+9B13 -U+9B25 <> U+6597 -U+9B27 <> U+95F9 -U+9B29 <> U+960B -U+9B2E <> U+9604 -U+9B31 <> U+90C1 -U+9B39 <> U+9B36 -U+9B4E <> U+9B49 -U+9B58 <> U+9B47 -U+9B5A <> U+9C7C -U+9B5B <> U+9C7D -U+9B5F <> U+2B689 -U+9B62 <> U+9C7E -U+9B65 <> U+29F79 -U+9B68 <> U+9C80 -U+9B6F <> U+9C81 -U+9B74 <> U+9C82 -U+9B77 <> U+9C7F -U+9B7A <> U+9C84 -U+9B81 <> U+9C85 -U+9B83 <> U+9C86 -U+9B84 <> U+2B692 -U+9B8A <> U+9C8C -U+9B8B <> U+9C89 -U+9B8D <> U+9C8F -U+9B90 <> U+9C90 -U+9B91 <> U+9C8D -U+9B92 <> U+9C8B -U+9B93 <> U+9C8A -U+9B9A <> U+9C92 -U+9B9C <> U+9C98 -U+9B9E <> U+9C95 -U+9B9F <> U+29F7E -U+9BA3 <> U+4C9F -U+9BA6 <> U+9C96 -U+9BAA <> U+9C94 -U+9BAB <> U+9C9B -U+9BAD <> U+9C91 -U+9BAE <> U+9C9C -U+9BB0 <> U+2B694 -U+9BB3 <> U+9C93 -U+9BB6 <> U+9CAA -U+9BB8 <> U+29F83 -U+9BBA <> U+9C9D -U+9BC0 <> U+9CA7 -U+9BC1 <> U+9CA0 -U+9BC4 <> U+29F81 -U+9BC6 <> U+2B699 -U+9BC7 <> U+9CA9 -U+9BC9 <> U+9CA4 -U+9BCA <> U+9CA8 -U+9BD2 <> U+9CAC -U+9BD4 <> U+9CBB -U+9BD5 <> U+9CAF -U+9BD6 <> U+9CAD -U+9BD7 <> U+9C9E -U+9BDB <> U+9CB7 -U+9BDD <> U+9CB4 -U+9BE1 <> U+9CB1 -U+9BE2 <> U+9CB5 -U+9BE4 <> U+9CB2 -U+9BE7 <> U+9CB3 -U+9BE8 <> U+9CB8 -U+9BEA <> U+9CAE -U+9BEB <> U+9CB0 -U+9BF1 <> U+29F87 -U+9BF4 <> U+9CBA -U+9BF6 <> U+29F7C -U+9BF7 <> U+9CC0 -U+9BFD <> U+9CAB -U+9BFF <> U+9CCA -U+9C01 <> U+9CC8 -U+9C02 <> U+9C97 -U+9C03 <> U+9CC2 -U+9C06 <> U+4CA0 -U+9C08 <> U+9CBD -U+9C09 <> U+9CC7 -U+9C0C <> U+4CA1 -U+9C0D <> U+9CC5 -U+9C0F <> U+9CBE -U+9C12 <> U+9CC6 -U+9C13 <> U+9CC3 -U+9C1C <> U+9CD2 -U+9C1F <> U+9CD1 -U+9C20 <> U+9CCB -U+9C23 <> U+9CA5 -U+9C24 <> U+2B695 -U+9C25 <> U+9CCF -U+9C27 <> U+4CA2 -U+9C28 <> U+9CCE -U+9C29 <> U+9CD0 -U+9C2D <> U+9CCD -U+9C2E <> U+9CC1 -U+9C31 <> U+9CA2 -U+9C32 <> U+9CCC -U+9C33 <> U+9CD3 -U+9C35 <> U+9CD8 -U+9C37 <> U+9CA6 -U+9C39 <> U+9CA3 -U+9C3A <> U+9CB9 -U+9C3B <> U+9CD7 -U+9C3C <> U+9CDB -U+9C3E <> U+9CD4 -U+9C42 <> U+9CC9 -U+9C45 <> U+9CD9 -U+9C47 <> U+29F8C -U+9C48 <> U+9CD5 -U+9C49 <> U+9CD6 -U+9C52 <> U+9CDF -U+9C54 <> U+9CDD -U+9C56 <> U+9CDC -U+9C57 <> U+9CDE -U+9C58 <> U+9C9F -U+9C5D <> U+9CBC -U+9C5F <> U+9C8E -U+9C60 <> U+9C99 -U+9C63 <> U+9CE3 -U+9C64 <> U+9CE1 -U+9C67 <> U+9CE2 -U+9C68 <> U+9CBF -U+9C6D <> U+9C9A -U+9C6E <> U+2B688 -U+9C6F <> U+9CE0 -U+9C72 <> U+2B6AD -U+9C77 <> U+9CC4 -U+9C78 <> U+9C88 -U+9C7A <> U+9CA1 -U+9CE5 <> U+9E1F -U+9CE7 <> U+51EB -U+9CE9 <> U+9E20 -U+9CF2 <> U+9E24 -U+9CF3 <> U+51E4 -U+9CF4 <> U+9E23 -U+9CF6 <> U+9E22 -U+9CF7 <> U+2B6DB -U+9CFC <> U+2A243 -U+9CFE <> U+4D13 -U+9D03 <> U+2B6DE -U+9D06 <> U+9E29 -U+9D07 <> U+9E28 -U+9D09 <> U+9E26 -U+9D12 <> U+9E30 -U+9D15 <> U+9E35 -U+9D17 <> U+2B061 -U+9D1B <> U+9E33 -U+9D1C <> U+2A248 -U+9D1D <> U+9E32 -U+9D1E <> U+9E2E -U+9D1F <> U+9E31 -U+9D23 <> U+9E2A -U+9D26 <> U+9E2F -U+9D28 <> U+9E2D -U+9D2F <> U+9E38 -U+9D30 <> U+9E39 -U+9D32 <> U+2A246 -U+9D34 <> U+9E3B -U+9D37 <> U+4D15 -U+9D3B <> U+9E3F -U+9D3F <> U+9E3D -U+9D41 <> U+4D14 -U+9D42 <> U+9E3A -U+9D43 <> U+9E3C -U+9D50 <> U+9E40 -U+9D51 <> U+9E43 -U+9D52 <> U+9E46 -U+9D53 <> U+9E41 -U+9D5A <> U+2A24D -U+9D5C <> U+9E48 -U+9D5D <> U+9E45 -U+9D60 <> U+9E44 -U+9D61 <> U+9E49 -U+9D6A <> U+9E4C -U+9D6C <> U+9E4F -U+9D6E <> U+9E50 -U+9D6F <> U+9E4E -U+9D72 <> U+9E4A -U+9D77 <> U+9E53 -U+9D7E <> U+9E4D -U+9D84 <> U+4D16 -U+9D87 <> U+9E2B -U+9D89 <> U+9E51 -U+9D8A <> U+9E52 -U+9D92 <> U+2B6F6 -U+9D93 <> U+9E4B -U+9D96 <> U+9E59 -U+9D97 <> U+2B6F8 -U+9D98 <> U+9E55 -U+9D9A <> U+9E57 -U+9DA1 <> U+9E56 -U+9DA5 <> U+9E5B -U+9DA9 <> U+9E5C -U+9DAA <> U+4D17 -U+9DAC <> U+9E27 -U+9DAF <> U+83BA -U+9DB1 <> U+2CE23 -U+9DB2 <> U+9E5F -U+9DB4 <> U+9E64 -U+9DB9 <> U+9E60 -U+9DBA <> U+9E61 -U+9DBB <> U+9E58 -U+9DBC <> U+9E63 -U+9DBF <> U+9E5A -U+9DC1 <> U+9E62 -U+9DC2 <> U+9E5E -U+9DC8 <> U+4D18 -U+9DCA <> U+9E5D -U+9DD3 <> U+9E67 -U+9DD4 <> U+2A251 -U+9DD6 <> U+9E65 -U+9DD7 <> U+9E25 -U+9DD9 <> U+9E37 -U+9DDA <> U+9E68 -U+9DE5 <> U+9E36 -U+9DE6 <> U+9E6A -U+9DE8 <> U+2A24A -U+9DEB <> U+9E54 -U+9DEF <> U+9E69 -U+9DF2 <> U+9E6B -U+9DF3 <> U+9E47 -U+9DF8 <> U+9E6C -U+9DF9 <> U+9E70 -U+9DFA <> U+9E6D -U+9DFD <> U+9E34 -U+9DFF <> U+4D19 -U+9E02 <> U+3D89 -U+9E07 <> U+9E6F -U+9E0B <> U+2B6E2 -U+9E0C <> U+9E71 -U+9E0F <> U+9E72 -U+9E15 <> U+9E2C -U+9E18 <> U+9E74 -U+9E1A <> U+9E66 -U+9E1B <> U+9E73 -U+9E1D <> U+9E42 -U+9E1E <> U+9E3E -U+9E75 <> U+5364 -U+9E79 <> U+54B8 -U+9E7A <> U+9E7E -U+9E7C <> U+7877 -U+9E7D <> U+76D0 -U+9E97 <> U+4E3D -U+9EA5 <> U+9EA6 -U+9EA8 <> U+2A38A -U+9EA9 <> U+9EB8 -U+9EB2 <> U+2A389 -U+9EB5 <> U+9762 -U+9EBC <> U+4E48 -U+9EBD <> U+4E48 -U+9EC3 <> U+9EC4 -U+9ECC <> U+9EC9 -U+9EDE <> U+70B9 -U+9EE8 <> U+515A -U+9EF2 <> U+9EEA -U+9EF6 <> U+9EE1 -U+9EF7 <> U+9EE9 -U+9EFD <> U+9EFE -U+9EFF <> U+9F0B -U+9F09 <> U+9F0D -U+9F34 <> U+9F39 -U+9F4A <> U+9F50 -U+9F4B <> U+658B -U+9F4E <> U+8D4D -U+9F4F <> U+9F51 -U+9F52 <> U+9F7F -U+9F54 <> U+9F80 -U+9F55 <> U+9F81 -U+9F57 <> U+9F82 -U+9F59 <> U+9F85 -U+9F5C <> U+9F87 -U+9F5F <> U+9F83 -U+9F60 <> U+9F86 -U+9F61 <> U+9F84 -U+9F66 <> U+9F88 -U+9F6A <> U+9F8A -U+9F6C <> U+9F89 -U+9F72 <> U+9F8B -U+9F76 <> U+816D -U+9F77 <> U+9F8C -U+9F8D <> U+9F99 -U+9F8E <> U+5390 -U+9F90 <> U+5E9E -U+9F91 <> U+4DAE -U+9F94 <> U+9F9A -U+9F95 <> U+9F9B -U+9F9C <> U+9F9F -U+9FAD <> U+29A0E -U+9FAF <> U+28C46 -U+9FC1 <> U+4724 -U+9FD0 <> U+4CA4 -U+9FD2 <> U+9FD3 -U+20325 <> U+201BF -U+203E2 <> U+20257 -U+20786 <> U+206C6 -U+2080E <> U+206B3 -U+21114 <> U+20D22 -U+21123 <> U+20D78 -U+2114F <> U+20CA5 -U+2146D <> U+212D7 -U+214FE <> U+212C0 -U+217B5 <> U+36DF -U+21839 <> U+36FF -U+21883 <> U+36E0 -U+21B89 <> U+21B5C -U+21BA3 <> U+21B6C -U+21FB1 <> U+37DC -U+228DA <> U+2261D -U+228ED <> U+2261E -U+22DAB <> U+22ADE -U+22DEE <> U+22ACA -U+22E7F <> U+22B26 -U+2364E <> U+3B63 -U+23755 <> U+23637 -U+237BB <> U+23613 -U+23832 <> U+23476 -U+23BF4 <> U+23B64 -U+23FB7 <> U+3CE2 -U+23FC9 <> U+23DAB -U+24063 <> U+23EBD -U+2448E <> U+24280 -U+24ABA <> U+3ED8 -U+24AE9 <> U+3ECF -U+24CF8 <> U+24CC4 -U+24E2B <> U+24DA7 -U+25303 <> U+25158 -U+25565 <> U+25430 -U+25585 <> U+2542F -U+258A2 <> U+416A -U+25A10 <> U+259C2 -U+25D43 <> U+25C54 -U+25D4A <> U+25B49 -U+25E20 <> U+25B8B -U+25F3D <> U+25E65 -U+25F56 <> U+25E87 -U+25FCA <> U+26208 -U+26085 <> U+26212 -U+260C4 <> U+26217 -U+26888 <> U+23368 -U+268CE <> U+267D7 -U+26ABD <> U+26A29 -U+27525 <> U+274AD -U+27717 <> U+461E -U+27735 <> U+464A -U+2775E <> U+461B -U+27A59 <> U+4725 -U+27CDF <> U+27CD5 -U+27D73 <> U+478C -U+27D94 <> U+27E53 -U+27DA7 <> U+478E -U+28123 <> U+28031 -U+2814D <> U+28074 -U+281C1 <> U+27FC8 -U+281DE <> U+2816B -U+2820A <> U+280BA -U+2820C <> U+28104 -U+282B0 <> U+4880 -U+282B8 <> U+4881 -U+282BB <> U+28406 -U+282E2 <> U+4882 -U+283AE <> U+28409 -U+283E0 <> U+28407 -U+283E5 <> U+2840A -U+2893B <> U+28930 -U+2895B <> U+28C40 -U+289AB <> U+4980 -U+289DC <> U+4981 -U+289F1 <> U+28C4A -U+28AD2 <> U+28C50 -U+28B82 <> U+28C55 -U+28BC5 <> U+497F -U+28CD1 <> U+28E01 -U+28CD5 <> U+28E00 -U+28D17 <> U+28E05 -U+28D69 <> U+28E06 -U+28D78 <> U+28E07 -U+28D80 <> U+28E09 -U+28D8F <> U+28E0A -U+28DAE <> U+28E0C -U+28DB2 <> U+28E0B -U+28DF2 <> U+28E0E -U+28F4F <> U+28E18 -U+293A2 <> U+293FE -U+293EA <> U+293FD -U+294E3 <> U+29595 -U+295C0 <> U+29666 -U+29600 <> U+29669 -U+2961D <> U+2966D -U+29639 <> U+29668 -U+2963A <> U+2966C -U+29648 <> U+29670 -U+2969B <> U+297FF -U+296A5 <> U+29800 -U+296B5 <> U+29801 -U+296C6 <> U+29802 -U+296E9 <> U+29803 -U+29707 <> U+29809 -U+29726 <> U+29806 -U+29735 <> U+2980A -U+29754 <> U+2980B -U+29784 <> U+2980E -U+297A6 <> U+2980F -U+297AF <> U+4B6A -U+297D0 <> U+29805 -U+29834 <> U+29820 -U+2987A <> U+299E6 -U+298A1 <> U+299EC -U+298B4 <> U+299F5 -U+298B8 <> U+299F3 -U+298BE <> U+299EE -U+298CF <> U+299F6 -U+298D1 <> U+4BC3 -U+298FA <> U+299FC -U+2990A <> U+299E9 -U+29919 <> U+29A06 -U+29932 <> U+29A09 -U+29938 <> U+29A05 -U+29944 <> U+29A0B -U+29947 <> U+29A0D -U+29949 <> U+299F1 -U+29951 <> U+29A0C -U+299C6 <> U+29A10 -U+29B59 <> U+29B23 -U+29BF3 <> U+29BD2 -U+29C00 <> U+29B24 -U+29CE4 <> U+29C92 -U+29D69 <> U+29F7A -U+29D79 <> U+29F7B -U+29D98 <> U+4C9E -U+29DB0 <> U+29F7F -U+29DB1 <> U+29F7D -U+29DF0 <> U+29F84 -U+29E03 <> U+29F85 -U+29E26 <> U+29F86 -U+29FEA <> U+2A244 -U+2A026 <> U+2A245 -U+2A03E <> U+2A24B -U+2A048 <> U+2A249 -U+2A056 <> U+2A24C -U+2A086 <> U+2A24E -U+2A0CD <> U+2A250 -U+2A0CF <> U+2A24F -U+2A106 <> U+2A254 -U+2A115 <> U+2A252 -U+2A1F3 <> U+2A255 -U+2A2FF <> U+2A38D -U+2A535 <> U+2A52D -U+2A600 <> U+2A68F -U+2A62F <> U+2A690 diff --git a/macros/xetex/latex/xecjk/teckit-mapping/han-trad.map b/macros/xetex/latex/xecjk/teckit-mapping/han-trad.map deleted file mode 100644 index 4471e15dc4..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/han-trad.map +++ /dev/null @@ -1,3042 +0,0 @@ -; TECkit mapping for conversion of simplified Chinese characters to traditional Chinese characters -; from the Unicode Unihan database: <http://www.unicode.org/Public/UNIDATA/Unihan.zip> -; -; Unihan_Variants.txt -; Date: 2018-11-09 21:36:19 GMT [JHJ] -; Unicode version: 12.0.0 -; - -LHSName "simplified" -RHSName "traditional" - -pass(Unicode) - -U+201C <> U+300C -U+201D <> U+300D -U+2018 <> U+300E -U+2019 <> U+300F - -U+343D <> U+5051 -U+3447 <> U+3473 -U+3448 <> U+5032 -U+3454 <> U+346F -U+3469 <> U+5138 -U+34E5 <> U+528F -U+3509 <> U+529A -U+358A <> U+565A -U+359E <> U+558E -U+360E <> U+361A -U+36AF <> U+3704 -U+36C0 <> U+5AB0 -U+36DF <> U+217B5 -U+36E0 <> U+21883 -U+36E3 <> U+370F -U+36E4 <> U+5B4B -U+36FF <> U+21839 -U+37C6 <> U+380F -U+37DC <> U+21FB1 -U+3918 <> U+396E -U+39CF <> U+6386 -U+39D0 <> U+3A73 -U+39D1 <> U+649D -U+39DF <> U+64D3 -U+39F0 <> U+64FD -U+3A2B <> U+3A5C -U+3B4E <> U+68E1 -U+3B4F <> U+6932 -U+3B63 <> U+2364E -U+3B64 <> U+6A22 -U+3B74 <> U+6A2B -U+3C69 <> U+6BB0 -U+3C6E <> U+6BA8 -U+3CBF <> U+7007 -U+3CD4 <> U+6FE7 -U+3CD5 <> U+7061 -U+3CE0 <> U+6FBE -U+3CE1 <> U+6FC4 -U+3CE2 <> U+23FB7 -U+3CFD <> U+7030 -U+3D89 <> U+9E02 -U+3DB6 <> U+71F6 -U+3DBD <> U+7171 -U+3E8D <> U+7371 -U+3EC5 <> U+74AF -U+3ECF <> U+24AE9 -U+3ED8 <> U+24ABA -U+4025 <> U+407B -U+4056 <> U+779C -U+40B5 <> U+78BD -U+4149 <> U+7A0F -U+416A <> U+258A2 -U+41F2 <> U+7B74 -U+4264 <> U+7C54 -U+4336 <> U+42B7 -U+4337 <> U+7D2C -U+4338 <> U+7E33 -U+4339 <> U+7D45 -U+433A <> U+42D9 -U+433B <> U+42DA -U+433C <> U+7D90 -U+433D <> U+7DB5 -U+433E <> U+42FB -U+4340 <> U+7E7F -U+4341 <> U+7E78 -U+44D5 <> U+85B3 -U+45D6 <> U+87AE -U+461B <> U+2775E -U+461E <> U+27717 -U+464A <> U+27735 -U+464C <> U+4661 -U+4653 <> U+896C -U+4723 <> U+8A22 -U+4724 <> U+9FC1 -U+4725 <> U+27A59 -U+4727 <> U+4700 -U+4729 <> U+8B8C -U+4759 <> U+8C99 -U+478C <> U+27D73 -U+478D <> U+477C -U+478E <> U+27DA7 -U+4790 <> U+8CF0 -U+47E2 <> U+8E8E -U+4880 <> U+282B0 -U+4881 <> U+282B8 -U+4882 <> U+282E2 -U+497A <> U+91FE -U+497D <> U+93FA -U+497E <> U+4971 -U+497F <> U+28BC5 -U+4980 <> U+289AB -U+4981 <> U+289DC -U+4982 <> U+4947 -U+4983 <> U+942F -U+4985 <> U+9425 -U+49B6 <> U+499B -U+49B7 <> U+499F -U+4B6A <> U+297AF -U+4BC3 <> U+298D1 -U+4BC4 <> U+9A27 -U+4BC5 <> U+4BC0 -U+4C9D <> U+4C7D -U+4C9E <> U+29D98 -U+4C9F <> U+9BA3 -U+4CA0 <> U+9C06 -U+4CA1 <> U+9C0C -U+4CA2 <> U+9C27 -U+4CA3 <> U+4C77 -U+4CA4 <> U+9FD0 -U+4D13 <> U+9CFE -U+4D14 <> U+9D41 -U+4D15 <> U+9D37 -U+4D16 <> U+9D84 -U+4D17 <> U+9DAA -U+4D18 <> U+9DC8 -U+4D19 <> U+9DFF -U+4DAE <> U+9F91 -U+4E07 <> U+842C -U+4E0E <> U+8207 -U+4E11 <> U+919C -U+4E13 <> U+5C08 -U+4E1A <> U+696D -U+4E1B <> U+53E2 -U+4E1C <> U+6771 -U+4E1D <> U+7D72 -U+4E22 <> U+4E1F -U+4E24 <> U+5169 -U+4E25 <> U+56B4 -U+4E27 <> U+55AA -U+4E2A <> U+500B -U+4E30 <> U+8C50 -U+4E34 <> U+81E8 -U+4E3A <> U+70BA -U+4E3D <> U+9E97 -U+4E3E <> U+8209 -U+4E48 <> U+5E7A -U+4E49 <> U+7FA9 -U+4E4C <> U+70CF -U+4E50 <> U+6A02 -U+4E54 <> U+55AC -U+4E60 <> U+7FD2 -U+4E61 <> U+9109 -U+4E66 <> U+66F8 -U+4E70 <> U+8CB7 -U+4E71 <> U+4E82 -U+4E89 <> U+722D -U+4E8E <> U+65BC -U+4E8F <> U+8667 -U+4E91 <> U+96F2 -U+4E9A <> U+4E9E -U+4EA7 <> U+7522 -U+4EA9 <> U+755D -U+4EB2 <> U+89AA -U+4EB5 <> U+893B -U+4EB8 <> U+56B2 -U+4EBF <> U+5104 -U+4EC5 <> U+50C5 -U+4EC6 <> U+50D5 -U+4ECE <> U+5F9E -U+4ED1 <> U+4F96 -U+4ED3 <> U+5009 -U+4EEA <> U+5100 -U+4EEC <> U+5011 -U+4EF7 <> U+50F9 -U+4F17 <> U+773E -U+4F18 <> U+512A -U+4F1A <> U+6703 -U+4F1B <> U+50B4 -U+4F1E <> U+5098 -U+4F1F <> U+5049 -U+4F20 <> U+50B3 -U+4F21 <> U+4FE5 -U+4F23 <> U+4FD4 -U+4F24 <> U+50B7 -U+4F25 <> U+5000 -U+4F26 <> U+502B -U+4F27 <> U+5096 -U+4F2A <> U+507D -U+4F2B <> U+4F47 -U+4F53 <> U+9AD4 -U+4F59 <> U+4F59 -U+4F63 <> U+50AD -U+4F65 <> U+50C9 -U+4FA0 <> U+4FE0 -U+4FA3 <> U+4FB6 -U+4FA5 <> U+50E5 -U+4FA6 <> U+5075 -U+4FA7 <> U+5074 -U+4FA8 <> U+50D1 -U+4FA9 <> U+5108 -U+4FAA <> U+5115 -U+4FAC <> U+5102 -U+4FE3 <> U+4FC1 -U+4FE6 <> U+5114 -U+4FE8 <> U+513C -U+4FE9 <> U+5006 -U+4FEA <> U+5137 -U+4FEB <> U+5008 -U+4FED <> U+5109 -U+503A <> U+50B5 -U+503E <> U+50BE -U+506C <> U+50AF -U+507B <> U+50C2 -U+507E <> U+50E8 -U+507F <> U+511F -U+50A5 <> U+513B -U+50A7 <> U+5110 -U+50A8 <> U+5132 -U+50A9 <> U+513A -U+513F <> U+5152 -U+514B <> U+524B -U+5151 <> U+514C -U+5156 <> U+5157 -U+515A <> U+9EE8 -U+5170 <> U+862D -U+5173 <> U+95DC -U+5174 <> U+8208 -U+5179 <> U+8332 -U+517B <> U+990A -U+517D <> U+7378 -U+5181 <> U+56C5 -U+5185 <> U+5167 -U+5188 <> U+5CA1 -U+518C <> U+518A -U+5199 <> U+5BEB -U+519B <> U+8ECD -U+519C <> U+8FB2 -U+51AF <> U+99AE -U+51B2 <> U+6C96 -U+51B3 <> U+6C7A -U+51B5 <> U+6CC1 -U+51BB <> U+51CD -U+51C0 <> U+51C8 -U+51C6 <> U+6E96 -U+51C9 <> U+6DBC -U+51CF <> U+6E1B -U+51D1 <> U+6E4A -U+51DB <> U+51DC -U+51E0 <> U+5E7E -U+51E4 <> U+9CF3 -U+51EB <> U+9CE7 -U+51ED <> U+6191 -U+51EF <> U+51F1 -U+51FB <> U+64CA -U+51FF <> U+947F -U+520D <> U+82BB -U+5212 <> U+5283 -U+5218 <> U+5289 -U+5219 <> U+5247 -U+521A <> U+525B -U+521B <> U+5275 -U+5220 <> U+522A -U+522B <> U+5225 -U+522C <> U+5257 -U+522D <> U+5244 -U+522E <> U+98B3 -U+5236 <> U+88FD -U+5239 <> U+524E -U+523D <> U+528A -U+523E <> U+34E8 -U+523F <> U+528C -U+5240 <> U+5274 -U+5242 <> U+5291 -U+5250 <> U+526E -U+5251 <> U+528D -U+5265 <> U+525D -U+5267 <> U+5287 -U+529D <> U+52F8 -U+529E <> U+8FA6 -U+52A1 <> U+52D9 -U+52A2 <> U+52F1 -U+52A8 <> U+52D5 -U+52B1 <> U+52F5 -U+52B2 <> U+52C1 -U+52B3 <> U+52DE -U+52BF <> U+52E2 -U+52CB <> U+52DB -U+52DA <> U+52E9 -U+5300 <> U+52FB -U+5326 <> U+532D -U+532E <> U+5331 -U+533A <> U+5340 -U+533B <> U+91AB -U+534E <> U+83EF -U+534F <> U+5354 -U+5355 <> U+55AE -U+5356 <> U+8CE3 -U+5362 <> U+76E7 -U+5364 <> U+9E75 -U+536B <> U+885B -U+5374 <> U+537B -U+5382 <> U+5EE0 -U+5385 <> U+5EF3 -U+5386 <> U+66C6 -U+5389 <> U+53B2 -U+538B <> U+58D3 -U+538C <> U+53AD -U+538D <> U+5399 -U+5390 <> U+9F8E -U+5395 <> U+5EC1 -U+5398 <> U+91D0 -U+53A2 <> U+5EC2 -U+53A3 <> U+53B4 -U+53A6 <> U+5EC8 -U+53A8 <> U+5EDA -U+53A9 <> U+5EC4 -U+53AE <> U+5EDD -U+53BF <> U+7E23 -U+53C1 <> U+53C4 -U+53C2 <> U+53C3 -U+53CC <> U+96D9 -U+53D1 <> U+767C -U+53D8 <> U+8B8A -U+53D9 <> U+6558 -U+53E0 <> U+758A -U+53EA <> U+96BB -U+53F0 <> U+53F0 -U+53F6 <> U+8449 -U+53F7 <> U+865F -U+53F9 <> U+5606 -U+53FD <> U+5630 -U+540C <> U+540C -U+540E <> U+540E -U+5411 <> U+66CF -U+5413 <> U+5687 -U+5415 <> U+5442 -U+5417 <> U+55CE -U+5423 <> U+551A -U+5428 <> U+5678 -U+542C <> U+807D -U+542F <> U+555F -U+5434 <> U+5433 -U+5450 <> U+5436 -U+5452 <> U+5638 -U+5453 <> U+56C8 -U+5455 <> U+5614 -U+5456 <> U+56A6 -U+5457 <> U+5504 -U+5458 <> U+54E1 -U+5459 <> U+54BC -U+545B <> U+55C6 -U+545C <> U+55DA -U+548F <> U+8A60 -U+5499 <> U+56A8 -U+549B <> U+5680 -U+549D <> U+565D -U+54A4 <> U+5412 -U+54B8 <> U+9E79 -U+54CD <> U+97FF -U+54D1 <> U+555E -U+54D2 <> U+5660 -U+54D3 <> U+5635 -U+54D4 <> U+55F6 -U+54D5 <> U+5666 -U+54D7 <> U+5629 -U+54D9 <> U+5672 -U+54DC <> U+568C -U+54DD <> U+5665 -U+54DF <> U+55B2 -U+551B <> U+561C -U+551D <> U+55CA -U+5520 <> U+562E -U+5521 <> U+5562 -U+5522 <> U+55E9 -U+5524 <> U+559A -U+5567 <> U+5616 -U+556C <> U+55C7 -U+556D <> U+56C0 -U+556E <> U+5699 -U+556F <> U+5613 -U+5570 <> U+56C9 -U+5574 <> U+563D -U+5578 <> U+562F -U+55B7 <> U+5674 -U+55BD <> U+560D -U+55BE <> U+56B3 -U+55EB <> U+56C1 -U+55F3 <> U+566F -U+5618 <> U+5653 -U+5624 <> U+56B6 -U+5631 <> U+56D1 -U+565C <> U+5695 -U+56A3 <> U+56C2 -U+56E2 <> U+5718 -U+56ED <> U+5712 -U+56F0 <> U+774F -U+56F1 <> U+56EA -U+56F4 <> U+570D -U+56F5 <> U+5707 -U+56FD <> U+570B -U+56FE <> U+5716 -U+5706 <> U+5713 -U+5723 <> U+8056 -U+5739 <> U+58D9 -U+573A <> U+5834 -U+5742 <> U+962A -U+574F <> U+58DE -U+5757 <> U+584A -U+575A <> U+5805 -U+575B <> U+58C7 -U+575C <> U+58E2 -U+575D <> U+58E9 -U+575E <> U+5862 -U+575F <> U+58B3 -U+5760 <> U+589C -U+5784 <> U+58DF -U+5785 <> U+58E0 -U+5786 <> U+58DA -U+5792 <> U+58D8 -U+57A6 <> U+58BE -U+57A9 <> U+580A -U+57AB <> U+588A -U+57AD <> U+57E1 -U+57B1 <> U+58CB -U+57B2 <> U+584F -U+57B4 <> U+5816 -U+57D8 <> U+5852 -U+57D9 <> U+5864 -U+57DA <> U+581D -U+57EF <> U+57B5 -U+5811 <> U+5879 -U+5815 <> U+58AE -U+5899 <> U+7246 -U+58EE <> U+58EF -U+58F0 <> U+8072 -U+58F3 <> U+6BBC -U+58F6 <> U+58FA -U+58F8 <> U+58FC -U+5904 <> U+8655 -U+5907 <> U+5099 -U+590D <> U+5FA9 -U+591F <> U+5920 -U+5934 <> U+982D -U+5938 <> U+8A87 -U+5939 <> U+593E -U+593A <> U+596A -U+5941 <> U+5969 -U+5942 <> U+5950 -U+594B <> U+596E -U+5956 <> U+734E -U+5965 <> U+5967 -U+5978 <> U+59E6 -U+5986 <> U+599D -U+5987 <> U+5A66 -U+5988 <> U+5ABD -U+59A9 <> U+5AF5 -U+59AA <> U+5AD7 -U+59AB <> U+5AAF -U+59D7 <> U+59CD -U+59F9 <> U+597C -U+5A04 <> U+5A41 -U+5A05 <> U+5A6D -U+5A06 <> U+5B08 -U+5A07 <> U+5B0C -U+5A08 <> U+5B4C -U+5A31 <> U+5A1B -U+5A32 <> U+5AA7 -U+5A34 <> U+5AFB -U+5A73 <> U+5AFF -U+5A74 <> U+5B30 -U+5A75 <> U+5B0B -U+5A76 <> U+5B38 -U+5AAA <> U+5ABC -U+5AAD <> U+5B03 -U+5AD2 <> U+5B21 -U+5AD4 <> U+5B2A -U+5AF1 <> U+5B19 -U+5B37 <> U+5B24 -U+5B59 <> U+5B6B -U+5B66 <> U+5B78 -U+5B6A <> U+5B7F -U+5B81 <> U+5BE7 -U+5B9D <> U+5BF6 -U+5B9E <> U+5BE6 -U+5BA0 <> U+5BF5 -U+5BA1 <> U+5BE9 -U+5BAA <> U+61B2 -U+5BAB <> U+5BAE -U+5BBD <> U+5BEC -U+5BBE <> U+8CD3 -U+5BDD <> U+5BE2 -U+5BF9 <> U+5C0D -U+5BFB <> U+5C0B -U+5BFC <> U+5C0E -U+5BFF <> U+58FD -U+5C06 <> U+5C07 -U+5C14 <> U+723E -U+5C18 <> U+5875 -U+5C1D <> U+5617 -U+5C27 <> U+582F -U+5C34 <> U+5C37 -U+5C38 <> U+5C4D -U+5C3D <> U+5118 -U+5C42 <> U+5C64 -U+5C43 <> U+5C53 -U+5C49 <> U+5C5C -U+5C4A <> U+5C46 -U+5C5E <> U+5C6C -U+5C61 <> U+5C62 -U+5C66 <> U+5C68 -U+5C7F <> U+5DBC -U+5C81 <> U+6B72 -U+5C82 <> U+8C48 -U+5C96 <> U+5D87 -U+5C97 <> U+5D17 -U+5C98 <> U+5CF4 -U+5C99 <> U+5DB4 -U+5C9A <> U+5D50 -U+5C9B <> U+5CF6 -U+5CAD <> U+5DBA -U+5CBD <> U+5D2C -U+5CBF <> U+5DCB -U+5CC4 <> U+5DA7 -U+5CE1 <> U+5CFD -U+5CE3 <> U+5DA2 -U+5CE4 <> U+5DA0 -U+5CE5 <> U+5D22 -U+5CE6 <> U+5DD2 -U+5D02 <> U+5D97 -U+5D03 <> U+5D0D -U+5D04 <> U+5DAE -U+5D2D <> U+5D84 -U+5D58 <> U+5DB8 -U+5D5A <> U+5D94 -U+5D5D <> U+5D81 -U+5DC5 <> U+5DD4 -U+5DE9 <> U+978F -U+5DEF <> U+5DF0 -U+5E01 <> U+5E63 -U+5E05 <> U+5E25 -U+5E08 <> U+5E2B -U+5E0F <> U+5E43 -U+5E10 <> U+5E33 -U+5E18 <> U+7C3E -U+5E1C <> U+5E5F -U+5E26 <> U+5E36 -U+5E27 <> U+5E40 -U+5E2E <> U+5E6B -U+5E31 <> U+5E6C -U+5E3B <> U+5E58 -U+5E3C <> U+5E57 -U+5E42 <> U+51AA -U+5E72 <> U+4E7E -U+5E76 <> U+4E26 -U+5E7F <> U+5EE3 -U+5E84 <> U+838A -U+5E86 <> U+6176 -U+5E90 <> U+5EEC -U+5E91 <> U+5EE1 -U+5E93 <> U+5EAB -U+5E94 <> U+61C9 -U+5E99 <> U+5EDF -U+5E9E <> U+9F90 -U+5E9F <> U+5EE2 -U+5EEA <> U+5EE9 -U+5F00 <> U+958B -U+5F02 <> U+7570 -U+5F03 <> U+68C4 -U+5F11 <> U+5F12 -U+5F20 <> U+5F35 -U+5F25 <> U+5F4C -U+5F2A <> U+5F33 -U+5F2F <> U+5F4E -U+5F39 <> U+5F48 -U+5F3A <> U+5F37 -U+5F52 <> U+6B78 -U+5F53 <> U+5679 -U+5F55 <> U+9304 -U+5F5D <> U+5F5E -U+5F5F <> U+5F60 -U+5F66 <> U+5F65 -U+5F68 <> U+5F72 -U+5F7B <> U+5FB9 -U+5F81 <> U+5F81 -U+5F84 <> U+5F91 -U+5F95 <> U+5FA0 -U+5FA1 <> U+79A6 -U+5FB5 <> U+5FB5 -U+5FC6 <> U+61B6 -U+5FCF <> U+61FA -U+5FD7 <> U+5FD7 -U+5FE7 <> U+6182 -U+5FFE <> U+613E -U+6000 <> U+61F7 -U+6001 <> U+614B -U+6002 <> U+616B -U+6003 <> U+61AE -U+6004 <> U+616A -U+6005 <> U+60B5 -U+6006 <> U+6134 -U+601C <> U+6190 -U+603B <> U+7E3D -U+603C <> U+61DF -U+603F <> U+61CC -U+604B <> U+6200 -U+6052 <> U+6046 -U+6073 <> U+61C7 -U+6076 <> U+60E1 -U+6078 <> U+615F -U+6079 <> U+61E8 -U+607A <> U+6137 -U+607B <> U+60FB -U+607C <> U+60F1 -U+607D <> U+60F2 -U+60A6 <> U+6085 -U+60AB <> U+6128 -U+60AC <> U+61F8 -U+60AD <> U+6173 -U+60AE <> U+609E -U+60AF <> U+61AB -U+60CA <> U+9A5A -U+60E7 <> U+61FC -U+60E8 <> U+6158 -U+60E9 <> U+61F2 -U+60EB <> U+618A -U+60EC <> U+611C -U+60ED <> U+615A -U+60EE <> U+619A -U+60EF <> U+6163 -U+6120 <> U+614D -U+6124 <> U+61A4 -U+6126 <> U+6192 -U+613F <> U+613F -U+6151 <> U+61FE -U+61D1 <> U+61E3 -U+61D2 <> U+61F6 -U+61D4 <> U+61CD -U+6206 <> U+6207 -U+620B <> U+6214 -U+620F <> U+6232 -U+6217 <> U+6227 -U+6218 <> U+6230 -U+622C <> U+6229 -U+622F <> U+6231 -U+6237 <> U+6236 -U+6251 <> U+64B2 -U+6267 <> U+57F7 -U+6269 <> U+64F4 -U+626A <> U+636B -U+626B <> U+6383 -U+626C <> U+63DA -U+6270 <> U+64FE -U+629A <> U+64AB -U+629B <> U+62CB -U+629F <> U+6476 -U+62A0 <> U+6473 -U+62A1 <> U+6384 -U+62A2 <> U+6436 -U+62A4 <> U+8B77 -U+62A5 <> U+5831 -U+62C5 <> U+64D4 -U+62DF <> U+64EC -U+62E2 <> U+650F -U+62E3 <> U+63C0 -U+62E5 <> U+64C1 -U+62E6 <> U+6514 -U+62E7 <> U+64F0 -U+62E8 <> U+64A5 -U+62E9 <> U+64C7 -U+6302 <> U+639B -U+631A <> U+646F -U+631B <> U+6523 -U+631C <> U+6397 -U+631D <> U+64BE -U+631E <> U+64BB -U+631F <> U+633E -U+6320 <> U+6493 -U+6321 <> U+64CB -U+6322 <> U+649F -U+6323 <> U+6399 -U+6324 <> U+64E0 -U+6325 <> U+63EE -U+6326 <> U+648F -U+633D <> U+8F13 -U+635D <> U+6329 -U+635E <> U+6488 -U+635F <> U+640D -U+6361 <> U+64BF -U+6362 <> U+63DB -U+6363 <> U+6417 -U+636E <> U+64DA -U+63B3 <> U+64C4 -U+63B4 <> U+6451 -U+63B7 <> U+64F2 -U+63B8 <> U+64A3 -U+63BA <> U+647B -U+63BC <> U+645C -U+63FD <> U+652C -U+63FE <> U+6435 -U+63FF <> U+64B3 -U+6400 <> U+6519 -U+6401 <> U+64F1 -U+6402 <> U+645F -U+6405 <> U+652A -U+643A <> U+651C -U+6444 <> U+651D -U+6445 <> U+6504 -U+6446 <> U+64FA -U+6447 <> U+6416 -U+6448 <> U+64EF -U+644A <> U+6524 -U+6484 <> U+6516 -U+6491 <> U+6490 -U+64B5 <> U+6506 -U+64B7 <> U+64F7 -U+64B8 <> U+64FC -U+64BA <> U+651B -U+64DE <> U+64FB -U+6512 <> U+6522 -U+654C <> U+6575 -U+655B <> U+6582 -U+6569 <> U+6586 -U+6570 <> U+6578 -U+658B <> U+9F4B -U+6593 <> U+6595 -U+6597 <> U+9B25 -U+65A9 <> U+65AC -U+65AD <> U+65B7 -U+65E0 <> U+7121 -U+65E7 <> U+820A -U+65F6 <> U+6642 -U+65F7 <> U+66E0 -U+65F8 <> U+6698 -U+6619 <> U+66C7 -U+663C <> U+665D -U+663D <> U+66E8 -U+663E <> U+986F -U+664B <> U+6649 -U+6652 <> U+66EC -U+6653 <> U+66C9 -U+6654 <> U+66C4 -U+6655 <> U+6688 -U+6656 <> U+6689 -U+6682 <> U+66AB -U+66A7 <> U+66D6 -U+672F <> U+8853 -U+6734 <> U+6A38 -U+673A <> U+6A5F -U+6740 <> U+6BBA -U+6742 <> U+96DC -U+6743 <> U+6B0A -U+6746 <> U+687F -U+6761 <> U+689D -U+6765 <> U+4F86 -U+6768 <> U+694A -U+6769 <> U+69AA -U+6770 <> U+5091 -U+677E <> U+9B06 -U+677F <> U+95C6 -U+6781 <> U+6781 -U+6784 <> U+69CB -U+679E <> U+6A05 -U+67A2 <> U+6A1E -U+67A3 <> U+68D7 -U+67A5 <> U+6AEA -U+67A7 <> U+6898 -U+67A8 <> U+68D6 -U+67AA <> U+69CD -U+67AB <> U+6953 -U+67AD <> U+689F -U+67DC <> U+6AC3 -U+67E0 <> U+6AB8 -U+67FD <> U+6A89 -U+6800 <> U+6894 -U+6805 <> U+67F5 -U+6807 <> U+6A19 -U+6808 <> U+68E7 -U+6809 <> U+6ADB -U+680A <> U+6AF3 -U+680B <> U+68DF -U+680C <> U+6AE8 -U+680E <> U+6ADF -U+680F <> U+6B04 -U+6811 <> U+6A39 -U+6816 <> U+68F2 -U+6817 <> U+6144 -U+6837 <> U+6A23 -U+683E <> U+6B12 -U+6860 <> U+690F -U+6861 <> U+6A48 -U+6862 <> U+6968 -U+6863 <> U+6A94 -U+6864 <> U+69BF -U+6865 <> U+6A4B -U+6866 <> U+6A3A -U+6867 <> U+6A9C -U+6868 <> U+69F3 -U+6869 <> U+6A01 -U+686A <> U+6A33 -U+68A6 <> U+5922 -U+68BC <> U+6AAE -U+68BE <> U+68F6 -U+68BF <> U+69E4 -U+68C0 <> U+6AA2 -U+68C1 <> U+68B2 -U+68C2 <> U+6B1E -U+6901 <> U+69E8 -U+691D <> U+69FC -U+691F <> U+6ADD -U+6920 <> U+69E7 -U+6922 <> U+69F6 -U+6924 <> U+6B0F -U+692B <> U+6A3F -U+692D <> U+6A62 -U+697C <> U+6A13 -U+6984 <> U+6B16 -U+6985 <> U+69B2 -U+6987 <> U+6AEC -U+6988 <> U+6ADA -U+6989 <> U+6AF8 -U+69DA <> U+6A9F -U+69DB <> U+6ABB -U+69DF <> U+6AB3 -U+69E0 <> U+6AE7 -U+6A2A <> U+6A6B -U+6A2F <> U+6AA3 -U+6A31 <> U+6AFB -U+6A65 <> U+6AEB -U+6A71 <> U+6AE5 -U+6A79 <> U+6AD3 -U+6A7C <> U+6ADE -U+6AA9 <> U+6A81 -U+6B22 <> U+6B61 -U+6B24 <> U+6B5F -U+6B27 <> U+6B50 -U+6B7C <> U+6BB2 -U+6B81 <> U+6B7F -U+6B87 <> U+6BA4 -U+6B8B <> U+6B98 -U+6B92 <> U+6B9E -U+6B93 <> U+6BAE -U+6B9A <> U+6BAB -U+6BA1 <> U+6BAF -U+6BB4 <> U+6BC6 -U+6BC1 <> U+6BC0 -U+6BC2 <> U+8F42 -U+6BD5 <> U+7562 -U+6BD9 <> U+6583 -U+6BE1 <> U+6C08 -U+6BF5 <> U+6BFF -U+6C07 <> U+6C0C -U+6C14 <> U+6C23 -U+6C22 <> U+6C2B -U+6C29 <> U+6C2C -U+6C32 <> U+6C33 -U+6C47 <> U+532F -U+6C49 <> U+6F22 -U+6C64 <> U+6E6F -U+6C79 <> U+6D36 -U+6C88 <> U+700B -U+6C9F <> U+6E9D -U+6CA1 <> U+6C92 -U+6CA3 <> U+7043 -U+6CA4 <> U+6F1A -U+6CA5 <> U+701D -U+6CA6 <> U+6DEA -U+6CA7 <> U+6EC4 -U+6CA8 <> U+6E22 -U+6CA9 <> U+6E88 -U+6CAA <> U+6EEC -U+6CDE <> U+6FD8 -U+6CE8 <> U+8A3B -U+6CEA <> U+6DDA -U+6CF6 <> U+6FA9 -U+6CF7 <> U+7027 -U+6CF8 <> U+7018 -U+6CFA <> U+6FFC -U+6CFB <> U+7009 -U+6CFC <> U+6F51 -U+6CFD <> U+6FA4 -U+6CFE <> U+6D87 -U+6D01 <> U+6F54 -U+6D12 <> U+7051 -U+6D3C <> U+7AAA -U+6D43 <> U+6D79 -U+6D45 <> U+6DFA -U+6D46 <> U+6F3F -U+6D47 <> U+6F86 -U+6D48 <> U+6E5E -U+6D4A <> U+6FC1 -U+6D4B <> U+6E2C -U+6D4D <> U+6FAE -U+6D4E <> U+6FDF -U+6D4F <> U+700F -U+6D50 <> U+6EFB -U+6D51 <> U+6E3E -U+6D52 <> U+6EF8 -U+6D53 <> U+6FC3 -U+6D54 <> U+6F6F -U+6D55 <> U+6FDC -U+6D82 <> U+5857 -U+6D9B <> U+6FE4 -U+6D9D <> U+6F87 -U+6D9E <> U+6DF6 -U+6D9F <> U+6F23 -U+6DA0 <> U+6F7F -U+6DA1 <> U+6E26 -U+6DA2 <> U+6EB3 -U+6DA3 <> U+6E19 -U+6DA4 <> U+6ECC -U+6DA6 <> U+6F64 -U+6DA7 <> U+6F97 -U+6DA8 <> U+6F32 -U+6DA9 <> U+6F80 -U+6DC0 <> U+6FB1 -U+6E0A <> U+6DF5 -U+6E0C <> U+6DE5 -U+6E0D <> U+6F2C -U+6E0E <> U+7006 -U+6E10 <> U+6F38 -U+6E11 <> U+6FA0 -U+6E14 <> U+6F01 -U+6E17 <> U+6EF2 -U+6E29 <> U+6EAB -U+6E7E <> U+7063 -U+6E7F <> U+6FD5 -U+6E83 <> U+6F70 -U+6E85 <> U+6FFA -U+6E86 <> U+6F35 -U+6E87 <> U+6F0A -U+6ED7 <> U+6F77 -U+6EDA <> U+6EFE -U+6EDE <> U+6EEF -U+6EDF <> U+7067 -U+6EE0 <> U+7044 -U+6EE1 <> U+6EFF -U+6EE2 <> U+7005 -U+6EE4 <> U+6FFE -U+6EE5 <> U+6FEB -U+6EE6 <> U+7064 -U+6EE8 <> U+6FF1 -U+6EE9 <> U+7058 -U+6EEA <> U+6FA6 -U+6F13 <> U+7055 -U+6F24 <> U+7060 -U+6F46 <> U+7020 -U+6F47 <> U+701F -U+6F4B <> U+7032 -U+6F4D <> U+6FF0 -U+6F5C <> U+6F5B -U+6F74 <> U+7026 -U+6F9B <> U+7002 -U+6F9C <> U+703E -U+6FD1 <> U+7028 -U+6FD2 <> U+7015 -U+704F <> U+705D -U+706D <> U+6EC5 -U+706F <> U+71C8 -U+7075 <> U+9748 -U+707E <> U+707D -U+707F <> U+71E6 -U+7080 <> U+716C -U+7089 <> U+7210 -U+709C <> U+7152 -U+709D <> U+7197 -U+70B9 <> U+9EDE -U+70BC <> U+7149 -U+70BD <> U+71BE -U+70C1 <> U+720D -U+70C2 <> U+721B -U+70C3 <> U+70F4 -U+70DB <> U+71ED -U+70DF <> U+7159 -U+70E6 <> U+7169 -U+70E7 <> U+71D2 -U+70E8 <> U+71C1 -U+70E9 <> U+71F4 -U+70EB <> U+71D9 -U+70EC <> U+71FC -U+70ED <> U+71B1 -U+7115 <> U+7165 -U+7116 <> U+71DC -U+7118 <> U+71FE -U+7174 <> U+7185 -U+7231 <> U+611B -U+7237 <> U+723A -U+724D <> U+7258 -U+7266 <> U+6C02 -U+7275 <> U+727D -U+727A <> U+72A7 -U+728A <> U+72A2 -U+72B6 <> U+72C0 -U+72B7 <> U+7377 -U+72B8 <> U+7341 -U+72B9 <> U+7336 -U+72C8 <> U+72FD -U+72DD <> U+736E -U+72DE <> U+7370 -U+72EC <> U+7368 -U+72ED <> U+72F9 -U+72EE <> U+7345 -U+72EF <> U+736A -U+72F0 <> U+7319 -U+72F1 <> U+7344 -U+72F2 <> U+733B -U+7303 <> U+736B -U+730E <> U+7375 -U+7315 <> U+737C -U+7321 <> U+7380 -U+732A <> U+8C6C -U+732B <> U+8C93 -U+732C <> U+875F -U+732E <> U+737B -U+736D <> U+737A -U+7391 <> U+74A3 -U+739A <> U+7452 -U+739B <> U+746A -U+73AE <> U+744B -U+73AF <> U+74B0 -U+73B0 <> U+73FE -U+73B1 <> U+7472 -U+73BA <> U+74BD -U+73D0 <> U+743A -U+73D1 <> U+74CF -U+73F0 <> U+74AB -U+73F2 <> U+743F -U+740F <> U+7489 -U+7410 <> U+7463 -U+743C <> U+74CA -U+7476 <> U+7464 -U+7477 <> U+74A6 -U+748E <> U+74D4 -U+74D2 <> U+74DA -U+74EF <> U+750C -U+7535 <> U+96FB -U+753B <> U+756B -U+7545 <> U+66A2 -U+7574 <> U+7587 -U+7596 <> U+7664 -U+7597 <> U+7642 -U+759F <> U+7627 -U+75A0 <> U+7658 -U+75A1 <> U+760D -U+75AC <> U+7667 -U+75AD <> U+7632 -U+75AE <> U+7621 -U+75AF <> U+760B -U+75B1 <> U+76B0 -U+75B4 <> U+75FE -U+75C7 <> U+7665 -U+75C8 <> U+7670 -U+75C9 <> U+75D9 -U+75D2 <> U+7662 -U+75D6 <> U+7602 -U+75E8 <> U+7646 -U+75EA <> U+7613 -U+75EB <> U+7647 -U+7605 <> U+7649 -U+7606 <> U+762E -U+7617 <> U+761E -U+7618 <> U+763A -U+762A <> U+765F -U+762B <> U+7671 -U+763E <> U+766E -U+763F <> U+766D -U+765E <> U+7669 -U+7663 <> U+766C -U+766B <> U+7672 -U+7691 <> U+769A -U+76B1 <> U+76BA -U+76B2 <> U+76B8 -U+76CF <> U+76DE -U+76D0 <> U+9E7D -U+76D1 <> U+76E3 -U+76D6 <> U+84CB -U+76D7 <> U+76DC -U+76D8 <> U+76E4 -U+770D <> U+7798 -U+7726 <> U+7725 -U+772C <> U+77D3 -U+7740 <> U+8457 -U+7741 <> U+775C -U+7750 <> U+775E -U+7751 <> U+77BC -U+7786 <> U+77B6 -U+7792 <> U+779E -U+77A9 <> U+77DA -U+77EB <> U+77EF -U+77F6 <> U+78EF -U+77FE <> U+792C -U+77FF <> U+7926 -U+7800 <> U+78AD -U+7801 <> U+78BC -U+7816 <> U+78DA -U+7817 <> U+7868 -U+781A <> U+786F -U+781C <> U+78B8 -U+783A <> U+792A -U+783B <> U+7931 -U+783E <> U+792B -U+7840 <> U+790E -U+7841 <> U+785C -U+7855 <> U+78A9 -U+7856 <> U+7864 -U+7857 <> U+78FD -U+7859 <> U+78D1 -U+785A <> U+7904 -U+786E <> U+78BA -U+7875 <> U+78E0 -U+7877 <> U+7906 -U+788D <> U+7919 -U+789B <> U+78E7 -U+789C <> U+78E3 -U+793C <> U+79AE -U+7943 <> U+79A1 -U+794E <> U+7995 -U+7962 <> U+79B0 -U+796F <> U+798E -U+7977 <> U+79B1 -U+7978 <> U+798D -U+7980 <> U+7A1F -U+7984 <> U+797F -U+7985 <> U+79AA -U+79BB <> U+96E2 -U+79C3 <> U+79BF -U+79C6 <> U+7A08 -U+79CD <> U+7A2E -U+79EF <> U+7A4D -U+79F0 <> U+7A31 -U+79FD <> U+7A62 -U+79FE <> U+7A60 -U+7A06 <> U+7A6D -U+7A0E <> U+7A05 -U+7A23 <> U+7A4C -U+7A33 <> U+7A69 -U+7A51 <> U+7A61 -U+7A77 <> U+7AAE -U+7A83 <> U+7ACA -U+7A8D <> U+7AC5 -U+7A8E <> U+7AB5 -U+7A91 <> U+7AAF -U+7A9C <> U+7AC4 -U+7A9D <> U+7AA9 -U+7AA5 <> U+7ABA -U+7AA6 <> U+7AC7 -U+7AAD <> U+7AB6 -U+7AD6 <> U+8C4E -U+7ADE <> U+7AF6 -U+7B03 <> U+7BE4 -U+7B0B <> U+7B4D -U+7B14 <> U+7B46 -U+7B15 <> U+7B67 -U+7B3A <> U+7B8B -U+7B3C <> U+7C60 -U+7B3E <> U+7C69 -U+7B51 <> U+7BC9 -U+7B5A <> U+7BF3 -U+7B5B <> U+7BE9 -U+7B5C <> U+7C39 -U+7B5D <> U+7B8F -U+7B79 <> U+7C4C -U+7B7C <> U+7BD4 -U+7B7E <> U+7C3D -U+7B80 <> U+7C21 -U+7B93 <> U+7C59 -U+7BA6 <> U+7C00 -U+7BA7 <> U+7BCB -U+7BA8 <> U+7C5C -U+7BA9 <> U+7C6E -U+7BAA <> U+7C1E -U+7BAB <> U+7C2B -U+7BD1 <> U+7C23 -U+7BD3 <> U+7C0D -U+7BEE <> U+7C43 -U+7BEF <> U+7C5B -U+7BF1 <> U+7C6C -U+7C16 <> U+7C6A -U+7C41 <> U+7C5F -U+7C74 <> U+7CF4 -U+7C7B <> U+985E -U+7C7C <> U+79C8 -U+7C9C <> U+7CF6 -U+7C9D <> U+7CF2 -U+7CA4 <> U+7CB5 -U+7CAA <> U+7CDE -U+7CAE <> U+7CE7 -U+7CC1 <> U+7CDD -U+7CC7 <> U+9931 -U+7CFB <> U+4FC2 -U+7D27 <> U+7DCA -U+7D2F <> U+7E8D -U+7D77 <> U+7E36 -U+7E9F <> U+7CF9 -U+7EA0 <> U+7CFE -U+7EA1 <> U+7D06 -U+7EA2 <> U+7D05 -U+7EA3 <> U+7D02 -U+7EA4 <> U+7E96 -U+7EA5 <> U+7D07 -U+7EA6 <> U+7D04 -U+7EA7 <> U+7D1A -U+7EA8 <> U+7D08 -U+7EA9 <> U+7E8A -U+7EAA <> U+7D00 -U+7EAB <> U+7D09 -U+7EAC <> U+7DEF -U+7EAD <> U+7D1C -U+7EAE <> U+7D18 -U+7EAF <> U+7D14 -U+7EB0 <> U+7D15 -U+7EB1 <> U+7D17 -U+7EB2 <> U+7DB1 -U+7EB3 <> U+7D0D -U+7EB4 <> U+7D1D -U+7EB5 <> U+7E31 -U+7EB6 <> U+7DB8 -U+7EB7 <> U+7D1B -U+7EB8 <> U+7D19 -U+7EB9 <> U+7D0B -U+7EBA <> U+7D21 -U+7EBB <> U+7D35 -U+7EBC <> U+7D16 -U+7EBD <> U+7D10 -U+7EBE <> U+7D13 -U+7EBF <> U+7DDA -U+7EC0 <> U+7D3A -U+7EC1 <> U+7D32 -U+7EC2 <> U+7D31 -U+7EC3 <> U+7DF4 -U+7EC4 <> U+7D44 -U+7EC5 <> U+7D33 -U+7EC6 <> U+7D30 -U+7EC7 <> U+7E54 -U+7EC8 <> U+7D42 -U+7EC9 <> U+7E10 -U+7ECA <> U+7D46 -U+7ECB <> U+7D3C -U+7ECC <> U+7D40 -U+7ECD <> U+7D39 -U+7ECE <> U+7E79 -U+7ECF <> U+7D93 -U+7ED0 <> U+7D3F -U+7ED1 <> U+7D81 -U+7ED2 <> U+7D68 -U+7ED3 <> U+7D50 -U+7ED4 <> U+7D5D -U+7ED5 <> U+7E5E -U+7ED6 <> U+7D70 -U+7ED7 <> U+7D4E -U+7ED8 <> U+7E6A -U+7ED9 <> U+7D66 -U+7EDA <> U+7D62 -U+7EDB <> U+7D73 -U+7EDC <> U+7D61 -U+7EDD <> U+7D55 -U+7EDE <> U+7D5E -U+7EDF <> U+7D71 -U+7EE0 <> U+7D86 -U+7EE1 <> U+7D83 -U+7EE2 <> U+7D79 -U+7EE3 <> U+7E61 -U+7EE4 <> U+7D8C -U+7EE5 <> U+7D8F -U+7EE6 <> U+7D5B -U+7EE7 <> U+7E7C -U+7EE8 <> U+7D88 -U+7EE9 <> U+7E3E -U+7EEA <> U+7DD2 -U+7EEB <> U+7DBE -U+7EEC <> U+7DD3 -U+7EED <> U+7E8C -U+7EEE <> U+7DBA -U+7EEF <> U+7DCB -U+7EF0 <> U+7DBD -U+7EF1 <> U+979D -U+7EF2 <> U+7DC4 -U+7EF3 <> U+7E69 -U+7EF4 <> U+7DAD -U+7EF5 <> U+7DBF -U+7EF6 <> U+7DAC -U+7EF7 <> U+7E43 -U+7EF8 <> U+7DA2 -U+7EF9 <> U+7DAF -U+7EFA <> U+7DB9 -U+7EFB <> U+7DA3 -U+7EFC <> U+7D9C -U+7EFD <> U+7DBB -U+7EFE <> U+7DB0 -U+7EFF <> U+7DA0 -U+7F00 <> U+7DB4 -U+7F01 <> U+7DC7 -U+7F02 <> U+7DD9 -U+7F03 <> U+7DD7 -U+7F04 <> U+7DD8 -U+7F05 <> U+7DEC -U+7F06 <> U+7E9C -U+7F07 <> U+7DF9 -U+7F08 <> U+7DF2 -U+7F09 <> U+7DDD -U+7F0A <> U+7E15 -U+7F0B <> U+7E62 -U+7F0C <> U+7DE6 -U+7F0D <> U+7D9E -U+7F0E <> U+7DDE -U+7F0F <> U+7DF6 -U+7F11 <> U+7DF1 -U+7F12 <> U+7E0B -U+7F13 <> U+7DE9 -U+7F14 <> U+7DE0 -U+7F15 <> U+7E37 -U+7F16 <> U+7DE8 -U+7F17 <> U+7DE1 -U+7F18 <> U+7DE3 -U+7F19 <> U+7E09 -U+7F1A <> U+7E1B -U+7F1B <> U+7E1F -U+7F1C <> U+7E1D -U+7F1D <> U+7E2B -U+7F1E <> U+7E17 -U+7F1F <> U+7E1E -U+7F20 <> U+7E8F -U+7F21 <> U+7E2D -U+7F22 <> U+7E0A -U+7F23 <> U+7E11 -U+7F24 <> U+7E7D -U+7F25 <> U+7E39 -U+7F26 <> U+7E35 -U+7F27 <> U+7E32 -U+7F28 <> U+7E93 -U+7F29 <> U+7E2E -U+7F2A <> U+7E46 -U+7F2B <> U+7E45 -U+7F2C <> U+7E88 -U+7F2D <> U+7E5A -U+7F2E <> U+7E55 -U+7F2F <> U+7E52 -U+7F30 <> U+97C1 -U+7F31 <> U+7E7E -U+7F32 <> U+7E70 -U+7F33 <> U+7E6F -U+7F34 <> U+7E73 -U+7F35 <> U+7E98 -U+7F42 <> U+7F4C -U+7F51 <> U+7DB2 -U+7F57 <> U+7F85 -U+7F5A <> U+7F70 -U+7F62 <> U+7F77 -U+7F74 <> U+7F86 -U+7F81 <> U+7F88 -U+7F9F <> U+7FA5 -U+7FD8 <> U+7FF9 -U+7FD9 <> U+7FFD -U+7FDA <> U+7FEC -U+8022 <> U+802E -U+8027 <> U+802C -U+8038 <> U+8073 -U+803B <> U+6065 -U+8042 <> U+8076 -U+804B <> U+807E -U+804C <> U+8077 -U+804D <> U+8079 -U+8054 <> U+806F -U+8069 <> U+8075 -U+806A <> U+8070 -U+8083 <> U+8085 -U+80A0 <> U+8178 -U+80A4 <> U+819A -U+80AE <> U+9AAF -U+80B4 <> U+991A -U+80BE <> U+814E -U+80BF <> U+816B -U+80C0 <> U+8139 -U+80C1 <> U+8105 -U+80C6 <> U+81BD -U+80DC <> U+52DD -U+80E1 <> U+885A -U+80E7 <> U+6727 -U+80E8 <> U+8156 -U+80EA <> U+81DA -U+80EB <> U+811B -U+80F6 <> U+81A0 -U+8109 <> U+8108 -U+810D <> U+81BE -U+810F <> U+81DF -U+8110 <> U+81CD -U+8111 <> U+8166 -U+8113 <> U+81BF -U+8114 <> U+81E0 -U+811A <> U+8173 -U+8131 <> U+812B -U+8136 <> U+8161 -U+8138 <> U+81C9 -U+814A <> U+81D8 -U+8158 <> U+8195 -U+816D <> U+9F76 -U+817B <> U+81A9 -U+817C <> U+9766 -U+817D <> U+8183 -U+817E <> U+9A30 -U+8191 <> U+81CF -U+81DC <> U+81E2 -U+81F4 <> U+7DFB -U+8206 <> U+8F3F -U+820D <> U+6368 -U+8223 <> U+8264 -U+8230 <> U+8266 -U+8231 <> U+8259 -U+823B <> U+826B -U+8270 <> U+8271 -U+8273 <> U+8277 -U+827A <> U+85DD -U+8282 <> U+7BC0 -U+8288 <> U+7F8B -U+8297 <> U+858C -U+829C <> U+856A -U+82A6 <> U+8606 -U+82B8 <> U+8553 -U+82C1 <> U+84EF -U+82C7 <> U+8466 -U+82C8 <> U+85F6 -U+82CB <> U+83A7 -U+82CC <> U+8407 -U+82CD <> U+84BC -U+82CE <> U+82E7 -U+82CF <> U+8607 -U+82E7 <> U+85B4 -U+82F9 <> U+860B -U+8303 <> U+7BC4 -U+830E <> U+8396 -U+830F <> U+8622 -U+8311 <> U+8526 -U+8314 <> U+584B -U+8315 <> U+7162 -U+8327 <> U+7E6D -U+8346 <> U+834A -U+8350 <> U+85A6 -U+8359 <> U+8598 -U+835A <> U+83A2 -U+835B <> U+8558 -U+835C <> U+84FD -U+835D <> U+8434 -U+835E <> U+854E -U+835F <> U+8588 -U+8360 <> U+85BA -U+8361 <> U+76EA -U+8363 <> U+69AE -U+8364 <> U+8477 -U+8365 <> U+6ECE -U+8366 <> U+7296 -U+8367 <> U+7192 -U+8368 <> U+8541 -U+8369 <> U+85CE -U+836A <> U+84C0 -U+836B <> U+852D -U+836C <> U+8552 -U+836D <> U+8452 -U+836E <> U+8464 -U+836F <> U+85E5 -U+8385 <> U+849E -U+83B1 <> U+840A -U+83B2 <> U+84EE -U+83B3 <> U+8494 -U+83B4 <> U+8435 -U+83B6 <> U+859F -U+83B7 <> U+7372 -U+83B8 <> U+8555 -U+83B9 <> U+7469 -U+83BA <> U+9DAF -U+83BC <> U+84F4 -U+841D <> U+863F -U+8424 <> U+87A2 -U+8425 <> U+71DF -U+8426 <> U+7E08 -U+8427 <> U+856D -U+8428 <> U+85A9 -U+8471 <> U+8525 -U+8487 <> U+8546 -U+8489 <> U+8562 -U+848B <> U+8523 -U+848C <> U+851E -U+84DD <> U+85CD -U+84DF <> U+858A -U+84E0 <> U+863A -U+84E3 <> U+8577 -U+84E5 <> U+93A3 -U+84E6 <> U+9A40 -U+8502 <> U+8646 -U+8537 <> U+8594 -U+8539 <> U+861E -U+853A <> U+85FA -U+853C <> U+85F9 -U+8570 <> U+8580 -U+8572 <> U+8604 -U+8574 <> U+860A -U+85AE <> U+85EA -U+85D3 <> U+861A -U+8616 <> U+6AF1 -U+864F <> U+865C -U+8651 <> U+616E -U+865A <> U+865B -U+866B <> U+87F2 -U+866C <> U+866F -U+866E <> U+87E3 -U+867D <> U+96D6 -U+867E <> U+8766 -U+867F <> U+8806 -U+8680 <> U+8755 -U+8681 <> U+87FB -U+8682 <> U+879E -U+8683 <> U+8801 -U+8695 <> U+8836 -U+86AC <> U+8706 -U+86CA <> U+8831 -U+86CE <> U+8823 -U+86CF <> U+87F6 -U+86EE <> U+883B -U+86F0 <> U+87C4 -U+86F1 <> U+86FA -U+86F2 <> U+87EF -U+86F3 <> U+8784 -U+86F4 <> U+8810 -U+8715 <> U+86FB -U+8717 <> U+8778 -U+8721 <> U+8721 -U+8747 <> U+8805 -U+8748 <> U+87C8 -U+8749 <> U+87EC -U+877C <> U+87BB -U+877E <> U+8811 -U+8780 <> U+87BF -U+87A8 <> U+87CE -U+87CF <> U+8828 -U+8845 <> U+91C1 -U+8854 <> U+929C -U+8865 <> U+88DC -U+8868 <> U+9336 -U+886C <> U+896F -U+886E <> U+889E -U+8884 <> U+8956 -U+8885 <> U+88CA -U+8886 <> U+8918 -U+889C <> U+896A -U+88AD <> U+8972 -U+88AF <> U+894F -U+88C5 <> U+88DD -U+88C6 <> U+8960 -U+88C8 <> U+890C -U+88E2 <> U+8933 -U+88E3 <> U+895D -U+88E4 <> U+8932 -U+88E5 <> U+8949 -U+891B <> U+8938 -U+8934 <> U+8964 -U+8955 <> U+8974 -U+89C1 <> U+898B -U+89C2 <> U+89C0 -U+89C3 <> U+898E -U+89C4 <> U+898F -U+89C5 <> U+8993 -U+89C6 <> U+8996 -U+89C7 <> U+8998 -U+89C8 <> U+89BD -U+89C9 <> U+89BA -U+89CA <> U+89AC -U+89CB <> U+89A1 -U+89CC <> U+89BF -U+89CD <> U+89A5 -U+89CE <> U+89A6 -U+89CF <> U+89AF -U+89D0 <> U+89B2 -U+89D1 <> U+89B7 -U+89DE <> U+89F4 -U+89E6 <> U+89F8 -U+89EF <> U+89F6 -U+8A1A <> U+8ABE -U+8A5F <> U+8B8B -U+8A89 <> U+8B7D -U+8A8A <> U+8B04 -U+8BA0 <> U+8A01 -U+8BA1 <> U+8A08 -U+8BA2 <> U+8A02 -U+8BA3 <> U+8A03 -U+8BA4 <> U+8A8D -U+8BA5 <> U+8B4F -U+8BA6 <> U+8A10 -U+8BA7 <> U+8A0C -U+8BA8 <> U+8A0E -U+8BA9 <> U+8B93 -U+8BAA <> U+8A15 -U+8BAB <> U+8A16 -U+8BAC <> U+8A17 -U+8BAD <> U+8A13 -U+8BAE <> U+8B70 -U+8BAF <> U+8A0A -U+8BB0 <> U+8A18 -U+8BB1 <> U+8A12 -U+8BB2 <> U+8B1B -U+8BB3 <> U+8AF1 -U+8BB4 <> U+8B33 -U+8BB5 <> U+8A4E -U+8BB6 <> U+8A1D -U+8BB7 <> U+8A25 -U+8BB8 <> U+8A31 -U+8BB9 <> U+8A1B -U+8BBA <> U+8AD6 -U+8BBB <> U+8A29 -U+8BBC <> U+8A1F -U+8BBD <> U+8AF7 -U+8BBE <> U+8A2D -U+8BBF <> U+8A2A -U+8BC0 <> U+8A23 -U+8BC1 <> U+8B49 -U+8BC2 <> U+8A41 -U+8BC3 <> U+8A36 -U+8BC4 <> U+8A55 -U+8BC5 <> U+8A5B -U+8BC6 <> U+8B58 -U+8BC7 <> U+8A57 -U+8BC8 <> U+8A50 -U+8BC9 <> U+8A34 -U+8BCA <> U+8A3A -U+8BCB <> U+8A46 -U+8BCC <> U+8B05 -U+8BCD <> U+8A5E -U+8BCE <> U+8A58 -U+8BCF <> U+8A54 -U+8BD0 <> U+8A56 -U+8BD1 <> U+8B6F -U+8BD2 <> U+8A52 -U+8BD3 <> U+8A86 -U+8BD4 <> U+8A84 -U+8BD5 <> U+8A66 -U+8BD6 <> U+8A7F -U+8BD7 <> U+8A69 -U+8BD8 <> U+8A70 -U+8BD9 <> U+8A7C -U+8BDA <> U+8AA0 -U+8BDB <> U+8A85 -U+8BDC <> U+8A75 -U+8BDD <> U+8A71 -U+8BDE <> U+8A95 -U+8BDF <> U+8A6C -U+8BE0 <> U+8A6E -U+8BE1 <> U+8A6D -U+8BE2 <> U+8A62 -U+8BE3 <> U+8A63 -U+8BE4 <> U+8ACD -U+8BE5 <> U+8A72 -U+8BE6 <> U+8A73 -U+8BE7 <> U+8A6B -U+8BE8 <> U+8AE2 -U+8BE9 <> U+8A61 -U+8BEA <> U+8B78 -U+8BEB <> U+8AA1 -U+8BEC <> U+8AA3 -U+8BED <> U+8A9E -U+8BEE <> U+8A9A -U+8BEF <> U+8AA4 -U+8BF0 <> U+8AA5 -U+8BF1 <> U+8A98 -U+8BF2 <> U+8AA8 -U+8BF3 <> U+8A91 -U+8BF4 <> U+8AAA -U+8BF5 <> U+8AA6 -U+8BF6 <> U+8A92 -U+8BF7 <> U+8ACB -U+8BF8 <> U+8AF8 -U+8BF9 <> U+8ACF -U+8BFA <> U+8AFE -U+8BFB <> U+8B80 -U+8BFC <> U+8AD1 -U+8BFD <> U+8AB9 -U+8BFE <> U+8AB2 -U+8BFF <> U+8AC9 -U+8C00 <> U+8ADB -U+8C01 <> U+8AB0 -U+8C02 <> U+8AD7 -U+8C03 <> U+8ABF -U+8C04 <> U+8AC2 -U+8C05 <> U+8AD2 -U+8C06 <> U+8AC4 -U+8C07 <> U+8AB6 -U+8C08 <> U+8AC7 -U+8C0A <> U+8ABC -U+8C0B <> U+8B00 -U+8C0C <> U+8AF6 -U+8C0D <> U+8ADC -U+8C0E <> U+8B0A -U+8C0F <> U+8AEB -U+8C10 <> U+8AE7 -U+8C11 <> U+8B14 -U+8C12 <> U+8B01 -U+8C13 <> U+8B02 -U+8C14 <> U+8AE4 -U+8C15 <> U+8AED -U+8C16 <> U+8AFC -U+8C17 <> U+8B92 -U+8C18 <> U+8AEE -U+8C19 <> U+8AF3 -U+8C1A <> U+8AFA -U+8C1B <> U+8AE6 -U+8C1C <> U+8B0E -U+8C1D <> U+8ADE -U+8C1E <> U+8ADD -U+8C1F <> U+8B28 -U+8C20 <> U+8B9C -U+8C21 <> U+8B16 -U+8C22 <> U+8B1D -U+8C23 <> U+8B20 -U+8C24 <> U+8B17 -U+8C25 <> U+8B1A -U+8C26 <> U+8B19 -U+8C27 <> U+8B10 -U+8C28 <> U+8B39 -U+8C29 <> U+8B3E -U+8C2A <> U+8B2B -U+8C2B <> U+8B7E -U+8C2C <> U+8B2C -U+8C2D <> U+8B5A -U+8C2E <> U+8B56 -U+8C2F <> U+8B59 -U+8C30 <> U+8B95 -U+8C31 <> U+8B5C -U+8C32 <> U+8B4E -U+8C33 <> U+8B9E -U+8C34 <> U+8B74 -U+8C35 <> U+8B6B -U+8C36 <> U+8B96 -U+8C37 <> U+7A40 -U+8C6E <> U+8C76 -U+8D1D <> U+8C9D -U+8D1E <> U+8C9E -U+8D1F <> U+8CA0 -U+8D20 <> U+8C9F -U+8D21 <> U+8CA2 -U+8D22 <> U+8CA1 -U+8D23 <> U+8CAC -U+8D24 <> U+8CE2 -U+8D25 <> U+6557 -U+8D26 <> U+8CEC -U+8D27 <> U+8CA8 -U+8D28 <> U+8CEA -U+8D29 <> U+8CA9 -U+8D2A <> U+8CAA -U+8D2B <> U+8CA7 -U+8D2C <> U+8CB6 -U+8D2D <> U+8CFC -U+8D2E <> U+8CAF -U+8D2F <> U+8CAB -U+8D30 <> U+8CB3 -U+8D31 <> U+8CE4 -U+8D32 <> U+8CC1 -U+8D33 <> U+8CB0 -U+8D34 <> U+8CBC -U+8D35 <> U+8CB4 -U+8D36 <> U+8CBA -U+8D37 <> U+8CB8 -U+8D38 <> U+8CBF -U+8D39 <> U+8CBB -U+8D3A <> U+8CC0 -U+8D3B <> U+8CBD -U+8D3C <> U+8CCA -U+8D3D <> U+8D04 -U+8D3E <> U+8CC8 -U+8D3F <> U+8CC4 -U+8D40 <> U+8CB2 -U+8D41 <> U+8CC3 -U+8D42 <> U+8CC2 -U+8D43 <> U+8D13 -U+8D44 <> U+8CC7 -U+8D45 <> U+8CC5 -U+8D46 <> U+8D10 -U+8D47 <> U+8CD5 -U+8D48 <> U+8CD1 -U+8D49 <> U+8CDA -U+8D4A <> U+8CD2 -U+8D4B <> U+8CE6 -U+8D4C <> U+8CED -U+8D4D <> U+9F4E -U+8D4E <> U+8D16 -U+8D4F <> U+8CDE -U+8D50 <> U+8CDC -U+8D51 <> U+8D14 -U+8D52 <> U+8CD9 -U+8D53 <> U+8CE1 -U+8D54 <> U+8CE0 -U+8D55 <> U+8CE7 -U+8D56 <> U+8CF4 -U+8D57 <> U+8CF5 -U+8D58 <> U+8D05 -U+8D59 <> U+8CFB -U+8D5A <> U+8CFA -U+8D5B <> U+8CFD -U+8D5C <> U+8CFE -U+8D5D <> U+8D17 -U+8D5E <> U+8D0A -U+8D5F <> U+8D07 -U+8D60 <> U+8D08 -U+8D61 <> U+8D0D -U+8D62 <> U+8D0F -U+8D63 <> U+8D1B -U+8D6A <> U+8D6C -U+8D75 <> U+8D99 -U+8D76 <> U+8D95 -U+8D8B <> U+8DA8 -U+8DB1 <> U+8DB2 -U+8DB8 <> U+8E89 -U+8DC3 <> U+8E8D -U+8DC4 <> U+8E4C -U+8DDE <> U+8E92 -U+8DF5 <> U+8E10 -U+8DF6 <> U+8E82 -U+8DF7 <> U+8E7A -U+8DF8 <> U+8E55 -U+8DF9 <> U+8E9A -U+8DFB <> U+8E8B -U+8E0A <> U+8E34 -U+8E0C <> U+8E8A -U+8E2A <> U+8E64 -U+8E2C <> U+8E93 -U+8E2F <> U+8E91 -U+8E51 <> U+8EA1 -U+8E52 <> U+8E63 -U+8E70 <> U+8E95 -U+8E7F <> U+8EA5 -U+8E8F <> U+8EAA -U+8E9C <> U+8EA6 -U+8EAF <> U+8EC0 -U+8F66 <> U+8ECA -U+8F67 <> U+8ECB -U+8F68 <> U+8ECC -U+8F69 <> U+8ED2 -U+8F6A <> U+8ED1 -U+8F6B <> U+8ED4 -U+8F6C <> U+8F49 -U+8F6D <> U+8EDB -U+8F6E <> U+8F2A -U+8F6F <> U+8EDF -U+8F70 <> U+8F5F -U+8F71 <> U+8EF2 -U+8F72 <> U+8EFB -U+8F73 <> U+8F64 -U+8F74 <> U+8EF8 -U+8F75 <> U+8EF9 -U+8F76 <> U+8EFC -U+8F77 <> U+8EE4 -U+8F78 <> U+8EEB -U+8F79 <> U+8F62 -U+8F7A <> U+8EFA -U+8F7B <> U+8F15 -U+8F7C <> U+8EFE -U+8F7D <> U+8F09 -U+8F7E <> U+8F0A -U+8F7F <> U+8F4E -U+8F80 <> U+8F08 -U+8F81 <> U+8F07 -U+8F82 <> U+8F05 -U+8F83 <> U+8F03 -U+8F84 <> U+8F12 -U+8F85 <> U+8F14 -U+8F86 <> U+8F1B -U+8F87 <> U+8F26 -U+8F88 <> U+8F29 -U+8F89 <> U+8F1D -U+8F8A <> U+8F25 -U+8F8B <> U+8F1E -U+8F8C <> U+8F2C -U+8F8D <> U+8F1F -U+8F8E <> U+8F1C -U+8F8F <> U+8F33 -U+8F90 <> U+8F3B -U+8F91 <> U+8F2F -U+8F92 <> U+8F40 -U+8F93 <> U+8F38 -U+8F94 <> U+8F61 -U+8F95 <> U+8F45 -U+8F96 <> U+8F44 -U+8F97 <> U+8F3E -U+8F98 <> U+8F46 -U+8F99 <> U+8F4D -U+8F9A <> U+8F54 -U+8F9E <> U+8FAD -U+8FA9 <> U+8FAF -U+8FAB <> U+8FAE -U+8FB9 <> U+908A -U+8FBD <> U+907C -U+8FBE <> U+9054 -U+8FC1 <> U+9077 -U+8FC7 <> U+904E -U+8FC8 <> U+9081 -U+8FD0 <> U+904B -U+8FD8 <> U+9084 -U+8FD9 <> U+9019 -U+8FDB <> U+9032 -U+8FDC <> U+9060 -U+8FDD <> U+9055 -U+8FDE <> U+9023 -U+8FDF <> U+9072 -U+8FE9 <> U+9087 -U+8FF3 <> U+9015 -U+8FF9 <> U+8DE1 -U+9002 <> U+9069 -U+9009 <> U+9078 -U+900A <> U+905C -U+9012 <> U+905E -U+9026 <> U+9090 -U+903B <> U+908F -U+9057 <> U+907A -U+9065 <> U+9059 -U+9093 <> U+9127 -U+909D <> U+913A -U+90AC <> U+9114 -U+90AE <> U+90F5 -U+90B9 <> U+9112 -U+90BA <> U+9134 -U+90BB <> U+9130 -U+90C1 <> U+9B31 -U+90CF <> U+90DF -U+90D0 <> U+9136 -U+90D1 <> U+912D -U+90D3 <> U+9106 -U+90E6 <> U+9148 -U+90E7 <> U+9116 -U+90F8 <> U+9132 -U+9142 <> U+9147 -U+915D <> U+919E -U+9166 <> U+91B1 -U+9171 <> U+91AC -U+917D <> U+91C5 -U+917E <> U+91C3 -U+917F <> U+91C0 -U+91C7 <> U+57F0 -U+91CA <> U+91CB -U+91CC <> U+88E1 -U+9274 <> U+9452 -U+92AE <> U+947E -U+933E <> U+93E8 -U+9485 <> U+91D2 -U+9486 <> U+91D3 -U+9487 <> U+91D4 -U+9488 <> U+91DD -U+9489 <> U+91D8 -U+948A <> U+91D7 -U+948B <> U+91D9 -U+948C <> U+91D5 -U+948D <> U+91F7 -U+948E <> U+91FA -U+948F <> U+91E7 -U+9490 <> U+91E4 -U+9491 <> U+9212 -U+9492 <> U+91E9 -U+9493 <> U+91E3 -U+9494 <> U+9346 -U+9495 <> U+91F9 -U+9496 <> U+935A -U+9497 <> U+91F5 -U+9498 <> U+9203 -U+9499 <> U+9223 -U+949A <> U+9208 -U+949B <> U+9226 -U+949C <> U+9245 -U+949D <> U+920D -U+949E <> U+9214 -U+949F <> U+937E -U+94A0 <> U+9209 -U+94A1 <> U+92C7 -U+94A2 <> U+92FC -U+94A3 <> U+9211 -U+94A4 <> U+9210 -U+94A5 <> U+9470 -U+94A6 <> U+6B3D -U+94A7 <> U+921E -U+94A8 <> U+93A2 -U+94A9 <> U+9264 -U+94AA <> U+9227 -U+94AB <> U+9201 -U+94AC <> U+9225 -U+94AD <> U+9204 -U+94AE <> U+9215 -U+94AF <> U+9200 -U+94B0 <> U+923A -U+94B1 <> U+9322 -U+94B2 <> U+9266 -U+94B3 <> U+9257 -U+94B4 <> U+9237 -U+94B5 <> U+7F3D -U+94B6 <> U+9233 -U+94B7 <> U+9255 -U+94B8 <> U+923D -U+94B9 <> U+9238 -U+94BA <> U+925E -U+94BB <> U+947D -U+94BC <> U+926C -U+94BD <> U+926D -U+94BE <> U+9240 -U+94BF <> U+923F -U+94C0 <> U+923E -U+94C1 <> U+9435 -U+94C2 <> U+9251 -U+94C3 <> U+9234 -U+94C4 <> U+9460 -U+94C5 <> U+925B -U+94C6 <> U+925A -U+94C7 <> U+924B -U+94C8 <> U+9230 -U+94C9 <> U+9249 -U+94CA <> U+9248 -U+94CB <> U+924D -U+94CC <> U+922E -U+94CD <> U+9239 -U+94CE <> U+9438 -U+94CF <> U+9276 -U+94D0 <> U+92AC -U+94D1 <> U+92A0 -U+94D2 <> U+927A -U+94D3 <> U+92E9 -U+94D4 <> U+930F -U+94D5 <> U+92AA -U+94D6 <> U+92EE -U+94D7 <> U+92CF -U+94D8 <> U+92E3 -U+94D9 <> U+9403 -U+94DA <> U+928D -U+94DB <> U+943A -U+94DC <> U+9285 -U+94DD <> U+92C1 -U+94DE <> U+92B1 -U+94DF <> U+92A6 -U+94E0 <> U+93A7 -U+94E1 <> U+9358 -U+94E2 <> U+9296 -U+94E3 <> U+9291 -U+94E4 <> U+92CC -U+94E5 <> U+92A9 -U+94E6 <> U+929B -U+94E7 <> U+93F5 -U+94E8 <> U+9293 -U+94E9 <> U+93A9 -U+94EA <> U+927F -U+94EB <> U+929A -U+94EC <> U+927B -U+94ED <> U+9298 -U+94EE <> U+931A -U+94EF <> U+92AB -U+94F0 <> U+9278 -U+94F1 <> U+92A5 -U+94F2 <> U+93DF -U+94F3 <> U+9283 -U+94F4 <> U+940B -U+94F5 <> U+92A8 -U+94F6 <> U+9280 -U+94F7 <> U+92A3 -U+94F8 <> U+9444 -U+94F9 <> U+9412 -U+94FA <> U+92EA -U+94FB <> U+92D9 -U+94FC <> U+9338 -U+94FD <> U+92F1 -U+94FE <> U+93C8 -U+94FF <> U+93D7 -U+9500 <> U+92B7 -U+9501 <> U+9396 -U+9502 <> U+92F0 -U+9503 <> U+92E5 -U+9504 <> U+92E4 -U+9505 <> U+934B -U+9506 <> U+92EF -U+9507 <> U+92E8 -U+9508 <> U+93FD -U+9509 <> U+92BC -U+950A <> U+92DD -U+950B <> U+92D2 -U+950C <> U+92C5 -U+950D <> U+92F6 -U+950E <> U+9426 -U+950F <> U+9427 -U+9510 <> U+92B3 -U+9511 <> U+92BB -U+9512 <> U+92C3 -U+9513 <> U+92DF -U+9514 <> U+92E6 -U+9515 <> U+9312 -U+9516 <> U+9306 -U+9517 <> U+937A -U+9518 <> U+9369 -U+9519 <> U+932F -U+951A <> U+9328 -U+951B <> U+931B -U+951C <> U+9321 -U+951D <> U+9340 -U+951E <> U+9301 -U+951F <> U+9315 -U+9520 <> U+9329 -U+9521 <> U+932B -U+9522 <> U+932E -U+9523 <> U+947C -U+9524 <> U+9318 -U+9525 <> U+9310 -U+9526 <> U+9326 -U+9527 <> U+9455 -U+9528 <> U+6774 -U+9529 <> U+9308 -U+952A <> U+9343 -U+952B <> U+9307 -U+952C <> U+931F -U+952D <> U+9320 -U+952E <> U+9375 -U+952F <> U+92F8 -U+9530 <> U+9333 -U+9531 <> U+9319 -U+9532 <> U+9365 -U+9533 <> U+9348 -U+9534 <> U+9347 -U+9535 <> U+93D8 -U+9536 <> U+9376 -U+9537 <> U+9354 -U+9538 <> U+9364 -U+9539 <> U+936C -U+953A <> U+937E -U+953B <> U+935B -U+953C <> U+93AA -U+953D <> U+9360 -U+953E <> U+9370 -U+953F <> U+9384 -U+9540 <> U+934D -U+9541 <> U+9382 -U+9542 <> U+93E4 -U+9543 <> U+93A1 -U+9544 <> U+9428 -U+9545 <> U+9387 -U+9546 <> U+93CC -U+9547 <> U+93AE -U+9548 <> U+939B -U+9549 <> U+9398 -U+954A <> U+9477 -U+954B <> U+93B2 -U+954C <> U+942B -U+954D <> U+93B3 -U+954E <> U+93BF -U+954F <> U+93A6 -U+9550 <> U+93AC -U+9551 <> U+938A -U+9552 <> U+93B0 -U+9553 <> U+93B5 -U+9554 <> U+944C -U+9555 <> U+9394 -U+9556 <> U+93E2 -U+9557 <> U+93DC -U+9558 <> U+93DD -U+9559 <> U+93CD -U+955A <> U+93F0 -U+955B <> U+93DE -U+955C <> U+93E1 -U+955D <> U+93D1 -U+955E <> U+93C3 -U+955F <> U+93C7 -U+9560 <> U+93D0 -U+9561 <> U+9414 -U+9562 <> U+9481 -U+9563 <> U+9410 -U+9564 <> U+93F7 -U+9565 <> U+9465 -U+9566 <> U+9413 -U+9567 <> U+946D -U+9568 <> U+9420 -U+9569 <> U+9479 -U+956A <> U+93F9 -U+956B <> U+9419 -U+956C <> U+944A -U+956D <> U+9433 -U+956E <> U+9436 -U+956F <> U+9432 -U+9570 <> U+942E -U+9571 <> U+943F -U+9572 <> U+9454 -U+9573 <> U+9463 -U+9574 <> U+945E -U+9575 <> U+9471 -U+9576 <> U+9472 -U+957F <> U+9577 -U+95E8 <> U+9580 -U+95E9 <> U+9582 -U+95EA <> U+9583 -U+95EB <> U+9586 -U+95EC <> U+9588 -U+95ED <> U+9589 -U+95EE <> U+554F -U+95EF <> U+95D6 -U+95F0 <> U+958F -U+95F1 <> U+95C8 -U+95F2 <> U+9591 -U+95F3 <> U+958E -U+95F4 <> U+9593 -U+95F5 <> U+9594 -U+95F6 <> U+958C -U+95F7 <> U+60B6 -U+95F8 <> U+9598 -U+95F9 <> U+9B27 -U+95FA <> U+95A8 -U+95FB <> U+805E -U+95FC <> U+95E5 -U+95FD <> U+95A9 -U+95FE <> U+95AD -U+95FF <> U+95D3 -U+9600 <> U+95A5 -U+9601 <> U+95A3 -U+9602 <> U+95A1 -U+9603 <> U+95AB -U+9604 <> U+9B2E -U+9605 <> U+95B1 -U+9606 <> U+95AC -U+9607 <> U+95CD -U+9608 <> U+95BE -U+9609 <> U+95B9 -U+960A <> U+95B6 -U+960B <> U+9B29 -U+960C <> U+95BF -U+960D <> U+95BD -U+960E <> U+95BB -U+960F <> U+95BC -U+9610 <> U+95E1 -U+9611 <> U+95CC -U+9612 <> U+95C3 -U+9613 <> U+95E0 -U+9614 <> U+95CA -U+9615 <> U+95CB -U+9616 <> U+95D4 -U+9617 <> U+95D0 -U+9618 <> U+95D2 -U+9619 <> U+95D5 -U+961A <> U+95DE -U+961B <> U+95E4 -U+961F <> U+968A -U+9633 <> U+967D -U+9634 <> U+9670 -U+9635 <> U+9663 -U+9636 <> U+968E -U+9645 <> U+969B -U+9646 <> U+9678 -U+9647 <> U+96B4 -U+9648 <> U+9673 -U+9649 <> U+9658 -U+9655 <> U+965D -U+9667 <> U+9689 -U+9668 <> U+9695 -U+9669 <> U+96AA -U+968F <> U+96A8 -U+9690 <> U+96B1 -U+96B6 <> U+96B8 -U+96BD <> U+96CB -U+96BE <> U+96E3 -U+96CF <> U+96DB -U+96E0 <> U+8B8E -U+96F3 <> U+9742 -U+96FE <> U+9727 -U+9701 <> U+973D -U+9721 <> U+9722 -U+972D <> U+9744 -U+9753 <> U+975A -U+9759 <> U+975C -U+9762 <> U+9EB5 -U+9765 <> U+9768 -U+9791 <> U+97C3 -U+9792 <> U+97BD -U+97AF <> U+97C9 -U+97E6 <> U+97CB -U+97E7 <> U+97CC -U+97E8 <> U+97CD -U+97E9 <> U+97D3 -U+97EA <> U+97D9 -U+97EB <> U+97DE -U+97EC <> U+97DC -U+97F5 <> U+97FB -U+9875 <> U+9801 -U+9876 <> U+9802 -U+9877 <> U+9803 -U+9878 <> U+9807 -U+9879 <> U+9805 -U+987A <> U+9806 -U+987B <> U+9808 -U+987C <> U+980A -U+987D <> U+9811 -U+987E <> U+9867 -U+987F <> U+9813 -U+9880 <> U+980E -U+9881 <> U+9812 -U+9882 <> U+980C -U+9883 <> U+980F -U+9884 <> U+9810 -U+9885 <> U+9871 -U+9886 <> U+9818 -U+9887 <> U+9817 -U+9888 <> U+9838 -U+9889 <> U+9821 -U+988A <> U+9830 -U+988B <> U+9832 -U+988C <> U+981C -U+988D <> U+6F41 -U+988E <> U+71B2 -U+988F <> U+9826 -U+9890 <> U+9824 -U+9891 <> U+983B -U+9892 <> U+982E -U+9893 <> U+9839 -U+9894 <> U+9837 -U+9895 <> U+9834 -U+9896 <> U+7A4E -U+9897 <> U+9846 -U+9898 <> U+984C -U+9899 <> U+9852 -U+989A <> U+984E -U+989B <> U+9853 -U+989C <> U+984F -U+989D <> U+984D -U+989E <> U+9873 -U+989F <> U+9862 -U+98A0 <> U+985B -U+98A1 <> U+9859 -U+98A2 <> U+9865 -U+98A3 <> U+7E87 -U+98A4 <> U+986B -U+98A5 <> U+986C -U+98A6 <> U+9870 -U+98A7 <> U+9874 -U+98CE <> U+98A8 -U+98CF <> U+98BA -U+98D0 <> U+98AD -U+98D1 <> U+98AE -U+98D2 <> U+98AF -U+98D3 <> U+98B6 -U+98D4 <> U+98B8 -U+98D5 <> U+98BC -U+98D6 <> U+98BB -U+98D7 <> U+98C0 -U+98D8 <> U+98C4 -U+98D9 <> U+98C6 -U+98DA <> U+98C8 -U+98DE <> U+98DB -U+98E8 <> U+9957 -U+990D <> U+995C -U+9963 <> U+98E0 -U+9964 <> U+98E3 -U+9965 <> U+98E2 -U+9966 <> U+98E5 -U+9967 <> U+9933 -U+9968 <> U+98E9 -U+9969 <> U+993C -U+996A <> U+98EA -U+996B <> U+98EB -U+996C <> U+98ED -U+996D <> U+98EF -U+996E <> U+98F2 -U+996F <> U+991E -U+9970 <> U+98FE -U+9971 <> U+98FD -U+9972 <> U+98FC -U+9973 <> U+98FF -U+9974 <> U+98F4 -U+9975 <> U+990C -U+9976 <> U+9952 -U+9977 <> U+9909 -U+9978 <> U+9904 -U+9979 <> U+990E -U+997A <> U+9903 -U+997B <> U+990F -U+997C <> U+9905 -U+997D <> U+9911 -U+997E <> U+9916 -U+997F <> U+9913 -U+9980 <> U+9918 -U+9981 <> U+9912 -U+9982 <> U+9915 -U+9983 <> U+991C -U+9984 <> U+991B -U+9985 <> U+9921 -U+9986 <> U+9928 -U+9987 <> U+9937 -U+9988 <> U+994B -U+9989 <> U+9936 -U+998A <> U+993F -U+998B <> U+995E -U+998C <> U+9941 -U+998D <> U+9943 -U+998E <> U+993A -U+998F <> U+993E -U+9990 <> U+9948 -U+9991 <> U+9949 -U+9992 <> U+9945 -U+9993 <> U+994A -U+9994 <> U+994C -U+9995 <> U+9962 -U+9A6C <> U+99AC -U+9A6D <> U+99AD -U+9A6E <> U+99B1 -U+9A6F <> U+99B4 -U+9A70 <> U+99B3 -U+9A71 <> U+9A45 -U+9A72 <> U+99B9 -U+9A73 <> U+99C1 -U+9A74 <> U+9A62 -U+9A75 <> U+99D4 -U+9A76 <> U+99DB -U+9A77 <> U+99DF -U+9A78 <> U+99D9 -U+9A79 <> U+99D2 -U+9A7A <> U+9A36 -U+9A7B <> U+99D0 -U+9A7C <> U+99DD -U+9A7D <> U+99D1 -U+9A7E <> U+99D5 -U+9A7F <> U+9A5B -U+9A80 <> U+99D8 -U+9A81 <> U+9A4D -U+9A82 <> U+7F75 -U+9A83 <> U+99F0 -U+9A84 <> U+9A55 -U+9A85 <> U+9A4A -U+9A86 <> U+99F1 -U+9A87 <> U+99ED -U+9A88 <> U+99E2 -U+9A89 <> U+9A6B -U+9A8A <> U+9A6A -U+9A8B <> U+9A01 -U+9A8C <> U+9A57 -U+9A8D <> U+9A02 -U+9A8E <> U+99F8 -U+9A8F <> U+99FF -U+9A90 <> U+9A0F -U+9A91 <> U+9A0E -U+9A92 <> U+9A0D -U+9A93 <> U+9A05 -U+9A94 <> U+9A0C -U+9A95 <> U+9A4C -U+9A96 <> U+9A42 -U+9A97 <> U+9A19 -U+9A98 <> U+9A2D -U+9A99 <> U+9A24 -U+9A9A <> U+9A37 -U+9A9B <> U+9A16 -U+9A9C <> U+9A41 -U+9A9D <> U+9A2E -U+9A9E <> U+9A2B -U+9A9F <> U+9A38 -U+9AA0 <> U+9A43 -U+9AA1 <> U+9A3E -U+9AA2 <> U+9A44 -U+9AA3 <> U+9A4F -U+9AA4 <> U+9A5F -U+9AA5 <> U+9A65 -U+9AA6 <> U+9A66 -U+9AA7 <> U+9A64 -U+9AC5 <> U+9ACF -U+9ACB <> U+9AD6 -U+9ACC <> U+9AD5 -U+9B13 <> U+9B22 -U+9B36 <> U+9B39 -U+9B47 <> U+9B58 -U+9B49 <> U+9B4E -U+9C7C <> U+9B5A -U+9C7D <> U+9B5B -U+9C7E <> U+9B62 -U+9C7F <> U+9B77 -U+9C80 <> U+9B68 -U+9C81 <> U+9B6F -U+9C82 <> U+9B74 -U+9C83 <> U+4C3E -U+9C84 <> U+9B7A -U+9C85 <> U+9B81 -U+9C86 <> U+9B83 -U+9C88 <> U+9C78 -U+9C89 <> U+9B8B -U+9C8A <> U+9B93 -U+9C8B <> U+9B92 -U+9C8C <> U+9B8A -U+9C8D <> U+9B91 -U+9C8E <> U+9C5F -U+9C8F <> U+9B8D -U+9C90 <> U+9B90 -U+9C91 <> U+9BAD -U+9C92 <> U+9B9A -U+9C93 <> U+9BB3 -U+9C94 <> U+9BAA -U+9C95 <> U+9B9E -U+9C96 <> U+9BA6 -U+9C97 <> U+9C02 -U+9C98 <> U+9B9C -U+9C99 <> U+9C60 -U+9C9A <> U+9C6D -U+9C9B <> U+9BAB -U+9C9C <> U+9BAE -U+9C9D <> U+9BBA -U+9C9E <> U+9BD7 -U+9C9F <> U+9C58 -U+9CA0 <> U+9BC1 -U+9CA1 <> U+9C7A -U+9CA2 <> U+9C31 -U+9CA3 <> U+9C39 -U+9CA4 <> U+9BC9 -U+9CA5 <> U+9C23 -U+9CA6 <> U+9C37 -U+9CA7 <> U+9BC0 -U+9CA8 <> U+9BCA -U+9CA9 <> U+9BC7 -U+9CAA <> U+9BB6 -U+9CAB <> U+9BFD -U+9CAC <> U+9BD2 -U+9CAD <> U+9BD6 -U+9CAE <> U+9BEA -U+9CAF <> U+9BD5 -U+9CB0 <> U+9BEB -U+9CB1 <> U+9BE1 -U+9CB2 <> U+9BE4 -U+9CB3 <> U+9BE7 -U+9CB4 <> U+9BDD -U+9CB5 <> U+9BE2 -U+9CB7 <> U+9BDB -U+9CB8 <> U+9BE8 -U+9CB9 <> U+9C3A -U+9CBA <> U+9BF4 -U+9CBB <> U+9BD4 -U+9CBC <> U+9C5D -U+9CBD <> U+9C08 -U+9CBE <> U+9C0F -U+9CBF <> U+9C68 -U+9CC0 <> U+9BF7 -U+9CC1 <> U+9C2E -U+9CC2 <> U+9C03 -U+9CC3 <> U+9C13 -U+9CC4 <> U+9C77 -U+9CC5 <> U+9C0D -U+9CC6 <> U+9C12 -U+9CC7 <> U+9C09 -U+9CC8 <> U+9C01 -U+9CC9 <> U+9C42 -U+9CCA <> U+9BFF -U+9CCB <> U+9C20 -U+9CCC <> U+9C32 -U+9CCD <> U+9C2D -U+9CCE <> U+9C28 -U+9CCF <> U+9C25 -U+9CD0 <> U+9C29 -U+9CD1 <> U+9C1F -U+9CD2 <> U+9C1C -U+9CD3 <> U+9C33 -U+9CD4 <> U+9C3E -U+9CD5 <> U+9C48 -U+9CD6 <> U+9C49 -U+9CD7 <> U+9C3B -U+9CD8 <> U+9C35 -U+9CD9 <> U+9C45 -U+9CDA <> U+4C81 -U+9CDB <> U+9C3C -U+9CDC <> U+9C56 -U+9CDD <> U+9C54 -U+9CDE <> U+9C57 -U+9CDF <> U+9C52 -U+9CE0 <> U+9C6F -U+9CE1 <> U+9C64 -U+9CE2 <> U+9C67 -U+9CE3 <> U+9C63 -U+9E1F <> U+9CE5 -U+9E20 <> U+9CE9 -U+9E21 <> U+96DE -U+9E22 <> U+9CF6 -U+9E23 <> U+9CF4 -U+9E24 <> U+9CF2 -U+9E25 <> U+9DD7 -U+9E26 <> U+9D09 -U+9E27 <> U+9DAC -U+9E28 <> U+9D07 -U+9E29 <> U+9D06 -U+9E2A <> U+9D23 -U+9E2B <> U+9D87 -U+9E2C <> U+9E15 -U+9E2D <> U+9D28 -U+9E2E <> U+9D1E -U+9E2F <> U+9D26 -U+9E30 <> U+9D12 -U+9E31 <> U+9D1F -U+9E32 <> U+9D1D -U+9E33 <> U+9D1B -U+9E34 <> U+9DFD -U+9E35 <> U+9D15 -U+9E36 <> U+9DE5 -U+9E37 <> U+9DD9 -U+9E38 <> U+9D2F -U+9E39 <> U+9D30 -U+9E3A <> U+9D42 -U+9E3B <> U+9D34 -U+9E3C <> U+9D43 -U+9E3D <> U+9D3F -U+9E3E <> U+9E1E -U+9E3F <> U+9D3B -U+9E40 <> U+9D50 -U+9E41 <> U+9D53 -U+9E42 <> U+9E1D -U+9E43 <> U+9D51 -U+9E44 <> U+9D60 -U+9E45 <> U+9D5D -U+9E46 <> U+9D52 -U+9E47 <> U+9DF3 -U+9E48 <> U+9D5C -U+9E49 <> U+9D61 -U+9E4A <> U+9D72 -U+9E4B <> U+9D93 -U+9E4C <> U+9D6A -U+9E4D <> U+9D7E -U+9E4E <> U+9D6F -U+9E4F <> U+9D6C -U+9E50 <> U+9D6E -U+9E51 <> U+9D89 -U+9E52 <> U+9D8A -U+9E53 <> U+9D77 -U+9E54 <> U+9DEB -U+9E55 <> U+9D98 -U+9E56 <> U+9DA1 -U+9E57 <> U+9D9A -U+9E58 <> U+9DBB -U+9E59 <> U+9D96 -U+9E5A <> U+9DBF -U+9E5B <> U+9DA5 -U+9E5C <> U+9DA9 -U+9E5D <> U+9DCA -U+9E5E <> U+9DC2 -U+9E5F <> U+9DB2 -U+9E60 <> U+9DB9 -U+9E61 <> U+9DBA -U+9E62 <> U+9DC1 -U+9E63 <> U+9DBC -U+9E64 <> U+9DB4 -U+9E65 <> U+9DD6 -U+9E66 <> U+9E1A -U+9E67 <> U+9DD3 -U+9E68 <> U+9DDA -U+9E69 <> U+9DEF -U+9E6A <> U+9DE6 -U+9E6B <> U+9DF2 -U+9E6C <> U+9DF8 -U+9E6D <> U+9DFA -U+9E6E <> U+4D09 -U+9E6F <> U+9E07 -U+9E70 <> U+9DF9 -U+9E71 <> U+9E0C -U+9E72 <> U+9E0F -U+9E73 <> U+9E1B -U+9E74 <> U+9E18 -U+9E7E <> U+9E7A -U+9EA6 <> U+9EA5 -U+9EB8 <> U+9EA9 -U+9EC4 <> U+9EC3 -U+9EC9 <> U+9ECC -U+9EE1 <> U+9EF6 -U+9EE9 <> U+9EF7 -U+9EEA <> U+9EF2 -U+9EFE <> U+9EFD -U+9F0B <> U+9EFF -U+9F0D <> U+9F09 -U+9F17 <> U+9780 -U+9F39 <> U+9F34 -U+9F50 <> U+9F4A -U+9F51 <> U+9F4F -U+9F7F <> U+9F52 -U+9F80 <> U+9F54 -U+9F81 <> U+9F55 -U+9F82 <> U+9F57 -U+9F83 <> U+9F5F -U+9F84 <> U+9F61 -U+9F85 <> U+9F59 -U+9F86 <> U+9F60 -U+9F87 <> U+9F5C -U+9F88 <> U+9F66 -U+9F89 <> U+9F6C -U+9F8A <> U+9F6A -U+9F8B <> U+9F72 -U+9F8C <> U+9F77 -U+9F99 <> U+9F8D -U+9F9A <> U+9F94 -U+9F9B <> U+9F95 -U+9F9F <> U+9F9C -U+9FCF <> U+4951 -U+9FD3 <> U+9FD2 -U+9FD4 <> U+93B6 -U+9FED <> U+9268 -U+201B2 <> U+5123 -U+201BF <> U+20325 -U+20242 <> U+3493 -U+20257 <> U+203E2 -U+206B3 <> U+2080E -U+206C5 <> U+527E -U+206C6 <> U+20786 -U+20BDF <> U+54EF -U+20BE0 <> U+5645 -U+20CA5 <> U+2114F -U+20D22 <> U+21114 -U+20D78 <> U+21123 -U+20D7E <> U+35F2 -U+212C0 <> U+214FE -U+212D7 <> U+2146D -U+21484 <> U+58C8 -U+21760 <> U+3737 -U+217B1 <> U+3722 -U+21B5C <> U+21B89 -U+21B6C <> U+21BA3 -U+21DB4 <> U+5D7C -U+222C8 <> U+389D -U+2261D <> U+228DA -U+2261E <> U+228ED -U+22653 <> U+61C0 -U+226EF <> U+398E -U+22ACA <> U+22DEE -U+22ADE <> U+22DAB -U+22AEC <> U+644B -U+22B26 <> U+22E7F -U+22B4F <> U+64E3 -U+22F7E <> U+6585 -U+23190 <> U+66E5 -U+23368 <> U+26888 -U+2336F <> U+816A -U+23370 <> U+8125 -U+23391 <> U+81D7 -U+23424 <> U+6B0D -U+23476 <> U+23832 -U+235CB <> U+6B13 -U+23613 <> U+237BB -U+23634 <> U+6AAD -U+23637 <> U+23755 -U+23B64 <> U+23BF4 -U+23DA9 <> U+6F85 -U+23DAB <> U+23FC9 -U+23E23 <> U+6FC6 -U+23EBC <> U+7059 -U+23EBD <> U+24063 -U+23F77 <> U+7003 -U+241A1 <> U+7193 -U+241C3 <> U+7204 -U+241C4 <> U+718C -U+24236 <> U+7189 -U+24237 <> U+3DFF -U+24280 <> U+2448E -U+242CF <> U+71A1 -U+247A4 <> U+7381 -U+2480B <> U+3E8F -U+24980 <> U+74D5 -U+24CC4 <> U+24CF8 -U+24DA7 <> U+24E2B -U+24F6F <> U+3FE7 -U+24F80 <> U+769F -U+25158 <> U+25303 -U+25174 <> U+4039 -U+251A7 <> U+77A4 -U+251E2 <> U+406A -U+2541F <> U+7912 -U+2542F <> U+25585 -U+25430 <> U+25565 -U+2543B <> U+7899 -U+259C2 <> U+25A10 -U+25B00 <> U+4259 -U+25B1E <> U+7C4B -U+25B20 <> U+7BD8 -U+25B49 <> U+25D4A -U+25B8B <> U+25E20 -U+25B9C <> U+4272 -U+25C54 <> U+25D43 -U+25E65 <> U+25F3D -U+25E85 <> U+42AD -U+25E87 <> U+25F56 -U+26208 <> U+25FCA -U+26209 <> U+7DF7 -U+2620B <> U+7D87 -U+2620C <> U+7D80 -U+2620E <> U+7E5F -U+2620F <> U+7DCD -U+26210 <> U+7E3A -U+26211 <> U+7DF8 -U+26212 <> U+26085 -U+26213 <> U+42FF -U+26214 <> U+7E0E -U+26215 <> U+7DF0 -U+26216 <> U+4308 -U+26217 <> U+260C4 -U+26218 <> U+430B -U+26219 <> U+4330 -U+2621A <> U+7E2C -U+2621B <> U+7E53 -U+2621C <> U+4316 -U+2621D <> U+7E4F -U+2621E <> U+431F -U+2621F <> U+431D -U+26220 <> U+4325 -U+26221 <> U+7E7B -U+266E8 <> U+6725 -U+2677C <> U+81A2 -U+267D7 <> U+268CE -U+26A29 <> U+26ABD -U+26C34 <> U+4573 -U+2725E <> U+45FF -U+274AD <> U+27525 -U+27BAA <> U+8A40 -U+27CD5 <> U+27CDF -U+27E51 <> U+4788 -U+27E53 <> U+27D94 -U+27E55 <> U+477B -U+27E56 <> U+8CDF -U+27E57 <> U+8D03 -U+27FC8 <> U+281C1 -U+28031 <> U+28123 -U+28074 <> U+2814D -U+280BA <> U+2820A -U+28104 <> U+2820C -U+2816B <> U+281DE -U+2816C <> U+8E9D -U+28257 <> U+8EC9 -U+28405 <> U+8ED7 -U+28406 <> U+282BB -U+28407 <> U+283E0 -U+28408 <> U+8F04 -U+28409 <> U+283AE -U+2840A <> U+283E5 -U+28479 <> U+48A8 -U+28930 <> U+2893B -U+28C3E <> U+93B7 -U+28C3F <> U+91F3 -U+28C40 <> U+2895B -U+28C41 <> U+9220 -U+28C42 <> U+920B -U+28C43 <> U+9232 -U+28C44 <> U+922F -U+28C45 <> U+9241 -U+28C46 <> U+9FAF -U+28C47 <> U+92B6 -U+28C48 <> U+92C9 -U+28C49 <> U+9344 -U+28C4A <> U+289F1 -U+28C4B <> U+9302 -U+28C4C <> U+93C6 -U+28C4D <> U+93AF -U+28C4E <> U+936E -U+28C4F <> U+939D -U+28C50 <> U+28AD2 -U+28C51 <> U+9404 -U+28C52 <> U+93C9 -U+28C53 <> U+940E -U+28C54 <> U+940F -U+28C55 <> U+28B82 -U+28C56 <> U+4969 -U+28DFF <> U+49B3 -U+28E00 <> U+28CD5 -U+28E01 <> U+28CD1 -U+28E02 <> U+958D -U+28E03 <> U+9590 -U+28E04 <> U+4998 -U+28E05 <> U+28D17 -U+28E06 <> U+28D69 -U+28E07 <> U+28D78 -U+28E09 <> U+28D80 -U+28E0A <> U+28D8F -U+28E0B <> U+28DB2 -U+28E0C <> U+28DAE -U+28E0E <> U+28DF2 -U+28E18 <> U+28F4F -U+28E1F <> U+49E2 -U+293FC <> U+4A8F -U+293FD <> U+293EA -U+293FE <> U+293A2 -U+293FF <> U+4A98 -U+29400 <> U+4A97 -U+29595 <> U+294E3 -U+29596 <> U+9843 -U+29597 <> U+4AF4 -U+29665 <> U+98B0 -U+29666 <> U+295C0 -U+29667 <> U+4B1E -U+29668 <> U+29639 -U+29669 <> U+29600 -U+2966A <> U+98B7 -U+2966B <> U+98BE -U+2966C <> U+2963A -U+2966D <> U+2961D -U+2966E <> U+4B18 -U+2966F <> U+4B1D -U+29670 <> U+29648 -U+297FF <> U+2969B -U+29800 <> U+296A5 -U+29801 <> U+296B5 -U+29802 <> U+296C6 -U+29803 <> U+296E9 -U+29805 <> U+297D0 -U+29806 <> U+29726 -U+29807 <> U+4B40 -U+29808 <> U+4B43 -U+29809 <> U+29707 -U+2980A <> U+29735 -U+2980B <> U+29754 -U+2980C <> U+9938 -U+2980E <> U+29784 -U+2980F <> U+297A6 -U+29820 <> U+29834 -U+299E6 <> U+2987A -U+299E8 <> U+99CE -U+299E9 <> U+2990A -U+299EA <> U+4BBE -U+299EB <> U+99DA -U+299EC <> U+298A1 -U+299ED <> U+4B7F -U+299EE <> U+298BE -U+299EF <> U+9A4B -U+299F0 <> U+4B9D -U+299F1 <> U+29949 -U+299F2 <> U+99E7 -U+299F3 <> U+298B8 -U+299F4 <> U+99E9 -U+299F5 <> U+298B4 -U+299F6 <> U+298CF -U+299FA <> U+99F6 -U+299FC <> U+298FA -U+299FF <> U+4BA0 -U+29A00 <> U+9A14 -U+29A01 <> U+4B9E -U+29A03 <> U+9A1D -U+29A04 <> U+9A2A -U+29A05 <> U+29938 -U+29A06 <> U+29919 -U+29A07 <> U+4BAB -U+29A08 <> U+9A1F -U+29A09 <> U+29932 -U+29A0A <> U+9A1A -U+29A0B <> U+29944 -U+29A0C <> U+29951 -U+29A0D <> U+29947 -U+29A0E <> U+9FAD -U+29A0F <> U+4BB3 -U+29A10 <> U+299C6 -U+29B23 <> U+29B59 -U+29B24 <> U+29C00 -U+29BD2 <> U+29BF3 -U+29C92 <> U+29CE4 -U+29F79 <> U+9B65 -U+29F7A <> U+29D69 -U+29F7B <> U+29D79 -U+29F7C <> U+9BF6 -U+29F7D <> U+29DB1 -U+29F7E <> U+9B9F -U+29F7F <> U+29DB0 -U+29F81 <> U+9BC4 -U+29F82 <> U+4C96 -U+29F83 <> U+9BB8 -U+29F84 <> U+29DF0 -U+29F85 <> U+29E03 -U+29F86 <> U+29E26 -U+29F87 <> U+9BF1 -U+29F88 <> U+4C59 -U+29F8A <> U+4C6C -U+29F8B <> U+4C70 -U+29F8C <> U+9C47 -U+2A242 <> U+4CB0 -U+2A243 <> U+9CFC -U+2A244 <> U+29FEA -U+2A245 <> U+2A026 -U+2A246 <> U+9D32 -U+2A248 <> U+9D1C -U+2A249 <> U+2A048 -U+2A24A <> U+9DE8 -U+2A24B <> U+2A03E -U+2A24C <> U+2A056 -U+2A24D <> U+9D5A -U+2A24E <> U+2A086 -U+2A24F <> U+2A0CF -U+2A250 <> U+2A0CD -U+2A251 <> U+9DD4 -U+2A252 <> U+2A115 -U+2A254 <> U+2A106 -U+2A255 <> U+2A1F3 -U+2A388 <> U+4D2C -U+2A389 <> U+9EB2 -U+2A38A <> U+9EA8 -U+2A38B <> U+4D34 -U+2A38D <> U+2A2FF -U+2A52D <> U+2A535 -U+2A68F <> U+2A600 -U+2A690 <> U+2A62F -U+2A79D <> U+51D9 -U+2A84F <> U+55F9 -U+2A8AE <> U+571E -U+2AA0A <> U+379E -U+2AA17 <> U+5C69 -U+2AED0 <> U+747D -U+2AFA2 <> U+774D -U+2B061 <> U+9D17 -U+2B088 <> U+426C -U+2B128 <> U+7D7A -U+2B138 <> U+7E81 -U+2B300 <> U+8940 -U+2B328 <> U+89BC -U+2B359 <> U+8A11 -U+2B35F <> U+8A51 -U+2B362 <> U+8B4A -U+2B370 <> U+8AF0 -U+2B372 <> U+8B0F -U+2B3CB <> U+8E7B -U+2B404 <> U+8ECF -U+2B406 <> U+8F63 -U+2B409 <> U+8EE8 -U+2B410 <> U+8F17 -U+2B413 <> U+8F2E -U+2B4E7 <> U+9207 -U+2B4E9 <> U+93E6 -U+2B50E <> U+940D -U+2B5B8 <> U+9858 -U+2B5E0 <> U+9926 -U+2B5E6 <> U+9914 -U+2B5E7 <> U+9917 -U+2B5EE <> U+992D -U+2B5F4 <> U+9958 -U+2B61D <> U+99C3 -U+2B623 <> U+99FB -U+2B624 <> U+9A03 -U+2B628 <> U+9A20 -U+2B688 <> U+9C6E -U+2B689 <> U+9B5F -U+2B692 <> U+9B84 -U+2B694 <> U+9BB0 -U+2B695 <> U+9C24 -U+2B699 <> U+9BC6 -U+2B6AD <> U+9C72 -U+2B6DB <> U+9CF7 -U+2B6DE <> U+9D03 -U+2B6E2 <> U+9E0B -U+2B6F6 <> U+9D92 -U+2B6F8 <> U+9D97 -U+2C4FC <> U+7A68 -U+2C62D <> U+7D9D -U+2C925 <> U+8B54 -U+2CBCE <> U+96A4 -U+2CE23 <> U+9DB1 diff --git a/macros/xetex/latex/xecjk/xeCJK.dtx b/macros/xetex/latex/xecjk/xeCJK.dtx index 360459e541..998b4d5ca1 100644 --- a/macros/xetex/latex/xecjk/xeCJK.dtx +++ b/macros/xetex/latex/xecjk/xeCJK.dtx @@ -40,7 +40,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainers of this work are Leo Liu and Qing Lee. @@ -106,7 +106,7 @@ Copyright and Licence and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later. - This work has the LPPL maintenance status `maintained'. + This work has the LPPL maintenance status "maintained". The Current Maintainers of this work are Leo Liu and Qing Lee. @@ -194,7 +194,7 @@ Copyright and Licence %<*package|config|fntef|listings|xunicode|xunextra> %<!(config|xunextra)>\NeedsTeXFormat{LaTeX2e} %<!(config|xunextra)>\RequirePackage{expl3} -%<+!driver>\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee@gmail.com> $ +%<+!driver>\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $ %<package> {Typesetting CJK scripts with XeLaTeX} %<config> {Configuration file for xeCJK package} %<fntef> {xeCJK font effect} @@ -207,7 +207,7 @@ Copyright and Licence %<listings>\ProvidesExplPackage{xeCJK-listings} %<xunicode>\ProvidesExplPackage{xunicode-addon} %<xunextra>\ProvidesExplFile{xunicode-extra.def} -%<!driver> {\ExplFileDate}{3.8.2}{\ExplFileDescription} +%<!driver> {\ExplFileDate}{3.8.3}{\ExplFileDescription} %</package|config|fntef|listings|xunicode|xunextra> %<*driver> \documentclass{ctxdoc} @@ -284,8 +284,9 @@ Copyright and Licence % \changes{v3.7.2}{2019/03/23}{åŒæ¥ \LaTeXiii{} 2019/03/05。} % \changes{v3.8.0}{2020/02/09}{兼容 \LaTeXe\ 2020/02/02 对 \pkg{NFSS} 的修改。} % \changes{v3.8.0}{2020/02/09}{清ç†è¿‡æ—¶çš„兼容性补ä¸ä»£ç 。} +% \changes{v3.8.3}{2020/04/07}{åˆ é™¤ \texttt{\_nopar}。} % -% \CheckSum{10763} +% \CheckSum{10799} % \GetFileId{xeCJK.sty} % % \title{\bfseries\pkg{xeCJK} å®åŒ…} @@ -303,7 +304,7 @@ Copyright and Licence % \pkg{xeCJK} 是一个 \XeLaTeX å®åŒ…,用于排版ä¸æ—¥éŸ©ï¼ˆCJK)文å—。主è¦åŠŸèƒ½ï¼š % \begin{enumerate} % \item 分别设置 CJK 和英文å—体; -% \item 自动忽略 CJK æ–‡å—é—´çš„ç©ºæ ¼è€Œä¿ç•™å…¶å®ƒç©ºæ ¼ï¼Œå…许在éžæ ‡ç‚¹æ±‰å—和英文 +% \item 自动忽略 CJK æ–‡å—é—´çš„ç©ºæ ¼è€Œä¿ç•™å…¶ä»–ç©ºæ ¼ï¼Œå…许在éžæ ‡ç‚¹æ±‰å—和英文 % å—æ¯ (a -- z, A -- Z) é—´æ–行; % \item æ供多ç§æ ‡ç‚¹å¤„ç†æ–¹å¼ï¼š 全角å¼ã€åŠè§’å¼ã€å¼€æ˜Žå¼ã€è¡Œæœ«åŠè§’å¼å’Œ CCT å¼ï¼› % \item 自动调整ä¸è‹±æ–‡é—´ç©ºç™½ã€‚ @@ -311,7 +312,7 @@ Copyright and Licence % % \pkg{xeCJK} 使用了 \XeTeX çš„ä¸€äº›æœ€æ–°ç‰¹æ€§ï¼Œéœ€è¦ \XeTeX{} 0.9995.0 (2009/06/29) 以 % åŽçš„版本。\pkg{xeCJK} ä¾èµ– \LaTeXiii{} 项目的å®åŒ…套件 -% \package{l3kernel} å’Œ \package{l3packages} 。 +% \package{l3kernel} å’Œ \package{l3packages}。 % \pkg{xeCJK} 还需è¦é€šè¿‡ \package{fontspec} å®åŒ…æ¥è°ƒç”¨ç³»ç»Ÿå—体。 % \pkg{xeCJK} ä¼šè‡ªåŠ¨æ ¹æ®éœ€è¦è½½å…¥è¿™äº›å®åŒ…。 % @@ -802,7 +803,7 @@ Copyright and Licence % \tn{addCJKfontfeatures} * \oarg{block_1, block_2, ...} \Arg{font features} % \end{syntax} % ä¸´æ—¶å¢žåŠ å½“å‰ä½¿ç”¨çš„ CJK å—体的选项。第一æ¡å‘½ä»¤ï¼Œä»…å¯¹å½“å‰ CJK 主分区å—体有效; -% 第二æ¡å¯¹ä¸»åˆ†åŒºå’Œå…¶å®ƒåˆ†åŒºçš„å—体都有效;第三æ¡ä»…对å¯é€‰å‚æ•°ä¸æŒ‡å®šçš„分区有效; +% 第二æ¡å¯¹ä¸»åˆ†åŒºå’Œå…¶ä»–分区的å—体都有效;第三æ¡ä»…对å¯é€‰å‚æ•°ä¸æŒ‡å®šçš„分区有效; % 第四æ¡å¯¹ä¸»åˆ†åŒºå’Œå¯é€‰å‚æ•°ä¸æŒ‡å®šçš„分区有效。例如,使用 % \begin{ctexexam} % \addCJKfontfeatures{Scale=1.1} @@ -1353,8 +1354,8 @@ Copyright and Licence % \begin{function}[added=2016-06-03]{textformat} % 设置下划线或点的æ£æ–‡çš„æ ¼å¼ã€‚例如:\smallskip % \begin{Example}[frame=single,numbers=left,gobble=6] -% \CJKunderline[textformat=\color{red}]{虚室生白,å‰ç¥¥æ¢æ¢}\\ -% \CJKunderdot[textformat=\bfseries, format=\color{blue}]{虚室生白,å‰ç¥¥æ¢æ¢} +% \CJKunderline[textformat=\color{blue}]{虚室生白,å‰ç¥¥æ¢æ¢}\\ +% \CJKunderdot[textformat=\bfseries, format=\color{red}]{虚室生白,å‰ç¥¥æ¢æ¢} % \end{Example} % \end{function} % @@ -1505,7 +1506,7 @@ Copyright and Licence % ç‰å®½å—体的代ç 对é½ç‰æƒ…形。需è¦æ³¨æ„的是,\tn{xeCJKVerbAddon} 对 \pkg{xeCJK} 的内 % 部进行了比较大的修改,使用它之åŽï¼Œå°†ç¦æ¢åœ¨ CJK å—符类之间自动æ¢è¡Œï¼Œè¿™ä¸Žè¥¿æ–‡åœ¨ % 抄录环境ä¸çš„情况是一致的。所以ä¸åº”该å•ç‹¬ä½¿ç”¨ï¼Œåº”该放在分组里é™åˆ¶å…¶ä½œç”¨åŸŸï¼Œå¦åˆ™ -% æ˜¯æ— æ•ˆçš„ã€‚å½“ç„¶å®ƒå¯ä»¥å’Œå…¶å®ƒå…³äºŽä»£ç 抄录的å®åŒ…é…åˆä½¿ç”¨ã€‚例如,å¯ä»¥ä½¿ç”¨äºŽ +% æ˜¯æ— æ•ˆçš„ã€‚å½“ç„¶å®ƒå¯ä»¥å’Œå…¶ä»–关于代ç 抄录的å®åŒ…é…åˆä½¿ç”¨ã€‚例如,å¯ä»¥ä½¿ç”¨äºŽ % \package{fancyvrb} å®åŒ…çš„ \texttt{formatcom} 选项。æ¤æ—¶è®¾ç½®çš„西文å—体应该确实 % 是ç‰å®½çš„以ä¿è¯å¯¹é½ã€‚若西文ç‰å®½å—体å‘生å˜åŠ¨ï¼ˆåŒ…括å—体大å°ï¼‰ï¼Œåˆ™éœ€è¦åœ¨å…¶åŽé¢ä½¿ç”¨ % \tn{xeCJKVerbAddon},é‡æ–°è®¡ç®—é—´è·çš„宽度。\tn{xeCJKOffVerbAddon} @@ -1526,7 +1527,7 @@ Copyright and Licence % \pkg{xeCJK} 在æ£æ–‡ä¸çš„一些特殊设置(汉å—ä¸‹åŠ ç‚¹ã€åœ¨ \env{verbatim} 或 % \env{lstlisting} 环境ä¸åˆ†é¡µï¼‰å¯èƒ½ä¼šå½±å“到 \TeX 的输出例行程åºï¼ˆoutput routine) % ä¸çš„内容(比如页眉和页脚)。\tn{xeCJKShipoutHook} 用于æ¢å¤æ£æ–‡ä¸çš„普通设置。 -% \pkg{xeCJK} å·²ç»å¤„ç†äº†é¡µçœ‰å’Œé¡µè„šçš„情况,其它的就需è¦æ ¹æ®æƒ…况自行调用。 +% \pkg{xeCJK} å·²ç»å¤„ç†äº†é¡µçœ‰å’Œé¡µè„šçš„情况,其他的就需è¦æ ¹æ®æƒ…况自行调用。 % 比如若使用 \pkg{eso-pic} 或者 \pkg{atbegshi} 实现文å—æ°´å°ï¼Œå¹¶ä¸”æ£æ–‡ä¸ä½¿ç”¨äº† % 以上所列的特殊形å¼ï¼Œå°±éœ€è¦åœ¨å‘½ä»¤ \tn{AtBeginShipout} çš„å‚数的最å‰é¢ä½¿ç”¨ % \tn{xeCJKShipoutHook}。 @@ -1534,7 +1535,7 @@ Copyright and Licence % % \section{已知问题和兼容性} % -% \XeTeX 在é…置文件 \file{unicode-letters.tex} ä¸å°†æ‰€æœ‰ CJK 表æ„æ–‡å—çš„ \tn{catcode} +% æ ¹æ® \pkg{unicode-data} å®åŒ…,\XeTeX 将所有 CJK 表æ„æ–‡å—çš„ \tn{catcode} % 设置为 $11$ã€‚å› æ¤æ±‰å—å¯ä»¥ç›´æŽ¥ç”¨ä½œæŽ§åˆ¶åºåˆ—çš„åå—,但是当汉å—出现在控制åºåˆ—åŽé¢çš„ % 时候,è¦ç”¨ç©ºæ ¼åˆ†éš”开,å¦åˆ™å°±ä¼šå‡ºçŽ°â€œ\texttt{! Undefined control sequence.}â€çš„错误。 % @@ -1565,7 +1566,7 @@ Copyright and Licence % \let\cprotect\icprotect % \end{frameverb} % æ¥å–消 \tn{cprotect} 的外部å®é™åˆ¶ã€‚但由于 \tn{cprotect} 的特殊性,应该åªåœ¨å¤–部 -% 使用它,å³ä¸è¦è®©å®ƒå‡ºçŽ°åœ¨ä»»ä½•å®çš„å‚æ•°ä¸ã€‚其它 \tn{outer} å®çš„情况,å¯ä»¥åœ¨å®ƒå‰é¢ +% 使用它,å³ä¸è¦è®©å®ƒå‡ºçŽ°åœ¨ä»»ä½•å®çš„å‚æ•°ä¸ã€‚其他 \tn{outer} å®çš„情况,å¯ä»¥åœ¨å®ƒå‰é¢ % åŠ ä¸Š \tn{relax} æ¥å›žé¿ä¸Šé¢çš„错误。 % % \pkg{xeCJK} ä¾èµ– \XeTeX çš„ \tn{XeTeXinterchartoks} 机制,与使用相åŒæœºåˆ¶çš„å®åŒ…(例如 @@ -1677,60 +1678,56 @@ Copyright and Licence % {\@@_msg_new:nn ,\@@_error:n,\@@_error:nx,\@@_warning:nx,\@@_info:nxx} % å„ç§ä¿¡æ¯å‡½æ•°çš„缩略形å¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_msg_new:nn { \msg_new:nnn { xeCJK } } -\cs_new_protected_nopar:Npn \@@_msg_new:nnn { \msg_new:nnnn { xeCJK } } -\cs_new_protected_nopar:Npn \@@_error:n { \msg_error:nn { xeCJK } } -\cs_new_protected_nopar:Npn \@@_error:nx { \msg_error:nnx { xeCJK } } -\cs_new_protected_nopar:Npn \@@_warning:n { \msg_warning:nn { xeCJK } } -\cs_new_protected_nopar:Npn \@@_warning:nx { \msg_warning:nnx { xeCJK } } -\cs_new_protected_nopar:Npn \@@_warning:nxx { \msg_warning:nnxx { xeCJK } } -\cs_new_protected_nopar:Npn \@@_warning:nxxx { \msg_warning:nnxxx { xeCJK } } -\cs_new_protected_nopar:Npn \@@_info:nxx { \msg_info:nnxx { xeCJK } } +\cs_new_protected:Npn \@@_msg_new:nn { \msg_new:nnn { xeCJK } } +\cs_new_protected:Npn \@@_msg_new:nnn { \msg_new:nnnn { xeCJK } } +\cs_new_protected:Npn \@@_error:n { \msg_error:nn { xeCJK } } +\cs_new_protected:Npn \@@_error:nx { \msg_error:nnx { xeCJK } } +\cs_new_protected:Npn \@@_warning:n { \msg_warning:nn { xeCJK } } +\cs_new_protected:Npn \@@_warning:nx { \msg_warning:nnx { xeCJK } } +\cs_new_protected:Npn \@@_warning:nxx { \msg_warning:nnxx { xeCJK } } +\cs_new_protected:Npn \@@_warning:nxxx { \msg_warning:nnxxx { xeCJK } } +\cs_new_protected:Npn \@@_info:nxx { \msg_info:nnxx { xeCJK } } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\xeCJK_allow_break:,\xeCJK_no_break:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_allow_break: +\cs_new_protected:Npn \xeCJK_allow_break: { \tex_penalty:D \c_zero_int } -\cs_new_protected_nopar:Npn \xeCJK_no_break: +\cs_new_protected:Npn \xeCJK_no_break: { \tex_penalty:D \c_@@_nobreak_penalty_int } \int_const:Nn \c_@@_nobreak_penalty_int { 10 000 } % \end{macrocode} % \end{macro} % +% \changes{v3.8.3}{2020/04/07}{ä¾èµ– \pkg{ctexhook} å®åŒ…。} +% % \begin{macro} -% {\@@_at_end_preamble:n,\@@_after_preamble:n,\@@_after_end_preamble:n} -% 在 \tn{document} å‰åŽåŠ 上å„ç§é’©å。 -% \begin{macrocode} +% {\@@_at_end_preamble:n,\@@_after_preamble:n, +% \@@_after_end_preamble:n,\@@_package_hook:nn} +% 在 \tn{document} å‰åŽå’Œå®åŒ…åŽåŠ 上å„ç§é’©å,ä¾èµ– \pkg{ctexhook}。 +% \begin{macrocode} +\RequirePackage { ctexhook } +\AtBeginDocument { \xeCJK@document@hook } +\ctex_at_end_preamble:n { \xeCJK@document@left@hook } +\ctex_after_end_preamble:n { \xeCJK@document@right@hook } +\cs_new_protected:Npn \xeCJK@document@hook + { \tl_use:N \g_@@_after_preamble_hook_tl } +\cs_new_protected:Npn \xeCJK@document@left@hook + { \tl_use:N \g_@@_at_end_preamble_hook_tl } +\cs_new_protected:Npn \xeCJK@document@right@hook + { \tl_use:N \g_@@_after_end_preamble_hook_tl } +\cs_new_protected:Npn \@@_at_end_preamble:n + { \tl_gput_right:Nn \g_@@_at_end_preamble_hook_tl } +\cs_new_protected:Npn \@@_after_preamble:n + { \tl_gput_right:Nn \g_@@_after_preamble_hook_tl } +\cs_new_protected:Npn \@@_after_end_preamble:n + { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl } +\cs_new_protected:Npn \@@_package_hook:nn + { \ctex_at_end_package:nn } \tl_new:N \g_@@_at_end_preamble_hook_tl \tl_new:N \g_@@_after_preamble_hook_tl \tl_new:N \g_@@_after_end_preamble_hook_tl -\cs_new_protected:Npn \@@_at_end_preamble:n #1 - { \tl_gput_right:Nn \g_@@_at_end_preamble_hook_tl {#1} } -\cs_new_protected:Npn \@@_after_preamble:n #1 - { \tl_gput_right:Nn \g_@@_after_preamble_hook_tl {#1} } -\cs_new_protected:Npn \@@_after_end_preamble:n #1 - { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl {#1} } -\xeCJK_if_package_loaded:nTF { etoolbox } - { - \AtEndPreamble { \g_@@_at_end_preamble_hook_tl } - \AfterPreamble { \g_@@_after_preamble_hook_tl } - \AfterEndPreamble { \g_@@_after_end_preamble_hook_tl } - } - { - \AtBeginDocument { \g_@@_after_preamble_hook_tl } - \cs_new_protected_nopar:Npn \xeCJK@document@left@hook - { \group_end: \g_@@_at_end_preamble_hook_tl \group_begin: } - \cs_new_protected_nopar:Npn \xeCJK@document@right@hook - { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D } - \cs_gset_nopar:Npx \document - { - \xeCJK@document@left@hook - \exp_not:o { \document } - \xeCJK@document@right@hook - } - } % \end{macrocode} % \end{macro} % @@ -1745,7 +1742,7 @@ Copyright and Licence % \begin{macrocode} \@@_after_preamble:n { \tl_put_right:Nn \@begindvi { \xeCJK@first@begindvi } } -\cs_new_protected_nopar:Npn \xeCJK@first@begindvi +\cs_new_protected:Npn \xeCJK@first@begindvi { \xeCJKShipoutHook \cs_if_exist:NTF \@begindvi @@ -1780,7 +1777,7 @@ Copyright and Licence % \changes{v3.2.4}{2013/07/02}{去掉外层分组括å·æ—¶ï¼Œç§»é™¤ç©ºæ ¼ï¼Œé¿å…æ»å¾ªçŽ¯ã€‚} % 去掉 |#1| 外层的分组括å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_tl_remove_outer_braces:N #1 +\cs_new_protected:Npn \xeCJK_tl_remove_outer_braces:N #1 { \tl_set:Nx #1 { \exp_args:No \xeCJK_tl_remove_outer_braces:n {#1} } } \cs_new:Npn \xeCJK_tl_remove_outer_braces:n #1 { @@ -1827,7 +1824,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_font_gset_to_current:N} % |#1| 是控制åºåˆ—çš„åå—,令它ç‰äºŽå½“å‰å—体命令。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_font_gset_to_current:N #1 +\cs_new_protected:Npn \xeCJK_font_gset_to_current:N #1 { \exp_after:wN \cs_gset_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D } \cs_generate_variant:Nn \xeCJK_font_gset_to_current:N { c } % \end{macrocode} @@ -1870,13 +1867,13 @@ Copyright and Licence { \int_compare:nNnTF \g_@@_space_factor_int < { 2000 } { - \_@@_space_skip_scale:nnn + \@@_space_skip_scale:nnn { \tex_fontdimen:D 2 ~ \tex_font:D } } { \skip_if_eq:nnTF \tex_xspaceskip:D \c_zero_skip { - \_@@_space_skip_scale:nnn + \@@_space_skip_scale:nnn { \tex_fontdimen:D 2 ~ \tex_font:D + \tex_fontdimen:D 7 ~ \tex_font:D @@ -1889,11 +1886,11 @@ Copyright and Licence } { \int_compare:nNnTF \g_@@_space_factor_int < { 2000 } - { \_@@_space_skip_scale:nnn { \tex_spaceskip:D } } + { \@@_space_skip_scale:nnn { \tex_spaceskip:D } } { \skip_if_eq:nnTF \tex_xspaceskip:D \c_zero_skip { - \_@@_space_skip_scale:nnn + \@@_space_skip_scale:nnn { \tex_spaceskip:D + \tex_fontdimen:D 7 ~ \tex_font:D @@ -1906,7 +1903,7 @@ Copyright and Licence } } } -\cs_new_nopar:Npn \_@@_space_skip_scale:nnn #1#2#3 +\cs_new:Npn \@@_space_skip_scale:nnn #1#2#3 { \dim_eval:n {#1} plus \fp_eval:n { \g_@@_space_factor_int / 1000 } #2 @@ -1914,15 +1911,26 @@ Copyright and Licence \int_div_truncate:nn { 1000 * \int_value:w #3 } { \g_@@_space_factor_int } sp } +% \end{macrocode} +% \end{variable} +% +% \begin{macro}[int]{\xeCJK_reset_space_factor:} +% \begin{variable}[int]{\g_@@_space_factor_int} +% 在 \tn{XeTeXinterchartoks} 里,\tn{spacefactor} å·²ç»è¢«é‡ç½®ä¸º $1000$。 +% 我们需è¦åœ¨ Default 类里ä¿å˜ \tn{spacefactor} ç”¨äºŽè®¡ç®—ç©ºæ ¼å®½åº¦ã€‚ +% \begin{macrocode} \int_new:N \g_@@_space_factor_int -\int_gset:Nn \g_@@_space_factor_int { 1000 } +\cs_new_protected:Npn \xeCJK_reset_space_factor: + { \int_gset:Nn \g_@@_space_factor_int { 1000 } } +\xeCJK_reset_space_factor: % \end{macrocode} % \end{variable} +% \end{macro} % % \begin{macro}[int]{\xeCJK_glue_to_skip:nN} % å–得一个 |glue| 的长度,包括伸展和收缩部分。如果å‚æ•°ä¸æ˜¯ |glue|,则å–其宽度。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_glue_to_skip:nN #1#2 +\cs_new_protected:Npn \xeCJK_glue_to_skip:nN #1#2 { \group_begin: \hbox_set:Nw \l_@@_tmp_box #1 \scan_stop: @@ -1989,7 +1997,7 @@ Copyright and Licence \group_align_safe_begin: \peek_after:Nw \@@_peek_catcode_ignore_spaces_branches:w } -\cs_new_protected_nopar:Npn \@@_peek_catcode_ignore_spaces_branches:w +\cs_new_protected:Npn \@@_peek_catcode_ignore_spaces_branches:w { \if_meaning:w \l_peek_token \c_space_token \bool_set_true:N \l_@@_peek_ignore_spaces_bool @@ -2020,7 +2028,7 @@ Copyright and Licence % 用于å–å¾—è®°å· |#1| 所在的 \XeTeX å—符类。|#1| 应为 \tn{catcode} 为 |11| 或 |12| % 的显性或éšæ€§è®°å·ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_token_value_class:N #1 +\cs_new:Npn \xeCJK_token_value_class:N #1 { \tex_XeTeXcharclass:D \xeCJK_token_value_charcode:N #1 } % \end{macrocode} % \end{macro} @@ -2038,20 +2046,20 @@ Copyright and Licence % 这一 Bug 在 TeX Live 2015 çš„ \texttt{0.99992} 版ä¸å¾—到修å¤^^A % \footnote{å‚è§\url{http://tug.org/pipermail/xetex/2015-May/025941.html}}。 % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_token_value_charcode:N #1 +\cs_new:Npn \xeCJK_token_value_charcode:N #1 { \exp_after:wN \@@_get_charcode:w \token_to_meaning:N #1 \q_stop } \group_begin: \cs_set:Npn \@@_tmp:w #1 ~ #2 ~ #3#4#5 \q_stop { \tl_if_empty:nTF { #4#5 } { - \cs_new_nopar:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop + \cs_new:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop { \int_eval:n { `##3 } } } { \tl_if_empty:nTF {#5} { - \cs_new_nopar:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop + \cs_new:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop { \int_eval:n { @@ -2062,7 +2070,7 @@ Copyright and Licence } } { - \cs_new_nopar:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop + \cs_new:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop { \int_eval:n { \tl_if_empty:nTF { ##4 } { `##3 } { "20000 } } } } } @@ -2082,7 +2090,7 @@ Copyright and Licence \cs_end: \prg_return_true: \else: \prg_return_false: \fi: } -\cs_new_nopar:Npn \@@_CJK_class_tl:n #1 +\cs_new:Npn \@@_CJK_class_tl:n #1 { c_@@_CJK_class_ \int_eval:n {#1} _tl } % \end{macrocode} % \end{macro} @@ -2102,7 +2110,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_make_boundary:} % 利用 \cs{scan_stop:} ç»“æŸ CJK 分组,用于æ¢å¤å—体ç‰ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_make_boundary: +\cs_new_protected:Npn \xeCJK_make_boundary: { \bool_if:NT \l_@@_CJK_group_bool { \scan_stop: } } % \end{macrocode} % \end{macro} @@ -2149,7 +2157,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_new_class:n} % 新建一个å—符类别。|#1| 是自定义å称。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_new_class:n #1 +\cs_new_protected:Npn \xeCJK_new_class:n #1 { \int_if_exist:cTF { \@@_class_csname:n {#1} } { \@@_error:nx { class-already-defined } {#1} } @@ -2170,7 +2178,7 @@ Copyright and Licence % {使用 \cs{xeCJK_save_class:nn} ä¿å˜ \XeTeX 预定义的å—符类别。} % ä¿å˜ \XeTeX 预定义的å—符类别。|#1| 是自定义å称,|#2| 是编å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_save_class:nn #1#2 +\cs_new_protected:Npn \xeCJK_save_class:nn #1#2 { \int_if_exist:cTF { \@@_class_csname:n {#1} } { \@@_error:nx { class-already-defined } {#1} } @@ -2186,7 +2194,7 @@ Copyright and Licence % \begin{macro}{\@@_class_csname:n} % å—符类å称对应的控制åºåˆ—åå—。 % \begin{macrocode} -\cs_new_nopar:Npn \@@_class_csname:n #1 { c_@@_#1_class_int } +\cs_new:Npn \@@_class_csname:n #1 { c_@@_#1_class_int } \cs_new_eq:cN { \@@_class_csname:n { Others } } \l_@@_tmp_int \@@_msg_new:nn { class-already-defined } { @@ -2453,6 +2461,8 @@ Copyright and Licence % \changes{v3.4.1}{2016/08/18}{补充 Unicode 9.0.0 的西å¤æ–‡ã€‚} % \changes{v3.5.0}{2017/07/22}{补充 Ext-F。} % \changes{v3.7.3}{2019/04/15}{补充日文å‡å扩展。} +% \changes{v3.8.3}{2020/03/15}{åŒæ¥ Unicode 13.0.0。} +% \changes{v3.8.3}{2020/04/09}{补充 \texttt{U+02EA} å’Œ \texttt{U+02EB}。} % % \begin{variable}{\c_@@_CJK_chars_clist} % CJK å—符类,包括文å—å’Œæ ‡ç‚¹ç¬¦å·ã€‚ @@ -2461,6 +2471,10 @@ Copyright and Licence { % \end{macrocode} % \begin{itemize}[nosep,leftmargin=0pt] +% \item é—½å—è¯ã€å®¢å®¶è¯é˜´åŽ»å’Œé˜³åŽ»å£°è°ƒæ ‡è®° +% \begin{macrocode} + "02EA -> "02EB , +% \end{macrocode} % \item CJK Radicals Supplement (ä¸æ—¥éŸ©éƒ¨é¦–补充) % \begin{macrocode} "2E80 -> "2EFF , @@ -2569,6 +2583,14 @@ Copyright and Licence % \begin{macrocode} "18800 -> "18AFF , % \end{macrocode} +% \item Khitan Small Script (契丹å°å—) +% \begin{macrocode} + "18B00 -> "18CFF , +% \end{macrocode} +% \item Tangut Supplement (西å¤æ–‡å¢žè¡¥ï¼‰ +% \begin{macrocode} + "18D00 -> "18D8F , +% \end{macrocode} % \item Kana Supplement (日文å‡å增补) % \begin{macrocode} "1B000 -> "1B0FF , @@ -2607,7 +2629,11 @@ Copyright and Licence % \end{macrocode} % \item CJK Compatibility Ideographs Supplement (ä¸æ—¥éŸ©å…¼å®¹è¡¨æ„æ–‡å—增补) % \begin{macrocode} - "2F800 -> "2FA1F + "2F800 -> "2FA1F , +% \end{macrocode} +% \item CJK Unified Ideographs Extension-G (ä¸æ—¥éŸ©ç»Ÿä¸€è¡¨æ„æ–‡å—扩展 G) +% \begin{macrocode} + "30000 -> "3134F % \end{macrocode} % \end{itemize} % \begin{macrocode} @@ -2687,7 +2713,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_class_num:n} % |#1| 为å—符类别å称,用于å–å¾—å—符类别对应的编å·ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_class_num:n #1 +\cs_new:Npn \xeCJK_class_num:n #1 { \use:c { \@@_class_csname:n {#1} } } % \end{macrocode} % \end{macro} @@ -2707,12 +2733,12 @@ Copyright and Licence % 用于设置å—符所属的类别,|#1| 为类别å称,|#2| 为å—符的 |Unicode|,相邻å—符用 % åŠè§’逗å·éš”开,支æŒç±»ä¼¼ |"1100 -> "11FF| èµ·æ¢èŒƒå›´çš„使用方å¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_declare_char_class:nn #1#2 +\cs_new_protected:Npn \xeCJK_declare_char_class:nn #1#2 { \clist_set:Nx \l_@@_tmp_clist {#2} \xeCJK_declare_char_class:nN {#1} \l_@@_tmp_clist } -\cs_new_protected_nopar:Npn \xeCJK_declare_char_class:nN #1#2 +\cs_new_protected:Npn \xeCJK_declare_char_class:nN #1#2 { \clist_gconcat:ccN { g_@@_#1_range_clist } { g_@@_#1_range_clist } #2 @@ -2735,7 +2761,7 @@ Copyright and Licence % % \begin{macro}{\@@_check_num_range:nnNN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_check_num_range:nnNN #1#2#3#4 +\cs_new_protected:Npn \@@_check_num_range:nnNN #1#2#3#4 { \bool_lazy_or:nnTF { \xeCJK_if_blank_x_p:n {#1} } @@ -2772,7 +2798,7 @@ Copyright and Licence % \changes{v3.1.1}{2012/12/05}{在文档ä¸è®¾ç½®å—符类别时ä¸é‡å¤è®¾ç½® \tn{catcode}。} % 设置å—符类别,|#1| å’Œ |#2| 为å—符类别起æ¢çš„ |Unicode|,|#3| 为类别å称对应编å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_set_char_class:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_set_char_class:nnn #1#2#3 { \@@_check_num_range:nnNN {#1} {#2} \l_@@_begin_int \l_@@_end_int \int_set:Nn \l_@@_tmp_int {#3} @@ -2790,7 +2816,7 @@ Copyright and Licence % å°†å—符类 |#1| ä¸çš„å—符全部设置æˆå—符类 |#2|。åªé€‚用于 |#1| çš„å—符类范围为离散的 % 逗å·åˆ—表的情况。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_char_class_eq:nn #1#2 +\cs_new_protected:Npn \@@_set_char_class_eq:nn #1#2 { \int_set:Nn \l_@@_tmp_int { \xeCJK_class_num:n {#2} } \clist_map_inline:cn { c_@@_#1_chars_clist } @@ -2854,7 +2880,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_inter_class_toks:nnn} % 在相邻类别之间æ’入内容。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_inter_class_toks:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_inter_class_toks:nnn #1#2#3 { \tex_XeTeXinterchartoks:D \xeCJK_class_num:n {#1} ~ \xeCJK_class_num:n {#2} = {#3} @@ -2866,7 +2892,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_get_inter_class_toks:nn} % å–出相邻类别之间的内容。 % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_get_inter_class_toks:nn #1#2 +\cs_new:Npn \xeCJK_get_inter_class_toks:nn #1#2 { \tex_the:D \tex_XeTeXinterchartoks:D \xeCJK_class_num:n {#1} ~ \xeCJK_class_num:n {#2} @@ -2886,8 +2912,10 @@ Copyright and Licence % \bye % \end{verbatim} % 如果把上述例åä¸çš„分组 \tn{begingroup} å’Œ \tn{endgroup} 去掉,则结果æ£å¸¸ï¼Œç”šä¸ºæ€ªå¼‚。 +% æ¤å¤„ \XeTeX çš„ bug å·²ç»åœ¨ 0.999992 版ä¸ä¿®å¤^^A +% \footnote{\url{http://tug.org/svn/texlive?view=revision&revision=53880}}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_clear_inter_class_toks:nn #1#2 +\cs_new_protected:Npn \xeCJK_clear_inter_class_toks:nn #1#2 { \xeCJK_inter_class_toks:nnn {#1} {#2} { \prg_do_nothing: } } % \end{macrocode} % \end{macro} @@ -2895,7 +2923,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_pre_inter_class_toks:nnn} % 在相邻类别之间已有的内容å‰å¢žåŠ 内容。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3 { \xeCJK_inter_class_toks:nnx {#1} {#2} { \exp_not:n {#3} \xeCJK_get_inter_class_toks:nn {#1} {#2} } @@ -2907,7 +2935,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_app_inter_class_toks:nnn} % 在相邻类别之间已有的内容åŽè¿½åŠ 内容。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_app_inter_class_toks:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_app_inter_class_toks:nnn #1#2#3 { \xeCJK_inter_class_toks:nnx {#1} {#2} { \xeCJK_get_inter_class_toks:nn {#1} {#2} \exp_not:n {#3} } @@ -2919,7 +2947,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_copy_inter_class_toks:nnnn} % å°† |#3| å’Œ |#4| 之间的内容å¤åˆ¶åˆ° |#1| å’Œ |#2| 之间。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4 +\cs_new_protected:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4 { \tl_set:Nx \l_@@_tmp_tl { \xeCJK_get_inter_class_toks:nn {#3} {#4} } @@ -2938,7 +2966,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_replace_inter_class_toks:nnnn} % å°† |#1| å’Œ |#2| 之间出现的 |#3| 用 |#4| 替æ¢ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4 +\cs_new_protected:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4 { \tl_set:Nx \l_@@_tmp_tl { \xeCJK_get_inter_class_toks:nn {#1} {#2} } @@ -2956,11 +2984,11 @@ Copyright and Licence % \changes{v3.4.2}{2016/10/19}{æ高效率,é¿å…é‡å¤å¾ªçŽ¯ã€‚} % 清除边界与 CJK æ–‡å—ã€å…¨è§’å·¦å³æ ‡ç‚¹ä¹‹é—´çš„内容。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_clear_Boundary_and_CJK_toks: +\cs_new_protected:Npn \xeCJK_clear_Boundary_and_CJK_toks: { } -\cs_new_protected_nopar:Npn \@@_update_clear_toks:n #1 +\cs_new_protected:Npn \@@_update_clear_toks:n #1 { - \cs_gset_protected_nopar:Npx \xeCJK_clear_Boundary_and_CJK_toks: + \cs_gset_protected:Npx \xeCJK_clear_Boundary_and_CJK_toks: { \exp_not:o { \xeCJK_clear_Boundary_and_CJK_toks: } \tex_XeTeXinterchartoks:D @@ -2981,7 +3009,7 @@ Copyright and Licence \seq_gset_from_clist:Nn \g_@@_non_CJK_class_seq { Default , HalfLeft , HalfRight , NormalSpace , Boundary } \seq_new:N \g_@@_CJK_class_seq -\cs_new_protected_nopar:Npn \@@_save_CJK_class:n #1 +\cs_new_protected:Npn \@@_save_CJK_class:n #1 { \seq_gput_right:Nn \g_@@_CJK_class_seq {#1} \tl_const:cn @@ -3100,11 +3128,11 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_class_group_begin:,\xeCJK_class_group_end:} % 在 CJK 类开始时,设置 \tn{XeTeXdashbreakstate} 为零,é¿å…ç ´æŠ˜å·ä¹‹é—´çš„折行。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_class_group_begin: +\cs_new_protected:Npn \xeCJK_class_group_begin: { \c_group_begin_token \bool_set_true:N \l_@@_CJK_group_bool - \int_gset:Nn \g_@@_space_factor_int { 1000 } + \xeCJK_reset_space_factor: \int_zero:N \tex_XeTeXdashbreakstate:D } \bool_new:N \l_@@_CJK_group_bool @@ -3175,15 +3203,15 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_Boundary_and_Default:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_Default: +\cs_new_protected:Npn \xeCJK_Boundary_and_Default: { \xeCJK_check_for_ecglue: } -\cs_new_protected_nopar:Npn \@@_check_for_xecglue: +\cs_new_protected:Npn \@@_check_for_xecglue: { \int_compare:nNnTF \tex_lastnodetype:D = { 11 } { \@@_replace_space: } { \@@_check_for_ecglue: } } -\cs_new_protected_nopar:Npn \@@_check_for_ecglue: +\cs_new_protected:Npn \@@_check_for_ecglue: { \xeCJK_if_last_node:nTF { CJK } { \use_i:nn } @@ -3204,7 +3232,7 @@ Copyright and Licence % å°†ç©ºæ ¼æ›¿æ¢ä¸º \tn{CJKecglue}。注æ„ç”± \tn{leaders} ç‰äº§ç”Ÿçš„ glue,并ä¸èƒ½æ£ç¡®åœ°è¿˜å›žåŽ»ã€‚ % 好在 \LaTeXe{} ä¸å¸¸ç”¨çš„ \tn{hrulefill} å’Œ \tn{dotfill} 定义末尾都有 |\kern\z@| ä¿æŠ¤ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_replace_space: +\cs_new_protected:Npn \@@_replace_space: { \skip_set_eq:NN \l_@@_last_skip \tex_lastskip:D \tex_unskip:D @@ -3259,15 +3287,15 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_Boundary_and_NormalSp:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_NormalSp: +\cs_new_protected:Npn \xeCJK_Boundary_and_NormalSp: { \xeCJK_check_for_ecglue_normalsp: } -\cs_new_protected_nopar:Npn \@@_check_for_xecglue_normalsp: +\cs_new_protected:Npn \@@_check_for_xecglue_normalsp: { \int_compare:nNnTF \tex_lastnodetype:D = { 11 } { \@@_replace_space: } { \@@_check_for_ecglue_normalsp: } } -\cs_new_protected_nopar:Npn \@@_check_for_ecglue_normalsp: +\cs_new_protected:Npn \@@_check_for_ecglue_normalsp: { \xeCJK_if_last_node:nT { CJK-space } { \xeCJK_remove_node: \xeCJK_space_or_xecglue: } @@ -3309,7 +3337,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_check_for_glue:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_for_glue: +\cs_new_protected:Npn \xeCJK_check_for_glue: { \int_compare:nNnTF \tex_lastnodetype:D = { 12 } { \@@_check_for_glue_auxi: } @@ -3319,7 +3347,7 @@ Copyright and Licence { \@@_check_for_glue_auxii: } } } -\cs_new_protected_nopar:Npn \@@_check_for_glue_auxi: +\cs_new_protected:Npn \@@_check_for_glue_auxi: { \dim_case:nn { \tex_lastkern:D } { @@ -3333,13 +3361,13 @@ Copyright and Licence { \xeCJK_remove_node: \CJKecglue } } } -\cs_new_protected_nopar:Npn \@@_check_for_glue_auxii: +\cs_new_protected:Npn \@@_check_for_glue_auxii: { \xeCJK_if_last_punct:TF { \@@_check_for_glue_auxiii: } { \xeCJK_check_for_xglue: } } -\cs_new_protected_nopar:Npn \@@_check_for_glue_auxiii: +\cs_new_protected:Npn \@@_check_for_glue_auxiii: { \bool_if:NT \l_@@_last_penalty_bool { \tex_penalty:D \l_@@_last_penalty_int } @@ -3347,7 +3375,7 @@ Copyright and Licence \tl_if_eq:NNF \l_@@_aligni_tl \c_@@_left_tl { \CJKglue } } \cs_new_eq:NN \xeCJK_check_for_xglue: \prg_do_nothing: -\cs_new_protected_nopar:Npn \@@_check_for_xglue: +\cs_new_protected:Npn \@@_check_for_xglue: { \int_compare:nNnT \tex_lastnodetype:D = { 11 } { @@ -3362,7 +3390,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_check_for_xglue_aux: +\cs_new_protected:Npn \@@_check_for_xglue_aux: { \skip_if_eq:nnTF { \l_@@_last_skip } @@ -3382,7 +3410,7 @@ Copyright and Licence } { \skip_horizontal:N \l_@@_last_skip } } -\cs_new_protected_nopar:Npn \@@_ccglue_or_space: +\cs_new_protected:Npn \@@_ccglue_or_space: { \CJKglue } % \end{macrocode} % \end{macro} @@ -3403,7 +3431,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_declare_node:n,\xeCJK_make_node:n} % 用于判æ–æ’入的å„ç§ |kern|。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_declare_node:n #1 +\cs_new_protected:Npn \xeCJK_declare_node:n #1 { \int_gincr:N \g_@@_node_int \dim_if_exist:cTF { c_@@_#1_node_dim } @@ -3412,16 +3440,16 @@ Copyright and Licence } \int_new:N \g_@@_node_int \int_gset:Nn \g_@@_node_int { 10 } -\cs_new_protected_nopar:Npn \xeCJK_make_node:n #1 +\cs_new_protected:Npn \xeCJK_make_node:n #1 { \exp_args:Nc \@@_make_node:N { c_@@_#1_node_dim } } -\cs_new_nopar:Npn \@@_node:n #1 +\cs_new:Npn \@@_node:n #1 { \use:c { c_@@_#1_node_dim } } -\cs_new_protected_nopar:Npn \@@_make_node:N #1 +\cs_new_protected:Npn \@@_make_node:N #1 { \tex_kern:D - #1 \tex_kern:D #1 } -\cs_new_protected_nopar:Npn \xeCJK_remove_node: +\cs_new_protected:Npn \xeCJK_remove_node: { \tex_unkern:D \tex_unkern:D } \xeCJK_declare_node:n { CJK } \xeCJK_declare_node:n { CJK-space } @@ -3439,7 +3467,7 @@ Copyright and Licence { CJKglue .code:n = { - \cs_set_protected_nopar:Npn \CJKglue {#1} + \cs_set_protected:Npn \CJKglue {#1} \xeCJK_glue_to_skip:nN {#1} \l_@@_ccglue_skip } } @@ -3456,7 +3484,7 @@ Copyright and Licence { CJKecglue .code:n = { - \cs_set_protected_nopar:Npn \CJKecglue {#1} + \cs_set_protected:Npn \CJKecglue {#1} \xeCJK_glue_to_skip:nN {#1} \l_@@_ecglue_skip } , xCJKecglue .choice: , @@ -3483,7 +3511,7 @@ Copyright and Licence xCJKecglue / unknown .code:n = { \bool_set_true:N \l_@@_xecglue_bool - \cs_set_protected_nopar:Npn \CJKecglue {#1} + \cs_set_protected:Npn \CJKecglue {#1} \xeCJK_glue_to_skip:nN {#1} \l_@@_ecglue_skip \cs_set_eq:NN \xeCJK_space_or_xecglue: \CJKecglue \cs_set_eq:NN \xeCJK_check_for_xglue: \@@_check_for_xglue: @@ -3512,13 +3540,13 @@ Copyright and Licence CJKspace / true .code:n = { \bool_set_true:N \l_@@_reserve_space_bool - \cs_set_protected_nopar:Npn \@@_ccglue_or_space: + \cs_set_protected:Npn \@@_ccglue_or_space: { \xeCJK_space_glue: } } , CJKspace / false .code:n = { \bool_set_false:N \l_@@_reserve_space_bool - \cs_set_protected_nopar:Npn \@@_ccglue_or_space: + \cs_set_protected:Npn \@@_ccglue_or_space: { \CJKglue } } , CJKspace .default:n = { true } , @@ -3540,7 +3568,7 @@ Copyright and Licence % è¿™æ ·å°±å¯èƒ½å‡ºçŽ°é—®é¢˜\footnote{å‚è§ \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=71563}。}。 % 原æ¥æ˜¯éƒ½åœ¨æœªå®šä¹‰æŽ§åˆ¶åºåˆ—å‰éƒ½åŠ 上 \cs{exp_not:N},现在是采用分组结æŸåŽæ‰‹å·¥æ¢å¤çš„æ–¹å¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_CJK_and_Boundary:w +\cs_new_protected:Npn \xeCJK_CJK_and_Boundary:w { \xeCJK_peek_catcode_ignore_spaces:NTF \c_math_toggle_token { @@ -3563,7 +3591,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_boundary_reserve_space: +\cs_new_protected:Npn \@@_boundary_reserve_space: { \@@_boundary_group_end:n { CJK-space } \xeCJK_space_or_xecglue: @@ -3574,7 +3602,7 @@ Copyright and Licence \token_if_eq_meaning:NNTF #1 \scan_stop: {#1} { \cs_set_eq:NN #1 \scan_stop: #1 } } -\cs_new_protected_nopar:Npn \@@_boundary_group_end:n #1 +\cs_new_protected:Npn \@@_boundary_group_end:n #1 { \group_align_safe_end: \xeCJK_class_group_end: @@ -3585,7 +3613,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_ignore_spaces:w} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_ignore_spaces:w +\cs_new_protected:Npn \xeCJK_ignore_spaces:w { \xeCJK_peek_catcode_ignore_spaces:NTF \c_math_toggle_token { @@ -3609,7 +3637,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_reserve_space_aux: +\cs_new_protected:Npn \@@_reserve_space_aux: { \group_align_safe_end: \xeCJK_space_or_xecglue: @@ -3625,7 +3653,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_CJK_and_CJK:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_CJK_and_CJK:N +\cs_new_protected:Npn \xeCJK_CJK_and_CJK:N { \CJKglue \CJKsymbol } % \end{macrocode} % \end{macro} @@ -3667,7 +3695,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_FullLeft_and_Boundary:} % \hypertarget{fl-fr-bound}{} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_Boundary: +\cs_new_protected:Npn \xeCJK_FullLeft_and_Boundary: { \@@_punct_if_middle:NTF \g_@@_last_punct_tl { @@ -3689,7 +3717,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullRight_and_Boundary:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_Boundary: +\cs_new_protected:Npn \xeCJK_FullRight_and_Boundary: { \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl \xeCJK_class_group_end: @@ -3703,7 +3731,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_punct_node:N} % ä¿å˜æ ‡ç‚¹çš„当å‰è¾¹ç•Œå®½åº¦å’Œå—符ç ,通过æ’å…¥ \tn{kern} 实现。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_punct_node:N #1 +\cs_new_protected:Npn \xeCJK_punct_node:N #1 { \@@_punct_bound_unitization:NN #1 \l_@@_tmp_dim \@@_make_node:N \l_@@_tmp_dim @@ -3717,7 +3745,7 @@ Copyright and Licence % 我们ä¸æƒ³å‡ºçŽ°è¿‡å¤§çš„ \tn{kern}ï¼Œå› æ¤å½“边界大于 \SI{1}{pt} 时,以 \cs{c_max_dim} ä¸ºæ ‡å‡† % 对其进行“å•ä½åŒ–â€ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_bound_unitization:NN #1#2 +\cs_new_protected:Npn \@@_punct_bound_unitization:NN #1#2 { \dim_set:Nn #2 { @@ -3734,12 +3762,12 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_punct_bound_kern:N} % \begin{macro}{\@@_punct_bound_kern:NN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_punct_bound_kern:N #1 +\cs_new_protected:Npn \xeCJK_punct_bound_kern:N #1 { \exp_after:wN \@@_punct_bound_kern:NN \g_@@_last_punct_tl #1 } -\cs_new_protected_nopar:Npn \@@_punct_bound_kern:NN #1#2 +\cs_new_protected:Npn \@@_punct_bound_kern:NN #1#2 { \xeCJK_get_punct_bounds:NN \l_@@_aligni_tl #1 \xeCJK_get_punct_kerning:NN #1 #2 @@ -3764,7 +3792,7 @@ Copyright and Licence % \begin{macro}{\@@_punct_bound_kern_ratio:NN} % å½“æ ‡ç‚¹å‰åŽçš„å—体情况ä¸ä¸€è‡´æ—¶ï¼ŒæŒ‰ä¸€å®šçš„比例进行压缩。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_bound_kern_ratio:NN #1#2 +\cs_new_protected:Npn \@@_punct_bound_kern_ratio:NN #1#2 { \dim_set:Nn \l_@@_bound_dim { \@@_use_punct_dim:nNN { bound_width } #1 #2 } @@ -3781,7 +3809,7 @@ Copyright and Licence \@@_punct_bound_kern_ratio_aux:N #2 } } -\cs_new_protected_nopar:Npn \@@_punct_bound_kern_ratio_aux:N #1 +\cs_new_protected:Npn \@@_punct_bound_kern_ratio_aux:N #1 { \skip_set:Nn \l_@@_punct_kern_skip { @@ -3801,12 +3829,12 @@ Copyright and Licence % \begin{macro}{\@@_nobreak_hskip:N,\@@_nobreak_hskip:n, % \@@_punct_bound_kern:N, \@@_punct_bound_breakable_kern:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_nobreak_hskip:N +\cs_new_protected:Npn \@@_nobreak_hskip:N { \xeCJK_no_break: \skip_horizontal:N } -\cs_new_protected_nopar:Npn \@@_nobreak_hskip:n +\cs_new_protected:Npn \@@_nobreak_hskip:n { \xeCJK_no_break: \skip_horizontal:n } \cs_new_eq:NN \@@_punct_bound_kern:N \@@_nobreak_hskip:N -\cs_new_protected_nopar:Npn \@@_punct_bound_breakable_kern:N +\cs_new_protected:Npn \@@_punct_bound_breakable_kern:N { \tl_if_eq:NNTF \l_@@_aligni_tl \c_@@_right_tl { @@ -3816,7 +3844,7 @@ Copyright and Licence } { \@@_nobreak_hskip:N } } -\cs_new_protected_nopar:Npn \@@_punct_bound_kern_aux:NNN #1#2 +\cs_new_protected:Npn \@@_punct_bound_kern_aux:NNN #1#2 { \str_if_eq:nnTF {#1} {#2} { \@@_nobreak_hskip:N } @@ -3848,7 +3876,7 @@ Copyright and Licence % \begin{macro}{\@@_punct_bound_rule:NN} % ç”¨äºŽæŠ¹åŽ»æ ‡ç‚¹ç¬¦å·çš„全部左/å³ç©ºç™½ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_bound_rule:NN #1#2 +\cs_new_protected:Npn \@@_punct_bound_rule:NN #1#2 { \tex_vrule:D width - \@@_use_punct_dim:nNN { bound } #1 #2 ~ @@ -3861,7 +3889,7 @@ Copyright and Licence % \begin{macro}{\@@_punct_rule:NN} % 用于å‡å°‘æ ‡ç‚¹ç¬¦å·çš„å·¦/å³ç©ºç™½ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_rule:NN #1#2 +\cs_new_protected:Npn \@@_punct_rule:NN #1#2 { \tex_vrule:D width \@@_use_punct_dim:nNN { rule } #1 #2 ~ @@ -3876,7 +3904,7 @@ Copyright and Licence % {æ ‡ç‚¹ç¬¦å·å·¦/å³ç©ºç™½çš„伸展值ä¸è¶…过原始边界,收缩值ä¸å°äºŽå¦ä¸€ä¾§è¾¹ç•Œã€‚} % æ ¹æ®æ‰€é€‰çš„æ ‡ç‚¹å¤„ç†æ–¹å¼åœ¨æ ‡ç‚¹ç¬¦å·å·¦/å³å¢žåŠ 的空白。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_glue:NN #1#2 +\cs_new_protected:Npn \@@_punct_glue:NN #1#2 { \@@_punct_hskip:n { \@@_use_dim_or_skip:nNN { glue } #1 #2 } } \cs_new_eq:NN \@@_punct_hskip:n \skip_horizontal:n % \end{macrocode} @@ -3886,7 +3914,7 @@ Copyright and Licence % \begin{macro}{\xeCJK_punct_kern:NN,\@@_punct_kern:NN} % ç›¸é‚»ä¸¤ä¸ªæ ‡ç‚¹ä¹‹é—´çš„é—´è·ï¼Œæ€»å…è®¸é•¿æ ‡ç‚¹ä¸Žå…¶ä»–æ ‡ç‚¹ä¹‹é—´æŠ˜è¡Œã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_kern:NN #1#2 +\cs_new_protected:Npn \@@_punct_kern:NN #1#2 { \str_if_eq:eeTF {#1} {#2} { \@@_punct_nobreak_kern:NN } @@ -3907,7 +3935,7 @@ Copyright and Licence % % \begin{macro}{\@@_punct_nobreak_kern:NN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_nobreak_kern:NN #1#2 +\cs_new_protected:Npn \@@_punct_nobreak_kern:NN #1#2 { \@@_nobreak_hskip:n { \@@_use_dim_or_skip:nNN { kern } #1 #2 } } % \end{macrocode} % \end{macro} @@ -3919,7 +3947,7 @@ Copyright and Licence % % \begin{macro}{\@@_punct_breakable_kern:NN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_punct_breakable_kern:NN #1#2 +\cs_new_protected:Npn \@@_punct_breakable_kern:NN #1#2 { \exp_after:wN \@@_punct_if_right:NT #1 { \@@_punct_rule:NN \c_@@_right_tl #1 } @@ -3941,7 +3969,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullLeft_and_CJK:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_CJK: +\cs_new_protected:Npn \xeCJK_FullLeft_and_CJK: { \@@_punct_if_middle:NTF \g_@@_last_punct_tl { @@ -3960,7 +3988,7 @@ Copyright and Licence % \changes{v3.7.2}{2018/05/21}{å†æ¬¡ä¿®æ£ FullLeft ç±»å—符与西文连用æ–è¯å¤±è´¥çš„问题。} % \cs{@@_nobreak_zero_glue:} ç”¨äºŽç¡®ä¿ FullLeft ç±»åŽçš„西文å•è¯å¯ä»¥æ–è¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_Default: +\cs_new_protected:Npn \xeCJK_FullLeft_and_Default: { \@@_punct_if_middle:NTF \g_@@_last_punct_tl { @@ -3973,19 +4001,19 @@ Copyright and Licence \@@_nobreak_zero_glue: } } -\cs_new_protected_nopar:Npn \@@_nobreak_zero_glue: +\cs_new_protected:Npn \@@_nobreak_zero_glue: { \tex_penalty:D \c_@@_nobreak_penalty_int \skip_horizontal:N \c_zero_skip } -\cs_new_protected_nopar:Npn \@@_zero_glue: +\cs_new_protected:Npn \@@_zero_glue: { \skip_horizontal:N \c_zero_skip } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\xeCJK_FullRight_and_CJK:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_CJK: +\cs_new_protected:Npn \xeCJK_FullRight_and_CJK: { \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl \@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl @@ -3997,7 +4025,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullRight_and_Default:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_Default: +\cs_new_protected:Npn \xeCJK_FullRight_and_Default: { \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl \xeCJK_class_group_end: @@ -4008,7 +4036,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_Default_and_FullLeft:nN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullLeft:nN #1#2 +\cs_new_protected:Npn \xeCJK_Default_and_FullLeft:nN #1#2 { \xeCJK_get_punct_bounds:NN \c_@@_left_tl #2 \@@_Default_and_FullLeft_glue:N #2 @@ -4020,14 +4048,14 @@ Copyright and Licence \@@_punct_rule:NN \c_@@_left_tl #2 \CJKpunctsymbol #2 } -\cs_new_protected_nopar:Npn \@@_Default_and_FullLeft_glue:N #1 +\cs_new_protected:Npn \@@_Default_and_FullLeft_glue:N #1 { \@@_punct_glue:NN \c_@@_left_tl #1 } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\xeCJK_CJK_and_FullLeft:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullLeft:N #1 +\cs_new_protected:Npn \xeCJK_CJK_and_FullLeft:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1 \@@_CJK_and_FullLeft_glue:N #1 @@ -4036,7 +4064,7 @@ Copyright and Licence \@@_select_punct_font: \CJKpunctsymbol #1 } -\cs_new_protected_nopar:Npn \@@_CJK_and_FullLeft_glue:N #1 +\cs_new_protected:Npn \@@_CJK_and_FullLeft_glue:N #1 { \CJKglue \@@_punct_glue:NN \c_@@_left_tl #1 @@ -4046,7 +4074,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_Boundary_and_FullLeft:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullLeft:N #1 +\cs_new_protected:Npn \xeCJK_Boundary_and_FullLeft:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1 \@@_Boundary_and_FullLeft_glue:N #1 @@ -4068,7 +4096,7 @@ Copyright and Licence % \changes{v3.2.5}{2013/07/13}{å¢žåŠ å¯¹ \pkg{enumitem} å®åŒ…修改的 \tn{item} 的判æ–。} % æ ¹æ® \cs{etex_lastnodetype:D} 的值进行分别处ç†ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_Boundary_and_FullLeft_glue:N #1 +\cs_new_protected:Npn \@@_Boundary_and_FullLeft_glue:N #1 { \tl_set_eq:NN \l_@@_alignii_tl \c_@@_left_tl \group_begin: \exp_args:NNc \group_end: \cs_if_exist_use:NTF @@ -4085,7 +4113,7 @@ Copyright and Licence % \cs{etex_lastnodetype:D} 为 $-1$ 表示 empty list,常出现在盒å的起始ä½ç½®ï¼Œ % 在段è½å‰ä½¿ç”¨ \tn{noindent} 就是这ç§æƒ…况。 % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_bound_type_ -1 _glue:Nn } #1#2 +\cs_new_protected:cpn { @@_bound_type_ -1 _glue:Nn } #1#2 { \@@_zero_glue: } % \end{macrocode} % \end{macro} @@ -4094,7 +4122,7 @@ Copyright and Licence % $1$ 表示 hlist node,在这里用æ¥åˆ¤æ–是å¦ä½äºŽæ®µé¦–。基于æ£å¸¸æƒ…况下,\TeX 会在段è½å¼€å¤´æ’入宽度为 % \tn{parindent} 的水平盒å用于缩进。 % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_bound_type_ 1 _glue:Nn } #1#2 +\cs_new_protected:cpn { @@_bound_type_ 1 _glue:Nn } #1#2 { \box_set_to_last:N \l_@@_tmp_box \int_compare:nNnTF \tex_lastnodetype:D = { -1 } @@ -4117,19 +4145,19 @@ Copyright and Licence % \env{description} 环境ä¸ä½¿ç”¨çš„ \tn{item}(\tn{enit@postlabel@i}), % 在这里起到影å“作用的是 |\penalty\z@ \hskip\labelsep|。 % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_bound_type_ 11 _glue:Nn } #1#2 +\cs_new_protected:cpn { @@_bound_type_ 11 _glue:Nn } #1#2 { \skip_if_finite:nTF { \tex_lastskip:D } { \@@_bound_glue_auxi:Nn #1 {#2} } { \@@_zero_glue: } } -\cs_new_protected_nopar:Npn \@@_bound_glue_auxi:Nn #1#2 +\cs_new_protected:Npn \@@_bound_glue_auxi:Nn #1#2 { \@@_if_last_punct_glue:TF { \xeCJK_punct_bound_kern:N #1 } { \@@_bound_glue_auxii:n {#2} } } -\cs_new_protected_nopar:Npn \@@_bound_glue_auxii:n #1 +\cs_new_protected:Npn \@@_bound_glue_auxii:n #1 { \skip_set_eq:NN \l_@@_last_skip \tex_lastskip:D \skip_if_eq:nnTF { \l_@@_last_skip } { 1sp } @@ -4155,7 +4183,7 @@ Copyright and Licence % \begin{macro}{\@@_bound_type_12_glue:Nn} % $12$ 表示 kern node,用于判æ–之å‰çš„å—符是å¦æ˜¯ CJK 类,如果是,则æ’å…¥ \tn{CJKglue}。 % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_bound_type_ 12 _glue:Nn } #1#2 +\cs_new_protected:cpn { @@_bound_type_ 12 _glue:Nn } #1#2 { \xeCJK_if_last_node:nF { CJK } { \xeCJK_if_last_node:nF { CJK-space } { \use_none:nn } } @@ -4170,7 +4198,7 @@ Copyright and Licence % 能对é½åˆ°è¾¹ç•Œã€‚判æ–基于 \tn{item} 的内部定义 \tn{@item} 对 \tn{everypar} 进行了修改,在这里起 % 到影å“作用的是 |\box\@labels \penalty\z@|。以上判æ–都比较粗略,暂时也没有想起更好的办法。 % \begin{macrocode} -\cs_new_protected_nopar:cpn { @@_bound_type_ 13 _glue:Nn } #1#2 +\cs_new_protected:cpn { @@_bound_type_ 13 _glue:Nn } #1#2 { \@@_if_last_punct_penalty:TF { \xeCJK_punct_bound_kern:N #1 } @@ -4190,7 +4218,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_Default_and_FullRight:nN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullRight:nN #1#2 +\cs_new_protected:Npn \xeCJK_Default_and_FullRight:nN #1#2 { \xeCJK_get_punct_bounds:NN \c_@@_right_tl #2 \@@_Default_and_FullRight_glue:N #2 @@ -4206,7 +4234,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_Boundary_and_FullRight:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullRight:N #1 +\cs_new_protected:Npn \xeCJK_Boundary_and_FullRight:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1 \xeCJK_if_last_punct:TF @@ -4227,7 +4255,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_CJK_and_FullRight:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullRight:N #1 +\cs_new_protected:Npn \xeCJK_CJK_and_FullRight:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1 \@@_CJK_and_FullRight_glue:N #1 @@ -4240,12 +4268,13 @@ Copyright and Licence % % \changes{v3.6.0}{2018/01/23}{è§£å†³æ ‡ç‚¹ä¸é—´è¢«éš”开的ç¦åˆ™ä¸ŽåŽ‹ç¼©é—®é¢˜ã€‚} % \changes{v3.7.3}{2019/04/15}{ä¿®å¤ penalty 数值错误。} +% \changes{v3.8.3}{2020/04/27}{ä¿®å¤ \opt{xCJKecglue} 选项。} % % \begin{macro}{\xeCJK_if_last_punct:TF} % \changes{v3.6.1}{2018/02/25}{细化判æ–。} % 判æ–之å‰æ˜¯å¦æ˜¯ä¸€ä¸ªæ ‡ç‚¹ç¬¦å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_if_last_punct:TF +\cs_new_protected:Npn \xeCJK_if_last_punct:TF { \bool_set_false:N \l_@@_last_penalty_bool \int_compare:nNnTF \tex_lastnodetype:D = { 11 } @@ -4256,14 +4285,14 @@ Copyright and Licence { \use_ii:nn } } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_glue:TF +\cs_new_protected:Npn \@@_if_last_punct_glue:TF { \prop_get:NoNTF \g_@@_punct_skip_prop { \skip_use:N \tex_lastskip:D } \l_@@_tmp_tl { \@@_if_last_punct_glue_auxi:TF } { \@@_if_last_punct_glue_auxii:TF } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_glue_auxi:TF +\cs_new_protected:Npn \@@_if_last_punct_glue_auxi:TF { \skip_set_eq:NN \l_@@_last_skip \tex_lastskip:D \tex_unskip:D @@ -4276,14 +4305,15 @@ Copyright and Licence } { \skip_horizontal:N \l_@@_last_skip \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_glue_auxii:TF +\cs_new_protected:Npn \@@_if_last_punct_glue_auxii:TF { - \int_gset_eq:NN \g_@@_space_factor_int \tex_spacefactor:D - \skip_if_eq:nnTF { \tex_lastskip:D } { \c_xeCJK_space_skip_tl } - { \@@_if_last_punct_glue_auxiii:TF } - { \use_ii:nn } + \group_begin: + \g_@@_space_factor_int \tex_spacefactor:D + \skip_if_eq:nnTF { \tex_lastskip:D } { \c_xeCJK_space_skip_tl } + { \group_end: \@@_if_last_punct_glue_auxiii:TF } + { \group_end: \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_glue_auxiii:TF +\cs_new_protected:Npn \@@_if_last_punct_glue_auxiii:TF { \skip_set_eq:NN \l_@@_tmp_skip \tex_lastskip:D \tex_unskip:D @@ -4297,7 +4327,7 @@ Copyright and Licence { \use:n } { \skip_horizontal:N \l_@@_tmp_skip \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_penalty:TF +\cs_new_protected:Npn \@@_if_last_punct_penalty:TF { \int_set_eq:NN \l_@@_last_penalty_int \tex_lastpenalty:D \tex_unpenalty:D @@ -4307,7 +4337,7 @@ Copyright and Licence { \use:n } { \tex_penalty:D \l_@@_last_penalty_int \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_auxi:TF +\cs_new_protected:Npn \@@_if_last_punct_auxi:TF { \tex_unpenalty:D \bool_if:NF \l_@@_last_penalty_bool @@ -4320,13 +4350,13 @@ Copyright and Licence { \use:n } { \xeCJK_no_break: \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_auxii:TF +\cs_new_protected:Npn \@@_if_last_punct_auxii:TF { \dim_compare:nNnTF \l_@@_last_kern_dim > \c_zero_dim { \@@_if_last_punct_auxiii:TF } { \@@_make_node:N \l_@@_last_kern_dim \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_auxiii:TF +\cs_new_protected:Npn \@@_if_last_punct_auxiii:TF { \int_case:nnTF { \tex_XeTeXcharclass:D \l_@@_last_kern_dim } { @@ -4338,7 +4368,7 @@ Copyright and Licence { \@@_if_last_punct_auxiv:TF } { \use_ii:nn } } -\cs_new_protected_nopar:Npn \@@_if_last_punct_auxiv:TF +\cs_new_protected:Npn \@@_if_last_punct_auxiv:TF { \dim_set_eq:NN \l_@@_tmp_dim \l_@@_last_kern_dim \xeCJK_if_last_node:TF @@ -4388,7 +4418,7 @@ Copyright and Licence % \begin{macro} % {\@@_CJK_and_FullRight_glue:N,\@@_Default_and_FullRight_glue:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_CJK_and_FullRight_glue:N #1 +\cs_new_protected:Npn \@@_CJK_and_FullRight_glue:N #1 { \@@_punct_if_long:NTF #1 { \xeCJK_allow_break: } @@ -4400,7 +4430,7 @@ Copyright and Licence \@@_punct_bound_rule:NN \c_@@_left_tl #1 } } -\cs_new_protected_nopar:Npn \@@_Default_and_FullRight_glue:N #1 +\cs_new_protected:Npn \@@_Default_and_FullRight_glue:N #1 { \@@_punct_if_long:NTF #1 { \xeCJK_allow_break: } @@ -4416,7 +4446,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullLeft_and_FullLeft:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_FullLeft:N #1 +\cs_new_protected:Npn \xeCJK_FullLeft_and_FullLeft:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1 \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1 @@ -4429,7 +4459,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullLeft_and_FullRight:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_FullRight:N #1 +\cs_new_protected:Npn \xeCJK_FullLeft_and_FullRight:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1 \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1 @@ -4442,7 +4472,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullRight_and_FullLeft:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_FullLeft:N #1 +\cs_new_protected:Npn \xeCJK_FullRight_and_FullLeft:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1 \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1 @@ -4455,7 +4485,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullRight_and_FullRight:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_FullRight:N #1 +\cs_new_protected:Npn \xeCJK_FullRight_and_FullRight:N #1 { \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1 \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1 @@ -4506,13 +4536,13 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_FullRight_symbol:N} % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol } +\cs_new:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\xeCJK_check_FullRight:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_FullRight: +\cs_new_protected:Npn \xeCJK_check_FullRight: { \xeCJK_get_punct_bounds:No \c_@@_right_tl \g_@@_last_punct_tl \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl @@ -4535,7 +4565,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_check_FullRight_symbol:Nw} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_FullRight_symbol:Nw #1 +\cs_new_protected:Npn \xeCJK_check_FullRight_symbol:Nw #1 { \peek_remove_spaces:n { \@@_save_FullRight_symbol:N #1 } } % \end{macrocode} % \end{macro} @@ -4666,7 +4696,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_widow_penalty:} % 预防段末å¤å—而æ’入的 penalty,值为 \cs{l_@@_widow_penalty_int}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_widow_penalty: +\cs_new_protected:Npn \xeCJK_widow_penalty: { \tex_penalty:D \l_@@_widow_penalty_int } % \end{macrocode} % \end{macro} @@ -4676,7 +4706,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_check_single:Nw} % \begin{macro}{\@@_check_single_end:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_single:Nw #1 +\cs_new_protected:Npn \xeCJK_check_single:Nw #1 { \group_align_safe_begin: \peek_catcode:NTF \c_catcode_letter_token @@ -4688,7 +4718,7 @@ Copyright and Licence #1 } } -\cs_new_protected_nopar:Npn \@@_check_single_end:N +\cs_new_protected:Npn \@@_check_single_end:N { \group_align_safe_end: \@@_check_single_save:N @@ -4704,7 +4734,7 @@ Copyright and Licence % 使用 \cs{group_align_safe_begin:} å’Œ \cs{group_align_safe_end:} 是为了防æ¢åœ¨è¡¨æ ¼ % 里é¢æŠ¥é”™ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_single:NNw #1#2 +\cs_new_protected:Npn \xeCJK_check_single:NNw #1#2 { \xeCJK_peek_catcode_ignore_spaces:NTF \c_catcode_letter_token { @@ -4731,7 +4761,7 @@ Copyright and Licence #1 #2 } } -\cs_new_protected_nopar:Npn \@@_check_single_aux:nNNw #1#2#3 +\cs_new_protected:Npn \@@_check_single_aux:nNNw #1#2#3 { \token_if_cs:NTF \l_peek_token { \xeCJK_check_single_cs:NNn } @@ -4745,10 +4775,10 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_check_single_end:NNnw} % \begin{macro}{\@@_check_single_end_aux:NNn,\@@_check_single_end_equation:NNnw} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_check_single_end_aux:NNn #1#2#3 +\cs_new_protected:Npn \@@_check_single_end_aux:NNn #1#2#3 { \@@_check_single_end:N #1 #2 #3 } \cs_new_eq:NN \xeCJK_check_single_end:NNnw \@@_check_single_end_aux:NNn -\cs_new_protected_nopar:Npn \@@_check_single_end_equation:NNnw +\cs_new_protected:Npn \@@_check_single_end_equation:NNnw { \token_if_math_toggle:NTF \l_peek_token { \xeCJK_check_single_equation:NNnNw } @@ -4785,7 +4815,7 @@ Copyright and Licence % \changes{v3.1.2}{2012/12/27} % {使用 \cs{xeCJK_if_CJK_class:NTF} æ¥ä»£æ›¿ \cs{int_case:nnn} 判æ–是å¦æ˜¯ CJK å—符类。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_check_single_space:NN #1#2 +\cs_new_protected:Npn \@@_check_single_space:NN #1#2 { \xeCJK_if_CJK_class:NTF #2 { @@ -4800,7 +4830,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_check_single_equation:NNnNw} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_single_equation:NNnNw #1#2#3#4 +\cs_new_protected:Npn \xeCJK_check_single_equation:NNnNw #1#2#3#4 { \peek_catcode:NTF \c_math_toggle_token { @@ -4832,7 +4862,7 @@ Copyright and Licence % \tn{ifx} 判æ–。解决办法是将判æ–用 \cs{group_align_safe_begin:} å’Œ % \cs{group_align_safe_end:} 包起æ¥ã€‚æˆ–è€…æ”¹ç”¨åŽŸè¯ \cs{tex_par:D} 作为判æ–æ¡ä»¶ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_single_cs:NNn #1#2#3 +\cs_new_protected:Npn \xeCJK_check_single_cs:NNn #1#2#3 { \tl_case:NoF \l_peek_token { \l_@@_check_single_cs_case_tl } @@ -4851,7 +4881,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_check_single_env:nnNn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_check_single_env:nnNn #1#2#3#4 +\cs_new_protected:Npn \xeCJK_check_single_env:nnNn #1#2#3#4 { \str_case_e:noTF {#4} { \l_@@_inline_env_case_tl } @@ -4980,7 +5010,7 @@ Copyright and Licence % % \begin{macro}{\@@_sub_restore_or_cancel:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_sub_restore_or_cancel:n #1 +\cs_new_protected:Npn \@@_sub_restore_or_cancel:n #1 { \clist_map_inline:nn {#1} { @@ -5005,7 +5035,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_declare_sub_char_class:nnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_declare_sub_char_class:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_declare_sub_char_class:nnn #1#2#3 { \int_if_exist:cF { \@@_class_csname:n { #1/#2 } } { @@ -5021,7 +5051,7 @@ Copyright and Licence % % \begin{macro}{\@@_set_sub_class_toks:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_sub_class_toks:nn #1#2 +\cs_new_protected:Npn \@@_set_sub_class_toks:nn #1#2 { \seq_map_inline:Nn \g_@@_base_class_seq { @@ -5080,11 +5110,11 @@ Copyright and Licence { \keys_define:nn { xeCJK / options } { - PunctStyle / unknown .code:n = - { \@@_error:nx { punct-style-unknown } { \l_keys_value_tl } } + PunctStyle .code:n = + { \@@_error:nx { punct-style-unknown } {#1} } } \seq_gclear:N \g_@@_punct_style_seq - \keys_set:nn { xeCJK / options } { PunctStyle = plain } + \@@_set_punct_style:n { plain } } } % \end{macrocode} @@ -5183,11 +5213,11 @@ Copyright and Licence % \begin{macrocode} \clist_new:N \g_@@_special_punct_clist \clist_gset:Nn \g_@@_special_punct_clist { mixed_width , long , middle } -\cs_new_nopar:Npn \@@_special_punct_seq:n #1 { g_@@_special_punct_#1_seq } -\cs_new_nopar:Npn \@@_special_punct_tl:nN #1#2 { g_@@_special_punct_#1_#2_tl } +\cs_new:Npn \@@_special_punct_seq:n #1 { g_@@_special_punct_#1_seq } +\cs_new:Npn \@@_special_punct_tl:nN #1#2 { g_@@_special_punct_#1_#2_tl } \clist_map_inline:Nn \g_@@_special_punct_clist { \seq_new:c { \@@_special_punct_seq:n {#1} } } -\cs_new_protected_nopar:Npn \@@_set_special_punct:nn #1#2 +\cs_new_protected:Npn \@@_set_special_punct:nn #1#2 { \seq_map_inline:cn { \@@_special_punct_seq:n {#1} } { \cs_undefine:c { \@@_special_punct_tl:nN {#1} {##1} } } @@ -5198,7 +5228,7 @@ Copyright and Licence \seq_gput_right:cn { \@@_special_punct_seq:n {#1} } {##1} } } -\cs_new_protected_nopar:Npn \@@_add_special_punct:nn #1#2 +\cs_new_protected:Npn \@@_add_special_punct:nn #1#2 { \tl_map_inline:xn {#2} { @@ -5209,7 +5239,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_sub_special_punct:nn #1#2 +\cs_new_protected:Npn \@@_sub_special_punct:nn #1#2 { \tl_map_inline:xn {#2} { @@ -5389,20 +5419,20 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_get_punct_bounds:NN} % |#1| 为 \cs{c_@@_left_tl} 或 \cs{c_@@_right_tl},|#2| ä¸ºæ ‡ç‚¹ç¬¦å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_get_punct_bounds:NN #1#2 +\cs_new_protected:Npn \xeCJK_get_punct_bounds:NN #1#2 { \tl_if_exist:cF { \@@_punct_csname:n { dim/glue/#1/#2 } } { \@@_get_punct_bounds_aux:NN #1 #2 } } -\cs_new_protected_nopar:Npn \@@_get_punct_bounds_aux:NN +\cs_new_protected:Npn \@@_get_punct_bounds_aux:NN { \tl_if_eq:NNTF \l_xeCJK_punct_style_tl \c_@@_punct_style_plain_tl { \@@_save_punct_margin_plain:NN } { \@@_save_punct_margin:NN } } -\cs_new_protected_nopar:Npn \xeCJK_get_punct_bounds:No +\cs_new_protected:Npn \xeCJK_get_punct_bounds:No { \exp_last_unbraced:NNo \xeCJK_get_punct_bounds:NN } -\cs_new_protected_nopar:Npn \@@_save_punct_margin_plain:NN #1#2 +\cs_new_protected:Npn \@@_save_punct_margin_plain:NN #1#2 { \@@_save_punct_dim:nNNn { rule } #1 #2 { \c_zero_dim } \@@_save_punct_dim:nNNn { glue } #1 #2 { \c_zero_dim } @@ -5412,7 +5442,7 @@ Copyright and Licence \@@_save_punct_dim:nNNn { bound } \c_@@_right_tl {#2} { \c_zero_dim } \@@_save_punct_skip:nNNn { glue } #1 #2 { \c_zero_skip } } -\cs_new_protected_nopar:Npn \@@_save_punct_margin:NN #1#2 +\cs_new_protected:Npn \@@_save_punct_margin:NN #1#2 { \group_begin: \xeCJK_select_punct_font: @@ -5445,7 +5475,7 @@ Copyright and Licence % 相åŒé•¿æ ‡ç‚¹åŽ‹ç¼©ã€‚å¯¹äºŽç ´æŠ˜å·ï¼Œè®¡ç®—ä¸¤æ ‡ç‚¹ä¹‹é—´çš„ç©ºç™½ï¼Œä¿è¯å®ƒä¸é—´ä¸è¢«æ–开。 % 注æ„ï¼Œç ´æŠ˜å·çš„边界å¯èƒ½ä¸ºè´Ÿå€¼ï¼ˆæ¯”如方æ£æ–°ä¹¦å®‹ï¼‰ï¼Œæ¤æ—¶ä¸å¿…压缩。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_long_punct_kerning:N #1 +\cs_new_protected:Npn \@@_long_punct_kerning:N #1 { \dim_set:Nn \l_@@_tmp_dim { @@ -5474,7 +5504,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_get_punct_kerning:NN} % æ ‡ç‚¹åŽ‹ç¼©ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_get_punct_kerning:NN #1#2 +\cs_new_protected:Npn \xeCJK_get_punct_kerning:NN #1#2 { \tl_if_exist:cF { \@@_punct_csname:n { dim/kern/#1/#2 } } { @@ -5484,9 +5514,9 @@ Copyright and Licence #1 #2 } } -\cs_new_protected_nopar:Npn \xeCJK_get_punct_kerning:oN +\cs_new_protected:Npn \xeCJK_get_punct_kerning:oN { \exp_after:wN \xeCJK_get_punct_kerning:NN } -\cs_new_protected_nopar:Npn \@@_save_punct_kerning_plain:NN #1#2 +\cs_new_protected:Npn \@@_save_punct_kerning_plain:NN #1#2 { \@@_save_punct_dim:nNNn { kern } #1 #2 { \c_zero_dim } \@@_save_punct_dim:nNNn { bound_kern } #1 #2 { \c_zero_dim } @@ -5494,7 +5524,7 @@ Copyright and Licence \@@_save_punct_skip:nNNn { kern } #1 #2 { \c_zero_skip } \@@_save_punct_skip:nNNn { bound_kern } #1 #2 { \c_zero_skip } } -\cs_new_protected_nopar:Npn \@@_save_punct_kerning:NN +\cs_new_protected:Npn \@@_save_punct_kerning:NN { \UseInstance { xeCJK / punctuation } { \l_xeCJK_punct_style_tl } \xeCJK_punct_kerning_process:NN @@ -5504,7 +5534,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_punct_margin_process:NN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_punct_margin_process:NN #1#2 +\cs_new_protected:Npn \xeCJK_punct_margin_process:NN #1#2 { \dim_set:Nn \l_@@_tmp_dim { @@ -5566,7 +5596,7 @@ Copyright and Licence % % \begin{macro}{\@@_calc_punct_width:N} % \begin{macrocode} -\cs_new_nopar:Npn \@@_calc_punct_width:N #1 +\cs_new:Npn \@@_calc_punct_width:N #1 { \@@_punct_if_middle:NTF #1 { \@@_punct_width_or_ratio:nN { middle } } @@ -5582,7 +5612,7 @@ Copyright and Licence % % \begin{macro}{\@@_calc_margin_width:N} % \begin{macrocode} -\cs_new_nopar:Npn \@@_calc_margin_width:N #1 +\cs_new:Npn \@@_calc_margin_width:N #1 { \@@_punct_if_middle:NTF #1 { @@ -5606,7 +5636,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_punct_offset_process:NN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_punct_offset_process:NN #1#2 +\cs_new_protected:Npn \xeCJK_punct_offset_process:NN #1#2 { \dim_set:Nn \l_@@_tmp_dim { @@ -5680,7 +5710,7 @@ Copyright and Licence % % \begin{macro}{\@@_punct_width_or_ratio:nN} % \begin{macrocode} -\cs_new_nopar:Npn \@@_punct_width_or_ratio:nN #1#2 +\cs_new:Npn \@@_punct_width_or_ratio:nN #1#2 { \dim_compare:nNnTF { \use:c { l_@@_#1_punct_width_dim } } < \c_max_dim { \use:c { l_@@_#1_punct_width_dim } } @@ -5698,7 +5728,7 @@ Copyright and Licence % % \begin{macro}{\@@_margin_width_or_ratio:n} % \begin{macrocode} -\cs_new_nopar:Npn \@@_margin_width_or_ratio:n #1 +\cs_new:Npn \@@_margin_width_or_ratio:n #1 { \dim_compare:nNnTF { \use:c { l_@@_#1_margin_width_dim } } < \c_max_dim { \use:c { l_@@_#1_margin_width_dim } } @@ -5717,7 +5747,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_punct_kerning_process:NN} % å½“æ ‡ç‚¹ä¹‹ä¸€ä¸ºé•¿æ ‡ç‚¹æ—¶ï¼Œä¸å¿…进行压缩。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_punct_kerning_process:NN #1#2 +\cs_new_protected:Npn \xeCJK_punct_kerning_process:NN #1#2 { \dim_set:Nn \l_@@_margin_dim { \@@_original_kerning_margin:NN #1 #2 } @@ -5754,7 +5784,7 @@ Copyright and Licence } #1 #2 } -\cs_new_nopar:Npn \@@_punct_kerning_process_aux:NN #1#2 +\cs_new:Npn \@@_punct_kerning_process_aux:NN #1#2 { \bool_if:NTF \l_@@_enabled_kerning_bool { \@@_calc_kerning_margin:NN #1 #2 } @@ -5770,9 +5800,9 @@ Copyright and Licence % \begin{macro}{\@@_save_kerning:nnNN} % ç›¸é‚»ä¸¤ä¸ªæ ‡ç‚¹ç¬¦å·çš„é—´è·èƒ½ä¼¸é•¿åˆ°åŽŸå§‹ç©ºç™½ï¼ˆæœªåŽ‹ç¼©æ—¶çš„状æ€ï¼‰ï¼Œèƒ½æ”¶ç¼©åˆ°è¾ƒå°è¾¹è·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_save_kerning:nnNN #1#2 +\cs_new_protected:Npn \@@_save_kerning:nnNN #1#2 { \@@_save_kerning:nnnNN {#1} {#2} {#2} } -\cs_new_protected_nopar:Npn \@@_save_kerning:nnnNN #1#2#3#4#5 +\cs_new_protected:Npn \@@_save_kerning:nnnNN #1#2#3#4#5 { \dim_set:Nn \l_@@_tmp_dim { @@ -5792,7 +5822,7 @@ Copyright and Licence % \begin{macro}{\@@_original_kerning_margin:NN} % ç›¸é‚»ä¸¤ä¸ªæ ‡ç‚¹ç¬¦å·ä¹‹é—´çš„本æ¥ç©ºç™½å®½åº¦ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \@@_original_kerning_margin:NN #1#2 +\cs_new:Npn \@@_original_kerning_margin:NN #1#2 { \dim_eval:n { @@ -5808,7 +5838,7 @@ Copyright and Licence % % \begin{macro}{\@@_calc_kerning_margin:NN,\@@_calc_kerning_margin_aux:NN} % \begin{macrocode} -\cs_new_nopar:Npn \@@_calc_kerning_margin:NN #1#2 +\cs_new:Npn \@@_calc_kerning_margin:NN #1#2 { \dim_max:nn { \l_@@_kerning_margin_minimum_dim } @@ -5823,7 +5853,7 @@ Copyright and Licence } } } -\cs_new_nopar:Npn \@@_calc_kerning_margin_aux:NN #1#2 +\cs_new:Npn \@@_calc_kerning_margin_aux:NN #1#2 { \dim_compare:nNnTF \l_@@_kerning_total_width_dim < \c_max_dim { \@@_calc_kerning_margin:nNN \l_@@_kerning_total_width_dim } @@ -5852,7 +5882,7 @@ Copyright and Licence % % \begin{macro}{\@@_kerning_width_or_ratio:nNN} % \begin{macrocode} -\cs_new_nopar:Npn \@@_kerning_width_or_ratio:nNN #1#2#3 +\cs_new:Npn \@@_kerning_width_or_ratio:nNN #1#2#3 { \dim_compare:nNnTF { \use:c { l_@@_#1_align_margin_dim } } < \c_max_dim { \use:c { l_@@_#1_align_margin_dim } } @@ -5872,7 +5902,7 @@ Copyright and Licence % % \begin{macro}{\@@_punct_min_bound:NN} % \begin{macrocode} -\cs_new_nopar:Npn \@@_punct_min_bound:NN #1#2 +\cs_new:Npn \@@_punct_min_bound:NN #1#2 { \dim_max:nn { @@ -5892,7 +5922,7 @@ Copyright and Licence % \begin{macro}{\@@_calc_kerning_margin:nNN} % |#2| å’Œ |#3| ä¸ºç›¸é‚»çš„ä¸¤ä¸ªæ ‡ç‚¹ï¼Œ|#1| 为è¦ç¡®å®šçš„ç›¸é‚»ä¸¤ä¸ªæ ‡ç‚¹æ€»å…±å 的宽度。 % \begin{macrocode} -\cs_new_nopar:Npn \@@_calc_kerning_margin:nNN #1#2#3 +\cs_new:Npn \@@_calc_kerning_margin:nNN #1#2#3 { \dim_eval:n { @@ -5913,7 +5943,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_calc_punct_dimen:N} % è®¡ç®—æ ‡ç‚¹çš„å·¦å³å®žé™…è¾¹è·å’Œå®žé™…尺寸。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_calc_punct_dimen:N #1 +\cs_new_protected:Npn \xeCJK_calc_punct_dimen:N #1 { \@@_save_punct_dim:nNNn { bound } \c_@@_left_tl #1 { \xeCJK_glyph_bounds:NN 1 #1 } @@ -5934,37 +5964,54 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_glyph_bounds:NN} % 用 \tn{XeTeXglyphbounds} å–å¾—æ ‡ç‚¹ç¬¦å·çš„上下左å³ç©ºç™½ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_glyph_bounds:NN #1#2 +\cs_new:Npn \xeCJK_glyph_bounds:NN #1#2 { \tex_XeTeXglyphbounds:D #1 ~ \tex_XeTeXcharglyph:D `#2 \exp_stop_f: } % \end{macrocode} % \end{macro} % +% \changes{v3.8.3}{2020/04/09}{é‡æž„ \opt{PunctStyle} 选项,完全展开å‚数。} +% % \begin{macro}{PunctStyle} % \begin{macrocode} \keys_define:nn { xeCJK / options } + { PunctStyle .code:n = \exp_args:Nx \@@_set_punct_style:n {#1} } +\cs_new_protected:Npn \@@_set_punct_style:n #1 { - PunctStyle .choice: , - PunctStyle .default:n = { quanjiao } , - PunctStyle / halfwidth .meta:n = { PunctStyle = banjiao } , - PunctStyle / fullwidth .meta:n = { PunctStyle = quanjiao } , - PunctStyle / mixedwidth .meta:n = { PunctStyle = kaiming } , - PunctStyle / marginkerning .meta:n = { PunctStyle = hangmobanjiao } , - PunctStyle / plain .code:n = - { \tl_set_eq:NN \l_xeCJK_punct_style_tl \c_@@_punct_style_plain_tl } , - PunctStyle / unknown .code:n = + \IfInstanceExistTF { xeCJK / punctuation } {#1} + { \tl_set:Nn \l_xeCJK_punct_style_tl {#1} } { - \IfInstanceExistTF { xeCJK / punctuation } { \l_keys_value_tl } - { \tl_set:Nx \l_xeCJK_punct_style_tl { \l_keys_value_tl } } - { \@@_error:nx { punct-style-unknown } { \l_keys_value_tl } } + \prop_get:NnNF \c_@@_punct_style_alias_prop + {#1} \l_xeCJK_punct_style_tl + { \@@_error:nx { punct-style-unknown } {#1} } } } +\prop_const_from_keyval:Nn \c_@@_punct_style_alias_prop + { + halfwidth = banjiao , + fullwidth = quanjiao , + mixedwidth = kaiming , + marginkerning = hangmobanjiao , + plain = plain + } \tl_new:N \l_xeCJK_punct_style_tl \tl_const:Nn \c_@@_punct_style_plain_tl { plain } \@@_msg_new:nn { punct-style-unknown } { Punctuation~style~"#1"~is~unknown. \\\\ The~available~styles~are~listed~as~follow.\\\\ - "plain,~\seq_use:Nnnn \g_@@_punct_style_seq { ~and~ } { ,~ } { ,~and~ }".\\ + "plain,~\seq_use:Nnnn \g_@@_punct_style_seq + { ~and~ } { ,~ } { ,~and~ }".\\ + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_trim_spaces:n} +% \pkg{xparse} 处ç†å‡½æ•°ï¼Œå…ˆå®Œå…¨å±•å¼€å‚æ•°å†åˆ é™¤ä¸¤è¾¹ç©ºæ ¼ã€‚ +% \begin{macrocode} +\cs_new_protected:Npn \@@_trim_spaces:n #1 + { + \tl_set:Nx \ProcessedArgument + { \exp_args:Ne \tl_trim_spaces:n {#1} } } % \end{macrocode} % \end{macro} @@ -5972,12 +6019,13 @@ Copyright and Licence % \begin{macro}{\xeCJKDeclarePunctStyle} % å®šä¹‰æ–°çš„æ ‡ç‚¹å¤„ç†é£Žæ ¼ï¼Œå·²ç»å˜åœ¨çš„åŒåé£Žæ ¼å°†è¢«è¦†ç›–ã€‚ % \begin{macrocode} -\NewDocumentCommand \xeCJKDeclarePunctStyle { > { \TrimSpaces } m m } +\NewDocumentCommand \xeCJKDeclarePunctStyle + { > { \@@_trim_spaces:n } m m } { \IfInstanceExistTF { xeCJK / punctuation } {#1} { \@@_warning:nx { punct-style-already-defined } {#1} } - { \seq_gput_right:Nx \g_@@_punct_style_seq {#1} } - \exp_args:Nnx \DeclareInstance { xeCJK / punctuation } {#1} { basic } {#2} + { \seq_gput_right:Nn \g_@@_punct_style_seq {#1} } + \DeclareInstance { xeCJK / punctuation } {#1} { basic } {#2} } \seq_new:N \g_@@_punct_style_seq \@@_msg_new:nn { punct-style-already-defined } @@ -5992,10 +6040,11 @@ Copyright and Licence % \begin{macro}{\xeCJKEditPunctStyle} % å¯¹å·²æœ‰çš„æ ‡ç‚¹å¤„ç†é£Žæ ¼è¿›è¡Œä¿®æ”¹ã€‚ % \begin{macrocode} -\NewDocumentCommand \xeCJKEditPunctStyle { > { \TrimSpaces } m m } +\NewDocumentCommand \xeCJKEditPunctStyle + { > { \@@_trim_spaces:n } m m } { \IfInstanceExistTF { xeCJK / punctuation } {#1} - { \exp_args:Nnx \EditInstance { xeCJK / punctuation } {#1} {#2} } + { \EditInstance { xeCJK / punctuation } {#1} {#2} } { \@@_error:nx { punct-style-unknown } {#1} } } \@onlypreamble \xeCJKEditPunctStyle @@ -6072,7 +6121,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_fallback_test_glyph:N} % 测试当å‰å—体ä¸æ˜¯å¦å˜åœ¨å½“å‰å—符,如å˜åœ¨åˆ™ç›´æŽ¥è¾“出,å¦åˆ™å¯ç”¨åŽå¤‡å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_fallback_test_glyph:N #1 +\cs_new_protected:Npn \xeCJK_fallback_test_glyph:N #1 { \xeCJK_glyph_if_exist:NTF #1 { \@@_fallback_save_CJKsymbol:N #1 } @@ -6092,7 +6141,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_aftergroup_reset_Boundary:N} % 在分组ä¸æš‚时清空 |#1| 与边界的 toks,分组åŽæ¢å¤ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_aftergroup_reset_Boundary:N #1 +\cs_new_protected:Npn \xeCJK_aftergroup_reset_Boundary:N #1 { \tl_set:Nx \l_@@_tmp_tl { \tex_the:D \tex_XeTeXcharclass:D `#1 ~ \xeCJK_class_num:n { Boundary } } @@ -6114,7 +6163,7 @@ Copyright and Licence % 循环测试åŽå¤‡å—体是å¦åŒ…å«å—符 |#1|。若åŽå¤‡å—体ä¸å˜åœ¨è¯¥å—符或者å†æ²¡æœ‰åŽå¤‡å—体,则 % 结æŸå¾ªçŽ¯ã€‚当å‰å—体æ—没有备用å—体时,使用 \tn{CJKfamilydefault} 的设置。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_fallback_loop:Nn #1#2 +\cs_new_protected:Npn \xeCJK_fallback_loop:Nn #1#2 { \xeCJK_family_if_exist:nTF {#2} { @@ -6163,7 +6212,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_set_family_fallback:nnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_set_family_fallback:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_set_family_fallback:nnn #1#2#3 { \group_begin: \tl_set:Nn \l_@@_fallback_family_tl {#1} @@ -6232,7 +6281,7 @@ Copyright and Licence % 用于定义 CJK å区å—体和备用å—体的选项。 % \begin{macrocode} \seq_new:N \g_@@_sub_key_seq -\cs_new_protected_nopar:Npn \xeCJK_new_sub_key:n #1 +\cs_new_protected:Npn \xeCJK_new_sub_key:n #1 { \seq_gput_right:Nn \g_@@_sub_key_seq {#1} \keys_define:nn { xeCJK / features } @@ -6264,7 +6313,7 @@ Copyright and Licence % % \begin{macro}{\@@_get_sub_features:nn,\@@_get_sub_features:w} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_get_sub_features:nn #1#2 +\cs_new_protected:Npn \@@_get_sub_features:nn #1#2 { \tl_set:Nx \l_@@_tmp_tl { \xeCJK_tl_remove_outer_braces:n {#2} } \clist_clear:N \l_@@_sub_font_options_clist @@ -6279,7 +6328,7 @@ Copyright and Licence { \exp_not:V \l_@@_sub_font_name_tl } } } -\cs_new_protected_nopar:Npn \@@_get_sub_features:w #1 [#2] #3 \q_mark #4 \q_stop +\cs_new_protected:Npn \@@_get_sub_features:w #1 [#2] #3 \q_mark #4 \q_stop { \quark_if_nil:nTF {#2} { \tl_set_eq:NN \l_@@_sub_font_name_tl \l_@@_tmp_tl } @@ -6357,7 +6406,7 @@ Copyright and Licence % % \begin{macro}{\@@_set_family_initial:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_family_initial: +\cs_new_protected:Npn \@@_set_family_initial: { \int_gincr:N \g_@@_family_int \prop_clear:N \l_@@_sub_key_prop @@ -6383,7 +6432,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_set_family:nnn} % 设置一个 CJK æ–°å—体æ—,与 \tn{newfontfamily} ç±»ä¼¼ï¼Œå¢žåŠ |FallBack| 选项。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_set_family:nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_set_family:nnn #1#2#3 { \group_begin: \@@_set_family_initial: @@ -6413,7 +6462,7 @@ Copyright and Licence % % \begin{macro}{\@@_binding_sub_family:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_binding_sub_family: +\cs_new_protected:Npn \@@_binding_sub_family: { \tl_if_empty:NF \l_@@_sub_family_name_tl { \tl_set_eq:NN \l_@@_family_name_tl \l_@@_sub_family_name_tl } @@ -6423,9 +6472,9 @@ Copyright and Licence % % \begin{macro}{\@@_gset_family_cs:x} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_gset_family_cs:x #1 +\cs_new_protected:Npn \@@_gset_family_cs:x #1 { - \cs_gset_protected_nopar:cpx { \@@_family_csname:n {#1} } + \cs_gset_protected:cpx { \@@_family_csname:n {#1} } { \group_begin: \exp_not:n { \cs_set_eq:NN \xeCJK@fontfamily \use_none:n } @@ -6446,7 +6495,7 @@ Copyright and Licence % % \begin{macro}{\@@_check_family:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_check_family:n #1 +\cs_new_protected:Npn \@@_check_family:n #1 { \prop_gpop:NnNT \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl { @@ -6466,7 +6515,7 @@ Copyright and Licence % % \begin{macro}{\@@_parse_font_shape:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_parse_font_shape: +\cs_new_protected:Npn \@@_parse_font_shape: { \tl_if_blank:VTF \l_@@_font_name_bf_tl { @@ -6507,7 +6556,7 @@ Copyright and Licence % % \begin{macro}{\@@_save_family_info:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_save_family_info: +\cs_new_protected:Npn \@@_save_family_info: { \prop_gput:NVV \g_@@_family_font_name_prop \l_@@_family_name_tl \l_@@_font_name_tl @@ -6519,7 +6568,7 @@ Copyright and Licence % % \begin{macro}{\@@_set_sub_block_family:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_sub_block_family: +\cs_new_protected:Npn \@@_set_sub_block_family: { \prop_map_inline:Nn \l_@@_sub_key_prop { @@ -6532,7 +6581,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_copy_sub_family:n #1 +\cs_new_protected:Npn \@@_copy_sub_family:n #1 { \@@_check_family:V \l_@@_sub_family_name_tl \prop_get:NoNT \g_@@_family_font_name_prop @@ -6548,7 +6597,7 @@ Copyright and Licence \prop_gput:NVV \g_@@_family_font_options_prop \l_@@_sub_family_name_tl \l_@@_sub_font_options_clist } - \cs_gset_protected_nopar:cpx + \cs_gset_protected:cpx { \@@_family_csname:n { \l_@@_sub_family_name_tl } } { \xeCJK_family_if_exist:xT { \l_@@_family_name_tl } @@ -6564,7 +6613,7 @@ Copyright and Licence % % \begin{macro}{\@@_copy_family:nn,\@@_copy_family:xx} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_copy_family:nn #1#2 +\cs_new_protected:Npn \@@_copy_family:nn #1#2 { \xeCJK_family_if_exist:nT {#2} { @@ -6584,7 +6633,7 @@ Copyright and Licence { \@@_family_nfss_csname:n {#2} } } } -\cs_new_protected_nopar:Npn \@@_copy_family:xx #1#2 +\cs_new_protected:Npn \@@_copy_family:xx #1#2 { \use:x { \@@_copy_family:nn {#1} {#2} } } % \end{macrocode} % \end{macro} @@ -6595,18 +6644,18 @@ Copyright and Licence % \begin{variable}[int]{\l_xeCJK_current_font_tl} % 缓å˜å½“å‰å—ä½“çš„åŽŸå§‹æ ¼å¼ï¼Œä»¥åŠ 速编译。 % \begin{macrocode} -\cs_new_nopar:Npn \@@_font_csname:n #1 +\cs_new:Npn \@@_font_csname:n #1 { xeCJK/#1/\f@series/\f@shape/\f@size } \tl_new:N \l_xeCJK_current_font_tl \tl_set:No \l_xeCJK_current_font_tl { \@@_font_csname:n { \CJK@family } } -\cs_new_protected_nopar:Npn \xeCJK_select_font: +\cs_new_protected:Npn \xeCJK_select_font: { \@@_select_font:cn { \l_xeCJK_current_font_tl } { \l_xeCJK_family_tl } } -\cs_new_protected_nopar:Npn \@@_select_font:Nn #1#2 +\cs_new_protected:Npn \@@_select_font:Nn #1#2 { \cs_if_exist:NF #1 { \@@_font_initial:Nn #1 {#2} } #1 @@ -6624,7 +6673,7 @@ Copyright and Licence % 注æ„è¦å°† \tn{selectfont} 放在分组ä¸è°ƒç”¨ï¼Œé˜²æ¢ \tn{f@series} ç‰å—体å‚数被修改, % 导致 \cs{l_xeCJK_current_font_tl} æ ‡è®°å‰åŽä¸ä¸€è‡´ï¼Œå¼•å‘错误(è§~\ghissue{486})。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_font_initial:Nn #1#2 +\cs_new_protected:Npn \@@_font_initial:Nn #1#2 { \group_begin: \@@_family_use:n {#2} @@ -6639,7 +6688,7 @@ Copyright and Licence % 切æ¢æ ‡ç‚¹ç¬¦å·å—体。 % \begin{macrocode} \cs_new_eq:NN \xeCJK_select_punct_font: \xeCJK_select_font: -\cs_new_protected_nopar:Npn \@@_select_punct_font_aux: +\cs_new_protected:Npn \@@_select_punct_font_aux: { \@@_select_font:cn { \l_xeCJK_current_punct_font_tl } @@ -6660,7 +6709,7 @@ Copyright and Licence % \changes{v3.1.0}{2012/11/18}{æ”¹è¿›å®šä¹‰ï¼ŒåŠ å¿«åˆ‡æ¢é€Ÿåº¦ã€‚} % 两个 CJK 分区之间的å—体切æ¢ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_switch_font:nn #1#2 +\cs_new_protected:Npn \@@_switch_font:nn #1#2 { \str_if_eq:nnF {#1} {#2} { @@ -6681,26 +6730,26 @@ Copyright and Licence % 分区å—体;若 \tn{CJKfamilydefault} 也没有定义该分区å—ä½“ï¼Œåˆ™ä½¿ç”¨å½“å‰ CJK å—体æ—çš„ % 主分区å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_select_font:n #1 +\cs_new_protected:Npn \xeCJK_select_font:n #1 { \@@_select_font:cnn { \@@_font_csname:n { \CJK@family/#1 } } { \l_xeCJK_family_tl } {#1} } -\cs_new_protected_nopar:Npn \@@_select_font:Nnn #1#2#3 +\cs_new_protected:Npn \@@_select_font:Nnn #1#2#3 { \cs_if_exist:NF #1 { \@@_block_font_initial:Nnn #1 {#2} {#3} } #1 } \cs_generate_variant:Nn \@@_select_font:Nnn { c } -\cs_new_protected_nopar:Npn \@@_block_font_initial:Nnn #1#2#3 +\cs_new_protected:Npn \@@_block_font_initial:Nnn #1#2#3 { \xeCJK_block_family:nn {#2} {#3} \@@_font_initial:Nn #1 { #2/#3 } } -\cs_new_protected_nopar:Npn \xeCJK_block_family:nn #1#2 +\cs_new_protected:Npn \xeCJK_block_family:nn #1#2 { \xeCJK_family_if_exist:xF { #1/#2 } { @@ -6719,16 +6768,16 @@ Copyright and Licence % {\@@_family_csname:n,\@@_family_nfss_csname:n, % \@@_family_use:n,\@@_gset_family_nfss_cs:nn} % \begin{macrocode} -\cs_new_nopar:Npn \@@_family_csname:n #1 +\cs_new:Npn \@@_family_csname:n #1 { xeCJK/family/#1 } -\cs_new_nopar:Npn \@@_family_nfss_csname:n #1 +\cs_new:Npn \@@_family_nfss_csname:n #1 { xeCJK/family/nfss/#1 } -\cs_new_protected_nopar:Npn \@@_family_use:n #1 +\cs_new_protected:Npn \@@_family_use:n #1 { \use:c { \@@_family_nfss_csname:n {#1} } } -\cs_new_protected_nopar:Npn \@@_gset_family_nfss_cs:nn #1#2 +\cs_new_protected:Npn \@@_gset_family_nfss_cs:nn #1#2 { \prop_gput:Nnn \g_@@_family_name_prop {#1} {#2} - \cs_gset_protected_nopar:cpx + \cs_gset_protected:cpx { \@@_family_nfss_csname:n {#1} } { \@@_nfss_family:nn { \c_@@_encoding_tl } {#2} } } @@ -6741,7 +6790,7 @@ Copyright and Licence % \begin{macrocode} \cs_if_exist:NTF \fontseriesforce { - \cs_new_protected_nopar:Npn \@@_nfss_family:nn #1#2 + \cs_new_protected:Npn \@@_nfss_family:nn #1#2 { \fontencoding {#1} \str_if_eq:eeF { \f@series } { \bfdefault } @@ -6756,14 +6805,14 @@ Copyright and Licence \fontfamily {#2} \selectfont } - \cs_new_protected_nopar:Npn \@@_nfss_series:n #1 + \cs_new_protected:Npn \@@_nfss_series:n #1 { \str_if_eq:eeT { \f@series } { \use:c { bfseries@#1 } } { \fontseriesforce { \bfdefault } } } } { - \cs_new_protected_nopar:Npn \@@_nfss_family:nn #1#2 + \cs_new_protected:Npn \@@_nfss_family:nn #1#2 { \fontencoding {#1} \tl_set:Nn \f@family {#2} @@ -6798,7 +6847,7 @@ Copyright and Licence \xeCJK_family:NNx #1 #2 {#3} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \xeCJK_family:NNn #1#2#3 +\cs_new_protected:Npn \xeCJK_family:NNn #1#2#3 { \tl_if_blank:nTF {#3} { @@ -6820,7 +6869,7 @@ Copyright and Licence } } \cs_generate_variant:Nn \xeCJK_family:NNn { NNx } -\cs_new_protected_nopar:Npn \xeCJK_switch_family:n #1 +\cs_new_protected:Npn \xeCJK_switch_family:n #1 { \xeCJK_family_if_exist:nTF {#1} { @@ -6853,7 +6902,7 @@ Copyright and Licence PunctFamily / unknown .code:n = { \xeCJK_punct_family:x {#1} } , } -\cs_new_protected_nopar:Npn \xeCJK_punct_family:n #1 +\cs_new_protected:Npn \xeCJK_punct_family:n #1 { \xeCJK_family_if_exist:nTF {#1} { @@ -6887,7 +6936,7 @@ Copyright and Licence % % \begin{macro}{\@@_gobble_CJKfamily:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_gobble_CJKfamily: +\cs_new_protected:Npn \@@_gobble_CJKfamily: { \cs_set_eq:NN \CJKfamily \@@_gobble_CJKfamily:wn } \NewExpandableDocumentCommand \@@_gobble_CJKfamily:wn { t+ t- m } { } % \end{macrocode} @@ -6895,7 +6944,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_family_if_exist_use:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_family_if_exist_use:n #1 +\cs_new_protected:Npn \xeCJK_family_if_exist_use:n #1 { \xeCJK_family_if_exist:nTF {#1} { \@@_family_use:n {#1} } @@ -6909,7 +6958,7 @@ Copyright and Licence % \changes{v3.1.2}{2013/01/01} % {在没有定义任何 CJK å—体的情况下,ä¸å†é‡å¤ç»™å‡ºå—体没有定义的è¦å‘Šã€‚} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_family_unknown_warning:n #1 +\cs_new_protected:Npn \@@_family_unknown_warning:n #1 { \prop_if_empty:NF \g_@@_family_font_name_prop { @@ -6927,7 +6976,7 @@ Copyright and Licence Unknown~CJK~family~`\@@_msg_family_map:n {#1}'~is~being~ignored.\\\\ Try~to~use~`\@@_msg_def_family_map:n {#1}'~to~define~it. } -\cs_new_nopar:Npn \@@_msg_def_family_map:n #1 +\cs_new:Npn \@@_msg_def_family_map:n #1 { \str_case_e:nnF {#1} { @@ -6938,7 +6987,7 @@ Copyright and Licence { \token_to_str:N \setCJKfamilyfont \{ #1 \} } [...]\{...\} } -\cs_new_nopar:Npn \@@_msg_family_map:n #1 +\cs_new:Npn \@@_msg_family_map:n #1 { \str_case_e:nnF {#1} { @@ -7012,7 +7061,7 @@ Copyright and Licence % \begin{macro}{\@@_preamble_family:n} % 用在 \tn{setCJKmainfont} ç‰ä¸»è¦å‘½ä»¤ä¹‹åŽï¼Œç¡®ä¿å¯¼è¨€åŒºæœ‰ CJK å—体å¯ç”¨ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_preamble_family:n #1 +\cs_new_protected:Npn \@@_preamble_family:n #1 { \str_if_eq:eeT {#1} { \CJKfamilydefault } { \normalfont } } % \end{macrocode} % \end{macro} @@ -7031,7 +7080,7 @@ Copyright and Licence { \tl_set:Nx \l_@@_tmp_tl { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} } - \cs_new_protected_nopar:Npx #2 + \cs_new_protected:Npx #2 { \xeCJK_switch_family:n { \l_@@_tmp_tl } } \@@_pass_args:nnnn { \xeCJK_set_family:nnn { \l_@@_tmp_tl } } {#3} {#4} @@ -7048,7 +7097,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_fontspec:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_fontspec:nn #1#2 +\cs_new_protected:Npn \xeCJK_fontspec:nn #1#2 { \prop_get:NnNTF \g_@@_fontspec_prop { CJKfontspec/#1/#2/id } \l_xeCJK_family_tl @@ -7059,7 +7108,7 @@ Copyright and Licence {#1} {#2} } } -\cs_new_protected_nopar:Npn \@@_fontspec:nnn #1#2#3 +\cs_new_protected:Npn \@@_fontspec:nnn #1#2#3 { \prop_gput:Nnn \g_@@_fontspec_prop { CJKfontspec/#2/#3/id } {#1} \xeCJK_set_family:nnn {#1} {#2} {#3} @@ -7090,7 +7139,7 @@ Copyright and Licence % % \begin{macro}[int]{\xeCJK_add_font_features:Nnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_add_font_features:Nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_add_font_features:Nnn #1#2#3 { \prop_get:NoNTF \g_@@_family_font_name_prop \l_xeCJK_family_tl \l_@@_font_name_tl @@ -7146,7 +7195,7 @@ Copyright and Licence % % \begin{macro}{\@@_add_sub_class_features:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_add_sub_class_features:n #1 +\cs_new_protected:Npn \@@_add_sub_class_features:n #1 { \prop_get:NoNTF \g_@@_family_font_name_prop { \l_xeCJK_family_tl/#1 } \l_@@_sub_font_name_tl @@ -7189,7 +7238,7 @@ Copyright and Licence % \begin{macrocode} \keys_define:nn { xeCJK / options } { LoadFandol .bool_gset:N = \g_@@_fandol_bool } -\cs_new_protected_nopar:Npn \@@_load_fandol: +\cs_new_protected:Npn \@@_load_fandol: { \xeCJK_set_family:xnn { \CJKrmdefault } { Extension = .otf , BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular } @@ -7241,7 +7290,7 @@ Copyright and Licence } { \xeCJK_ensure_default_family: } } -\cs_new_protected_nopar:Npn \xeCJK_ensure_default_family: +\cs_new_protected:Npn \xeCJK_ensure_default_family: { \xeCJK_family_if_exist:xF { \CJKfamilydefault } { @@ -7315,8 +7364,9 @@ Copyright and Licence % \changes{v3.4.0}{2016/05/01}{CJKmath çš„å—符范围éµä»Ž \tn{xeCJKDeclareCharClass} 的设置。} % 当没有设置 CJK æ•°å¦å—体时,使用 \tn{CJKfamilydefault} 作为数å¦å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_set_mathfont: +\cs_new_protected:Npn \xeCJK_set_mathfont: { + \cs_if_exist_use:N \@@_save_um_char: \xeCJK_family_if_exist:xTF { \c_@@_math_tl } { \@@_set_mathfont_aux: } { @@ -7326,8 +7376,9 @@ Copyright and Licence \@@_set_mathfont_aux: } } + \cs_if_exist_use:N \@@_restore_um_char: } -\cs_new_protected_nopar:Npn \@@_set_mathfont_aux: +\cs_new_protected:Npn \@@_set_mathfont_aux: { \tl_const:Nx \c_@@_math_family_tl { \l_@@_fontspec_family_tl } @@ -7354,7 +7405,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_set_mathfont_block:} % 分区数å¦å—体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_set_mathfont_block: +\cs_new_protected:Npn \xeCJK_set_mathfont_block: { \seq_if_empty:NF \g_@@_CJK_sub_class_seq { @@ -7363,7 +7414,7 @@ Copyright and Licence \xeCJK_set_mathfont_block:n } } -\cs_new_protected_nopar:Npn \xeCJK_set_mathfont_block:n #1 +\cs_new_protected:Npn \xeCJK_set_mathfont_block:n #1 { \xeCJK_block_family:nn { \c_@@_math_tl } {#1} \prop_get:NoNTF \g_@@_fam_prop @@ -7378,7 +7429,7 @@ Copyright and Licence } \xeCJK_gset_mathcode:cn { g_@@_CJK/#1_range_clist } { \l_@@_fam_int } } -\cs_new_protected_nopar:Npn \@@_set_mathfont_block_aux:Nn #1#2 +\cs_new_protected:Npn \@@_set_mathfont_block_aux:Nn #1#2 { \int_set_eq:NN \l_@@_fam_int #1 \prop_gput:Nnn \g_@@_block_fam_prop {#2} {#1} @@ -7396,7 +7447,7 @@ Copyright and Licence % 而 \tn{updefault} åˆå§‹å€¼æ˜¯ \texttt{up},两者并ä¸ä¸€è‡´ã€‚ % \pkg{fontspec} 包定义å—体使用的是 \tn{shapedefault}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_declare_mathfont:nn #1#2 +\cs_new_protected:Npn \xeCJK_declare_mathfont:nn #1#2 { \xeCJK_declare_symbol_font:nnnnn {#1} { \c_@@_encoding_tl } {#2} { \mddefault } { \shapedefault } @@ -7465,7 +7516,7 @@ Copyright and Licence \cs_new_protected:Npn \@@_new_symbol_font:NN #1#2 { \tl_put_right:Nn \group@list { \group@elt #1 #2 } - \cs_set_nopar:Npn \version@elt ##1 + \cs_set:Npn \version@elt ##1 { \tl_put_right:Nn ##1 { \getanddefine@fonts #1 #2 } } \version@list } @@ -7478,7 +7529,7 @@ Copyright and Licence % \xeCJK_gset_mathcode:Nnn,\xeCJK_gset_mathcode:nnnn} % CJK å—符的数å¦ç±»åˆ«å›ºå®šä¸º $0$(\tn{mathord})。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:Nn #1#2 +\cs_new_protected:Npn \xeCJK_gset_mathcode:Nn #1#2 { \clist_map_inline:Nn #1 { @@ -7487,7 +7538,7 @@ Copyright and Licence } } \cs_generate_variant:Nn \xeCJK_gset_mathcode:Nn { c } -\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:nnnn #1#2#3#4 +\cs_new_protected:Npn \xeCJK_gset_mathcode:nnnn #1#2#3#4 { \@@_check_num_range:nnNN {#1} {#2} \l_@@_begin_int \l_@@_end_int \xeCJK_int_until_do:nn { \l_@@_begin_int > \l_@@_end_int } @@ -7496,7 +7547,7 @@ Copyright and Licence \int_incr:N \l_@@_begin_int } } -\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:Nnn #1#2#3 +\cs_new_protected:Npn \xeCJK_gset_mathcode:Nnn #1#2#3 { \tex_global:D \tex_Umathcode:D #1 = #2 ~ #3 ~ #1 } % \end{macrocode} % \end{macro} @@ -7524,7 +7575,7 @@ Copyright and Licence { \int_set_eq:NN \l_@@_verb_case_int \l_keys_choice_int } , Verb .default:n = { env } } -\cs_new_protected_nopar:Npn \@@_verb_font_hook: +\cs_new_protected:Npn \@@_verb_font_hook: { \if_case:w \l_@@_verb_case_int \or: @@ -7541,7 +7592,7 @@ Copyright and Licence } \@@_after_preamble:n { - \cs_set_protected_nopar:Npx \verbatim@font + \cs_set_protected:Npx \verbatim@font { \exp_not:o { \verbatim@font } \@@_verb_font_hook: } } % \end{macrocode} @@ -7550,7 +7601,7 @@ Copyright and Licence % \begin{macro}{\@@_nobreak_skip_zero:,\@@_nobreak_skip:} % \changes{v3.2.8}{2013/11/16}{ç¦æ¢åœ¨ \tn{verb} ä¸æ–行。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_nobreak_skip_zero: +\cs_new_protected:Npn \@@_nobreak_skip_zero: { \@@_reset_shipout_skip: \cs_set_eq:NN \@@_shipout_check_for_glue: \xeCJK_check_for_glue: @@ -7567,7 +7618,7 @@ Copyright and Licence \cs_set_eq:NN \@@_punct_hskip:n \@@_nobreak_hskip:n \cs_set_eq:NN \@@_punct_breakable_kern:n \@@_nobreak_hskip:n } -\cs_new_protected_nopar:Npn \@@_nobreak_skip: +\cs_new_protected:Npn \@@_nobreak_skip: { \@@_reset_shipout_skip: \xeCJK_glue_to_skip:nN { \CJKglue } \l_@@_ccglue_skip @@ -7581,16 +7632,16 @@ Copyright and Licence \cs_set_eq:NN \@@_punct_hskip:n \@@_nobreak_hskip:n \cs_set_eq:NN \@@_punct_breakable_kern:n \@@_nobreak_hskip:n } -\cs_new_protected_nopar:Npn \@@_nobreak_ccglue: +\cs_new_protected:Npn \@@_nobreak_ccglue: { \xeCJK_no_break: \skip_horizontal:N \l_@@_ccglue_skip } -\cs_new_protected_nopar:Npn \@@_nobreak_ecglue: +\cs_new_protected:Npn \@@_nobreak_ecglue: { \xeCJK_no_break: \skip_horizontal:N \l_@@_ecglue_skip } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_reset_shipout_skip:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_reset_shipout_skip: +\cs_new_protected:Npn \@@_reset_shipout_skip: { \cs_set_eq:NN \@@_shipout_CJKglue: \CJKglue \cs_set_eq:NN \@@_shipout_CJKecglue: \CJKecglue @@ -7657,7 +7708,7 @@ Copyright and Licence \NewDocumentCommand \xeCJKOffVerbAddon { } { \tl_use:N \l_@@_off_verb_addon_tl } \tl_new:N \l_@@_off_verb_addon_tl -\cs_new_protected_nopar:Npn \@@_verb_addon: +\cs_new_protected:Npn \@@_verb_addon: { \bool_if:NF \l_@@_verb_addon_bool { @@ -7671,7 +7722,7 @@ Copyright and Licence \cs_set_eq:NN \@@_shipout_CJKecglue: \CJKecglue \cs_set_eq:NN \@@_shipout_check_for_glue: \xeCJK_check_for_glue: \cs_set_eq:NN \@@_shipout_boundary:w \xeCJK_CJK_and_Boundary:w - \cs_set_protected_nopar:Npx \xeCJKOffVerbAddon + \cs_set_protected:Npx \xeCJKOffVerbAddon { \@@_reset_char_class:n { FullLeft } \@@_reset_char_class:n { FullRight } @@ -7706,9 +7757,9 @@ Copyright and Licence \cs_set_eq:NN \xeCJK_check_for_glue: \CJKecglue \cs_set_eq:NN \xeCJK_CJK_and_Boundary:w \@@_verb_CJK_and_Boundary:w } -\cs_new_protected_nopar:Npn \@@_verb_CJK_and_Boundary:w +\cs_new_protected:Npn \@@_verb_CJK_and_Boundary:w { \xeCJK_class_group_end: \CJKecglue } -\cs_new_protected_nopar:Npn \@@_reset_char_class:n #1 +\cs_new_protected:Npn \@@_reset_char_class:n #1 { \int_set:Nn \l_@@_tmp_int { \xeCJK_class_num:n {#1} } \clist_map_inline:cn { c_@@_#1_chars_clist } @@ -7725,7 +7776,7 @@ Copyright and Licence % 在抄录环境ä¸ï¼ŒCJK æ–‡å—之间的间è·ä¸ºå½“å‰è¥¿æ–‡å—ä½“ä¸¤ä¸ªç©ºæ ¼çš„å®½åº¦ä¸Žå½“å‰å—体大å°ä¹‹å·®ï¼Œ % è€Œä¸Žè¥¿æ–‡å’Œç©ºæ ¼çš„é—´è·ä¸º CJK æ–‡å—之间的间è·çš„一åŠã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_verb_exspace: +\cs_new_protected:Npn \@@_set_verb_exspace: { \tl_if_exist:cTF { xeCJK/verb/\CJK@family/\curr@fontshape/\f@size } { @@ -7754,7 +7805,7 @@ Copyright and Licence % \begin{macro}{\@@_set_verb_exspace:n} % å½“ä¸¤ä¸ªè¥¿æ–‡ç©ºæ ¼çš„å®½åº¦å°äºŽä¸€ä¸ª CJK æ–‡å—的宽度时,对目å‰ä½¿ç”¨çš„ CJK å—体进行适当缩å°ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_verb_exspace:n #1 +\cs_new_protected:Npn \@@_set_verb_exspace:n #1 { \skip_set:Nn \l_@@_verb_exspace_skip { 2 \tex_fontdimen:D 2 ~ \tex_font:D - #1 } @@ -7779,7 +7830,7 @@ Copyright and Licence % \begin{macro}{\@@_set_verb_scale:nn} % ç¼©å° CJK å—体,并ä¿å˜ç›¸å…³ä¿¡æ¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_set_verb_scale:nn #1#2 +\cs_new_protected:Npn \@@_set_verb_scale:nn #1#2 { \fp_set:Nn \l_@@_scale_factor_fp { #1 / #2 } \@@_warning:nxx { scale-factor } @@ -7811,7 +7862,7 @@ Copyright and Licence % 如果文档ä¸ä½¿ç”¨ \texttt{EU1} 作为默认å—体编ç ,那么默认的打å—机å—体æ—很å¯èƒ½æ˜¯ % ä¼ ç»Ÿçš„ \TeX å—体,这时å¯è§†ç©ºæ ¼æŒ‰ç…§ \texttt{OT1} ç¼–ç ä¼ ç»Ÿä¸€èˆ¬å°±æ˜¯å—体ä¸çš„ |\char32|。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_setup_visible_space: +\cs_new_protected:Npn \xeCJK_setup_visible_space: { \xeCJK_make_boundary: \xeCJK_glyph_if_exist:NTF { ^^^^2423 } @@ -7841,12 +7892,12 @@ Copyright and Licence % çš„åŽå¤‡ï¼Œä½†æ˜¯ |lmtt| çš„å—体大å°æœªå¿…与当å‰å—体匹é…ã€‚å› æ¤ï¼Œè¿™é‡Œéœ€è¦åšä¸€äº›è°ƒæ•´ï¼Œä»¥ % ä¿è¯ä½¿ç”¨åŽå¤‡å¯è§†ç©ºæ ¼ç¬¦å·æ—¶ï¼Œä¹Ÿèƒ½ä¿è¯å¯¹é½ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_visible_space_fallback: +\cs_new_protected:Npn \@@_visible_space_fallback: { \exp_args:Nc \@@_visible_space_fallback_auxi:N { xeCJK/space/\curr@fontshape/\f@size } } -\cs_new_protected_nopar:Npn \@@_visible_space_fallback_auxi:N #1 +\cs_new_protected:Npn \@@_visible_space_fallback_auxi:N #1 { \cs_if_exist:NF #1 { \@@_visible_space_fallback_auxii:N #1 } @@ -7859,16 +7910,16 @@ Copyright and Licence % 当å‰å—ä½“ç©ºæ ¼çš„å®½åº¦ä¸ŽåŽå¤‡å—体 |lmtt| ä¸ä¸€æ ·æ—¶ï¼Œå°±å¯¹ \tn{textvisiblespace} çš„å—体尺寸 % 按相应的比例放缩。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_visible_space_fallback_auxii:N #1 +\cs_new_protected:Npn \@@_visible_space_fallback_auxii:N #1 { \group_begin: \exp_args:No \@@_set_visible_space_size:n { \dim_use:N \tex_fontdimen:D 2 ~ \tex_font:D } - \cs_new_protected_nopar:Npx #1 + \cs_new_protected:Npx #1 { \group_begin: \tex_the:D \tex_font:D ^^^^2423 \group_end: } \group_end: } -\cs_new_protected_nopar:Npn \@@_set_visible_space_size:n #1 +\cs_new_protected:Npn \@@_set_visible_space_size:n #1 { \fontencoding { \UnicodeEncodingName } \tl_set:Nn \f@family { lmtt } @@ -7890,7 +7941,7 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \subsection{\pkg{xeCJK} 其它选项} +% \subsection{\pkg{xeCJK} 其他选项} % % \begin{macro}{LocalConfig} % \changes{v3.1.0}{2012/11/20}{å¢žåŠ \texttt{LocalConfig} 选项用于载入本地é…置文件。} @@ -7979,8 +8030,8 @@ Copyright and Licence % % \begin{macro}[int]{\CJKsymbol, \CJKpunctsymbol} % \begin{macrocode} -\cs_new_nopar:Npn \CJKsymbol #1 {#1} -\cs_new_nopar:Npn \CJKpunctsymbol #1 {#1} +\cs_new:Npn \CJKsymbol #1 {#1} +\cs_new:Npn \CJKpunctsymbol #1 {#1} % \end{macrocode} % \end{macro} % @@ -8156,7 +8207,7 @@ Copyright and Licence % \tn{check@mathfonts} 之åŽç”Ÿæ•ˆï¼Œä¸ä¼šè¢«å®ƒè¦†ç›–。 % æ›´åˆç†çš„æ–¹å¼æ˜¯å®šä¹‰ä¸€ä¸ªæ–°çš„ \tn{mathversion} æ¥åˆ‡æ¢ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK@update@fam +\cs_new_protected:Npn \xeCJK@update@fam { \addto@hook \everymath { @@ -8164,14 +8215,14 @@ Copyright and Licence \@@_update_block_fam: } } -\cs_new_protected_nopar:Npn \@@_update_main_fam: +\cs_new_protected:Npn \@@_update_main_fam: { \group_begin: \xeCJK_select_font: \exp_last_unbraced:NNNo \group_end: \tex_textfont:D \c_xeCJK_math_fam_int \tex_the:D \tex_font:D } -\cs_new_protected_nopar:Npn \@@_update_block_fam: +\cs_new_protected:Npn \@@_update_block_fam: { \prop_if_empty:NF \g_@@_block_fam_prop { @@ -8180,7 +8231,7 @@ Copyright and Licence \@@_update_block_fam:nn } } -\cs_new_protected_nopar:Npn \@@_update_block_fam:nn #1#2 +\cs_new_protected:Npn \@@_update_block_fam:nn #1#2 { \int_set:Nn \l_@@_fam_int {#2} \group_begin: @@ -8225,12 +8276,12 @@ Copyright and Licence % \pkg{fixltx2e} 使用 \tn{providecommand}|*| æ¥å®šä¹‰ \tn{MakeRobust})。但是 \pkg{ulem} % 的定义并ä¸å®Œå…¨æ£ç¡®ï¼Œæ²¡æœ‰è€ƒè™‘ \TeX ä¸ä¼šç•¥åŽ»æŽ§åˆ¶ç¬¦å·åŽé¢çš„ç©ºæ ¼çš„æƒ…å†µã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_math_robust:N #1 +\cs_new_protected:Npn \@@_math_robust:N #1 { \group_begin: \exp_args:NcNc \group_end: { @@_math_robust_aux:NN } #1 { \cs_to_str:N #1 ~ } } -\cs_new_protected_nopar:Npn \@@_math_robust_aux:NN #1#2 +\cs_new_protected:Npn \@@_math_robust_aux:NN #1#2 { \exp_args:Nx \str_case:nnTF { \cs_replacement_spec:N #1 } { @@ -8240,19 +8291,19 @@ Copyright and Licence { \@@_math_robust:NN #1#2 } { \@@_math_robust:NN #1#1 } } -\cs_new_protected_nopar:Npn \@@_math_robust:NN #1#2 +\cs_new_protected:Npn \@@_math_robust:NN #1#2 { \str_if_eq:eeTF { \cs_argument_spec:N #2 } { } { \exp_args:No \tl_if_head_eq_meaning:nNTF {#2} \scan_stop: { - \cs_gset_protected_nopar:Npx #1 + \cs_gset_protected:Npx #1 { \tl_tail:N #2 } } { \cs_if_eq:NNTF #1 \ensuremath { - \cs_gset_protected_nopar:Npx #1 + \cs_gset_protected:Npx #1 { \exp_not:o {#2} } } { @@ -8334,13 +8385,13 @@ Copyright and Licence \tl_set:Nx \f@family {#1} \xeCJK@fontfamily {#1} } - \cs_new_protected_nopar:Npn \xeCJK@fontfamily #1 + \cs_new_protected:Npn \xeCJK@fontfamily #1 { \str_if_eq:nnTF {#1} { \familydefault } { \xeCJK_switch_family:x { \CJKfamilydefault } } { \@@_update_family_aux: } } - \cs_new_protected_nopar:Npn \@@_update_family_aux: + \cs_new_protected:Npn \@@_update_family_aux: { \str_case_e:nn { \f@family } { @@ -8378,7 +8429,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK@italiccorr} % ä¿®å¤å€¾æ–œæ ¡æ£ï¼Œå¹¶å¤„ç†æ±‰å—åŽé¢çš„ç©ºæ ¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK@italiccorr +\cs_new_protected:Npn \xeCJK@italiccorr { \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int { \xeCJK_italic_correction: } @@ -8394,12 +8445,12 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_italic_correction:} % ä¿®å¤å€¾æ–œæ ¡æ£ï¼Œå¹¶å¤„ç†æ±‰å—åŽé¢çš„ç©ºæ ¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_italic_correction: +\cs_new_protected:Npn \xeCJK_italic_correction: { \int_compare:nNnT \tex_lastnodetype:D = { 12 } { \@@_italic_correction: } } -\cs_new_protected_nopar:Npn \@@_italic_correction: +\cs_new_protected:Npn \@@_italic_correction: { \dim_case:nnF { \tex_lastkern:D } { @@ -8431,7 +8482,7 @@ Copyright and Licence % \verb*|\textit{...} | ç‰åŽé¢åŽŸæ¥å˜åœ¨çš„ç©ºæ ¼ä½œä¸ºå®Œå…¨å±•å¼€çš„ç»“æŸã€‚è¦æ£ç¡®ä½¿ç”¨å®ƒè¿˜ % 需è¦å¦å¤–的处ç†ï¼ˆä½¿ç”¨ \cs{exp_stop_f:})。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_italic_correction_aux: +\cs_new_protected:Npn \@@_italic_correction_aux: { \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN @@ -8469,7 +8520,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_set_others_toks:n #1 +\cs_new_protected:Npn \@@_set_others_toks:n #1 { \int_set:cn { \@@_class_csname:n { Others } } {#1} \seq_map_inline:Nn \g_@@_CJK_class_seq @@ -8500,7 +8551,7 @@ Copyright and Licence % \begin{macro}{\@@_inactive_group_begin:,\@@_inactive_group_end:} % 用于ä¿æŠ¤ä¸‹é¢æ§ä¹‰å®½åº¦æ ‡ç‚¹çš„分组。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_inactive_group_begin: +\cs_new_protected:Npn \@@_inactive_group_begin: { \group_begin: \makexeCJKinactive } \cs_new_eq:NN \@@_inactive_group_end: \group_end: % \end{macrocode} @@ -8527,7 +8578,7 @@ Copyright and Licence "2E3A = \texttwoemdash } \@@_at_end_preamble:n { \@@_patch_text_command: } -\cs_new_protected_nopar:Npn \@@_patch_text_command: +\cs_new_protected:Npn \@@_patch_text_command: { \xeCJK_if_package_loaded:nTF { xunicode } { \@@_patch_xunicode_ambiguous_char: } @@ -8538,7 +8589,7 @@ Copyright and Licence \@@_patch_tuenc_composite: } } -\cs_new_protected_nopar:Npn \@@_patch_xunicode_ambiguous_char: +\cs_new_protected:Npn \@@_patch_xunicode_ambiguous_char: { \RequirePackage { xunicode-addon } \prop_map_inline:Nn \c_@@_ambiguous_char_prop @@ -8553,7 +8604,7 @@ Copyright and Licence } \xunadd_append_begin_hook:n { \xeCJK_make_boundary: } } -\cs_new_protected_nopar:Npn \@@_patch_tuenc_ambiguous_char:n #1 +\cs_new_protected:Npn \@@_patch_tuenc_ambiguous_char:n #1 { \prop_map_inline:Nn \c_@@_ambiguous_char_prop { @@ -8565,13 +8616,13 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_patch_ambiguous_char:nN #1#2 +\cs_new_protected:Npn \@@_patch_ambiguous_char:nN #1#2 { \exp_args:Nx \@@_patch_ambiguous_char:nn { #1 \token_to_str:N #2 } { #1 - #2 } } -\cs_new_protected_nopar:Npx \@@_patch_ambiguous_char:nNn #1#2#3 +\cs_new_protected:Npx \@@_patch_ambiguous_char:nNn #1#2#3 { \exp_args:Nx \exp_not:N \@@_patch_ambiguous_char:nn { @@ -8581,28 +8632,28 @@ Copyright and Licence } { #1 - #2#3 } } -\cs_new_protected_nopar:Npn \@@_patch_ambiguous_char:nn #1#2 +\cs_new_protected:Npn \@@_patch_ambiguous_char:nn #1#2 { \cs_if_free:cF {#1} { \exp_args:Nc \@@_patch_ambiguous_char:Nn {#1} {#2} } } -\cs_new_protected_nopar:Npn \@@_patch_ambiguous_char:Nn #1#2 +\cs_new_protected:Npn \@@_patch_ambiguous_char:Nn #1#2 { \token_if_chardef:NTF #1 { \prop_gput:Nnx \c_@@_ambiguous_slot_prop {#2} { \int_eval:n {#1} } - \cs_set_protected_nopar:Npx #1 + \cs_set_protected:Npx #1 { \@@_ambiguous_char:n { \tex_Uchar:D #1 } } } { \prop_gput:Nnx \c_@@_ambiguous_slot_prop {#2} { \int_eval:n { \exp_after:wN ` #1 } } - \cs_set_protected_nopar:Npx #1 + \cs_set_protected:Npx #1 { \@@_ambiguous_char:n { \exp_not:o {#1} } } } } -\cs_new_protected_nopar:Npn \@@_ambiguous_char:n #1 +\cs_new_protected:Npn \@@_ambiguous_char:n #1 { \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int { \@@_inactive_group_begin: #1 \@@_inactive_group_end: } @@ -8618,7 +8669,7 @@ Copyright and Licence % \tn{DeclareUnicodeComposite} 具有检查å—符是å¦å˜åœ¨çš„功能, % 当符å·å‘½ä»¤ç´§è·Ÿåœ¨ CJK å—符类åŽé¢æ—¶ï¼Œéœ€è¦ä½¿å—ä½“å›žåˆ°è¥¿æ–‡çŠ¶æ€ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_text_composite_patch: +\cs_new_protected:Npn \xeCJK_text_composite_patch: { \str_if_eq:eeT { \f@encoding } { \UnicodeEncodingName } { \xeCJK_make_boundary: } @@ -8627,7 +8678,7 @@ Copyright and Licence % æ³¨æ„ \cs{xeCJK_text_composite_patch:} å¯èƒ½ä¼šç»“æŸåˆ†ç»„,从而导致 |##1| 没有定义时是 % \tn{undefined} 而ä¸æ˜¯ \tn{relax},所以ä¸èƒ½å°†å®ƒä¸Ž \tn{relax} 作比较。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_patch_tuenc_composite: +\cs_new_protected:Npn \@@_patch_tuenc_composite: { \cs_set_nopar:Npn \@text@composite@x { @@ -8643,7 +8694,7 @@ Copyright and Licence % \begin{macrocode} \group_begin: \char_set_catcode_other:n { "A0 } -\cs_new_protected_nopar:Npn \@@_patch_tuenc_accent: +\cs_new_protected:Npn \@@_patch_tuenc_accent: { \cs_set_protected_nopar:Npn \add@unicode@accent ##1 ##2 { @@ -8690,13 +8741,13 @@ Copyright and Licence T5 = \` \ecircumflex } \@@_at_end_preamble:n { \@@_patch_middle_dot: } -\cs_new_protected_nopar:Npn \@@_patch_middle_dot: +\cs_new_protected:Npn \@@_patch_middle_dot: { \prop_map_inline:Nn \c_@@_middle_dot_prop { \@@_patch_middle_dot:nw { ##1 } ##2 \q_stop } \@@_patch_ambiguous_char:nNn { T5 } \` { \^ - e } } -\cs_new_protected_nopar:Npn \@@_patch_middle_dot:nw #1#2#3 \q_stop +\cs_new_protected:Npn \@@_patch_middle_dot:nw #1#2#3 \q_stop { \tl_if_empty:nTF {#3} { \@@_patch_ambiguous_char:nN {#1} #2 } @@ -8705,27 +8756,63 @@ Copyright and Licence % \end{macrocode} % \pkg{pifont} å®åŒ…çš„ç¬¦å· |\ding{183}| 也有冲çªã€‚ % \begin{macrocode} -\@@_after_end_preamble:n +\@@_package_hook:nn { pifont } + { + \RenewDocumentCommand \Pifont { m } + { \makexeCJKinactive \usefont { U } {#1} { m } { n } } + } +% \end{macrocode} +% \end{variable} +% \end{macro} +% +% \changes{v3.8.3}{2020/04/09}{兼容 \pkg{unicode-math} å’Œ \opt{CJKmath} 选项。} +% +% \begin{macro}{\@@_save_um_char:, \@@_save_um_char:} +% 兼容 \pkg{unicode-math} å’Œ \opt{CJKmath} 选项, +% é¿å…将一些ä¸è¥¿æ–‡æ··ç”¨çš„æ ‡ç‚¹è®¾ç½®ä¸º CJK å—体。 +% \begin{macrocode} +\@@_package_hook:nn { unicode-math } { - \xeCJK_if_package_loaded:nT { pifont } + \prop_const_from_keyval:Nn \c_@@_um_ambiguous_char_prop + { + "00B7 = \cdotp , + "2025 = \enleadertwodots , + "2026 = \unicodeellipsis + } + \cs_new_protected:Npn \@@_save_um_char: { - \RenewDocumentCommand \Pifont { m } - { \makexeCJKinactive \usefont { U } {#1} { m } { n } } + \cs_set_protected:Npx \@@_restore_um_char: + { + \prop_map_function:NN + \c_@@_um_ambiguous_char_prop + \@@_restore_um_char_aux:nn + } + } + \cs_new_eq:NN \@@_restore_um_char: \prg_do_nothing: + \cs_new:Npn \@@_restore_um_char_aux:nn #1#2 + { + \@@_gset_mathcodenum:nn + { \int_value:w #1 } + { \int_value:w \tex_Umathcodenum:D #1 } + } + \cs_new_protected:Npn \@@_gset_mathcodenum:nn #1#2 + { + \int_compare:nNnF { \tex_Umathcodenum:D #1 } = {#2} + { \tex_global:D \tex_Umathcodenum:D #1 = #2 ~ } } } % \end{macrocode} -% \end{variable} % \end{macro} % % \begin{macro}{\@@_patch_microtype_get_slot:} % 兼容 \pkg{microtype}。 % \begin{macrocode} -\@@_at_end_preamble:n +\@@_package_hook:nn { microtype } { \cs_if_free:NF \MT@get@slot@ { \@@_patch_microtype_get_slot: } } -\cs_new_protected_nopar:Npn \@@_patch_microtype_get_slot: +\cs_new_protected:Npn \@@_patch_microtype_get_slot: { \cs_new_eq:NN \xeCJK@original@get@slot \MT@get@slot@ \cs_set_eq:NN \MT@get@slot@ \xeCJK@microtype@get@slot @@ -8737,7 +8824,7 @@ Copyright and Licence { \@@_get_ambiguous_slot: } \xeCJK@original@get@slot } -\cs_new_protected_nopar:Npn \@@_get_ambiguous_slot: +\cs_new_protected:Npn \@@_get_ambiguous_slot: { \exp_args:NNx \prop_get:NnNT \c_@@_ambiguous_slot_prop { \MT@encoding - \tex_the:D \MT@toks } \l_@@_tmp_tl @@ -8748,17 +8835,15 @@ Copyright and Licence % % 简å•å¤„ç†ä¸Ž \pkg{hyperref} å®åŒ…的兼容问题。 % \begin{macrocode} -\@@_after_end_preamble:n +\@@_package_hook:nn { hyperref } { - \cs_if_exist_use:NT \pdfstringdefDisableCommands + \pdfstringdefDisableCommands { - { - \@@_gobble_CJKfamily: - \xeCJK_cs_clear:N \@@_inactive_group_begin: - \xeCJK_cs_clear:N \@@_inactive_group_end: - \xeCJK_cs_clear:N \makexeCJKinactive - \xeCJK_cs_clear:N \xeCJK@composite@patch - } + \@@_gobble_CJKfamily: + \xeCJK_cs_clear:N \@@_inactive_group_begin: + \xeCJK_cs_clear:N \@@_inactive_group_end: + \xeCJK_cs_clear:N \makexeCJKinactive + \xeCJK_cs_clear:N \xeCJK@composite@patch } } % \end{macrocode} @@ -8766,11 +8851,9 @@ Copyright and Licence % \changes{v3.1.0}{2012/11/13}{å–消 \tn{cprotect} 的外部å®é™åˆ¶ã€‚} % 当探测到 \pkg{cprotect} å®åŒ…被引入时,则å–消 \tn{cprotect} å®çš„ \tn{outer} 定义。 % \begin{macrocode} -\@@_after_end_preamble:n +\@@_package_hook:nn { cprotect } { - \bool_lazy_and:nnT - { \xeCJK_if_package_loaded_p:n { cprotect } } - { \cs_if_exist_p:N \icprotect } + \cs_if_free:NF \icprotect { \exp_after:wN \tex_let:D \cs:w cprotect \cs_end: \icprotect } } % \end{macrocode} @@ -8778,30 +8861,21 @@ Copyright and Licence % \changes{v3.2.11}{2014/03/14}{åˆ é™¤ \tn{xeCJKcaption}。} % \changes{v3.8.0}{2020/02/09}{åˆ é™¤ \pkg{CJKfntef} è¡¥ä¸ã€‚} % -% 导言区末尾检测到 \pkg{listings} 时,自动载入 \pkg{xeCJK-listings}。 +% 在 \pkg{listings} å®åŒ…åŽè‡ªåŠ¨è½½å…¥ \pkg{xeCJK-listings}。 % \begin{macrocode} -\@@_at_end_preamble:n - { - \xeCJK_if_package_loaded:nT { listings } - { \RequirePackage { xeCJK-listings } } - } +\@@_package_hook:nn { listings } + { \RequirePackage { xeCJK-listings } } % \end{macrocode} % % % \changes{v3.3.3}{2015/12/12}{解决与 \pkg{microtype} å®åŒ…的兼容问题。} -% 由于 \pkg{xeCJK} å‡è£… \pkg{CJK} å·²ç»è¢«å¼•å…¥äº†ï¼Œè¿™å›žå¯¼è‡´ \pkg{everysel} å’Œ +% 由于 \pkg{xeCJK} å‡è£… \pkg{CJK} å·²ç»è¢«å¼•å…¥äº†ï¼Œè¿™ä¼šå¯¼è‡´ \pkg{everysel} å’Œ % \pkg{microtype} ç‰å®åŒ…判æ–错误。需è¦åœ¨å®ƒä»¬åˆ¤æ–之å‰å–消定义。 % \begin{macrocode} -\@@_at_end_preamble:n +\clist_map_inline:nn { everysel , microtype } { - \clist_map_inline:nn { everysel , microtype } - { - \xeCJK_if_package_loaded:nT {#1} - { - \cs_undefine:c { ver@CJK . \c_@@_package_ext_tl } - \clist_map_break: - } - } + \@@_package_hook:nn {#1} + { \cs_undefine:c { ver@CJK . \c_@@_package_ext_tl } } } % \end{macrocode} % @@ -8831,7 +8905,7 @@ Copyright and Licence { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn } } } -\cs_new_nopar:Npn \xeCJK_unicode_char:nn #1#2 +\cs_new:Npn \xeCJK_unicode_char:nn #1#2 { \tex_Uchar:D \tex_numexpr:D (#1) * 256 + (#2) \scan_stop: } % \end{macrocode} % \end{macro} @@ -8884,7 +8958,7 @@ Copyright and Licence % \changes{v3.1.0}{2012/11/16}{简化对 \pkg{ulem} å®åŒ…的兼容补ä¸ã€‚} % \changes{v3.1.1}{2012/12/08}{完全处ç†ä¸‹åˆ’çº¿é‡Œçš„æ ‡ç‚¹ç¬¦å·çš„有关问题。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_hook_for_ulem: +\cs_new_protected:Npn \xeCJK_hook_for_ulem: { \xeCJK_ulem_detect_node: \l_@@_ulem_text_format_tl @@ -8895,7 +8969,7 @@ Copyright and Licence } \xeCJK_ulem_begin_node: } -\cs_new_protected_nopar:Npn \@@_ulem_hook: +\cs_new_protected:Npn \@@_ulem_hook: { \@@_ulem_initial: \bool_if:NT \l_@@_ulem_subtract_bool @@ -8931,11 +9005,11 @@ Copyright and Licence \CJKecglue } \l_@@_ecglue_skip \xeCJK_glue_to_skip:nN { \xeCJK_space_glue: } \l_@@_space_skip - \cs_set_protected_nopar:Npn \CJKglue + \cs_set_protected:Npn \CJKglue { \@@_ulem_glue:n \l_@@_ccglue_skip } - \cs_set_protected_nopar:Npn \CJKecglue + \cs_set_protected:Npn \CJKecglue { \@@_ulem_glue:n \l_@@_ecglue_skip } - \cs_set_protected_nopar:Npn \xeCJK_space_glue: + \cs_set_protected:Npn \xeCJK_space_glue: { \@@_ulem_glue:n \l_@@_space_skip } \cs_set_eq:NN \xeCJK_punct_node:N \use_none:n \cs_set_eq:NN \xeCJK_if_last_punct:TF \use_ii:nn @@ -8950,7 +9024,7 @@ Copyright and Licence % \begin{macro}[int]{\UL@word,\xeCJK_ulem_word:nw} % 修改 \tn{UL@word},目的是å–得分组ä¸çš„ \tn{UL@leadtype}ï¼Œä»¥ä¾¿åŠ å…¥ \cs{xeCJK_ulem_right_skip:}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_ulem_word:nw #1 ~ +\cs_new_protected:Npn \xeCJK_ulem_word:nw #1 ~ { \exp_after:wN \UL@start #1 ~ \exp_after:wN \if_meaning:w \exp_after:wN \UL@end #1 @@ -8959,7 +9033,7 @@ Copyright and Licence \exp_after:wN \@@_ulem_loop:nw \fi: } -\cs_new_protected_nopar:Npn \@@_ulem_end: +\cs_new_protected:Npn \@@_ulem_end: { \c_group_end_token \c_group_end_token @@ -8969,7 +9043,7 @@ Copyright and Licence \xeCJK_ulem_right_node: \int_set:Nn \tex_spacefactor:D { \UL@spfactor } } -\cs_new_protected_nopar:Npn \@@_ulem_loop:nw +\cs_new_protected:Npn \@@_ulem_loop:nw { \reverse_if:N \if_mode_math: \reverse_if:N \if_dim:w \tex_lastskip:D = \c_zero_dim @@ -8987,13 +9061,13 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_ulem_left:, \xeCJK_ulem_detect_node:} % 在下划线开始之å‰æŽ¢æµ‹ä¹‹å‰çš„ \texttt{node},以便éšåŽæ’å…¥ \tn{CJKglue} 或 \tn{CJKecglue}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_ulem_left: +\cs_new_protected:Npn \xeCJK_ulem_left: { \xeCJK_ulem_left_node: \xeCJK_make_group_tag: } \cs_new_eq:NN \xeCJK_ulem_left_node: \prg_do_nothing: -\cs_new_protected_nopar:Npn \xeCJK_ulem_detect_node: +\cs_new_protected:Npn \xeCJK_ulem_detect_node: { \scan_stop: \dim_compare:nNnTF \tex_lastkern:D = \c_zero_dim @@ -9008,12 +9082,12 @@ Copyright and Licence \dim_compare:nNnTF \tex_lastkern:D = { - \l_@@_tmp_dim } { \tex_unkern:D - \cs_set_protected_nopar:Npx \xeCJK_ulem_left_node: + \cs_set_protected:Npx \xeCJK_ulem_left_node: { \tex_kern:D - \dim_use:N \l_@@_tmp_dim \exp_stop_f: \tex_kern:D \dim_use:N \l_@@_tmp_dim \exp_stop_f: } - \cs_set_protected_nopar:Npn \xeCJK_ulem_begin_node: + \cs_set_protected:Npn \xeCJK_ulem_begin_node: { { \xeCJK_make_node:n { ulem-begin } } } \cs_set_eq:NN \@@_ulem_hskip:n \@@_ulem_hskip_first:n } @@ -9034,7 +9108,7 @@ Copyright and Licence % 如果第一次调用的 \tn{CJKglue} 或 \tn{CJKecglue} 由下划线ä¸çš„第一个文å—和之å‰çš„ % 内容产生,就ä¸ç”¨ç”»ä¸‹åˆ’线。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_hskip_first:n #1 +\cs_new_protected:Npn \@@_ulem_hskip_first:n #1 { \xeCJK_if_last_node:nTF { ulem-begin } { @@ -9045,7 +9119,7 @@ Copyright and Licence \cs_set_eq:NN \@@_ulem_hskip:n \xeCJK_ulem_hskip:n } \cs_new_eq:NN \@@_ulem_hskip:n \@@_ulem_hskip_first:n -\cs_new_protected_nopar:Npn \xeCJK_ulem_hskip:n #1 +\cs_new_protected:Npn \xeCJK_ulem_hskip:n #1 { { \skip_set:Nn \UL@skip {#1} \UL@leaders } } % \end{macrocode} % \end{macro} @@ -9053,7 +9127,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_ulem_right:, \xeCJK_ulem_right_node:} % 在下划线最åŽçš„ä½ç½®ä¿å˜ \texttt{node}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_ulem_right: +\cs_new_protected:Npn \xeCJK_ulem_right: { \scan_stop: \dim_compare:nNnTF \tex_lastkern:D = \c_zero_dim @@ -9067,12 +9141,12 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_ulem_right_aux:n #1 +\cs_new_protected:Npn \@@_ulem_right_aux:n #1 { \dim_compare:nNnTF \tex_lastkern:D = { - #1 } { \tex_unkern:D - \cs_gset_protected_nopar:Npn \xeCJK_ulem_right_node: + \cs_gset_protected:Npn \xeCJK_ulem_right_node: { \tex_kern:D - #1 \exp_stop_f: \tex_kern:D #1 \exp_stop_f: @@ -9091,9 +9165,9 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_ulem_var_leaders:} % 第一次画下划线时,ä¸éœ€è¦å‘左平移 \tn{UL@pixel},让左侧有间è·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_ulem_leaders: +\cs_new_protected:Npn \xeCJK_ulem_leaders: { \@@_ulem_var_leaders: } -\cs_new_protected_nopar:Npn \xeCJK_ulem_var_leaders: +\cs_new_protected:Npn \xeCJK_ulem_var_leaders: { \scan_stop: \skip_if_eq:nnF { \UL@skip } { \c_zero_skip } @@ -9112,7 +9186,7 @@ Copyright and Licence % é‡æ–°ç”»ä¸€ä¸ªå‡å°‘ \tn{UL@pixel} 的。 % \begin{macrocode} \cs_new_eq:NN \xeCJK_ulem_right_skip: \prg_do_nothing: -\cs_new_protected_nopar:Npn \@@_ulem_right_skip: +\cs_new_protected:Npn \@@_ulem_right_skip: { \int_case:nn { \tex_lastnodetype:D } { @@ -9121,7 +9195,7 @@ Copyright and Licence { 13 } { \@@_ulem_right_skip_penalty: } } } -\cs_new_protected_nopar:Npn \@@_ulem_right_skip_hbox: +\cs_new_protected:Npn \@@_ulem_right_skip_hbox: { \box_set_to_last:N \l_@@_tmp_box \int_compare:nNnTF \tex_lastnodetype:D = { 12 } @@ -9129,7 +9203,7 @@ Copyright and Licence { \@@_ulem_right_skip_glue: } \box_use_drop:N \l_@@_tmp_box } -\cs_new_protected_nopar:Npn \@@_ulem_right_skip_kern: +\cs_new_protected:Npn \@@_ulem_right_skip_kern: { \dim_set:Nn \l_@@_tmp_dim { - \box_wd:N \l_@@_tmp_box } \dim_compare:nNnT \tex_lastkern:D = \l_@@_tmp_dim @@ -9139,7 +9213,7 @@ Copyright and Licence \tex_kern:D \l_@@_tmp_dim } } -\cs_new_protected_nopar:Npn \@@_ulem_right_skip_glue: +\cs_new_protected:Npn \@@_ulem_right_skip_glue: { \skip_if_eq:nnT { \tex_lastskip:D } { - \UL@pixel } { @@ -9149,7 +9223,7 @@ Copyright and Licence \UL@leadtype \skip_horizontal:N \l_@@_tmp_skip } } -\cs_new_protected_nopar:Npn \@@_ulem_right_skip_penalty: +\cs_new_protected:Npn \@@_ulem_right_skip_penalty: { \int_set_eq:NN \l_@@_tmp_int \tex_lastpenalty:D \tex_unpenalty:D @@ -9160,39 +9234,43 @@ Copyright and Licence % \end{macrocode} % \end{macro} % +% \changes{v3.8.3}{2020/04/23}{\opt{hidden} 选项ä¿ç•™åŽŸå†…容的高度和深度。} +% % \begin{macro}{\@@_ulem_hidden_box:} % åªç”»çº¿ï¼Œä¸è¾“出盒å。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_hidden_box: +\cs_new_protected:Npn \@@_ulem_hidden_box: { \tl_if_empty:NF \UL@start { - \box_use:N \c_@@_null_box + \box_set_ht:Nn \l_@@_hidden_box { \box_ht:N \UL@box } + \box_set_dp:Nn \l_@@_hidden_box { \box_dp:N \UL@box } + \box_use:N \l_@@_hidden_box \xeCJK_no_break: \xeCJK_ulem_hskip:n { \box_wd:N \UL@box } - \box_use:N \c_@@_null_box + \box_use:N \l_@@_hidden_box } } -\box_new:N \c_@@_null_box -\hbox_gset:Nn \c_@@_null_box { } +\box_new:N \l_@@_hidden_box +\hbox_set:Nn \l_@@_hidden_box { } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_ulem_skip_punct_begin:,\@@_ulem_skip_punct_end:} % è®©ä¸‹åˆ’çº¿è·³è¿‡æ ‡ç‚¹ç¬¦å·çš„设置。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_skip_punct_begin: +\cs_new_protected:Npn \@@_ulem_skip_punct_begin: { \cs_set_eq:NN \UL@putbox \@@_ulem_skip_putbox: \cs_set_eq:NN \xeCJK_ulem_hskip:n \skip_horizontal:n } -\cs_new_protected_nopar:Npn \@@_ulem_skip_punct_end: +\cs_new_protected:Npn \@@_ulem_skip_punct_end: { \cs_set_eq:NN \UL@putbox \@@_ulem_putbox: \cs_set_eq:NN \xeCJK_ulem_hskip:n \@@_ulem_hskip_aux:n } \cs_new_eq:NN \@@_ulem_putbox: \UL@putbox -\cs_new_protected_nopar:Npn \@@_ulem_skip_putbox: +\cs_new_protected:Npn \@@_ulem_skip_putbox: { \tl_if_empty:NF \UL@start { \box_use_drop:N \UL@box } @@ -9204,7 +9282,7 @@ Copyright and Licence % 这里的设置是为了在下划线状æ€ä¸‹ï¼Œä¸‹åˆ’线å¯ä»¥è‡ªåŠ¨è·³è¿‡å…¨è§’æ ‡ç‚¹ç¬¦å·å’Œæ£ç¡®çš„在它们 % å‰/åŽæ–行,并且与行首行末对é½ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_initial: +\cs_new_protected:Npn \@@_ulem_initial: { \@@_ulem_swap_cs:NN \xeCJK_FullLeft_and_Default: \@@_ulem_FullLeft_and_Default: @@ -9241,7 +9319,7 @@ Copyright and Licence } } } -\cs_new_protected_nopar:Npn \@@_ulem_swap_cs:NN #1#2 +\cs_new_protected:Npn \@@_ulem_swap_cs:NN #1#2 { \quark_if_recursion_tail_stop:N #1 \xeCJK_swap_cs:NN #1#2 @@ -9257,7 +9335,7 @@ Copyright and Licence % \verb*|\ | ç‰çš„定义,æ¤æ—¶ä¸éœ€è¦ä½¿ç”¨ \tn{UL@stop} å’Œ \tn{UL@start} æ¥æ–开下划线而 % 产生æ–点。 % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_if_ulem_patch:TF +\cs_new:Npn \xeCJK_if_ulem_patch:TF { \if_meaning:w \ \LA@space \exp_after:wN \use_ii:nn @@ -9270,7 +9348,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_CJK_and_Boundary:w} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_Boundary:w +\cs_new_protected:Npn \@@_ulem_CJK_and_Boundary:w { \xeCJK_if_ulem_patch:TF { @@ -9300,7 +9378,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_fix_penalty:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_fix_penalty: +\cs_new_protected:Npn \@@_ulem_fix_penalty: { \xeCJK_if_ulem_patch:TF { \fix@penalty } @@ -9311,7 +9389,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_CJK_and_CJK:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_CJK:N +\cs_new_protected:Npn \@@_ulem_CJK_and_CJK:N { \xeCJK_if_ulem_patch:TF { @@ -9328,7 +9406,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_class_group_begin:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_class_group_begin: +\cs_new_protected:Npn \@@_ulem_class_group_begin: { \xeCJK_class_group_begin: \xeCJK_clear_Boundary_and_CJK_toks: @@ -9338,7 +9416,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_between_CJK_blocks:nnN} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_between_CJK_blocks:nnN #1#2 +\cs_new_protected:Npn \@@_ulem_between_CJK_blocks:nnN #1#2 { \xeCJK_if_ulem_patch:TF { @@ -9360,7 +9438,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_Default_and_FullLeft_glue:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_Default_and_FullLeft_glue:N #1 +\cs_new_protected:Npn \@@_ulem_Default_and_FullLeft_glue:N #1 { \xeCJK_if_ulem_patch:TF { @@ -9376,7 +9454,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_Boundary_and_FullLeft_glue:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_Boundary_and_FullLeft_glue:N #1 +\cs_new_protected:Npn \@@_ulem_Boundary_and_FullLeft_glue:N #1 { \xeCJK_if_ulem_patch:TF { @@ -9392,7 +9470,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_CJK_and_FullLeft_glue:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_FullLeft_glue:N #1 +\cs_new_protected:Npn \@@_ulem_CJK_and_FullLeft_glue:N #1 { \xeCJK_if_ulem_patch:TF { @@ -9412,7 +9490,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_Default_and_FullRight_glue:N} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_Default_and_FullRight_glue:N #1 +\cs_new_protected:Npn \@@_ulem_Default_and_FullRight_glue:N #1 { \xeCJK_if_ulem_patch:TF { @@ -9436,7 +9514,7 @@ Copyright and Licence % \begin{macro}{\@@_ulem_CJK_and_FullRight_glue:N} % \changes{v3.2.2}{2013/05/30}{ä¿®æ£ä¸‹åˆ’线ä¸èƒ½è·³è¿‡å…¨è§’å³æ ‡ç‚¹çš„问题。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_FullRight_glue:N #1 +\cs_new_protected:Npn \@@_ulem_CJK_and_FullRight_glue:N #1 { \xeCJK_if_ulem_patch:TF { @@ -9463,7 +9541,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_FullLeft_and_Default:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_FullLeft_and_Default: +\cs_new_protected:Npn \@@_ulem_FullLeft_and_Default: { \xeCJK_if_ulem_patch:TF { @@ -9486,7 +9564,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_FullLeft_and_Boundary:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_FullLeft_and_Boundary: +\cs_new_protected:Npn \@@_ulem_FullLeft_and_Boundary: { \xeCJK_if_ulem_patch:TF { @@ -9512,7 +9590,7 @@ Copyright and Licence % \changes{v3.2.3}{2013/06/04} % {ä¿®æ£å…¨è§’å·¦æ ‡ç‚¹åŽä¸‹åˆ’线与 \tn{CJKunderdot} 连用时结果ä¸æ£å¸¸çš„问题。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_FullLeft_and_CJK: +\cs_new_protected:Npn \@@_ulem_FullLeft_and_CJK: { \xeCJK_if_ulem_patch:TF { @@ -9527,7 +9605,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_FullRight_and_Default:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_FullRight_and_Default: +\cs_new_protected:Npn \@@_ulem_FullRight_and_Default: { \xeCJK_if_ulem_patch:TF { @@ -9545,7 +9623,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_FullRight_and_Boundary:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_FullRight_and_Boundary: +\cs_new_protected:Npn \@@_ulem_FullRight_and_Boundary: { \xeCJK_if_ulem_patch:TF { @@ -9564,7 +9642,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_FullRight_and_CJK:} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_FullRight_and_CJK: +\cs_new_protected:Npn \@@_ulem_FullRight_and_CJK: { \xeCJK_if_ulem_patch:TF { @@ -9585,7 +9663,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_punct_hskip:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_punct_hskip:n +\cs_new_protected:Npn \@@_ulem_punct_hskip:n { \xeCJK_if_ulem_patch:TF { \xeCJK_ulem_hskip:n } @@ -9596,7 +9674,7 @@ Copyright and Licence % % \begin{macro}{\@@_ulem_punct_breakable_kern:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_punct_breakable_kern:n #1 +\cs_new_protected:Npn \@@_ulem_punct_breakable_kern:n #1 { \xeCJK_if_ulem_patch:TF { @@ -9613,7 +9691,7 @@ Copyright and Licence % \begin{macro}{\@@_ulem_glue:n,\@@_ulem_ccglue:,\@@_ulem_punct_ccglue:} % 在下划线状æ€ä¸‹çš„分别代替 \tn{CJKglue} ç‰ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_ulem_glue:n #1 +\cs_new_protected:Npn \@@_ulem_glue:n #1 { \xeCJK_if_ulem_patch:TF { @@ -9627,7 +9705,7 @@ Copyright and Licence } { \skip_horizontal:n {#1} } } -\cs_new_protected_nopar:Npn \xeCJK_make_group_tag: +\cs_new_protected:Npn \xeCJK_make_group_tag: { \tl_set:Nx \l_@@_group_tag_tl { \c_@@_group_tag_tl } } \tl_new:N \l_@@_group_tag_tl \tl_const:Nn \c_@@_group_tag_tl @@ -9635,23 +9713,23 @@ Copyright and Licence T \int_use:N \tex_currentgrouptype:D L \int_use:N \tex_currentgrouplevel:D } -\cs_new_protected_nopar:Npn \@@_ulem_ccglue: +\cs_new_protected:Npn \@@_ulem_ccglue: { { \skip_set_eq:NN \UL@skip \l_@@_ccglue_skip \UL@leaders } } -\cs_new_protected_nopar:Npn \@@_ulem_punct_ccglue: +\cs_new_protected:Npn \@@_ulem_punct_ccglue: { \@@_punct_hskip:n { \l_@@_ccglue_skip } } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\xeCJK_ulem_group_begin:,\xeCJK_ulem_group_end:,\xeCJK_ulem_on:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_ulem_group_begin: +\cs_new_protected:Npn \xeCJK_ulem_group_begin: { \mode_leave_vertical: \c_group_begin_token } -\cs_new_protected_nopar:Npn \xeCJK_ulem_group_end: +\cs_new_protected:Npn \xeCJK_ulem_group_end: { \c_group_end_token } -\cs_new_protected_nopar:Npn \xeCJK_ulem_on:n +\cs_new_protected:Npn \xeCJK_ulem_on:n { \ULon } \cs_new_eq:NN \@@_ulem_on:n \UL@on \cs_set_protected:Npn \UL@on #1 @@ -9843,7 +9921,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_fntef_initial:n} % ä¸æ”¯æŒä¸‹åˆ’线的嵌套使用。下划线嵌套使用时,里层的下划线会被放在盒å里,ä¸èƒ½æŠ˜è¡Œã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_fntef_initial:n +\cs_new_protected:Npn \xeCJK_fntef_initial:n { \bool_if:NTF \l_@@_nest_bool { \@@_warning:n { fntef-nesting } } @@ -10001,20 +10079,10 @@ Copyright and Licence sout / height = 0.35 em , xout / skip = true } -\cs_if_free:NF \color - { - \keys_set:nn { xeCJK / options } - { - underdot / format = \color { red } , - underline / format = \color { blue } , - underdblline / format = \color { blue } , - underwave / format = \color { blue } , - sout / format = \color { red } , - xout / format = \color { blue } - } - } % \end{macrocode} % +% \changes{v3.8.3}{2020/04/07}{å–消 \pkg{xeCJKfntef} çš„åˆå§‹å½©è‰²è®¾ç½®ã€‚} +% % \begin{macro}{\CJKunderanysymbol} % \begin{macrocode} \NewDocumentCommand \CJKunderanysymbol { o m m m } @@ -10044,7 +10112,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_under_symbol:nnnnnn} % 当处在下划线ä¸æ—¶ï¼Œæˆ‘们先æ–开下划线,在分组外设置下划符å·ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_under_symbol:nnnnnn +\cs_new_protected:Npn \xeCJK_under_symbol:nnnnnn { \xeCJK_if_ulem_patch:TF { \@@_under_symbol_auxi:nnnnnn } @@ -10153,7 +10221,7 @@ Copyright and Licence % \begin{macro}{\@@_under_CJKsymbol:N} % ç›’å放在汉å—的左侧,比较容易处ç†çŠ¶æ€è½¬ç§»çš„问题。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_under_CJKsymbol:N +\cs_new_protected:Npn \@@_under_CJKsymbol:N { \box_use:N \l_@@_under_symbol_box \xeCJK_no_break: \@@_under_CJKsymbol:N @@ -10209,7 +10277,7 @@ Copyright and Licence % \pkg{colortbl} å°†è¡¨æ ¼ |c| 列用于填充的 \tn{hfil} 改为了更高阶的 \texttt{fill}, % å½±å“到了 \env{CJKfilltwosides*}ã€‚å› æ¤ï¼Œæˆ‘们也è¦ç”¨é«˜é˜¶çš„ \texttt{filll}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK_fntef_hfilll: +\cs_new_protected:Npn \xeCJK_fntef_hfilll: { \skip_horizontal:N \c_@@_filll_skip } \skip_const:Nn \c_@@_filll_skip { \c_zero_dim plus 1 filll } % \end{macrocode} @@ -10266,7 +10334,7 @@ Copyright and Licence % \tn{lst@prebreak} å’Œ \tn{lst@postbreak} 是在 \tn{discretionary} ä¸ç›´æŽ¥è¾“出的, % 应该æ¢å¤æ£å¸¸çš„ \tn{XeTeXinterchartoks}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_initial_hook: +\cs_new_protected:Npn \@@_listings_initial_hook: { \tex_noindent:D \bool_gset_false:N \g_@@_listings_CM_bool @@ -10290,7 +10358,7 @@ Copyright and Licence % 采用ä¸åŒçš„ \tn{XeTeXinterchartoks} 处ç†æ–¹å¼ï¼Œè¾“入的时候是将汉å—åŠ å…¥åˆ° \pkg{listings} % 的输出队列,实际输出的时候是普通文å—。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_toks_hook: +\cs_new_protected:Npn \@@_listings_toks_hook: { \tl_clear:N \l_@@_restore_listings_toks_tl \seq_map_function:NN @@ -10313,7 +10381,7 @@ Copyright and Licence % \begin{macro}{\@@_backup_inter_class_toks:n} % 注æ„,给 \tn{XeTeXinterchartoks} 赋空值,会导致 \XeTeX å´©æºƒï¼ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_backup_inter_class_toks:n #1 +\cs_new_protected:Npn \@@_backup_inter_class_toks:n #1 { \tl_set:Nx \l_@@_tmp_tl { \xeCJK_get_inter_class_toks:nn { Boundary } {#1} } @@ -10334,7 +10402,7 @@ Copyright and Licence % \begin{macro}{\@@_listings_CJK_toks_hook:,\@@_listings_breaklines_toks:} % æ ¹æ® \texttt{breaklines} 选项的使用与å¦ï¼Œé€‰æ‹©ä¸åŒçš„处ç†æ–¹å¼ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_CJK_toks_hook: +\cs_new_protected:Npn \@@_listings_CJK_toks_hook: { \xeCJK_inter_class_toks:nnn { Boundary } { CJK } { \@@_listings_process_CJK:nN { 2 } } @@ -10350,7 +10418,7 @@ Copyright and Licence { \@@_listings_process_CJK:nN { 2 } } } } -\cs_new_protected_nopar:Npn \@@_listings_breaklines_toks: +\cs_new_protected:Npn \@@_listings_breaklines_toks: { \xeCJK_inter_class_toks:nnn { Boundary } { CJK } { \@@_listings_process_breaklines_CJK:nN { 2 } } @@ -10376,7 +10444,7 @@ Copyright and Licence % 七ä½æˆ–å…«ä½å—符。} % 对于 \tn{charcode} 大于 $255$ çš„å—ç¬¦ï¼Œæ ¹æ® \tn{catcode} 进行处ç†ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_process_Default:nN #1#2 +\cs_new_protected:Npn \@@_listings_process_Default:nN #1#2 { \int_compare:nNnTF { \xeCJK_token_value_charcode:N #2 } > \l_@@_listings_max_char_int @@ -10391,7 +10459,7 @@ Copyright and Licence % 输出时,è¦æ³¨æ„把对应的 \tn{XeTeXinterchartoks} 清空掉,å¦åˆ™ä¼šé€ æˆæ»å¾ªçŽ¯ã€‚ % \cs{scan_stop:} æ˜¯é€ è¾¹ç•Œï¼Œè¾“å‡º \cs{group_end:}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_output_Default:nN #1#2 +\cs_new_protected:Npn \@@_listings_output_Default:nN #1#2 { \group_begin: \xeCJK_clear_inter_class_toks:nn { Boundary } {#1} @@ -10405,7 +10473,7 @@ Copyright and Licence % \begin{macro}{\@@_listings_process_CJK:nN} % 对 CJK å—符类的处ç†ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_process_CJK:nN #1#2 +\cs_new_protected:Npn \@@_listings_process_CJK:nN #1#2 { \token_if_letter:NTF #2 { \@@_listings_process_letter:nN {#1} #2 } @@ -10419,7 +10487,7 @@ Copyright and Licence % 对 CJK å—符类ä¸çš„一些åŠè§’å—符(例如åŠè§’日文å‡å)没有区分开。\pkg{listings} 通过 % é‡å®šä¹‰ \tn{lst@Append} 将代ç å†™å…¥å¤–éƒ¨æ–‡ä»¶ï¼Œå› æ¤éœ€è¦ä¿ç•™ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_append:nN #1#2 +\cs_new_protected:Npn \@@_listings_append:nN #1#2 { \int_add:Nn \lst@length { #1 - 1 } \lst@Append #2 @@ -10430,7 +10498,7 @@ Copyright and Licence % \begin{macro}{\@@_listings_process_letter:nN,\@@_listings_process_other:nN} % 在 \texttt{letter} ç±»ä¸åŒºåˆ†æ±‰å—和西文å—æ¯ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_process_letter:nN +\cs_new_protected:Npn \@@_listings_process_letter:nN { \lst@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10442,7 +10510,7 @@ Copyright and Licence \@@_listings_append:nN } \bool_new:N \l_@@_listings_letter_bool -\cs_new_protected_nopar:Npn \@@_listings_process_other:nN #1#2 +\cs_new_protected:Npn \@@_listings_process_other:nN #1#2 { \lst@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10467,7 +10535,7 @@ Copyright and Licence % 当使用 \texttt{breaklines} 选项时,立å³è¾“出之å‰çš„å•ä¸ªæ–‡å—,以便于æ–è¡Œã€‚å¹¶å°†æ ‡ç‚¹ % 与它å‰/åŽçš„ CJK æ–‡å—放在åŒä¸€ä¸ªç›’åä¸ï¼Œä»¥ä¿æŒç¦åˆ™ã€‚但是ä¸èƒ½åŒºåˆ† letter å’Œ other。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_process_breaklines_CJK:nN +\cs_new_protected:Npn \@@_listings_process_breaklines_CJK:nN { \lst@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10482,7 +10550,7 @@ Copyright and Licence \int_set_eq:NN \l_@@_listings_flag_int \c_one_int \@@_listings_append:nN } -\cs_new_protected_nopar:Npn \@@_listings_process_FullLeft:nN #1#2 +\cs_new_protected:Npn \@@_listings_process_FullLeft:nN #1#2 { \lst@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10502,7 +10570,7 @@ Copyright and Licence \int_set:Nn \l_@@_listings_flag_int { 2 } \@@_listings_append:nN {#1} #2 } -\cs_new_protected_nopar:Npn \@@_listings_process_FullRight:nN #1#2 +\cs_new_protected:Npn \@@_listings_process_FullRight:nN #1#2 { \lst@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10524,7 +10592,7 @@ Copyright and Licence % % \begin{macro}[int]{\lst@AppendLetter,\lst@AppendOther} % \begin{macrocode} -\cs_set_protected_nopar:Npn \lst@AppendLetter +\cs_set_protected:Npn \lst@AppendLetter { \bool_if:NTF \l_@@_listings_letter_bool { @@ -10535,7 +10603,7 @@ Copyright and Licence \lst@ifbreaklines \int_zero:N \l_@@_listings_flag_int \fi: \lst@Append } -\cs_set_protected_nopar:Npn \lst@AppendOther +\cs_set_protected:Npn \lst@AppendOther { \bool_if:NTF \l_@@_listings_letter_bool { @@ -10552,7 +10620,7 @@ Copyright and Licence % \begin{macro}{\@@_listings_process_CM:nN} % \texttt{CM} 类作为 \texttt{letter} 处ç†ï¼Œä¸ç”¨å¢žåŠ \tn{lst@length}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_process_CM:nN +\cs_new_protected:Npn \@@_listings_process_CM:nN { \reverse_if:N \lst@ifflexible \bool_gset_true:N \g_@@_listings_CM_bool @@ -10566,7 +10634,7 @@ Copyright and Licence % 在使用 \texttt{columns=fixed} 选项时,\pkg{listings} 会在输出盒å里的æ¯ä¸ªå—符 % ä¹‹é—´åŠ å…¥ \tn{hss}ï¼Œè¿™å°±ç ´å了 \XeTeX 将基本å—和组åˆæ ‡è¯†æ£ç¡®çš„组åˆèµ·æ¥ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_output_CM: +\cs_new_protected:Npn \@@_listings_output_CM: { \reverse_if:N \lst@ifflexible \bool_if:NT \g_@@_listings_CM_bool @@ -10583,7 +10651,7 @@ Copyright and Licence % % \begin{macro}{\@@_listings_peek_active_loop:TF} % \tn{lstinline} 通过判æ–å‚æ•°ä¸ç¬¬ä¸€ä¸ªå—符是å¦æ˜¯ \texttt{active} ç±»æ¥åŒºåˆ† -% 它是å¦è¢«ç”¨åœ¨å…¶å®ƒå®çš„å‚数之ä¸ã€‚如果这第一个å—符ä¸åœ¨ \pkg{listings} 预定义的 +% 它是å¦è¢«ç”¨åœ¨å…¶ä»–å®çš„å‚数之ä¸ã€‚如果这第一个å—符ä¸åœ¨ \pkg{listings} 预定义的 % 符å·è¡¨ä¸ï¼Œåˆ¤æ–就会出问题。我们在这里通过一个循环跳过这些å—符。 % \begin{macrocode} \cs_new_protected:Npn \@@_listings_peek_active_loop:TF #1#2#3 @@ -10624,7 +10692,7 @@ Copyright and Licence \tl_put_right:No \lst@arg { \l_@@_tmp_tl } } \cs_set_eq:NN \lst@InsideConvert@ \@@_listings_inside_convert:nw -\cs_new_protected_nopar:Npn \@@_listings_inline_group:w +\cs_new_protected:Npn \@@_listings_inline_group:w { \exp_after:wN \@@_listings_inline_group:n \exp_after:wN { \if_int_compare:w `} = \c_zero_int \fi: @@ -10646,7 +10714,7 @@ Copyright and Licence \cs_set:Npn \@@_tmp:w #1 { \group_end: - \cs_new_protected_nopar:Npn \@@_listings_set_escape: + \cs_new_protected:Npn \@@_listings_set_escape: { \xeCJK_swap_cs:NN #1 \@@_listings_escape:N } \cs_new_protected:Npn \@@_listings_escape:N ##1 { \cs_if_eq:NNTF #1 ##1 { \@@_listings_escape:N } {##1} } @@ -10665,7 +10733,7 @@ Copyright and Licence % \begin{macro}{\@@_listings_escape_backslash:} % \tn{catcode} 为 $12$ çš„ |\| 需è¦åŒå†™è½¬ä¹‰ã€‚ % \begin{macrocode} -\cs_new_protected_nopar:Npx \@@_listings_escape_backslash: +\cs_new_protected:Npx \@@_listings_escape_backslash: { \tl_replace_all:Nnn \exp_not:N \l_@@_tmp_tl { \c_backslash_str } @@ -10834,12 +10902,12 @@ Copyright and Licence \bool_set_true:N \l_@@_math_as_UTF_text_bool } \@onlypreamble \UseMathAsText -\cs_new_protected_nopar:Npn \@@_declare_math_as_UTF_text:n #1 +\cs_new_protected:Npn \@@_declare_math_as_UTF_text:n #1 { \cs_if_exist:cTF {#1} { \cs_new_eq:cc { keepmathUTF #1 } {#1} - \cs_gset_protected_nopar:cpx {#1} + \cs_gset_protected:cpx {#1} { \exp_not:N \mode_if_math:TF { \exp_not:c { keepmathUTF #1 } } @@ -10848,7 +10916,7 @@ Copyright and Licence \tl_put_right:Nx \l_@@_hyperref_hook_tl { \cs_set_eq:NN \exp_not:c {#1} \exp_not:c { text #1 } } } - { \cs_new_nopar:cpx {#1} { \exp_not:c { text #1 } } } + { \cs_new:cpx {#1} { \exp_not:c { text #1 } } } } \tl_new:N \l_@@_hyperref_hook_tl \AtBeginDocument @@ -10950,20 +11018,20 @@ Copyright and Licence % \begin{macro}{\@@_restore_cmd:N} % æ¢å¤ \tn{hbar} å’Œ \tn{nobreakspace} 为原本定义。 % \begin{macrocode} -\cs_new_protected_nopar:cpn +\cs_new_protected:cpn { @@_restore_ \tl_to_str:n { \hbar } : } { \@@_restore_cmd:N \hbar } -\cs_new_protected_nopar:cpn +\cs_new_protected:cpn { @@_restore_ \tl_to_str:n { \nobreakspace } : } { \@@_restore_cmd:N \nobreakspace } -\cs_new_protected_nopar:Npn \@@_restore_cmd:N #1 +\cs_new_protected:Npn \@@_restore_cmd:N #1 { \@@_restore_cmd:Nx #1 { ? - \token_to_str:N #1 } } -\cs_new_protected_nopar:Npn \@@_restore_cmd:Nn #1#2 +\cs_new_protected:Npn \@@_restore_cmd:Nn #1#2 { \cs_if_free:cF {#2} { \@@_restore_cmd:Nc #1 {#2} } } -\cs_new_protected_nopar:Npn \@@_restore_cmd:NN #1#2 +\cs_new_protected:Npn \@@_restore_cmd:NN #1#2 { \cs_gset_eq:NN #1 #2 \cs_undefine:N #2 @@ -11059,7 +11127,7 @@ Copyright and Licence % \begin{macro}{\@@_check_slot:n} % \pkg{xunicode} ä¸ä½¿ç”¨çš„ Unicode æ ¼å¼æ˜¯è¯¸å¦‚ |x0022| çš„å½¢å¼ï¼Œè¿™å°±éœ€è¦ä¸€äº›è½¬æ¢ã€‚ % \begin{macrocode} -\cs_new_nopar:Npn \@@_check_slot:n #1 +\cs_new:Npn \@@_check_slot:n #1 { \int_eval:n { @@ -11455,7 +11523,7 @@ Copyright and Licence % \end{macro} % % \begin{macro}{\@@_add_double_symbol:nN} -% 如果å‚数的第一个记å·æ˜¯å—æ¯ç±»ã€å…¶å®ƒç¬¦å·ç±»æˆ–者由 \tn{chardef} 定义,则将组åˆç¬¦å· +% 如果å‚数的第一个记å·æ˜¯å—æ¯ç±»ã€å…¶ä»–符å·ç±»æˆ–者由 \tn{chardef} 定义,则将组åˆç¬¦å· % 放在它的å³è¾¹ï¼Œå¦åˆ™ä¸ä½œå¤„ç†ã€‚ % \begin{macrocode} \cs_new_protected:Npn \@@_add_double_symbol:nN #1#2 @@ -11515,17 +11583,17 @@ Copyright and Licence % % \begin{macro}[int]{\xunadd_set_begin_hook:n,\xunadd_set_end_hook:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \xunadd_set_begin_hook:n +\cs_new_protected:Npn \xunadd_set_begin_hook:n { \tl_set:Nn \l_@@_begin_hook_tl } -\cs_new_protected_nopar:Npn \xunadd_append_begin_hook:n +\cs_new_protected:Npn \xunadd_append_begin_hook:n { \tl_put_right:Nn \l_@@_begin_hook_tl } -\cs_new_protected_nopar:Npn \xunadd_set_end_hook:n +\cs_new_protected:Npn \xunadd_set_end_hook:n { \tl_set:Nn \l_@@_end_hook_tl } -\cs_new_protected_nopar:Npn \xunadd_append_end_hook:n +\cs_new_protected:Npn \xunadd_append_end_hook:n { \tl_put_right:Nn \l_@@_end_hook_tl } -\cs_new_protected_nopar:Npn \xunadd_set_begin_hook:nn +\cs_new_protected:Npn \xunadd_set_begin_hook:nn { \@@_set_cmd_hook:nnn { begin } } -\cs_new_protected_nopar:Npn \xunadd_set_end_hook:nn +\cs_new_protected:Npn \xunadd_set_end_hook:nn { \@@_set_cmd_hook:nnn { end } } \cs_new_protected:Npn \@@_set_cmd_hook:nnn #1#2#3 { @@ -11539,8 +11607,8 @@ Copyright and Licence } \cs_new:Npn \@@_set_cmd_hook_aux:Nnwn #1#2 \q_stop #3 { \use:c { @@_#3_csname:n } { \token_to_str:N #1 - \tl_to_str:n {#2} } } -\cs_new_nopar:Npn \@@_begin_csname:n #1 { @@_begin_#1_hook:n } -\cs_new_nopar:Npn \@@_end_csname:n #1 { @@_end_#1_hook:n } +\cs_new:Npn \@@_begin_csname:n #1 { @@_begin_#1_hook:n } +\cs_new:Npn \@@_end_csname:n #1 { @@_end_#1_hook:n } \tl_new:N \l_@@_begin_hook_tl \tl_new:N \l_@@_end_hook_tl % \end{macrocode} @@ -11651,7 +11719,7 @@ Copyright and Licence % \begin{macro}[int]{\xunadd@microtype@is@charx} % \pkg{microtype} å®åŒ…ä¸ä½¿ç”¨çš„函数,我们通过对 \tn{MT@is@charx} 打补ä¸æ¥å®žçŽ°åŠŸèƒ½ã€‚ % \begin{macrocode} -\cs_new_protected:Npn \xunadd@microtype@is@charx #1 \relax +\cs_new_protected_nopar:Npn \xunadd@microtype@is@charx #1 \relax { \use:x { \xunadd_get_slot:nn { \MT@encoding } { \tex_the:D \MT@toks } } @@ -11662,7 +11730,7 @@ Copyright and Licence \bool_if:NT \l_xunadd_rest_bool { \MT@norestfalse } } } -\AtBeginDocument +\cs_new_protected_nopar:Npn \xunadd@microtype@hook { \cs_if_free:NF \MT@is@charx { @@ -11671,6 +11739,9 @@ Copyright and Licence \cs_set_eq:NN \MT@warn@unknown@once \use_none:n } } +\@ifpackageloaded { microtype } + { \use:n } { \AtBeginDocument } + { \xunadd@microtype@hook } % \end{macrocode} % \end{macro} % @@ -13801,7 +13872,7 @@ int main() [ #1 , Color = \test_color:n {#1} , BoldFont = SimHei ] { SimSun } \setCJKmonofont [ #1 ] { KaiTi } } -\cs_new_protected_nopar:Npn \TEST +\cs_new_protected:Npn \TEST { \exp_args:No \path { \c_test_text_tl } \par \c_test_text_tl \par @@ -13847,7 +13918,7 @@ int main() \makeatletter \ExplSyntaxOn -\cs_new_protected_nopar:Npx \@@_restore_catcode: +\cs_new_protected:Npx \@@_restore_catcode: { \char_set_catcode:nn { 0 } { \char_value_catcode:n { 0 } } } \file_if_exist:nTF { xunicode-commands.tex } { \char_set_catcode_comment:n { 0 } } @@ -13860,7 +13931,7 @@ int main() ^^@ \prop_new:N \l_@@_command_prop ^^@ \prop_new:N \l_@@_combine_mark_prop ^^@ \prop_new:N \l_@@_combine_marks_prop -^^@ \cs_new_protected_nopar:Npn \SaveUTFCommands +^^@ \cs_new_protected:Npn \SaveUTFCommands ^^@ { ^^@ \group_begin: ^^@ \@@_restore_catcode: @@ -13980,7 +14051,7 @@ int main() \int_gincr:N \g_@@_table_int \exp_args:Nx \@@_make_table:nnn { UTFTABLE - \int_use:N \g_@@_table_int } {#1} {#2} } -\cs_new_protected_nopar:Npn \@@_make_table:nnn #1#2#3 +\cs_new_protected:Npn \@@_make_table:nnn #1#2#3 { \section{#2~(\zref@extractdefault{#1}{default}{0})} \zref@refused{#1} diff --git a/macros/xetex/latex/xecjk/xeCJK.pdf b/macros/xetex/latex/xecjk/xeCJK.pdf Binary files differindex ae7269bfd0..1726fe6fc8 100644 --- a/macros/xetex/latex/xecjk/xeCJK.pdf +++ b/macros/xetex/latex/xecjk/xeCJK.pdf diff --git a/macros/xetex/latex/xecjk/xunicode-symbols.pdf b/macros/xetex/latex/xecjk/xunicode-symbols.pdf Binary files differindex cc30fd0c5a..5392212ff8 100644 --- a/macros/xetex/latex/xecjk/xunicode-symbols.pdf +++ b/macros/xetex/latex/xecjk/xunicode-symbols.pdf diff --git a/macros/xetex/latex/xepersian-hm/README.txt b/macros/xetex/latex/xepersian-hm/README.txt index 9911cde284..30f6d3240c 100644 --- a/macros/xetex/latex/xepersian-hm/README.txt +++ b/macros/xetex/latex/xepersian-hm/README.txt @@ -1,35 +1,22 @@ -%% -%% This is file `README.txt', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xepersian-hm.dtx (with options: `README') -%% -%% Copyright (C) 2020 Hossein Movahhedian -%% -%% It may be distributed and/or modified under the LaTeX Project Public License, -%% version 1.3c or higher (your choice). The latest version of -%% this license is at: http://www.latex-project.org/lppl.txt -%% The XEPERSIAN-HM package ------------------------ -Kashida feature in `xepersian' has problems with some fonts such as `HM Series' -fonts available at `https://dma8hm1334.bitbucket.io' and `X Series 2' fonts -available at `http://wiki.irmug.com/index.php/X_Series_2'. The `xepersian-hm' -package fixes these problems. +Kashida feature in 'xepersian' has problems with some fonts such as 'HM Series' +available at 'https://dma8hm1334.bitbucket.io' and 'X Series 2' available at +'http://wiki.irmug.com/index.php/X_Series_2'. The 'xepersian-hm' package fixes +these problems. -The file `texmf-dist/doc/xelatex/xepersian-hm/kashida-example.tex' can be used as -a simple example of the usage of the package. +The files 'kashida-glyph-example.tex' and 'kashida-hrule-example.tex' in +the directory 'texmf-dist/doc/xelatex/xepersian-hm/' can be used as simple +examples of the usage of the package. Please use the Bitbucket issue tracker: -https://bitbucket.org/dma8hm1334/xepersian-hm/issues -to report a bug, request a feature or if you have a comment. +'https://bitbucket.org/dma8hm1334/xepersian-hm/issues' to report a bug, request +a feature or if you have a comment. -I will do my best to fix all the bugs you report, but, unfortunately, -time is a big hurdle to overcome; so, my apologies in advance for those -which I cannot make time to fix. +I will do my best to fix all the bugs you report, but, unfortunately, time is a +big hurdle to overcome; so, my apologies in advance for those which I cannot +make time to fix. %% %% %% End of file `README.txt'. diff --git a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf Binary files differnew file mode 100644 index 0000000000..91047f8cec --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf diff --git a/macros/xetex/latex/xepersian-hm/kashida-example.tex b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex index 6702fd3687..299b605aa7 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-example.tex +++ b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex @@ -31,56 +31,79 @@ \defpersianfont\HMXKayhanSd[Scale=4.5]{HM XKayhan Shadow} % \def\SampleText{\discouragebadlinebreaks[8][0.14 em plus 5.5 em]{ -% راهی جایی تابی چاپی چاههی تلاشهایی -% شتابهایی تابی چاپی راهی تلاشهــایی -% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} % \def\SampleText{\discouragebadlinebreaks[10][0.12 em plus 5.5 em]{ -% راهی جایی تابی چاپی چاههی تلاشهایی -% شتابهایی تابی چاپی راهی تلاشهــایی -% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} \def\SampleText{\discouragebadlinebreaks{ راهی جایی تابی چاپی چاههی تلاشهایی شتابهایی تابی چاپی راهی تلاشهــایی Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} +% \def\SampleText{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی } + \setlength\parindent{0pt} \pagestyle{empty} \begin{document} -\KashidaOff\lr{(Kashida Off, Regular)} +\begin{latin} +\begin{center} +\Huge\textsf{xepersian-hm}\\ \vspace{20pt} Example of Use\vspace{20pt}\\ \texttt{Kashida=glyph} \vspace{40pt} + +{\Large +\begin{tabular}{ll} + \textsf{Font:} & \textsf{HM XKayhan} \\ + \textsf{Font Scale:} & \texttt{4.5} \\ + \textsf{linebreakpenalty:} & \texttt8 \\ + \textsf{kashidastretch:} & \texttt{0.14em plus 5.5em} +\end{tabular} +} +\end{center} + +\end{latin} + +\newpage + +\KashidaOff{\hfill\lr{(Kashida Off, Regular)}\hfill} \SampleText \newpage -\KashidaOn\lr{(Kashida On, Regular)} +\KashidaOn{\hfill\lr{(Kashida On, Regular)}\hfill} \SampleText \newpage -\KashidaOn\lr{(Kashida On, Italic)} +\KashidaOn{\hfill\lr{(Kashida On, Italic)}\hfill} {\HMXKayhanIt \SampleText} \newpage -\KashidaOn\lr{(Kashida On, Oblique)} +\KashidaOn{\hfill\lr{(Kashida On, Oblique)}\hfill} {\HMXKayhanOb \SampleText} \newpage -\KashidaOn\lr{(Kashida On, Outline)} +\KashidaOn{\hfill\lr{(Kashida On, Outline)}\hfill} {\HMXKayhanOl \SampleText} \newpage -\KashidaOn\lr{(Kashida On, Shadow)} +\KashidaOn{\hfill\lr{(Kashida On, Shadow)}\hfill} {\HMXKayhanSd \SampleText} diff --git a/macros/xetex/latex/xepersian-hm/kashida-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf Binary files differindex 2585a68426..865d7a3551 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-example.pdf +++ b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf diff --git a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex new file mode 100644 index 0000000000..64926c354a --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex @@ -0,0 +1,109 @@ +% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} % Load xepersian with a few options +\documentclass{report} +% \textwidth=345.0pt +% \textheight=550.0pt +% \textheight=620pt +% \usepackage[Kashida]{xepersian} % Fails +% \usepackage{xepersian-hm} % Succeeds +\usepackage[Kashida=hrule,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=glyph,linebreakpenalty=8,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=glyph,kashidastretch=kayhan]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=noskip]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=default]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=kayhan]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=khorramshahr]{xepersian-hm} % Succeeds + +% \settextfont[Scale=4.5,Colour=darkgray]{XB Kayhan} +\settextfont[Scale=4.5]{HM XKayhan} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XNiloofar} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XYas} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XZar} +% \settextfont[Scale=1,Colour=darkgray]{HM XKayhan} + +% \setlatintextfont[Scale=2.5,Colour=0000FF]{XB Kayhan} +\setlatintextfont[Scale=1.5,Colour=0000FF]{HM XKayhan} + +\defpersianfont\HMXKayhanIt[Scale=4.5]{HM XKayhan Italic} +\defpersianfont\HMXKayhanOb[Scale=4.5]{HM XKayhanOb Oblique} +\defpersianfont\HMXKayhanOl[Scale=4.5]{HM XKayhan Outline} +\defpersianfont\HMXKayhanSd[Scale=4.5]{HM XKayhan Shadow} + +% \def\SampleText{\discouragebadlinebreaks[8][0.14 em plus 5.5 em]{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} + +% \def\SampleText{\discouragebadlinebreaks[10][0.12 em plus 5.5 em]{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} + +% \def\SampleText{\discouragebadlinebreaks{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی }} + +\def\SampleText{ + راهی جایی تابی چاپی چاههی تلاشهایی + شتابهایی تابی چاپی راهی تلاشهــایی + Ú©Ù‡ کتابهایی Ú©Ù‡ کلاههایی Ú©Ù‡ کتابهایی } + +\setlength\parindent{0pt} +\pagestyle{empty} + +\begin{document} + +\begin{latin} +\begin{center} +\Huge\textsf{xepersian-hm}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=hrule} \vspace{40pt} + +{\Large +\begin{tabular}{ll} + \textsf{Font:} & \textsf{HM XKayhan} \\ + \textsf{Font Scale:} & \texttt{4.5} \\ + \textsf{kashidastretch:} & \texttt{0.14em plus 0.5em} +\end{tabular} +} +\end{center} + +\end{latin} + +\newpage + +\KashidaOff{\hfill\lr{(Kashida Off, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Italic)}\hfill} + +{\HMXKayhanIt \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Oblique)}\hfill} + +{\HMXKayhanOb \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Outline)}\hfill} + +{\HMXKayhanOl \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Shadow)}\hfill} + +{\HMXKayhanSd \SampleText} + +\end{document} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx new file mode 100644 index 0000000000..1a2d88f8aa --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx @@ -0,0 +1,160 @@ +%% +%% This is file `xepersian-hm-doc.tex' +%% +%% Copyright (c) Hossein Movahhedian 2020 +%% +%% It may be distributed and/or modified under the LaTeX Project Public License, +%% version 1.3c or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +\documentclass{ltxdoc} +\usepackage{longtable} +\usepackage{hypdoc} + +\title{ + The \textsf{xepersian-hm} package\\Fixing kashida in xepersian\\User Documentation +} + +\author{ + Hossein Movahhedian\thanks + { + E-mail: + \href{mailto:dma8hm1334@gmail.com} + {\textsf{dma8hm1334@gmail.com}} + } +} + +\date{Released \quad 2020-05-01 \quad v0.5c} + +\begin{document} + +\maketitle + +Kashida feature in \textsf{xepersian} has problems with some fonts such as \mbox{\textsf{HM Series}} +available at +\href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} +and \mbox{\textsf{X Series 2}} available at +\href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. +The \textsf{xepersian-hm} package fixes these problems. + +The files \texttt{kashida-glyph-example.tex} and \texttt{kashida-hrule-example.tex} +in the directory \texttt{texmf-dist/doc/xelatex/xepersian-hm/} can be used as simple +examples of the usage of the package. + +Please use the Bitbucket issue tracker: +\href{https://bitbucket.org/dma8hm1334/xepersian-hm/issues}{\textsf{https://bitbucket.org/dma8hm1334/\linebreak[4]xepersian-hm/issues}} +to report a bug, request a feature or if you have a comment. + +I will do my best to fix all the bugs you report, but, unfortunately, +time is a big hurdle to overcome; so, my apologies in advance for those +which I cannot make time to fix. + +\section{Package loading and options} + +Please note that \textsf{xepersian-hm} loads \textsf{xepersian} automatically, +so you may only pass options to the package using the command +\verb|\PassOptionsToPackage| before \verb|\documentclass|. For example: + +\begin{verbatim} +\PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} +\documentclass{report} +\usepackage{xcolor} +\usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} +\end{verbatim} + +The options available in \textsf{xepersian-hm} are: +\begin{itemize} + \item \texttt{Kashida}: \\ + which implements kashida feature with two possible values: + \begin{itemize} + \item \texttt{glyph}: \\ + which uses the \texttt{Kashida} character to stretch the text. + With this option you should run \texttt{xelatex} thrice. For example: \\ + + \texttt{rm -f kashida-example.aux \\ + xelatex kashida-example.tex \\ + xelatex kashida-example.tex \\ + xelatex kashida-example.tex} + + Please note that this feature is still experimental and is not regarded as stable. + If you are going to use this option be ready for unpredictable results. + + \item \texttt{hrule}: \\ + which uses a horizontal rule (\verb|\hrule|) to stretch the text. + + \end{itemize} + For example \texttt{Kashida=glyph} inserts a stretched \texttt{Kashida} glyph where ever it is needed. + + \item \texttt{linebreakpenalty}: \\ + which specifies the amount of penalty for preventing bad line-breaking. + You may strictly specify the value of this option. For example \texttt{'linebreakpenalty=8'} or you + may use the default values. The available default values of penalties which are put into the + horizontal list output are the negative of the followings: + + \begin{longtable}{ll} + \texttt{min}: & \texttt{0} \\ + \texttt{low}: & \texttt{8} \\ + \texttt{medium}: & \texttt{15} \\ + \texttt{high}: & \texttt{25} \\ + \texttt{max}: & \texttt{10000} + \end{longtable} + \item \texttt{kashidastretch}: \\ + which specifies the amount of extra stretching + for some combinations of characters. You may strictly specify the value of + this option. For example \texttt{'kashidastretch=0.14 em plus 0.5 em'} or you + may use the default values. The available default values are: + + \begin{longtable}{lll} + \texttt{kayhan} & \texttt{0.14 em plus 0.5 em} \\ + \texttt{khorramshahr} & \texttt{0.131 em plus 0.5 em} \\ + \texttt{kayhannavaar} & \texttt{0.129 em plus 0.5 em} \\ + \texttt{kayhanpook} & \texttt{0.133 em plus 0.5 em} \\ + \texttt{kayhansayeh} & \texttt{0.135 em plus 0.5 em} \\ + \texttt{khoramshahr} & \texttt{0.128 em plus 0.5 em} \\ + \texttt{khorramshahr} & \texttt{0.13 em plus 0.5 em} \\ + \texttt{niloofar} & \texttt{0.132 em plus 0.5 em} \\ + \texttt{paatch} & \texttt{0.127 em plus 0.5 em} \\ + \texttt{riyaz} & \texttt{0.125 em plus 0.5 em} \\ + \texttt{roya} & \texttt{0.142 em plus 0.5 em} \\ + \texttt{shafigh} & \texttt{0.143 em plus 0.5 em} \\ + \texttt{shafighKurd} & \texttt{0.126 em plus 0.5 em} \\ + \texttt{shafighUzbek} & \texttt{0.123 em plus 0.5 em} \\ + \texttt{shiraz} & \texttt{0.122 em plus 0.5 em} \\ + \texttt{sols} & \texttt{0.124 em plus 0.5 em} \\ + \texttt{tabriz} & \texttt{0.119 em plus 0.5 em} \\ + \texttt{titr} & \texttt{0.12 em plus 0.5 em} \\ + \texttt{titre} & \texttt{0.121 em plus 0.5 em} \\ + \texttt{traffic} & \texttt{0.124 em plus 0.5 em} \\ + \texttt{vahid} & \texttt{0.134 em plus 0.5 em} \\ + \texttt{vosta} & \texttt{0.136 em plus 0.5 em} \\ + \texttt{yaghut} & \texttt{0.138 em plus 0.5 em} \\ + \texttt{yagut} & \texttt{0.137 em plus 0.5 em} \\ + \texttt{yas} & \texttt{0.126 em plus 0.5 em} \\ + \texttt{yekan} & \texttt{0.141 em plus 0.5 em} \\ + \texttt{yermook} & \texttt{0.139 em plus 0.5 em} \\ + \texttt{zar} & \texttt{0.116 em plus 0.5 em} \\ + \texttt{ziba} & \texttt{0.119 em plus 0.5 em} \\ + \texttt{default} & \texttt{0.14 em plus 0.5 em} \\ + \texttt{noskip} & \texttt{0 em plus 0.5 em} + \end{longtable} + + For example: \mbox{\texttt{'kashidastretch=titr'}} is equivalent to\linebreak + \mbox{\texttt{'kashidastretch=0.12 em plus 0.5 em'}} +\end{itemize} + +\section{Commands} + +\begin{description} + \item \verb|\discouragebadlinebreaks[linebreakpenalty][kashidastretch]{|{\it text}\verb|}|: + + {\it text} may not contain paragraph breaks. + This command puts a penalty after each Persian word. + The optional arguments \texttt{linebreakpenalty} and \texttt{kashidastretch} locally specify the value of the penalty and the amount + of extra stretching for some combinations of characters respectively as discussed previously. For example: + + \texttt{\bslash discouragebadlinebreaks[9][0.12 em plus 0.5 em]\{\dots\}} +\end{description} +\end{document} +%% +%% +%% End of file `xepersian-hm-doc.ltx'. diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf Binary files differnew file mode 100644 index 0000000000..cc80a88443 --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx index 0d5d19f524..0cf960fe36 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx @@ -1,28 +1,37 @@ % \iffalse meta-comment +% +% This is file `xepersian-hm.dtx' +% +% Copyright (C) 2020 Hossein Movahhedian % +% It may be distributed and/or modified under the LaTeX Project Public License, +% version 1.3c or higher (your choice). The latest version of +% this license is at: http://www.latex-project.org/lppl.txt +% %<*internal> \iffalse %</internal> -%<*README> +%<*README-txt> The XEPERSIAN-HM package ------------------------ -Kashida feature in `xepersian' has problems with some fonts such as `HM Series' -fonts available at `https://dma8hm1334.bitbucket.io' and `X Series 2' fonts -available at `http://wiki.irmug.com/index.php/X_Series_2'. The `xepersian-hm' -package fixes these problems. +Kashida feature in 'xepersian' has problems with some fonts such as 'HM Series' +available at 'https://dma8hm1334.bitbucket.io' and 'X Series 2' available at +'http://wiki.irmug.com/index.php/X_Series_2'. The 'xepersian-hm' package fixes +these problems. -The file `texmf-dist/doc/xelatex/xepersian-hm/kashida-example.tex' can be used as -a simple example of the usage of the package. +The files 'kashida-glyph-example.tex' and 'kashida-hrule-example.tex' in +the directory 'texmf-dist/doc/xelatex/xepersian-hm/' can be used as simple +examples of the usage of the package. Please use the Bitbucket issue tracker: -https://bitbucket.org/dma8hm1334/xepersian-hm/issues -to report a bug, request a feature or if you have a comment. +'https://bitbucket.org/dma8hm1334/xepersian-hm/issues' to report a bug, request +a feature or if you have a comment. -I will do my best to fix all the bugs you report, but, unfortunately, -time is a big hurdle to overcome; so, my apologies in advance for those -which I cannot make time to fix. -%</README> +I will do my best to fix all the bugs you report, but, unfortunately, time is a +big hurdle to overcome; so, my apologies in advance for those which I cannot +make time to fix. +%</README-txt> %<*internal> \fi %</internal> @@ -43,8 +52,10 @@ which I cannot make time to fix. % \end{macrocode} % \fi % +% \immediate\write18{xelatex xepersian-hm-doc.ltx} +% % \title{^^A -% The \textsf{xepersian-hm} package\\Fixing kashida in xepersian^^A +% The \textsf{xepersian-hm} package\\Fixing kashida in xepersian\\Source code documentation^^A % } % % \author{^^A @@ -56,140 +67,16 @@ which I cannot make time to fix. % }^^A % } % -% \date{Released 2020-04-26 \qquad v0.5b} +% \date{Released \quad 2020-05-01 \quad v0.5c} % % \maketitle % -% Kashida feature in \textsf{xepersian} has problems with some fonts such as \texttt{HM Series} -% fonts available at -% \href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} -% and \texttt{X Series 2} fonts available at -% \href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. -% The \textsf{xepersian-hm} package fixes these problems. -% -% The file \texttt{texmf-dist/doc/xelatex/xepersian-hm/kashida-example.tex} can be -% used as a simple example of the usage of the package. -% -% Please use the Bitbucket issue tracker: -% \href{https://bitbucket.org/dma8hm1334/xepersian-hm/issues}{\textsf{https://bitbucket.org/dma8hm1334/xepersian-hm/issues}} -% to report a bug, request a feature or if you have a comment. -% -% I will do my best to fix all the bugs you report, but, unfortunately, -% time is a big hurdle to overcome; so, my apologies in advance for those -% which I cannot make time to fix. -% -% \section{Package loading and options} -% -% Please note that \textsf{xepersian-hm} loads \textsf{xepersian} automatically, -% so you may only pass options to the package using the command -% \verb|\PassOptionsToPackage| before \verb|\documentclass|. For example: -% -% \begin{verbatim} -% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} -% \documentclass{report} -% \usepackage{xcolor} -% \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} -% \end{verbatim} -% -% The options available in \textsf{xepersian-hm} are: -% \begin{itemize} -% \item \texttt{Kashida}: \\ -% which implements kashida feature with two possible values: -% \begin{itemize} -% \item \texttt{glyph}: \\ -% which uses the \texttt{Kashida} character to stretch the text. -% With this option you should run \texttt{xelatex} thrice. For example: \\ -% -% \texttt{rm -f kashida-example.aux \\ -% xelatex kashida-example.tex \\ -% xelatex kashida-example.tex \\ -% xelatex kashida-example.tex} -% -% Please note that this feature is still experimental and is not regarded as stable. -% If you are going to use this option be ready for unpredictable results. -% -% \item \texttt{hrule}: \\ -% which uses a horizontal rule (\verb|\hrule|) to stretch the text. -% -% \end{itemize} -% For example \texttt{Kashida=glyph} inserts a stretched \texttt{Kashida} glyph where ever it is needed. -% -% \item \texttt{linebreakpenalty}: \\ -% which specifies the amount of penalty for preventing bad line-breaking. -% You may strictly specify the value of this option. For example \texttt{'linebreakpenalty=8'} or you -% may use the default values. The available default values of penalties which are put into the -% horizontal list output are the negative of the followings: -% -% \begin{longtable}{ll} -% \texttt{min}: & \texttt{0} \\ -% \texttt{low}: & \texttt{8} \\ -% \texttt{medium}: & \texttt{15} \\ -% \texttt{high}: & \texttt{25} \\ -% \texttt{max}: & \texttt{10000} -% \end{longtable} -% \item \texttt{kashidastretch}: \\ -% which specifies the amount of extra stretching -% for some combinations of characters. You may strictly specify the value of -% this option. For example \texttt{'kashidastretch=0.14 em plus 0.5 em'} or you -% may use the default values. The available default values are: -% -% \begin{longtable}{lll} -% \texttt{kayhan} & \texttt{0.14 em plus 0.5 em} \\ -% \texttt{khorramshahr} & \texttt{0.131 em plus 0.5 em} \\ -% \texttt{kayhannavaar} & \texttt{0.129 em plus 0.5 em} \\ -% \texttt{kayhanpook} & \texttt{0.133 em plus 0.5 em} \\ -% \texttt{kayhansayeh} & \texttt{0.135 em plus 0.5 em} \\ -% \texttt{khoramshahr} & \texttt{0.128 em plus 0.5 em} \\ -% \texttt{khorramshahr} & \texttt{0.13 em plus 0.5 em} \\ -% \texttt{niloofar} & \texttt{0.132 em plus 0.5 em} \\ -% \texttt{paatch} & \texttt{0.127 em plus 0.5 em} \\ -% \texttt{riyaz} & \texttt{0.125 em plus 0.5 em} \\ -% \texttt{roya} & \texttt{0.142 em plus 0.5 em} \\ -% \texttt{shafigh} & \texttt{0.143 em plus 0.5 em} \\ -% \texttt{shafighKurd} & \texttt{0.126 em plus 0.5 em} \\ -% \texttt{shafighUzbek} & \texttt{0.123 em plus 0.5 em} \\ -% \texttt{shiraz} & \texttt{0.122 em plus 0.5 em} \\ -% \texttt{sols} & \texttt{0.124 em plus 0.5 em} \\ -% \texttt{tabriz} & \texttt{0.119 em plus 0.5 em} \\ -% \texttt{titr} & \texttt{0.12 em plus 0.5 em} \\ -% \texttt{titre} & \texttt{0.121 em plus 0.5 em} \\ -% \texttt{traffic} & \texttt{0.124 em plus 0.5 em} \\ -% \texttt{vahid} & \texttt{0.134 em plus 0.5 em} \\ -% \texttt{vosta} & \texttt{0.136 em plus 0.5 em} \\ -% \texttt{yaghut} & \texttt{0.138 em plus 0.5 em} \\ -% \texttt{yagut} & \texttt{0.137 em plus 0.5 em} \\ -% \texttt{yas} & \texttt{0.126 em plus 0.5 em} \\ -% \texttt{yekan} & \texttt{0.141 em plus 0.5 em} \\ -% \texttt{yermook} & \texttt{0.139 em plus 0.5 em} \\ -% \texttt{zar} & \texttt{0.116 em plus 0.5 em} \\ -% \texttt{ziba} & \texttt{0.119 em plus 0.5 em} \\ -% \texttt{default} & \texttt{0.14 em plus 0.5 em} \\ -% \texttt{noskip} & \texttt{0 em plus 0.5 em} -% \end{longtable} -% -% For example: \mbox{\texttt{'kashidastretch=titr'}} is equivalent to\linebreak -% \mbox{\texttt{'kashidastretch=0.12 em plus 0.5 em'}} -% \end{itemize} -% -% \section{Commands} -% -% \begin{description} -% \item \verb|\discouragebadlinebreaks[linebreakpenalty][kashidastretch]{|{\it text}\verb|}|: -% -% {\it text} may not contain paragraph breaks. -% This command puts a penalty after each Persian word. -% The optional arguments \texttt{linebreakpenalty} and \texttt{kashidastretch} locally specify the value of the penalty and the amount -% of extra stretching for some combinations of characters respectively as discussed previously. For example: -% -% \texttt{\bslash discouragebadlinebreaks[9][0.12 em plus 0.5 em]\{\dots\}} -% \end{description} -% % \section{\texttt{xepersian-hm} Implementation} % % \subsection{File: \texttt{xepersian-hm.sty}} % % \begin{macrocode} -%<*xepersian-hm> +%<*xepersian-hm-sty> \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3}[2020-03-06] \@ifpackagelater{expl3}{2020-03-06} @@ -209,32 +96,44 @@ which I cannot make time to fix. \RequirePackage{zref-savepos}[2020-03-03] \RequirePackage{xepersian} \ExplSyntaxOn -\ProvidesExplPackage {xepersian-hm} {2020-04-26} {0.5b} { Fixes~issues~in~xepersian~package } +\ProvidesExplPackage {xepersian-hm} {2020-05-01} {0.5c} { Fixes~issues~in~xepersian~package } -\tl_new:N \l_xephm_main_font_full_tl -\tl_new:N \l_xephm_main_font_name_tl \int_const:Nn \c_xephm_ksh_int {"0640} % kashida -\int_new:N \l_xephm_kashida_slot_int +\int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark +\int_const:Nn \c_xephm_zwj_int {"200D} % zero-width joiner -\tl_new:N \l_xephm_skip_default_tl +\int_const:Nn \c_xephm_two_int {2} % 2 +\int_const:Nn \c_xephm_four_int {4} % 4 \tl_const:Nn \c_xephm_skip_a_tl { 0 em plus 0.5 em } - \tl_const:Nn \c_xephm_skip_b_tl { 0.14 em plus 5.5 em } -\bool_set_false:N \l_xephm_kashida_hm_fix_bool - -\tl_new:N \l_xephm_gap_filler_tl +\int_new:N \l_xephm_counter_int -\bool_set_false:N \l_xephm_linebreakpenalty_bool +\int_new:N \l_xephm_kashida_slot_int \int_new:N \l_xephm_line_break_penalty_int + \int_new:N \l_xephm_min_penalty_int \int_new:N \l_xephm_low_penalty_int \int_new:N \l_xephm_med_penalty_int \int_new:N \l_xephm_high_penalty_int \int_new:N \l_xephm_max_penalty_int +\tl_new:N \l_xephm_line_break_tl + +\tl_new:N \l_xephm_main_font_full_tl +\tl_new:N \l_xephm_main_font_name_tl + +\tl_new:N \l_xephm_skip_default_tl + +\tl_new:N \l_xephm_gap_filler_tl + +\dim_new:N \l_xephm_diff_pos_dim + +\bool_set_false:N \l_xephm_kashida_hm_fix_bool +\bool_set_false:N \l_xephm_linebreakpenalty_bool + \int_set:Nn \l_xephm_min_penalty_int { 0 } \int_set:Nn \l_xephm_low_penalty_int { 8 } \int_set:Nn \l_xephm_med_penalty_int { 15 } @@ -281,6 +180,11 @@ which I cannot make time to fix. Sorry,~ kashida~ character~ is~ not~ available~ in~ the~ main~ font~! } +\msg_new:nnx { xepersian-hm } { value-not-available-for-kashida-option } + { + Sorry,~ value~ `\l_xephm_gap_filler_tl'~ is~ not~ available~ for~ kashida~ option~ yet~! + } + \keys_define:nn { xepersian-hm } { Kashida .code:n = @@ -371,21 +275,14 @@ which I cannot make time to fix. \ExplSyntaxOff \endinput -%</xepersian-hm> +%</xepersian-hm-sty> % \end{macrocode} % % \subsection{File: \texttt{kashida-xepersian-hm.def}} % \begin{macrocode} -%<*kashida-xepersian-hm> +%<*kashida-xepersian-hm-def> \ExplSyntaxOn -\ProvidesExplFile {kashida-xepersian-hm.def} {2020-04-26} {0.5b} { Fixes~implementation~of~Kashida~in~xepersian~package } - -\int_const:Nn \c_xephm_zwj_int {"200D} % zero-width joiner -\int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark -\int_const:Nn \c_xephm_two_int {2} % 2 -\int_const:Nn \c_xephm_four_int {4} % 4 - -\int_new:N \l_xephm_counter_int +\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-01} {0.5c} { Fixes~implementation~of~Kashida~in~xepersian~package } \newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class \newXeTeXintercharclass \c_xephm_l_charclass % lam @@ -393,8 +290,6 @@ which I cannot make time to fix. \newXeTeXintercharclass \c_xephm_a_charclass % alef \newXeTeXintercharclass \c_xephm_y_charclass % yeh -\dim_new:N \l_xephm_diff_pos_dim - %% Partly adapted from LaTeX2e source \cs_new:Nn \xephm_line_break: { \if_mode_vertical: @@ -427,8 +322,6 @@ which I cannot make time to fix. \xephm_put_line_breaks:n { #3 } } -\tl_new:N \l_xephm_line_break_tl - \cs_new_protected:Nn \xephm_put_line_breaks:n { \tl_set:Nn \l_xephm_line_break_tl { #1 } @@ -538,11 +431,6 @@ which I cannot make time to fix. \XeTeXcharclass "#1 \c_xephm_y_charclass } -\msg_new:nnx { xepersian-hm } { value-not-available-for-kashida-option } - { - Sorry,~ value~ `\l_xephm_gap_filler_tl'~ is~ not~ available~ for~ kashida~ option~ yet! - } - \str_case:VnTF \l_xephm_gap_filler_tl { \l_xephm_stretch_glyph_tl @@ -635,7 +523,7 @@ which I cannot make time to fix. \makeatother \endinput -%</kashida-xepersian-hm> +%</kashida-xepersian-hm-def> % \end{macrocode} % % \section*{Acknowledgements} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.ins b/macros/xetex/latex/xepersian-hm/xepersian-hm.ins index d610751e2d..cba9853ea9 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.ins +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.ins @@ -30,9 +30,11 @@ this license is at: http://www.latex-project.org/lppl.txt \keepsilent -\generate{\file{xepersian-hm.sty} {\from{xepersian-hm.dtx} {xepersian-hm}}} -\generate{\file{README.txt} {\from{xepersian-hm.dtx} {README}}} -\generate{\file{kashida-xepersian-hm.def} {\from{xepersian-hm.dtx} {kashida-xepersian-hm}}} +\generate{\file{xepersian-hm.sty} {\from{xepersian-hm.dtx} {xepersian-hm-sty}}} +\nopreamble +\generate{\file{README.txt} {\from{xepersian-hm.dtx} {README-txt}}} +\usepreamble\defaultpreamble +\generate{\file{kashida-xepersian-hm.def} {\from{xepersian-hm.dtx} {kashida-xepersian-hm-def}}} \obeyspaces \Msg{******************************************************} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf Binary files differindex 43dd46a0a4..b460f20455 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index d6b2eca7a8..3f31f03b59 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -7,7 +7,6 @@ $mirrors = { 'https://mirror.marwan.ma/ctan/' => 1, }, 'South Africa' => { - 'http://ftp.leg.uct.ac.za/pub/packages/ctan/' => 1, 'http://ftp.sun.ac.za/ftp/CTAN/' => 1, 'http://mirror.ufs.ac.za/ctan/' => 1, }, @@ -17,7 +16,6 @@ $mirrors = { 'http://mirror.lzu.edu.cn/CTAN/' => 1, 'http://mirrors.cqu.edu.cn/CTAN/' => 1, 'http://mirrors.hit.edu.cn/CTAN/' => 1, - 'http://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1, 'http://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1, 'http://mirrors.ustc.edu.cn/CTAN/' => 1, 'https://mirror.bjtu.edu.cn/CTAN/' => 1, @@ -39,7 +37,6 @@ $mirrors = { 'Japan' => { 'ftp://ftp.kddilabs.jp/CTAN/' => 1, 'http://ftp.jaist.ac.jp/pub/CTAN/' => 1, - 'http://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1, }, 'Korea' => { 'http://ftp.harukasan.org/CTAN/' => 1, @@ -100,7 +97,6 @@ $mirrors = { 'http://mirror.physik-pool.tu-berlin.de/pub/CTAN/' => 1, 'http://packages.oth-regensburg.de/ctan/' => 1, 'http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/' => 1, - 'https://ctan.kako-dev.de/' => 1, 'https://ctan.mc1.root.project-creative.net/' => 1, 'https://ctan.net/' => 1, 'https://ftp.agdsn.de/pub/mirrors/latex/dante/' => 1, @@ -173,6 +169,7 @@ $mirrors = { 'http://ctan.math.utah.edu/ctan/tex-archive/' => 1, 'http://ctan.math.washington.edu/tex-archive/' => 1, 'http://ctan.mirrors.hoobly.com/' => 1, + 'http://mirror.las.iastate.edu/tex-archive/' => 1, 'http://mirror.utexas.edu/ctan/' => 1, 'http://mirrors.concertpass.com/tex-archive/' => 1, 'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 32aedf8eeb..ce1c1c863c 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,11 +26,11 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2020 -depend revision/54951 +depend revision/54967 name 00texlive.image category TLCore -revision 54941 +revision 54965 shortdesc TeX Live files only in the source repository longdesc The files here are not copied by the installer and containers longdesc are not built for them; they exist only in the source @@ -4192,7 +4192,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 54932 +revision 54954 shortdesc TeX Live standalone installer package longdesc This package defines the files to go into the installer longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the @@ -146124,18 +146124,18 @@ catalogue-topics labels name jlreq category Package -revision 53717 +revision 54964 shortdesc Japanese document class based on requirements for Japanese text layout relocated 1 longdesc This package provides a Japanese document class based on longdesc requirements for Japanese text layout. The class file and the longdesc JFM (Japanese font metric) files for LuaTeX-ja / pLaTeX / longdesc upLaTeX are provided. -containersize 131012 -containerchecksum 0f51670a5cf6c7e7adb2c0c8b5c155d67574ddc5d1c73026bf18a5f6f4cad26bb529a98d32f82936a2740184bd6ef4dc04eeff1b194a2439af9da53f6c173c18 -doccontainersize 499480 -doccontainerchecksum 8bba85d024192315137fcbe494a2ef3c397242d34bf1278dfb6ae54115b8a6bdfe45206b5abb8af89ba39dc16e97d4546ab05d312d2d8a0fbf5cf26ba1ebfba4 -docfiles size=158 +containersize 131116 +containerchecksum 9bb2a316cebd99f3e6253be215eeb99e651a79d7f27791a3be366af49c58aa4e30f79e6e4fbb5424296b7d282367b0266d3f53935e0979524850dfba951b6da4 +doccontainersize 500264 +doccontainerchecksum 86d7814eef4f3bce15d30bc206547da39c0da0121d476dcc1950c384d5a3f4cd6103626aff7741b1a2625e8d3b363caf3c1a2717ff959e1d0f7dd7b965a434b3 +docfiles size=160 RELOC/doc/latex/jlreq/LICENSE RELOC/doc/latex/jlreq/README-ja.md details="Readme" language="ja" RELOC/doc/latex/jlreq/README.md details="Readme" @@ -146147,15 +146147,15 @@ docfiles size=158 RELOC/doc/latex/jlreq/jlreq-trimmarks.md RELOC/doc/latex/jlreq/jlreq.html RELOC/doc/latex/jlreq/jlreq.pdf details="Package documentation" -srccontainersize 7776 -srccontainerchecksum e8e1c0723a61c1e75718382af0648eed242de51256d16894f5bbb84bc0889703de83b0f3582905411ce3f5a8d94bc6e7c97752f4ab1708d0c944b59e57672101 +srccontainersize 7780 +srccontainerchecksum e3cd5ae08109d7adc8818ab79b6a60de5153705ece9f45a682c39d8548bbe9fcdd0735000bac2b45fdd7ce7c8fedf42713e2c280e83d722d5c6d94abb57ee395 srcfiles size=9 RELOC/source/latex/jlreq/Makefile RELOC/source/latex/jlreq/README-template.html RELOC/source/latex/jlreq/README-template.tex RELOC/source/latex/jlreq/luajfm2pl.lua RELOC/source/latex/jlreq/make_variant_jfm.lua -runfiles size=6932 +runfiles size=6931 RELOC/fonts/tfm/public/jlreq/bjlreq-v.tfm RELOC/fonts/tfm/public/jlreq/bjlreq.tfm RELOC/fonts/tfm/public/jlreq/bjlreqg-v.tfm @@ -179853,7 +179853,7 @@ catalogue-version 0.1l name lwarp category Package -revision 54877 +revision 54965 shortdesc Converts LaTeX to HTML longdesc This package converts LaTeX to HTML by using LaTeX to process longdesc the user's document and generate HTML tags. External utility @@ -179873,17 +179873,17 @@ longdesc utilities, and Perl. Detailed installation instructions are longdesc included for each of the major operating systems and TeX longdesc distributions. A quick-start tutorial is provided. depend lwarp.ARCH -containersize 172664 -containerchecksum 364aa10f3570203e336c1389ae70c5e17c76d25d6b7603f8188b45f894229463cec6c7eeaff81f9c6a8bf13a55b233dd09f8f2032777f13b2b507c64d46ce233 -doccontainersize 2590656 -doccontainerchecksum 9e9621c1d3c1c7d86ed16a071f8ecee87d6299aad7de9f26ee255070dcaaf8d76ce763113debd92bee89bc42e83eb9424dbb6e304bbef099f657a63853a9e7be -docfiles size=662 +containersize 172796 +containerchecksum e9249e44c2102c2dbf125e95f69a701017526748aa90872a1042e65d1fbee719cd5fff9506bc66f83aa574c3827a7771b3dc3b6271c50aabd0442cfa0e93f2c7 +doccontainersize 2592452 +doccontainerchecksum d2b7bf6d700eaaea98c0cf9ad51d3d4bd44c50868265494ce3d3cdff686998fcea334a7d2db29f957aae1d8fb67f928ff62c9f373250e3cc433c60ad29fc90cf +docfiles size=663 texmf-dist/doc/latex/lwarp/README.txt details="Readme" texmf-dist/doc/latex/lwarp/lwarp.pdf details="Package documentation" texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt details="Quick-start tutorial" -srccontainersize 386516 -srccontainerchecksum bf8c5728c6ca50589633e6e11a1cc64f34af1dd3aeed62ea3121ab91f641ac4f681a35ccfad858005b11ee6feff051251b1f2c5ea2bdc61b76be852549f8f2d1 -srcfiles size=577 +srccontainersize 386908 +srccontainerchecksum ed29aaf3e5217e26eb7ad513aa8a06a65da7537a07ae298a0e1483b9e017fe22cd368520785debb7069af02b35b0b33e4d9368637738e2c2900b248da0a361a5 +srcfiles size=578 texmf-dist/source/latex/lwarp/lwarp.dtx texmf-dist/source/latex/lwarp/lwarp.ins runfiles size=666 @@ -180385,7 +180385,7 @@ catalogue-contact-home http://bdtechconcepts.com/ catalogue-ctan /macros/latex/contrib/lwarp catalogue-license lppl1.3 catalogue-topics cvt-html -catalogue-version 0.84 +catalogue-version 0.85 name lwarp.aarch64-linux category Package @@ -244311,18 +244311,18 @@ catalogue-version 2.82 name pst-ovl category Package -revision 45506 +revision 54963 shortdesc Create and manage graphical overlays relocated 1 longdesc The package is useful when building an image from assorted longdesc material, as in the slides of a projected presentation. The longdesc package requires pstricks, and shares that package's longdesc restrictions on usage when generating PDF output. -containersize 1956 -containerchecksum 2777d0d3011ba4ba911dbed78bb3ab29eb54bf392a9aaf73707f17e5fd9ccded0198d0b42bbdbc6879b2f07ba84ccf9d121748e3f0d3f931a8fb6b6e2a904b8a -doccontainersize 36548 -doccontainerchecksum 9b7057b4316adf9f0fa30561c658f309cfc1be757c0eebfb63bb5cb94dc9b8b6cff502f056f9e1d64b207cdd154c0ec64b13c51639ae46377c4d58d51aa00725 -docfiles size=17 +containersize 1932 +containerchecksum e3349edf9643e5d9e370b5dbf1c4dc3078ec82520c943a81ae353e1ccd0e2476105813b0cbbbeb707de5419035edcc39748c7e86a69cb90f8bc0d61d70f553c5 +doccontainersize 30000 +doccontainerchecksum 755c786cec204ad3dd41043d8dd1bebb33ebbd889580a0a85390ca8efc318076ec9300a8e38b99788bf348a49dbda8ba5f3c758ace788bd9de47c251dd4e0407 +docfiles size=14 RELOC/doc/generic/pst-ovl/Changes RELOC/doc/generic/pst-ovl/README details="Readme" RELOC/doc/generic/pst-ovl/pst-ovl-doc.bib @@ -244335,7 +244335,7 @@ runfiles size=3 catalogue-ctan /graphics/pstricks/contrib/pst-ovl catalogue-license lppl catalogue-topics pstricks presentation graphics-supp -catalogue-version 0.07a +catalogue-version 0.07b name pst-pad category Package @@ -288701,7 +288701,7 @@ docfiles size=368 name texlive-scripts category TLCore -revision 54932 +revision 54954 shortdesc TeX Live infrastructure programs longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for longdesc tlmgr to run but still ours. Not included in tlcritical. @@ -288709,10 +288709,10 @@ depend texlive-scripts.ARCH depend texlive.infra execute addMap mathpple.map postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat -containersize 132412 -containerchecksum 85a66965d9b2f9b7e97f66411b473760aa35c5fcf70f3d9975c734e8634338f37c6a1f831bf151fbae8bee863152f59975bf5ab0410607f9446a0c69be815e39 +containersize 132376 +containerchecksum ad47614c09e722cc92e63223dac8a909b1e205ef8999a8bccaff9d28e37c3367514db379ef78f25865e9efd0a56671d693f4d6f614d73ada740c18d3072bad02 doccontainersize 219376 -doccontainerchecksum be9974a79f8175a68b25d11b0848cd093e48df91f4b41b20641d84779032d37bed7f2c89f51917f1fde1d5eedb9f620114eb715cef7790338a17f6e65e6eb096 +doccontainerchecksum 6ee6c8783e9a390e2151491f43095b03f53cc2b07a5c3b405b9542134d2aeee20512a4d33ef4ebed88dbc5214b7544acb0d5bb28e8d91a3a97969097f600a8f9 docfiles size=141 texmf-dist/doc/man/man1/fmtutil-sys.1 texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf @@ -310394,7 +310394,7 @@ catalogue-topics font font-otf font-type1 font-sans name univie-ling category Package -revision 49785 +revision 54966 shortdesc Papers, theses and research proposals in (Applied) Linguistics at Vienna University relocated 1 longdesc This bundle provides LaTeX2e classes suitable for student @@ -310407,10 +310407,10 @@ longdesc are considered useful in this context. The classes can also be longdesc used for General and Historical Linguistics as well as for longdesc other fields of study at Vienna University. In this case, longdesc however, some settings may have to be adjusted. -containersize 131168 -containerchecksum 33cb5fbb0b8cf2a5a49bfab100c584155a965bd1304a8f16e78ea3c5e5007e43580f3839367cfed28e6f20e8e6f653e1fb9c7aa357e31e41e8f688d74a9f8800 -doccontainersize 2101932 -doccontainerchecksum 52889934cb166ecfc6d5dc4433a9e1c4df927007584b6513d5a254734fd9b82c77af4fa535ddad34494fb207a41167080828500cce02b34f2f88787b8ec783d5 +containersize 131232 +containerchecksum 98f34826cb9209b6d604697caab862ccbbc86b4133b7fe390aa0576a7d04837aca48694614c6590bb1e8634572a95be733536fad2cbde4d94f0983d7743d7928 +doccontainersize 2102124 +doccontainerchecksum 010f95aba026e6b87ad6dc8b70d61d98750f3f9e6336df7bf7e850af18d69b0b5ea5a5b9c491d069f168cd8e3238f19ea56bb03b9c6d68c8b63c1b6365250823 docfiles size=712 RELOC/doc/latex/univie-ling/README details="Readme" RELOC/doc/latex/univie-ling/templates/template-expose-deutsch.pdf @@ -310451,7 +310451,7 @@ catalogue-contact-repository https://github.com/jspitz/univie-ling catalogue-ctan /macros/latex/contrib/univie-ling catalogue-license lppl1.3 catalogue-topics linguistic class dissertation article-like misc-paper -catalogue-version 1.9 +catalogue-version 1.10 name unizgklasa category Package @@ -319875,7 +319875,7 @@ catalogue-version 16383.99998 name xcjk2uni category Package -revision 50848 +revision 54958 shortdesc Convert CJK characters to Unicode, in pdfTeX relocated 1 longdesc The package provides commands to convert CJK characters to @@ -319884,19 +319884,19 @@ longdesc hyperref in producing correct bookmarks. The bundle also longdesc provides /ToUnicode mapping file(s) for a CJK subfont; these longdesc can be used with the cmap package, allowing searches of, and longdesc cut-and-paste operations on a PDF file generated by pdfTeX. -containersize 211772 -containerchecksum c1174c6abe555eee84d753f76608fb3fc3234c43c5666def063983653908a03b8eab3787dc9e061c0f6bf3bfae7bcda9a31ded49b039580fccb254ed33571e72 -doccontainersize 127476 -doccontainerchecksum 30f81325aefa49fd44031ddda4e1ff30c40ccc08645671e1439df38cc4efb2a5cf4d9d50e98e970e96e3b18046e16834710d6be8fd9e5fa18cf5271bd5ae339e -docfiles size=33 +containersize 200052 +containerchecksum db0be3360dc3d6373866c9d27900f8dba9353bcf92d219f9f0b82532e2855210230a06b87d1ab6eef7e1f96c54e46884e6827395affb9375120b7cf8d2fbb99b +doccontainersize 124084 +doccontainerchecksum 6a9958bc6ddf6d167b9d77a513d04f0077c9a8581109c51166410d60d5a243758da62b40bdf5cb1488a50b9ba76ca89261a2d31c3819d8b2738b4a7023ac3f90 +docfiles size=32 RELOC/doc/latex/xcjk2uni/README.md details="Readme" RELOC/doc/latex/xcjk2uni/xCJK2uni.pdf details="Package documentation (Chinese)" language="zh" -srccontainersize 7196 -srccontainerchecksum fa719c1936e76ac3d0bb7f212a53c64962ea2c7e00546c603da218fabea566c11591af056276f6edcc68e2cb0b13ded72cf37535c4a8fc5ce53243743d6f8e0a +srccontainersize 7064 +srccontainerchecksum 8868210c53fb379e12b22472dd3575baa62743cc059b3215b634aa59e61af5b3bed8415b9b811a7949457dbee4a051e4926ecca02c293be775ccfb3467e0883a srcfiles size=10 RELOC/source/latex/xcjk2uni/xCJK2uni.dtx RELOC/source/latex/xcjk2uni/xCJK2uni.ins -runfiles size=602 +runfiles size=545 RELOC/tex/latex/xcjk2uni/cmap/c0001.cmap RELOC/tex/latex/xcjk2uni/cmap/c0002.cmap RELOC/tex/latex/xcjk2uni/cmap/c0003.cmap @@ -320258,7 +320258,7 @@ runfiles size=602 catalogue-ctan /macros/latex/contrib/xcjk2uni catalogue-license lppl1.3c catalogue-topics pdf-feat unicode -catalogue-version 0.8 +catalogue-version 1.0 name xcntperchap category Package @@ -320833,17 +320833,17 @@ catalogue-version 1.0 name xecjk category Package -revision 53835 +revision 54961 shortdesc Support for CJK documents in XeLaTeX relocated 1 longdesc A LaTeX package for typesetting CJK documents in the way users longdesc have become used to, in the CJK package. The package requires a longdesc current version of xtemplate (and hence of the current LaTeX3 longdesc development environment). -containersize 128984 -containerchecksum 81a7fa804122c3093893f41110ed4fd0c1c43ae381b1070eef4dd4711dea7e6fa6ad7ff8b3dbaa78ef967790d2dafe5983b3fd7aeac4d7868e8c8af3ccf0319e -doccontainersize 1535844 -doccontainerchecksum 93b16713f9e1d2c0e5ce7dcd0313e5bde13b21c80980b7d0b5447f8a0722e0dee656619a6890296a2f4cf96f386730c260191a7fa665ca4eb93044c60fda7c0d +containersize 219632 +containerchecksum 07de297fbdbc203de2c0c66e3ca1064e02105128b24c622aaafd869eeca4d04139ddce705e6c01ef58959dc228cb35be126785c4ebe8c2cbfb079eaf75f1a186 +doccontainersize 1536496 +doccontainerchecksum be525fb33fc082969217a8150cf553249188de84c37e6cfb63a4094ea4b9af1fd50cf9c0e7214e8c3467372c724bca27c6bf1229408eca4ee45e819c92da072f docfiles size=446 RELOC/doc/xelatex/xecjk/README.md details="Readme" RELOC/doc/xelatex/xecjk/example/xeCJK-example-CJKecglue.tex @@ -320862,11 +320862,12 @@ docfiles size=446 RELOC/doc/xelatex/xecjk/xunicode-commands.tex RELOC/doc/xelatex/xecjk/xunicode-symbols.pdf RELOC/doc/xelatex/xecjk/xunicode-symbols.tex -srccontainersize 87684 -srccontainerchecksum 35164492b6045f6bcad0ec712825fec02b22dbf172755e0e4f0e6c16264113f87f78941885d7c0a80c70976e6c29ea20ba400273a38d580a916e6a31359bb0e7 -srcfiles size=125 +srccontainersize 88484 +srccontainerchecksum 38b4cc6aa94a837213d6475f4f411951cca472dfa9a63d69146a56c52aef35844eff5f8c2a59e32169db6a99827fd0fcddae3c4efa649de92f8a3aab7b13545b +srcfiles size=127 RELOC/source/xelatex/xecjk/xeCJK.dtx -runfiles size=130 + RELOC/source/xelatex/xecjk/xeCJK.ins +runfiles size=178 RELOC/fonts/misc/xetex/fontmapping/xecjk/full-stop.map RELOC/fonts/misc/xetex/fontmapping/xecjk/full-stop.tec RELOC/fonts/misc/xetex/fontmapping/xecjk/fullwidth-stop.map @@ -320888,7 +320889,7 @@ catalogue-contact-support https://github.com/CTeX-org/ctex-kit/issues catalogue-ctan /macros/xetex/latex/xecjk catalogue-license lppl1.3c catalogue-topics chinese japanese korean xetex expl3 -catalogue-version 3.8.2 +catalogue-version 3.8.3 name xecolor category Package @@ -321371,25 +321372,29 @@ catalogue-version 22.8 name xepersian-hm category Package -revision 54900 +revision 54962 shortdesc Fixes kashida feature in xepersian package relocated 1 longdesc The kashida feature in xepersian has problems with some fonts longdesc such as the HM Series fonts and the XB Series fonts. This longdesc package fixes these problems. The package requires xepersian longdesc and l3keys2e. -containersize 4348 -containerchecksum 856ea3f1e563ae0dfe288e1b0193c83e897e8c123d08c5362ec9dbf5b153966b5f9c49dd83e709b2316e1d91e1a2425066437289e3bb003409302f845b8b8b32 -doccontainersize 151552 -doccontainerchecksum 2d3b3d87b47ed2d17abb4230947f8ef095eb174806fc4adc17a5143987099dd006f4bfc0d990bf6b05771fc606527dcc4f3fbac6394e275765065cebea3d6381 -docfiles size=41 +containersize 4344 +containerchecksum 75e7493dcc8db204f0985fc066aff357bdf00553655aac6eac99af1e6f718560725303c825ab078da832ddb9b1c1d96d3b56be3a829590e80a98bbba2c296dd5 +doccontainersize 201368 +doccontainerchecksum 7ed87b8eff1dd8582c2578f824f27546dacc1dfa2819e96d1bfeeba670a07a52f63d53c7115912887535c3df819966a3373cf52a7e226d6b17c4948e9dad9b32 +docfiles size=77 RELOC/doc/xelatex/xepersian-hm/README.txt details="Readme" - RELOC/doc/xelatex/xepersian-hm/kashida-example.pdf details="Example of use" language="fa" - RELOC/doc/xelatex/xepersian-hm/kashida-example.tex - RELOC/doc/xelatex/xepersian-hm/xepersian-hm.pdf details="Package documentation" -srccontainersize 6492 -srccontainerchecksum f586206ec9a38fc7571829878ec2b8aacc7e2e71a6717c3bb2ddec37d9978d26c73baa97bd54ce253180cda7e4b73f239bc46cb4df1ee45ff9a95f598f90313a -srcfiles size=8 + RELOC/doc/xelatex/xepersian-hm/kashida-glyph-example.pdf details="Example of use (1)" language="fa" + RELOC/doc/xelatex/xepersian-hm/kashida-glyph-example.tex + RELOC/doc/xelatex/xepersian-hm/kashida-hrule-example.pdf details="Example of use (2)" language="fa" + RELOC/doc/xelatex/xepersian-hm/kashida-hrule-example.tex + RELOC/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx + RELOC/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf details="User documentation" + RELOC/doc/xelatex/xepersian-hm/xepersian-hm.pdf details="Code documentation" +srccontainersize 5328 +srccontainerchecksum d44bbd03cdd1932cdf68b46049f40e1840f14c244ff43f7f62b3afeec425d6dc7d6175dc9e547f59d77ac376592a8824400d8f851b2b04afc7843f26a2e6090b +srcfiles size=7 RELOC/source/xelatex/xepersian-hm/xepersian-hm.dtx RELOC/source/xelatex/xepersian-hm/xepersian-hm.ins runfiles size=6 @@ -321398,7 +321403,7 @@ runfiles size=6 catalogue-ctan /macros/xetex/latex/xepersian-hm catalogue-license lppl1.3c catalogue-topics persian xetex expl3 -catalogue-version 0.5b +catalogue-version 0.5c name xesearch category Package @@ -323919,25 +323924,25 @@ catalogue-version 1.2a name xpinyin category Package -revision 50849 +revision 54959 shortdesc Automatically add pinyin to Chinese characters relocated 1 longdesc The package is written to simplify the input of Hanyu Pinyin. longdesc Macros are provided that automatically add pinyin to Chinese longdesc characters. -containersize 199772 -containerchecksum 7235eeaf6b0218d4ee87a07b8b16034cbd40ccdf77c96baba14d4ab8a6bd5de78c5f5ab68891a6a91fe4bd0a77de146c357f4e4af4ed443ca8a38526f4f53240 -doccontainersize 204276 -doccontainerchecksum b20233a1ff1f2f1f1474e5bcf81fab3747c26a3312d91297c73d1e57ebafd9459727c91da025b5cb4c1875ba5876873eb8099ad4012d85a972dc4fd1ea90e7e8 +containersize 200328 +containerchecksum 7212843681fd11e08bd7474194348f78cb56cb74421fae5020a7cab8afd766718e9d5ed0672dec3272498b186f4f9b79a774d4de5026345df033ef5f1e68313c +doccontainersize 204180 +doccontainerchecksum edecda1ff3c1ac3a1c6b563da9a36ee0ae41ac1b9952c994ece387cc0985e045efb80d50b8fd251fb8a6167fcfc6b154b1f08ad7aed1ce1c12a8907bd7d954e4 docfiles size=52 RELOC/doc/latex/xpinyin/README.md details="Readme" RELOC/doc/latex/xpinyin/xpinyin.pdf details="Package documentation" language="zh" -srccontainersize 10856 -srccontainerchecksum 47dc1053cdbb87ed09e2bdd6c6fe447c011c1c2af4cfc8a1108431aefc3f5dca069a8bc60b0e97c0775a1ad1cfb54999a69ceee7f85fb493c2e8b0f6d634486e +srccontainersize 10836 +srccontainerchecksum 8bde3970eed2f31970218d7ba6a7ac74d47ae51d3d6ba70f9e66a80a061518ee8aac1e1914b32468f1aa11e7d7ac3b0c3b1d27907d17111776c2a4d97d0a4203 srcfiles size=12 RELOC/source/latex/xpinyin/xpinyin.dtx RELOC/source/latex/xpinyin/xpinyin.ins -runfiles size=302 +runfiles size=303 RELOC/tex/latex/xpinyin/xpinyin-database.def RELOC/tex/latex/xpinyin/xpinyin.sty catalogue-contact-bugs https://github.com/CTeX-org/ctex-kit/issues @@ -323946,8 +323951,8 @@ catalogue-contact-repository https://github.com/CTeX-org/ctex-kit catalogue-contact-support https://github.com/CTeX-org/ctex-kit/issues catalogue-ctan /macros/latex/contrib/xpinyin catalogue-license lppl1.3c -catalogue-topics chinese -catalogue-version 2.7 +catalogue-topics chinese expl3 +catalogue-version 2.8 name xprintlen category Package @@ -331017,22 +331022,22 @@ catalogue-version 1.0 name zhnumber category Package -revision 50850 +revision 54960 shortdesc Typeset Chinese representations of numbers relocated 1 longdesc The package provides commands to typeset Chinese longdesc representations of numbers. The main difference between this longdesc package and CJKnumb is that the commands provided are longdesc expandable in the 'proper' way. -containersize 7888 -containerchecksum f5e0783636ca643463811293816c95f2e20345fc6b08f2bd22143ead830b102b7d5acb6dd587975ecae205ce8b79d75cff62bab153a6ada689958835c77298c5 -doccontainersize 266236 -doccontainerchecksum d58579fcb6b5464db3d1ec20942b61516eb481df88fa23ef24f890a937fa72b62c6fef7fd2772172c4faf1a616805bfe32bdf39e17d854b907dc61ec9f6b6f4e +containersize 7872 +containerchecksum f9548c3e89e837f8967122de1b2ed45c083a741be3862824ef2bfb5b60bd0758e3f4360b2c1a1a886fb68da4947a77c6431c10339676db0b7518bc93db6c411f +doccontainersize 267108 +doccontainerchecksum 36de5c397a5966d5da5b71ee1a05b0e3d597782122e86dd184e146699fd5ecf08b6c2ed014bcaa86db8c9b2146d3863d8aa46078b94b33fb3fcf4a7a5a14f271 docfiles size=68 RELOC/doc/latex/zhnumber/README.md details="Readme" RELOC/doc/latex/zhnumber/zhnumber.pdf details="Package documentation" language="zh" -srccontainersize 13348 -srccontainerchecksum c3ac546227494e59e44324c1f637e280982ba1a27644add9d1c8248b2cee0299154adef6d673eba91ef39124db16dafe0d30dc0ec09bfe9b2dc9f28b6b10bf61 +srccontainersize 13368 +srccontainerchecksum 043029751abb4630fd1486dabea05f01a97557682cd00c7640e2c1fdf053b0bc5a99ba52debbdc6a98232cb5d8aef49cb68f17c1376f802c900c49f18e07c1f4 srcfiles size=17 RELOC/source/latex/zhnumber/zhnumber.dtx RELOC/source/latex/zhnumber/zhnumber.ins @@ -331048,7 +331053,7 @@ catalogue-contact-support https://github.com/CTeX-org/ctex-kit/issues catalogue-ctan /macros/latex/contrib/zhnumber catalogue-license lppl1.3c catalogue-topics chinese numbers -catalogue-version 2.7 +catalogue-version 2.8 name zhspacing category Package diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 8a97c6a705..075e091eb1 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -cab117a092e5aa5ef76eaf5f3ba44990 texlive.tlpdb +fc0e143808185e6a732bad543a483447 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 77328c2ac0..548061baf0 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -9ea1b509d90b18089721a2dc7fe6c6b70ede8a7fb3892f93d5a14bd63aefc60ceda6db2833f25f629fc969f24345c33aebb115c775a197acfb1ecf3430780880 texlive.tlpdb +347daf61a12517f268100495a62404f760f1774f6253ef4478bf3fddeddd93983d325cff97e79638161d52cec459ef3782ceb3fcbf89c6055770fd83ff7cf992 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 5621ecfe71..84d5e798ab 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,10 +1,10 @@ -----BEGIN PGP SIGNATURE----- -iQEcBAEBCgAGBQJeq2cCAAoJEEzhh34ZQ4xwSbUH+wUyJ6TpilkYKYt9JI/0ygbV -034VsKDGfXus0h7utGzM8TlzpBJSZyKjUGAyaMwWg+s37gsAp3C50pLt4ZeX3PR7 -8iHQzNh/OyKSQVwa/Y0K3eutXNmMPPcvZ+62KQceTaqjjoNQ2s3fCHTAAqoDLvwx -OlFhphINzircz93SpxcADg8VHD7EVhxQNXAQJ3p7LdYK3LABqmdF/CHDhSkYy8to -BDOVYhYNsXZcEO4MwFhgGTneSo/JgdIGAZq0HaZZtrwYfIx89JgrnMx5rq6Skwj3 -9EwMF/4gWC/Rf0gc8WsHSNp8hzMu+n/qaoAWxmr/gElr7m3tfGUA3LoiI3YL15Q= -=gZf2 +iQEcBAEBCgAGBQJerLeIAAoJEEzhh34ZQ4xwRTUIAJE8VZWs2rjseSKK4JPkxjmE +AuNsoYkMgseIMfZjQB2BTkwUuRywrVenOolu9RVFpSxwR/9vnQFzRlrHjyBjcI79 +H4lXPgdHifAgJFb21WMJOck6N+X4eOn82/PuRRsO+uGAPQsYQXYqJfww9NKERxyq +3Brk+AVnZ+TwhMUTcc2HFs8WbdkUZtGnFUCFBVrxQlePIyVBblfGXjLGjybOoizM +044zc7mwPTiKFY8JN/6EE72zgbp6q0rZO6xBOWwPiJ1RCbMoA4ejW0TLpSRC96VS +FZiN/OkOT2MEtB0IO6AhnjnXn+zAS/hvkKqE7ujDhql63hjbLW/tpkXBx3AjiPc= +=C/VQ -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex a322aae02a..586d72724b 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index a3949533e3..d72aeb7a87 100644 --- a/systems/win32/miktex/tm/packages/next/pr.ini +++ b/systems/win32/miktex/tm/packages/next/pr.ini @@ -2,9 +2,9 @@ [repository]
-date=1588277666
+date=1588364084
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=8277d5b38561c2088db328b25cb6c56f
+lstdigest=9110c14b7f3592ea038342dab1ac82d0
numpkg=3898
relstate=next
-version=7425
+version=7426
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index 5ab231e467..1d939600d3 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -2,9 +2,9 @@ [repository]
-date=1588277484
+date=1588363874
lastupd=changelog circuitikz embedfile garamond-libre pxjahyper willowtreebook arara emojicite epigraph-keys picture tpic2pdftex lacheck parsa tikzducks bearwear boxedminipage koma-script miktex-luatex-bin-2.9 miktex-luatex-bin-x64-2.9 miktex-runtime-bin-2.9
-lstdigest=b0c8b53f596a5fa8ca62b4a44e3daa54
+lstdigest=705eb09d4d3b562f852797ce8063e218
numpkg=3898
relstate=stable
-version=7425
+version=7426
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog index 6d49911a2e..7c584af25d 100644 --- a/systems/win32/w32tex/ChangeLog +++ b/systems/win32/w32tex/ChangeLog @@ -1,5 +1,39 @@ W32TeX (x86 & x64) ChangeLog +[2020/05/01] +(01) biblatex-biber.tar.xz + Update biblatex-software. +(02) cweb-w32.tar.xz + Update cweb. +(03) ltxpkgdocs.tar.xz + Update documents for packages. +(04) luajittex-exp-w32.tar.xz + Update luajittex.dll, and luajithbtex.dll. +(05) luatex-exp-w32.tar.xz + Update luatex.dll, and luahbtex.dll. +(06) makeindex-w32.tar.xz + Update mendex.exe, and upmendex.exe. +(07) pgfcontrib.tar.xz + Update dynkin-diagrams. +(08) ptex-w32.tar.xz + Update dvispc.exe. +(09) texinfo-w32.tar.xz + Update a document texinfo-w32.txt. +(10) web2c-w32.tar.xz + Update chkdvifont.exe. +(11) win64/cweb-w64.tar.xz + Update cweb. +(12) win64/luajittex-exp-w64.tar.xz + Update luajittex.dll, and luajithbtex.dll. +(13) win64/luatex-exp-w64.tar.xz + Update luatex.dll, and luahbtex.dll. +(14) win64/makeindex-w64.tar.xz + Update mendex.exe, and upmendex.exe. +(15) win64/ptex-w64.tar.xz + Update dvispc.exe. +(16) win64/web2c-w64.tar.xz + Update chkdvifont.exe. + [2020/04/30] (01) aleph-w32.tar.xz Update format files. @@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2020-05-01-02-02 +2020-05-02-02-02 |